Prechádzať zdrojové kódy

提交物流运单代码优化

chenxiaofei 11 hodín pred
rodič
commit
4cfe88297f

+ 14 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtWaybillOrderSubtaskRepository.java

@@ -90,10 +90,23 @@ public class KwtWaybillOrderSubtaskRepository extends ServiceImpl<KwtWaybillOrde
                 .last("limit 1"));
     }
 
-    public List<KwtWaybillOrderSubtask> findByList(Integer status, Set<Long> billOrderIds, Set<Long> logOrderIds) {
+    /**
+     * 根据筛选条件查询子运单列表。
+     *
+     * @param status              运单状态
+     * @param billOrderIds        运单ID集合
+     * @param logOrderIds         物流订单ID集合
+     * @param waybillOrderStatus  需要排除的运单状态集合
+     * @param agentFlag           代理标识
+     * @return 子运单列表
+     */
+    public List<KwtWaybillOrderSubtask> findByList(Integer status, Set<Long> billOrderIds, Set<Long> logOrderIds,
+                                                   List<Integer> waybillOrderStatus, Integer agentFlag) {
         return list(Wrappers.<KwtWaybillOrderSubtask>lambdaQuery()
                 .eq(BaseModel::getDelFlag,0)
                 .eq(Objects.nonNull( status),KwtWaybillOrderSubtask::getStatus, status)
+                .eq(Objects.nonNull(agentFlag), KwtWaybillOrderSubtask::getAgentFlag, agentFlag)
+                .notIn(CollectionUtils.isNotEmpty(waybillOrderStatus), KwtWaybillOrderSubtask::getStatus, waybillOrderStatus)
                 .in(CollectionUtils.isNotEmpty(logOrderIds),KwtWaybillOrderSubtask::getLOrderId, logOrderIds)
                 .in(CollectionUtils.isNotEmpty(billOrderIds),KwtWaybillOrderSubtask::getWOrderId, billOrderIds)
         );

+ 5 - 8
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -6208,6 +6208,7 @@ public class KwtWaybillOrderV1Service {
     public StatisticsWaybillResp statisticsWaybillOrder( WaybillOrderReq req) {
 
         log.info("运单状态统计:{}",JSON.toJSONString(req));
+        applyAgentKeywordCondition(req);
         StatisticsWaybillResp statisticsWaybillResp = new StatisticsWaybillResp();
 
         statisticsWaybillResp.setTotalNum("0");
@@ -6228,9 +6229,7 @@ public class KwtWaybillOrderV1Service {
         Set<Long> logOrderIds = getLogOrderIds(req, entIds,entId);
         // 应用数据权限过滤:个人数据权限与企业层级数据权限为并集关系
         logOrderIds = applyDataPermissionFilterToLogOrderIds(logOrderIds);
-        boolean b1 = !org.apache.commons.lang3.StringUtils.isAllBlank(req.getLogisticsOrderNo(), req.getGoodsName(),
-                req.getCarrierId(), req.getConsignorId()) || Objects.nonNull(entId);
-        if(org.apache.commons.collections4.CollectionUtils.isEmpty(logOrderIds) && b1){
+        if (shouldReturnEmptyResultForLogistics(req, logOrderIds)) {
             Map<Integer, List<KwtWaybillOrderSubtask>> stausAndBillOrdersMap = Maps.newHashMap();
             List<StatisticsWaybillResp.OrderBillStatusStatistics> statusStatistics = carWaybillV1Enums.stream()
                     .map(c -> getOrderBillStatusStatistics(c, stausAndBillOrdersMap))
@@ -6241,10 +6240,7 @@ public class KwtWaybillOrderV1Service {
         //查询运单信息
         //运单id集合
         Set<Long> billOrderIds = getBillOrderIds(req);
-        boolean b = Stream.of(req.getWaybillNo(), req.getTruckNo(), req.getDriverName(), req.getPhone(),
-                        req.getLoadStartTime(),req.getLoadEndTime(),req.getUnloadStartTime(),req.getUnloadEndTime())
-                .anyMatch(StringUtils::isNotBlank);
-        if (org.apache.commons.collections4.CollectionUtils.isEmpty(billOrderIds) && b){
+        if (shouldReturnEmptyResultForWaybill(req, billOrderIds)) {
             Map<Integer, List<KwtWaybillOrderSubtask>> stausAndBillOrdersMap = Maps.newHashMap();
             List<StatisticsWaybillResp.OrderBillStatusStatistics> statusStatistics = carWaybillV1Enums.stream()
                     .map(c -> getOrderBillStatusStatistics(c, stausAndBillOrdersMap))
@@ -6255,7 +6251,8 @@ public class KwtWaybillOrderV1Service {
 
        // List<KwtWaybillOrder> orders = kwtWaybillOrderRepository.findList(status,billOrderIds,logOrderIds);
         //查询子运单
-        List<KwtWaybillOrderSubtask> orders = kwtWaybillOrderSubtaskRepository.findByList(status,billOrderIds,logOrderIds);
+        List<KwtWaybillOrderSubtask> orders = kwtWaybillOrderSubtaskRepository.findByList(status, billOrderIds, logOrderIds,
+                waybillOrderStatus, req.getAgentFlag());
         if (CollectionUtils.isEmpty(orders)) {
             Map<Integer, List<KwtWaybillOrderSubtask>> stausAndBillOrdersMap = Maps.newHashMap();
             List<StatisticsWaybillResp.OrderBillStatusStatistics> statusStatistics = carWaybillV1Enums.stream()