Browse Source

Merge remote-tracking branch 'origin/dev' into dev

czh 2 years ago
parent
commit
2f07310ad1

+ 35 - 3
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java

@@ -190,7 +190,7 @@ public class KwTransportService {
 
         if (StringUtils.isNotBlank(query.getStatus())) {
             // TODO 此处需要修改
-            if (query.getStatus().equals(String.valueOf(NumberConstant.ONE_ZERO_ZERO))) {
+            if (query.getStatus().equals(NumberConstant.ONE_ZERO_ZERO)) {
                 List<Long> statuses = new ArrayList<>();
                 statuses.add(CarWaybillEnum.REJECT_ORDER.getCode().longValue());
                 statuses.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode().longValue());
@@ -203,14 +203,48 @@ public class KwTransportService {
         // 装载时间
         if (Objects.nonNull(query.getStartLoadTime()) && Objects.nonNull(query.getEndLoadTime())) {
             criteria.and("loadTime").gte(query.getStartLoadTime()).lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
+        } else if (Objects.nonNull(query.getStartLoadTime())) {
+            criteria.and("loadTime").gte(query.getStartLoadTime());
+        } else if (Objects.nonNull(query.getEndLoadTime())) {
+            criteria.and("loadTime").lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
         }
         // 派车时间
         if (Objects.nonNull(query.getStartSendCarTime()) && Objects.nonNull(query.getEndSendCarTime())) {
             criteria.and("sendCarTime").gte(query.getStartSendCarTime()).lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
+        } else if (Objects.nonNull(query.getStartSendCarTime())) {
+            criteria.and("sendCarTime").gte(query.getStartSendCarTime());
+        } else if (Objects.nonNull(query.getEndSendCarTime())) {
+            criteria.and("sendCarTime").lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
         }
         // 卸货时间
         if (Objects.nonNull(query.getStartUnloadTime()) && Objects.nonNull(query.getEndUnloadTime())) {
             criteria.and("unloadTime").gte(query.getStartUnloadTime()).lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
+        } else if (Objects.nonNull(query.getStartUnloadTime())) {
+            criteria.and("unloadTime").gte(query.getStartUnloadTime());
+        } else if (Objects.nonNull(query.getEndUnloadTime())) {
+            criteria.and("unloadTime").lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
+        }
+        // 装货地址
+        String loadCode = query.getLoadCityCode();
+        if (StringUtils.isNotBlank(loadCode)) {
+            switch (query.getLoadCityCodeLevel()) {
+                case 1 -> criteria.and("loadCityCode")
+                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 2 -> criteria.and("loadCityCode")
+                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 3 -> criteria.and("loadCityCode").is(loadCode);
+            }
+        }
+        // 卸货地址
+        String unloadCode = query.getUnloadCityCode();
+        if (StringUtils.isNotBlank(unloadCode)) {
+            switch (query.getUnloadCityCodeLevel()) {
+                case 1 -> criteria.and("unloadCityCode")
+                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 2 -> criteria.and("unloadCityCode")
+                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
+            }
         }
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();
@@ -220,8 +254,6 @@ public class KwTransportService {
             orCriteria.add(Criteria.where("truckNo").regex(pattern));
             orCriteria.add(Criteria.where("driverName").regex(pattern));
             orCriteria.add(Criteria.where("firmName").regex(pattern));
-            orCriteria.add(Criteria.where("loadAddress").regex(pattern));
-            orCriteria.add(Criteria.where("unloadAddress").regex(pattern));
             criteria.orOperator(orCriteria);
         }
         return criteria;

+ 21 - 1
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java

@@ -60,8 +60,28 @@ public class WaybillOrderQuery extends PageRequest implements Serializable {
      */
     private String keywords;
 
+    /**
+     * 装载城市
+     */
+    private String loadCityCode;
+
+    /**
+     * 装载城市查询等级
+     */
+    private Integer loadCityCodeLevel;
+
+    /**
+     * 卸载城市
+     */
+    private String unloadCityCode;
+
+    /**
+     * 卸载城市查询等级
+     */
+    private Integer unloadCityCodeLevel;
+
     /**
      * 运单状态
      */
-    private String status;
+    private Integer status;
 }

+ 12 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderDTO.java

@@ -64,12 +64,22 @@ public class WaybillOrderDTO extends PageRequest implements Serializable {
     /**
      * 装载城市
      */
-    private Integer loadCityCode;
+    private String loadCityCode;
+
+    /**
+     * 装载城市查询等级
+     */
+    private Integer loadCityCodeLevel;
 
     /**
      * 卸载城市
      */
-    private Integer unloadCityCode;
+    private String unloadCityCode;
+
+    /**
+     * 卸载城市查询等级
+     */
+    private Integer unloadCityCodeLevel;
 
     /**
      * 运单状态

+ 35 - 12
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -296,30 +296,55 @@ public class WaybillManagementService {
         }
 
         if (StringUtils.isNotBlank(query.getStatus()) && !query.getStatus().equals("all")) {
-            criteria.and("status").is(query.getStatus());
+            criteria.and("status").is(Integer.valueOf(query.getStatus()));
         } else {
             criteria.and("status").in(statuses);
         }
-
-        // 装货城市
-        if (StringUtils.isNotBlank(query.getLoadCityCode())) {
-            criteria.and("loadCityCode").is(query.getLoadCityCode());
-        }
-        // 卸货城市
-        if (StringUtils.isNotBlank(query.getUnloadCityCode())) {
-            criteria.and("unloadCityCode").is(query.getUnloadCityCode());
-        }
         // 装载时间
         if (Objects.nonNull(query.getStartLoadTime()) && Objects.nonNull(query.getEndLoadTime())) {
             criteria.and("loadTime").gte(query.getStartLoadTime()).lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
+        } else if (Objects.nonNull(query.getStartLoadTime())) {
+            criteria.and("loadTime").gte(query.getStartLoadTime());
+        } else if (Objects.nonNull(query.getEndLoadTime())) {
+            criteria.and("loadTime").lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
         }
         // 派车时间
         if (Objects.nonNull(query.getStartSendCarTime()) && Objects.nonNull(query.getEndSendCarTime())) {
             criteria.and("sendCarTime").gte(query.getStartSendCarTime()).lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
+        } else if (Objects.nonNull(query.getStartSendCarTime())) {
+            criteria.and("sendCarTime").gte(query.getStartSendCarTime());
+        } else if (Objects.nonNull(query.getEndSendCarTime())) {
+            criteria.and("sendCarTime").lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
         }
         // 卸货时间
         if (Objects.nonNull(query.getStartUnloadTime()) && Objects.nonNull(query.getEndUnloadTime())) {
             criteria.and("unloadTime").gte(query.getStartUnloadTime()).lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
+        } else if (Objects.nonNull(query.getStartUnloadTime())) {
+            criteria.and("unloadTime").gte(query.getStartUnloadTime());
+        } else if (Objects.nonNull(query.getEndUnloadTime())) {
+            criteria.and("unloadTime").lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
+        }
+        // 装货地址
+        String loadCode = query.getLoadCityCode();
+        if (StringUtils.isNotBlank(loadCode)) {
+            switch (query.getLoadCityCodeLevel()) {
+                case 1 -> criteria.and("loadCityCode")
+                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 2 -> criteria.and("loadCityCode")
+                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 3 -> criteria.and("loadCityCode").is(loadCode);
+            }
+        }
+        // 卸货地址
+        String unloadCode = query.getUnloadCityCode();
+        if (StringUtils.isNotBlank(unloadCode)) {
+            switch (query.getUnloadCityCodeLevel()) {
+                case 1 -> criteria.and("unloadCityCode")
+                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 2 -> criteria.and("unloadCityCode")
+                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
+                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
+            }
         }
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();
@@ -329,8 +354,6 @@ public class WaybillManagementService {
             orCriteria.add(Criteria.where("truckNo").regex(pattern));
             orCriteria.add(Criteria.where("driverName").regex(pattern));
             orCriteria.add(Criteria.where("firmName").regex(pattern));
-            orCriteria.add(Criteria.where("loadAddress").regex(pattern));
-            orCriteria.add(Criteria.where("unloadAddress").regex(pattern));
             criteria.orOperator(orCriteria);
         }
         return criteria;