فهرست منبع

Merge branch 'dev' of http://git.sckaiwu.cn/17358629955/sckw-service-platform into dev

chenlin 2 سال پیش
والد
کامیت
946c1dddce

+ 2 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/StringUtils.java

@@ -769,7 +769,8 @@ public class StringUtils {
         if (StringUtils.isBlank(text) || CollectionUtils.isEmpty(varNames)) {
             return text;
         }
-        Pattern pattern = Pattern.compile("\\$\\{([^}]+)\\}");
+        String str = "\\$\\{([^}]+)\\}";
+        Pattern pattern = Pattern.compile(str);
         Matcher matcher = pattern.matcher(text);
         StringBuilder result = new StringBuilder();
         while (matcher.find()) {

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/Data.java

@@ -47,6 +47,7 @@ public class Data {
         this.page = page;
     }
 
+    @Override
     public String toString() {
         return "Data(body=" + this.getBody() + ", page=" + this.getPage() + ")";
     }

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/Page.java

@@ -39,6 +39,7 @@ public class Page {
         this.pageSize = pageSize;
     }
 
+    @Override
     public String toString() {
         return "Page(total=" + this.getTotal() + ", page=" + this.getPage() + ", pageSize=" + this.getPageSize() + ")";
     }

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/Result.java

@@ -166,6 +166,7 @@ public class Result implements Serializable {
         this.data = data;
     }
 
+    @Override
     public String toString() {
         return "Result(status=" + this.getStatus() + ", msg=" + this.getMsg() + ", data=" + this.getData() + ")";
     }

+ 16 - 13
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -1436,18 +1436,19 @@ public class AcceptCarriageOrderService {
             throw new RuntimeException("当前订单并不属于【待派车】,【运输中】状态");
         }
         /**完结拦截*/
-        List<Integer> statusList = new ArrayList<>();
-        statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
-        statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
-        statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
-        statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
-        statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
-        statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
-        statusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
-        statusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
-        int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
-        if (count > NumberConstant.ZERO) {
-            throw new RuntimeException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕");
+//        List<Integer> statusList = new ArrayList<>();
+//        statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
+//        statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
+//        statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
+//        statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
+//        statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
+//        statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
+//        statusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
+//        statusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
+//        int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
+        boolean flag = commonService.judgmentWaybillOrderIsFinish(id);
+        if (flag) {
+            throw new BusinessException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕");
         }
         BigDecimal ignoreAmount = logisticsOrder.getAmount().subtract(logisticsOrder.getTotalLoadAmount());
         //修改单据本身数据
@@ -1490,9 +1491,11 @@ public class AcceptCarriageOrderService {
             orderStatusList.add(LogisticsOrderEnum.IN_TRANSIT.getCode());
             List<KwtLogisticsOrder> logisticsOrders = logisticsOrderMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrder>()
                     .eq(KwtLogisticsOrder::getTOrderId, logisticsOrder.getTOrderId())
-                    .in(KwtLogisticsOrder::getStatus, statusList));
+                    .in(KwtLogisticsOrder::getStatus, orderStatusList));
             if (org.springframework.util.CollectionUtils.isEmpty(logisticsOrders)) {
                 tradeOrder.setIsAllComplete(true);
+            }else {
+                tradeOrder.setIsAllComplete(false);
             }
             tradeOrder.setTOrderId(logisticsOrder.getTOrderId());
 //            tradeOrder.setActualLoadAmount(map.get("totalLoadAmount"));

+ 30 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/CommonService.java

@@ -9,10 +9,7 @@ import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.LogisticsOrderEnum;
-import com.sckw.core.model.enums.OrderRuleEnum;
-import com.sckw.core.model.enums.RedisOrderGenerateEnum;
-import com.sckw.core.model.enums.TaxRateTypeEnum;
+import com.sckw.core.model.enums.*;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.fleet.api.RemoteFleetService;
@@ -30,6 +27,7 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.common.config.MessageUrlConfig;
 import com.sckw.transport.dao.KwtLogisticsOrderContractMapper;
 import com.sckw.transport.dao.KwtLogisticsOrderMapper;
+import com.sckw.transport.dao.KwtWaybillOrderMapper;
 import com.sckw.transport.model.KwtLogisticsOrder;
 import com.sckw.transport.model.KwtLogisticsOrderContract;
 import com.sckw.transport.model.KwtLogisticsOrderUnit;
@@ -83,6 +81,9 @@ public class CommonService {
     @Autowired
     private KwtLogisticsOrderContractMapper logisticsOrderContractMapper;
 
+    @Autowired
+    private KwtWaybillOrderMapper waybillOrderMapper;
+
     /**
      * 组装返回数据
      *
@@ -750,6 +751,31 @@ public class CommonService {
     }
 
 
+    /**
+     * 验证当前物流订单是否存在未完结的车辆运单
+     *
+     * @param id 对应物流订单id
+     */
+    public boolean judgmentWaybillOrderIsFinish(String id) {
+        boolean flag = false;
+        List<Integer> statusList = new ArrayList<>();
+//        statusList.add(CarWaybillEnum.PENDING_ORDER.getCode());
+        statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
+        statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
+        statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
+        statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
+        statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
+        statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
+        statusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
+        statusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
+//        statusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
+        int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
+        if (count > NumberConstant.ZERO) {
+            flag = true;
+        }
+        return flag;
+    }
+
     /**
      * @param loadAmount    装货量
      * @param deficitAmount 亏吨量

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

@@ -871,7 +871,7 @@ public class ConsignOrderService {
             throw new BusinessException("当前订单并不属于【待派车】,【运输中】状态");
         }
         //验证当前物流订单是否还存在进行的车辆运单
-        boolean flag = judgmentWaybillOrderIsFinish(id);
+        boolean flag = commonService.judgmentWaybillOrderIsFinish(id);
         if (flag) {
             throw new BusinessException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕!");
         }

+ 4 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -45,6 +45,7 @@ import com.sckw.transport.model.vo.PurchaseLogisticOrderExcelVo;
 import com.sckw.transport.model.vo.SellLogisticOrderExcelVo;
 import com.sckw.transport.model.vo.WaybillCountVo;
 import io.seata.core.context.RootContext;
+import io.seata.spring.annotation.GlobalTransactional;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -1228,8 +1229,8 @@ public class LogisticsConsignmentService {
      * @param type           类型
      * @return
      */
-    @Transactional(rollbackFor = Exception.class)
-//    @GlobalTransactional(timeoutMills = 120000)
+//    @Transactional(rollbackFor = Exception.class)
+    @GlobalTransactional()
     public HttpResult orderFinish(OrderFinishDTO orderFinishDTO, String type) {
         HttpResult httpResult = ValidUtil.serviceValid(orderFinishDTO);
         if (!String.valueOf(httpResult.getCode()).equals(String.valueOf(HttpStatus.SUCCESS_CODE))) {
@@ -1290,7 +1291,7 @@ public class LogisticsConsignmentService {
             throw new BusinessException("当前订单并不属于【待派车】,【运输中】状态");
         }
         //验证当前物流订单是否还存在进行的车辆运单
-        boolean flag = judgmentWaybillOrderIsFinish(id);
+        boolean flag = commonService.judgmentWaybillOrderIsFinish(id);
         if (flag) {
             throw new BusinessException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕!");
         }

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

@@ -352,7 +352,7 @@ public class TransportCommonService {
             return result;
         }
         /**以此字段判别是否存在分包操作*/
-        if (ObjectUtils.isEmpty(logisticsOrder.getPid())) {
+        if (ObjectUtils.isEmpty(logisticsOrder.getPid()) && "1".equals(logisticsOrder.getType())) {
             /**并不存在分包,撤销数据回归到贸易订单,[待接单状态]下才能撤销托运*/
             /**调用dubbo 修改数值*/
             Long tOrderId = logisticsOrder.getTOrderId();