Prechádzať zdrojové kódy

分包托运单号生成bug

lengfaqiang 2 rokov pred
rodič
commit
c43431ba32

+ 12 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -217,7 +217,8 @@ public class AcceptCarriageOrderService {
         if (waitDistributionAmount.compareTo(new BigDecimal("0.00")) == 0) {
         if (waitDistributionAmount.compareTo(new BigDecimal("0.00")) == 0) {
             throw new RuntimeException("剩余可分配量为0,不可进行分包操作!");
             throw new RuntimeException("剩余可分配量为0,不可进行分包操作!");
         }
         }
-        int level = logisticsLevel(logisticsOrder);
+//        int level = logisticsLevel(logisticsOrder);
+        int level = newLogisticsLevel(logisticsOrder);
         long number = logisticsOrderMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrder>()
         long number = logisticsOrderMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrder>()
                         .eq(KwtLogisticsOrder::getDelFlag, NumberConstant.ZERO)
                         .eq(KwtLogisticsOrder::getDelFlag, NumberConstant.ZERO)
                         .apply(logisticsOrder.getId() != null, "FIND_IN_SET ('" + bo.getLOrderId() + "', pids)").ne(KwtLogisticsOrder::getId, bo.getLOrderId()))
                         .apply(logisticsOrder.getId() != null, "FIND_IN_SET ('" + bo.getLOrderId() + "', pids)").ne(KwtLogisticsOrder::getId, bo.getLOrderId()))
@@ -230,10 +231,8 @@ public class AcceptCarriageOrderService {
          * 需要记录当前分包数据-分包上游数据
          * 需要记录当前分包数据-分包上游数据
          * */
          * */
         /**
         /**
-         * 判断是否已存在分包【当前分包只允许加上主单一共三级】*/
-        Long count = logisticsOrderMapper.selectCount(new LambdaQueryWrapper<KwtLogisticsOrder>()
-                .in(KwtLogisticsOrder::getPids, bo.getLOrderId()));
-        if (count > NumberConstant.TWO) {
+         * 判断是否已存在分包【当前分包只允许加上主单一共四级】*/
+        if (level >= 4) {
             throw new RuntimeException("分包次数已达上限!");
             throw new RuntimeException("分包次数已达上限!");
         }
         }
         String pids = logisticsOrder.getPids();
         String pids = logisticsOrder.getPids();
@@ -305,10 +304,10 @@ public class AcceptCarriageOrderService {
         carriageUnit.setTopEntId(checkentMap == null ? null : checkentMap.getId());
         carriageUnit.setTopEntId(checkentMap == null ? null : checkentMap.getId());
 
 
 //        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId());
 //        commonService.initIatingLogisticsConsignment(checkUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId());
-        commonService.newSendLogisticsOrderToMessage(carriageUnit,checkUnit,  logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
+        commonService.newSendLogisticsOrderToMessage(carriageUnit, checkUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId(),
                 messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
                 messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
                 messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
                 messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
-                MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT,MessageEnum.NEW_CARRIAGE_ORDER,
+                MessageEnum.INITIATING_LOGISTICS_CONSIGNMENT, MessageEnum.NEW_CARRIAGE_ORDER,
                 "1");
                 "1");
 
 
         //修改父级mongodb数据
         //修改父级mongodb数据
@@ -2620,6 +2619,12 @@ public class AcceptCarriageOrderService {
         return idArrays.length <= 1 ? Global.NUMERICAL_ONE : (idArrays.length - Global.NUMERICAL_ONE);
         return idArrays.length <= 1 ? Global.NUMERICAL_ONE : (idArrays.length - Global.NUMERICAL_ONE);
     }
     }
 
 
+    public int newLogisticsLevel(KwtLogisticsOrder logisticsOrder) {
+        String pids = logisticsOrder.getPids();
+        String[] idArrays = StringUtils.isBlank(pids) ? new String[0] : pids.split(Global.COMMA);
+        return idArrays.length <= 1 ? Global.NUMERICAL_ONE : idArrays.length;
+    }
+
     public HttpResult getOrderTrackByOrderId(String orderId, String number) {
     public HttpResult getOrderTrackByOrderId(String orderId, String number) {
         List<KwtLogisticsOrderTrack> list = logisticsOrderTrackMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
         List<KwtLogisticsOrderTrack> list = logisticsOrderTrackMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
                 .eq(KwtLogisticsOrderTrack::getLOrderId, orderId)
                 .eq(KwtLogisticsOrderTrack::getLOrderId, orderId)