public Page<TfaAlarmValid> getTaskList(int pageNumber, int pageSize, final String taskId, final String startTime,
final String endTime, final String validateTime, final int validateState) {
// 具体方法具体实现
Pageable pageable = new PageRequest(pageNumber, pageSize);
Page<TfaAlarmValid> tfaAlarmValidPages = tfaAlarmValidDao.findAll(new Specification<TfaAlarmValid>() {
@Override
public Predicate toPredicate(Root<TfaAlarmValid> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
/**
* 连接查询条件, 不定参数,可以连接0..N个查询条件
*/
List<Predicate> predicateList = new ArrayList<Predicate>();
if (!StringUtils.isEmpty(taskId)) {
Path<String> dbTid = root.get("tid");
predicateList.add(cb.equal(dbTid, taskId));
}
if (!StringUtils.isEmpty(startTime) && !StringUtils.isEmpty(endTime)) {
Path<Date> dbStartTime = root.get("startTime");
Path<Date> dbEndTime = root.get("endTime");
predicateList.add(cb.between(dbStartTime,
StringUtil.string2Date(startTime),
StringUtil.string2Date(endTime)));
predicateList.add(cb.between(dbEndTime,
StringUtil.string2Date(startTime),
StringUtil.string2Date(endTime)));
}
if (!StringUtils.isEmpty(validateTime)) {
Path<Date> validateStartTime = root.get("validateStartTime");
Path<Date> validateEndTime = root.get("validateEndTime");
predicateList.add(cb.lessThan(validateStartTime, StringUtil.string2Date(validateTime)));
predicateList.add(cb.greaterThan(validateEndTime, StringUtil.string2Date(validateTime)));
}
if (validateState != -1) {
Path<Integer> dbValidateState = root.get("validateState");
predicateList.add(cb.equal(dbValidateState, validateState)); // 这里可以设置任意条查询条件
}
Predicate[] predicates = new Predicate[predicateList.size()];
predicateList.toArray(predicates);
query.where(predicates);
return null;
}
},
pageable);
return tfaAlarmValidPages;
}
final String endTime, final String validateTime, final int validateState) {
// 具体方法具体实现
Pageable pageable = new PageRequest(pageNumber, pageSize);
Page<TfaAlarmValid> tfaAlarmValidPages = tfaAlarmValidDao.findAll(new Specification<TfaAlarmValid>() {
@Override
public Predicate toPredicate(Root<TfaAlarmValid> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
/**
* 连接查询条件, 不定参数,可以连接0..N个查询条件
*/
List<Predicate> predicateList = new ArrayList<Predicate>();
if (!StringUtils.isEmpty(taskId)) {
Path<String> dbTid = root.get("tid");
predicateList.add(cb.equal(dbTid, taskId));
}
if (!StringUtils.isEmpty(startTime) && !StringUtils.isEmpty(endTime)) {
Path<Date> dbStartTime = root.get("startTime");
Path<Date> dbEndTime = root.get("endTime");
predicateList.add(cb.between(dbStartTime,
StringUtil.string2Date(startTime),
StringUtil.string2Date(endTime)));
predicateList.add(cb.between(dbEndTime,
StringUtil.string2Date(startTime),
StringUtil.string2Date(endTime)));
}
if (!StringUtils.isEmpty(validateTime)) {
Path<Date> validateStartTime = root.get("validateStartTime");
Path<Date> validateEndTime = root.get("validateEndTime");
predicateList.add(cb.lessThan(validateStartTime, StringUtil.string2Date(validateTime)));
predicateList.add(cb.greaterThan(validateEndTime, StringUtil.string2Date(validateTime)));
}
if (validateState != -1) {
Path<Integer> dbValidateState = root.get("validateState");
predicateList.add(cb.equal(dbValidateState, validateState)); // 这里可以设置任意条查询条件
}
Predicate[] predicates = new Predicate[predicateList.size()];
predicateList.toArray(predicates);
query.where(predicates);
return null;
}
},
pageable);
return tfaAlarmValidPages;
}