Răsfoiți Sursa

校验是否第一次过磅

donglang 2 zile în urmă
părinte
comite
31b1ae2f58

+ 10 - 5
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/ComeIntoHandler.java

@@ -71,7 +71,8 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
         if (orderTicket == null) {
         if (orderTicket == null) {
             throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单装卸货信息不存在,无法记录皮重!");
             throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单装卸货信息不存在,无法记录皮重!");
         }
         }
-        if (checkIsFirst(waybillOrder)) {
+        checkIsFirst(waybillOrder);
+        if (waybillOrder.getIsExistWeighbridges()) {
             //第一次过磅
             //第一次过磅
             firstWeighbridge(param, waybillOrder, orderTicket);
             firstWeighbridge(param, waybillOrder, orderTicket);
         } else {
         } else {
@@ -86,10 +87,14 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
      * @param waybillOrder
      * @param waybillOrder
      * @return
      * @return
      */
      */
-    private Boolean checkIsFirst(KwtWaybillOrder waybillOrder) {
+    private void checkIsFirst(KwtWaybillOrder waybillOrder) {
         List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
         List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
                 .queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
                 .queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
-        return CollectionUtils.isEmpty(weighbridges);
+        if (CollectionUtils.isEmpty(weighbridges)) {
+            waybillOrder.setIsExistWeighbridges(Boolean.TRUE);
+        } else {
+            waybillOrder.setIsExistWeighbridges(Boolean.FALSE);
+        }
     }
     }
 
 
     /**
     /**
@@ -557,7 +562,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
     protected void getStatus(KwtWaybillOrder waybillOrder) {
     protected void getStatus(KwtWaybillOrder waybillOrder) {
         Integer status;
         Integer status;
         // 校验是否第一次过磅
         // 校验是否第一次过磅
-        if (checkIsFirst(waybillOrder)) {
+        if (waybillOrder.getIsExistWeighbridges()) {
             status = CarWaybillV1Enum.REFUSE_TRAFFIC.getCode();
             status = CarWaybillV1Enum.REFUSE_TRAFFIC.getCode();
             updateOrderStatus(waybillOrder, status);
             updateOrderStatus(waybillOrder, status);
             return;
             return;
@@ -676,7 +681,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     protected void calculateAutoDispatchScore(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
     protected void calculateAutoDispatchScore(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
-        if (checkIsFirst(waybillOrder)) {
+        if (waybillOrder.getIsExistWeighbridges()) {
             //校验连续按时到场次数
             //校验连续按时到场次数
             checkContinuousArriveTimes(waybillOrder);
             checkContinuousArriveTimes(waybillOrder);
         }
         }

+ 4 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrder.java

@@ -195,4 +195,8 @@ public class KwtWaybillOrder implements Serializable {
     //用于存储动态状态
     //用于存储动态状态
     @TableField(exist = false)
     @TableField(exist = false)
     private Integer targetStatus;
     private Integer targetStatus;
+
+    //用于存储动态状态
+    @TableField(exist = false)
+    private Boolean isExistWeighbridges;
 }
 }