|
|
@@ -606,28 +606,26 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Page<PurcInquiryItemInfo> findTodoByPageInfo(final PageInfo info, SearchFilter filter) {
|
|
|
- if (null != filter) {
|
|
|
- int k = 1;
|
|
|
- SimpleExpression[] simpArrs = new SimpleExpression[5];
|
|
|
- simpArrs[0] = new SimpleExpression("inquiry.enUU", filter.getEnUU(), CriterionExpression.Operator.NE, true);
|
|
|
- if (StringUtils.hasText(filter.getKeyword())) {
|
|
|
- simpArrs[k] = new SimpleExpression("product.title", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
- simpArrs[k + 1] = new SimpleExpression("product.code", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
- simpArrs[k + 2] = new SimpleExpression("product.spec", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
- simpArrs[k + 3] = new SimpleExpression("product.brand", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
- LogicalExpression logical = new LogicalExpression(simpArrs, CriterionExpression.Operator.OR);
|
|
|
- info.expression(logical);
|
|
|
- }
|
|
|
- if (filter.getFromDate() != null) {
|
|
|
- info.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
- }
|
|
|
- if (filter.getEndDate() != null) {
|
|
|
- info.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
- }
|
|
|
- }
|
|
|
+ public Page<PurcInquiryItemInfo> findTodoByPageInfo(final PageInfo info, final SearchFilter filter) {
|
|
|
return inquiryItemInfoDao.findAll(new Specification<PurcInquiryItemInfo>() {
|
|
|
public Predicate toPredicate(Root<PurcInquiryItemInfo> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
+ if (null != filter) {
|
|
|
+ if (filter.getFromDate() != null) {
|
|
|
+ info.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
+ }
|
|
|
+ if (filter.getEndDate() != null) {
|
|
|
+ info.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
+ }
|
|
|
+ if (filter.getEnUU() != null) {
|
|
|
+ Predicate p = builder.notEqual(root.get("inquiry").get("enUU"), filter.getEnUU());
|
|
|
+ builder.and(p);
|
|
|
+ }
|
|
|
+ if (filter.getKeyword() != null) {
|
|
|
+ // 现在只用原厂型号搜索or
|
|
|
+ Predicate p = builder.notEqual(root.get("product").get("cmpCode"), "%" + filter.getKeyword() + "%");
|
|
|
+ builder.or(p);
|
|
|
+ }
|
|
|
+ }
|
|
|
query.where(info.getPredicates(root, query, builder));
|
|
|
return null;
|
|
|
}
|