Ver código fonte

物流运单类别原矿订单需要区分

donglang 1 dia atrás
pai
commit
e6c4eef923

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderRepository.java

@@ -184,4 +184,10 @@ public class KwtLogisticsOrderRepository extends ServiceImpl<KwtLogisticsOrderMa
                 .in(KwtLogisticsOrder::getId, logOrderIds)
                 .eq(KwtLogisticsOrder::getOrderType, 1));
     }
+
+    public List<KwtLogisticsOrder> queryByIdsByOrderType() {
+        return list(Wrappers.<KwtLogisticsOrder>lambdaQuery()
+                .eq(KwtLogisticsOrder::getDelFlag, 0)
+                .eq(KwtLogisticsOrder::getOrderType, 1));
+    }
 }

+ 18 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -3062,7 +3062,7 @@ public class KwtWaybillOrderV1Service {
                 logOrderIds.size(), billOrderIds.size(), status);
         List<Integer> waybillOrderStatus = getWaybillOrderStatus();
         IPage<KwtWaybillOrderSubtask> page = waybillOrderSubtaskRepository.queryByPage(
-                null, billOrderIds, status,waybillOrderStatus, req.getPageNum(), req.getPageSize());
+                logOrderIds, billOrderIds, status,waybillOrderStatus, req.getPageNum(), req.getPageSize());
 
         List<KwtWaybillOrderSubtask> records = page.getRecords();
         if (CollectionUtils.isEmpty(records)) {
@@ -3728,6 +3728,23 @@ public class KwtWaybillOrderV1Service {
             }
         }
 
+        EntTypeResDto entTypeResDto = remoteSystemService.queryEntTypeById(entId);
+        log.debug("当前登录企业类型为: {}", entTypeResDto.getType());
+        if (Objects.equals(entTypeResDto.getType(), 3)) {
+            // 如果是物流企业,只能看到自己物流企业的原矿订单
+            List<KwtLogisticsOrderUnit> logisticsOrderUnits = kwtLogisticsOrderUnitRepository.queryByEntIdAndUnitType(entId, 2);
+            Set<Long> logUnitOrderIds = logisticsOrderUnits.stream().map(KwtLogisticsOrderUnit::getLOrderId).collect(Collectors.toSet());
+            intersectLogOrderIds(logOrderIds, logUnitOrderIds);
+        } else {
+            // 查询原矿订单
+            List<KwtLogisticsOrder> logisticsOrderList = kwtLogisticsOrderRepository.queryByIdsByOrderType();
+            if (CollectionUtils.isEmpty(logisticsOrderList)) {
+                return logOrderIds;
+            }
+            Set<Long> logisticsOrder = logisticsOrderList.stream().map(KwtLogisticsOrder::getId).collect(Collectors.toSet());
+            intersectLogOrderIds(logOrderIds, logisticsOrder);
+        }
+
         log.debug("查询完成,最终物流订单ID数量: {}", logOrderIds.size());
         return logOrderIds;
     }