Browse Source

提交解绑车辆bug

chenxiaofei 3 tuần trước cách đây
mục cha
commit
d55863953d

+ 31 - 27
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2244,7 +2244,8 @@ public class KwtLogisticsConsignmentService {
 
         //根据商品名称查询物流订单
         Set<Long> logOrderIds = getLogOrderIds(req, entList, allEnt);
-        if (org.apache.commons.collections4.CollectionUtils.isEmpty(logOrderIds) && org.apache.commons.collections4.CollectionUtils.isNotEmpty(entList)) {
+        if (org.apache.commons.collections4.CollectionUtils.isEmpty(logOrderIds) && (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entList)
+                || !org.apache.commons.lang3.StringUtils.isAllBlank(req.getContractId(),req.getGoodsName()))) {
             return PageDataResult.empty(req.getPageNum(), req.getPageSize());
         }
 
@@ -2385,12 +2386,34 @@ public class KwtLogisticsConsignmentService {
     @NotNull
     private Set<Long> getLogOrderIds(QueryLogisticsOrderReq req, Set<Long> entList, Set<Long> allEnt) {
         Set<Long> logOrderIds = Sets.newHashSet();
+        if (CollectionUtils.isNotEmpty(entList)) {
+            List<KwtLogisticsOrderUnit> logOrderUnits = logisticsOrderUnitRepository.queryByEntIds(entList);
+            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrderUnits)) {
+                //获取物流订单
+                Set<Long> logOrderIdList = logOrderUnits.stream()
+                        .filter(x -> allEnt.contains(x.getEntId()))
+                        .map(KwtLogisticsOrderUnit::getLOrderId)
+                        .collect(Collectors.toSet());
+                Set<Long> logOrderFormUnitIds =
+                        logOrderUnits.stream()
+                                .filter(x -> logOrderIdList.contains(x.getLOrderId()))
+                                .map(KwtLogisticsOrderUnit::getLOrderId)
+                                .collect(Collectors.toSet());
+                logOrderIds.addAll(logOrderFormUnitIds);
+            }
+        }
         if (StringUtils.isNotBlank(req.getContractId())) {
             List<KwtLogisticsOrderContract> kwtLogisticsOrderContracts = logisticsOrderContractRepository.queryByContractId(Long.parseLong(req.getContractId()));
             if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtLogisticsOrderContracts)) {
-                logOrderIds.addAll(kwtLogisticsOrderContracts.stream()
+                Set<Long> logOrderIdList = kwtLogisticsOrderContracts.stream()
                         .map(KwtLogisticsOrderContract::getLOrderId)
-                        .collect(Collectors.toSet()));
+                        .collect(Collectors.toSet());
+                logOrderIds.addAll(logOrderIdList);
+                logOrderIds  = logOrderIds.stream()
+                        .filter(x->logOrderIdList.contains(x))
+                        .collect(Collectors.toSet());
+            }else {
+                logOrderIds = Sets.newHashSet();
             }
         }
 
@@ -2402,25 +2425,14 @@ public class KwtLogisticsConsignmentService {
                 Set<Long> logOrderFormGoodsIds =
                         logisticsOrderGoodsList.stream().map(KwtLogisticsOrderGoods::getLOrderId).collect(Collectors.toSet());
                 logOrderIds.addAll(logOrderFormGoodsIds);
-            }
-        }
-
-        if (CollectionUtils.isNotEmpty(entList)) {
-            List<KwtLogisticsOrderUnit> logOrderUnits = logisticsOrderUnitRepository.queryByEntIds(entList);
-            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrderUnits)) {
-                //获取物流订单
-                Set<Long> logOrderIdList = logOrderUnits.stream()
-                        .filter(x -> allEnt.contains(x.getEntId()))
-                        .map(KwtLogisticsOrderUnit::getLOrderId)
+                logOrderIds  = logOrderIds.stream()
+                        .filter(x->logOrderFormGoodsIds.contains(x))
                         .collect(Collectors.toSet());
-                Set<Long> logOrderFormUnitIds =
-                        logOrderUnits.stream()
-                                .filter(x -> logOrderIdList.contains(x.getLOrderId()))
-                                .map(KwtLogisticsOrderUnit::getLOrderId)
-                                .collect(Collectors.toSet());
-                logOrderIds.addAll(logOrderFormUnitIds);
+            }else {
+                logOrderIds = Sets.newHashSet();
             }
         }
+
         return logOrderIds;
     }
 
@@ -2438,14 +2450,6 @@ public class KwtLogisticsConsignmentService {
             return allEnt;
         }
         allEnt.add(enterId);
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(enterId);
-        if (Objects.nonNull(entCacheResDto)) {
-            EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
-            List<EntCacheResDto> child = entCacheResDto1.getChild();
-            if (CollectionUtils.isNotEmpty(child)) {
-                allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
-            }
-        }
         return allEnt;
     }
 

+ 53 - 21
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -3190,24 +3190,6 @@ public class KwtWaybillOrderV1Service {
     @NotNull
     private Set<Long> getLogOrderIds(WaybillOrderReq req) {
         Set<Long> logOrderIds = Sets.newHashSet();
-        if (StringUtils.isNotBlank(req.getLogisticsOrderId())){
-            logOrderIds.add(Long.parseLong(req.getLogisticsOrderId()));
-        }
-
-        if (StringUtils.isNotBlank(req.getBillingMethod() )){
-            List<KwtLogisticsOrder> kwtLogisticsOrder = logisticsOrderRepository.queryByBillMethod(req.getBillingMethod());
-            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtLogisticsOrder)){
-                logOrderIds.addAll(kwtLogisticsOrder.stream()
-                        .map(KwtLogisticsOrder::getId)
-                        .collect(Collectors.toSet()));
-            }
-        }
-        if (StringUtils.isNotBlank(req.getLogisticsOrderNo()) && StringUtils.isBlank(req.getLogisticsOrderId())){
-            KwtLogisticsOrder kwtLogisticsOrder = logisticsOrderRepository.queryByLogisticsOrderNo(req.getLogisticsOrderNo());
-            if (Objects.nonNull(kwtLogisticsOrder)){
-                logOrderIds.add(kwtLogisticsOrder.getId());
-            }
-        }
         Set<Long> entIds = Sets.newHashSet();
         entIds.add(LoginUserHolder.getEntId());
         if (StringUtils.isNotBlank(req.getConsignorId())){
@@ -3231,9 +3213,55 @@ public class KwtWaybillOrderV1Service {
                 if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logisticsOrderIds)){
                     logOrderIds.addAll(logisticsOrderIds);
                 }
+            }
+        }
+        if (StringUtils.isNotBlank(req.getLogisticsOrderId())){
+            logOrderIds.add(Long.parseLong(req.getLogisticsOrderId()));
+            logOrderIds = logOrderIds.stream()
+                    .filter(x->Objects.equals(x, Long.parseLong(req.getLogisticsOrderId())))
+                    .collect(Collectors.toSet());
+        }
+
+        if (StringUtils.isNotBlank(req.getBillingMethod() )){
+            List<KwtLogisticsOrder> kwtLogisticsOrder = logisticsOrderRepository.queryByBillMethod(req.getBillingMethod());
+            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtLogisticsOrder)){
+                Set<Long> logisticsOrderIds = kwtLogisticsOrder.stream()
+                        .map(KwtLogisticsOrder::getId)
+                        .collect(Collectors.toSet());
+                logOrderIds.addAll(logisticsOrderIds);
+                logOrderIds =logOrderIds.stream()
+                        .filter(logisticsOrderIds::contains)
+                        .collect(Collectors.toSet());
+            }else {
+                logOrderIds = Sets.newHashSet();
+            }
+        }
 
+        if (StringUtils.isNotBlank(req.getBillingMethod() )){
+            List<KwtLogisticsOrder> kwtLogisticsOrder = logisticsOrderRepository.queryByBillMethod(req.getBillingMethod());
+            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtLogisticsOrder)){
+                Set<Long> logisticsOrderIds = kwtLogisticsOrder.stream()
+                        .map(KwtLogisticsOrder::getId)
+                        .collect(Collectors.toSet());
+                logOrderIds.addAll(logisticsOrderIds);
+                logOrderIds =logOrderIds.stream()
+                        .filter(logisticsOrderIds::contains)
+                        .collect(Collectors.toSet());
+            }else {
+                logOrderIds = Sets.newHashSet();
+            }
+        }
+        if (StringUtils.isNotBlank(req.getLogisticsOrderNo())){
+            KwtLogisticsOrder kwtLogisticsOrder = logisticsOrderRepository.queryByLogisticsOrderNo(req.getLogisticsOrderNo());
+            if (Objects.nonNull(kwtLogisticsOrder)){
+                logOrderIds.add(kwtLogisticsOrder.getId());
+                logOrderIds = logOrderIds.stream()
+                        .filter(x->Objects.equals(x, kwtLogisticsOrder.getId()))
+                        .collect(Collectors.toSet());
+            } else {
+                logOrderIds = Sets.newHashSet();
             }
-         }
+        }
         List<KwtLogisticsOrderGoods> logisticsOrderGoods =null ;
         if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getGoodsName())){
             List<KwpGoods> goods = goodsInfoService.findGoodsByGoodsName(req.getGoodsName());
@@ -3245,9 +3273,13 @@ public class KwtWaybillOrderV1Service {
             }
         }
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logisticsOrderGoods)){
-            logOrderIds.addAll(logisticsOrderGoods.stream()
+            Set<Long> logOrderIdList = logisticsOrderGoods.stream()
                     .map(KwtLogisticsOrderGoods::getLOrderId)
-                    .collect(Collectors.toSet()));
+                    .collect(Collectors.toSet());
+            logOrderIds.addAll(logOrderIdList);
+            logOrderIds = logOrderIds.stream().filter(logOrderIdList::contains).collect(Collectors.toSet());
+        }else {
+            logOrderIds = Sets.newHashSet();
         }
 
         if (StringUtils.isNotBlank(req.getLogisticsOrderId())  && CollectionUtils.isNotEmpty(logOrderIds)){