Explorar el Código

贸易订单列表查询接口优化

yzc hace 2 años
padre
commit
a39c358d5c

+ 12 - 4
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderService.java

@@ -168,6 +168,7 @@ public class KwOrderService {
         if (StringUtils.isNotBlank(params.getSource())) {
             criteria.and("source").is(params.getSource());
         }
+        List<Criteria> orOperators = new ArrayList<>();
         //订单状态
         if (Objects.nonNull(params.getStatus()) && !isStatistic) {
             criteria.and("status").is(params.getStatus());
@@ -177,15 +178,22 @@ public class KwOrderService {
             }
         } else {
             //非草稿状态or草稿状态且是当前人且一级企业匹配
-            criteria.orOperator(Criteria.where("status").ne(0),
-                    Criteria.where("status").is(0).and("createBy").is(userId));
-
+            Criteria orOperator = new Criteria().orOperator(
+                    Criteria.where("status").ne(0),
+                    new Criteria().andOperator(Criteria.where("status").is(0),
+                            Criteria.where("createBy").is(userId)));
+            orOperators.add(orOperator);
         }
         //关键字模糊匹配
         if (StringUtils.isNotBlank(params.getKeywords())) {
             Pattern pattern = Pattern.compile("^.*" + params.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            criteria.orOperator(Criteria.where("tOrderNo").regex(pattern), Criteria.where("procureFirmName").regex(pattern),
+            Criteria orOperator = new Criteria().orOperator(
+                    Criteria.where("tOrderNo").regex(pattern), Criteria.where("procureFirmName").regex(pattern),
                     Criteria.where("supplyFirmName").regex(pattern), Criteria.where("goodsName").regex(pattern));
+            orOperators.add(orOperator);
+        }
+        if (CollectionUtils.isNotEmpty(orOperators)) {
+            criteria.andOperator(orOperators);
         }
         return query.addCriteria(criteria);
     }