Explorar el Código

655项目需求变更

donglang hace 1 semana
padre
commit
acfbb3f906

+ 51 - 51
sckw-modules/sckw-report/src/test/java/com/sckw/report/SckwTradeOrderTest.java

@@ -1,51 +1,51 @@
-package com.sckw.report;
-
-import com.sckw.mongo.model.SckwTradeOrder;
-import com.sckw.report.dao.SckwTradeOrderRepository;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author zk
- * @desc 贸易订单测试
- * @date 2023/7/8 0008
- */
-@SpringBootTest
-public class SckwTradeOrderTest {
-    @Autowired
-    SckwTradeOrderRepository tradeOrderRepository;
-
-    /**
-     * 插入单条数据
-     */
-    @Test
-    public void insertOne() {
-        SckwTradeOrder order = new SckwTradeOrder();
-        order.setTOrderId(System.currentTimeMillis());
-        order.setTOrderNo("O" + order.getTOrderId());
-        tradeOrderRepository.insert(order);
-    }
-
-    /**
-     * 插入多条数据
-     */
-    @Test
-    public void insertMany() {
-        List<SckwTradeOrder> list = new ArrayList<SckwTradeOrder>();
-        Long begtime = System.currentTimeMillis();
-        for (int i=0; i<10000; i++) {
-            SckwTradeOrder order = new SckwTradeOrder();
-            order.setTOrderId(System.currentTimeMillis() + i);
-            order.setTOrderNo("O" + order.getTOrderId());
-            list.add(order);
-        }
-        tradeOrderRepository.insert(list);
-        Long enttime = System.currentTimeMillis();
-        System.out.println("------------------"+(enttime - begtime));
-    }
-
-
-}
+//package com.sckw.report;
+//
+//import com.sckw.mongo.model.SckwTradeOrder;
+//import com.sckw.report.dao.SckwTradeOrderRepository;
+//import org.junit.jupiter.api.Test;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.boot.test.context.SpringBootTest;
+//import java.util.ArrayList;
+//import java.util.List;
+//
+///**
+// * @author zk
+// * @desc 贸易订单测试
+// * @date 2023/7/8 0008
+// */
+//@SpringBootTest
+//public class SckwTradeOrderTest {
+//    @Autowired
+//    SckwTradeOrderRepository tradeOrderRepository;
+//
+//    /**
+//     * 插入单条数据
+//     */
+//    @Test
+//    public void insertOne() {
+//        SckwTradeOrder order = new SckwTradeOrder();
+//        order.setTOrderId(System.currentTimeMillis());
+//        order.setTOrderNo("O" + order.getTOrderId());
+//        tradeOrderRepository.insert(order);
+//    }
+//
+//    /**
+//     * 插入多条数据
+//     */
+//    @Test
+//    public void insertMany() {
+//        List<SckwTradeOrder> list = new ArrayList<SckwTradeOrder>();
+//        Long begtime = System.currentTimeMillis();
+//        for (int i=0; i<10000; i++) {
+//            SckwTradeOrder order = new SckwTradeOrder();
+//            order.setTOrderId(System.currentTimeMillis() + i);
+//            order.setTOrderNo("O" + order.getTOrderId());
+//            list.add(order);
+//        }
+//        tradeOrderRepository.insert(list);
+//        Long enttime = System.currentTimeMillis();
+//        System.out.println("------------------"+(enttime - begtime));
+//    }
+//
+//
+//}

+ 10 - 29
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/EmptyLoadLeaveHandler.java

@@ -5,14 +5,14 @@ import com.alibaba.fastjson.JSON;
 import com.sckw.core.common.enums.enums.ErrorCodeEnum;
 import com.sckw.core.exception.BusinessPlatfromException;
 import com.sckw.core.model.enums.*;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.transport.model.*;
-import com.sckw.transport.model.enuma.WeighbridgeTypeEnum;
+import com.sckw.transport.model.KwtForkliftWaybillOrder;
+import com.sckw.transport.model.KwtGatekeeperWaybillOrder;
+import com.sckw.transport.model.KwtWaybillOrder;
+import com.sckw.transport.model.KwtWaybillOrderSubtask;
 import com.sckw.transport.model.param.WaybillOrderEmptyLoadLeaveParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
 import java.util.Objects;
 
 /**
@@ -41,41 +41,22 @@ public class EmptyLoadLeaveHandler extends AbstractWaybillOrderHandler<WaybillOr
     @Override
     protected void doBusiness(WaybillOrderEmptyLoadLeaveParam param, KwtWaybillOrder waybillOrder) {
         log.info("推进门卫数据为待放行:{}", JSON.toJSONString(waybillOrder));
-        //校验最后一次过磅是否是山上
-        if (checkLastWeighbridges(waybillOrder)) {
-            // 修改门卫订单状态为:待放行
-            updateGatekeeperOrderStatus(waybillOrder, GatekeeperStatusEnum.PENDING_RELEASE);
-        } else {
-            // 修改门卫订单状态为:已离场
-            updateGatekeeperOrderStatus(waybillOrder, GatekeeperStatusEnum.EXITED);
-        }
+
+        // 修改门卫数据状态:待放行
+        updateGatekeeperOrderStatus(waybillOrder);
+
         // 校验铲车订单是否是待接单
         updateForkliftOrderStatus(waybillOrder);
 
     }
 
-    /**
-     * 校验最后一次过磅是否是山上
-     * @param waybillOrder
-     * @return
-     */
-    private Boolean checkLastWeighbridges(KwtWaybillOrder waybillOrder) {
-        List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
-                .queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
-        if (CollectionUtils.isEmpty(weighbridges)) {
-            throw new BusinessPlatfromException(ErrorCodeEnum.DATA_NOT_EXIST, "[离场]当前运单没有过磅信息!");
-        }
-        KwtWaybillOrderWeighbridge weighbridge = weighbridges.get(0);
-        return weighbridge.getWeighbridgeId() != 10003L;
-    }
-
 
     /**
      * 修改门卫订单状态
      * @param waybillOrder
      * @return
      */
-    public void updateGatekeeperOrderStatus(KwtWaybillOrder waybillOrder, GatekeeperStatusEnum statusEnum) {
+    public void updateGatekeeperOrderStatus(KwtWaybillOrder waybillOrder) {
         KwtGatekeeperWaybillOrder gatekeeper = gatekeeperWaybillOrderRepository
                 .queryGatekeeperWaybillOrderByWOrderId(waybillOrder.getId(), GatekeeperTypeEnum.LOADING.getCode());
         if (gatekeeper == null) {
@@ -85,7 +66,7 @@ public class EmptyLoadLeaveHandler extends AbstractWaybillOrderHandler<WaybillOr
             throw new BusinessPlatfromException(ErrorCodeEnum.GATEKEEPER_ORDER_STATUS_ERROR, "当前门卫订单状态异常,不能推进为待放行状态!");
         }
         //修改门卫:待放行
-        gatekeeper.setStatus(statusEnum.getCode());
+        gatekeeper.setStatus(GatekeeperStatusEnum.PENDING_RELEASE.getCode());
         gatekeeper.setRemark("空载待放行");
         gatekeeperWaybillOrderRepository.updateById(gatekeeper);
     }

+ 8 - 45
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/LeaveHandler.java

@@ -7,17 +7,13 @@ import com.sckw.core.exception.BusinessPlatfromException;
 import com.sckw.core.model.enums.CarWaybillV1Enum;
 import com.sckw.core.model.enums.GatekeeperStatusEnum;
 import com.sckw.core.model.enums.GatekeeperTypeEnum;
-import com.sckw.core.utils.CollectionUtils;
 import com.sckw.transport.model.KwtGatekeeperWaybillOrder;
 import com.sckw.transport.model.KwtWaybillOrder;
 import com.sckw.transport.model.KwtWaybillOrderSubtask;
-import com.sckw.transport.model.KwtWaybillOrderWeighbridge;
-import com.sckw.transport.model.enuma.WeighbridgeTypeEnum;
 import com.sckw.transport.model.param.WaybillOrderLeaveParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
 import java.util.Objects;
 
 /**
@@ -45,38 +41,19 @@ public class LeaveHandler extends AbstractWaybillOrderHandler<WaybillOrderLeaveP
 
     @Override
     protected void doBusiness(WaybillOrderLeaveParam param, KwtWaybillOrder waybillOrder) {
-        log.info("推进门卫数据状态修改:{}", JSON.toJSONString(waybillOrder));
-        //校验最后一次过磅是否是山上
-        if (checkLastWeighbridges(waybillOrder)) {
-            // 修改门卫订单状态为:待放行
-            updateGatekeeperOrderStatus(waybillOrder, GatekeeperStatusEnum.PENDING_RELEASE);
-        } else {
-            // 修改门卫订单状态为:已离场
-            updateGatekeeperOrderStatus(waybillOrder, GatekeeperStatusEnum.EXITED);
-        }
-    }
+        log.info("推进门卫数据为待放行:{}", JSON.toJSONString(waybillOrder));
 
-    /**
-     * 校验最后一次过磅是否是山上
-     * @param waybillOrder
-     * @return
-     */
-    private Boolean checkLastWeighbridges(KwtWaybillOrder waybillOrder) {
-        List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
-                .queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
-        if (CollectionUtils.isEmpty(weighbridges)) {
-            throw new BusinessPlatfromException(ErrorCodeEnum.DATA_NOT_EXIST, "[离场]当前运单没有过磅信息!");
-        }
-        KwtWaybillOrderWeighbridge weighbridge = weighbridges.get(0);
-        return weighbridge.getWeighbridgeId() != 10003L;
+        // 修改门卫订单状态为:待放行
+        updateGatekeeperOrderStatus(waybillOrder);
     }
 
+
     /**
      * 修改门卫订单状态
      * @param waybillOrder
      * @return
      */
-    public void updateGatekeeperOrderStatus(KwtWaybillOrder waybillOrder, GatekeeperStatusEnum statusEnum) {
+    public void updateGatekeeperOrderStatus(KwtWaybillOrder waybillOrder) {
         KwtGatekeeperWaybillOrder gatekeeper = gatekeeperWaybillOrderRepository
                 .queryGatekeeperWaybillOrderByWOrderId(waybillOrder.getId(), GatekeeperTypeEnum.LOADING.getCode());
         if (gatekeeper == null) {
@@ -86,9 +63,8 @@ public class LeaveHandler extends AbstractWaybillOrderHandler<WaybillOrderLeaveP
             throw new BusinessPlatfromException(ErrorCodeEnum.GATEKEEPER_ORDER_STATUS_ERROR, "当前门卫订单状态异常,不能推进为待放行状态!");
         }
         //修改门卫:待放行
-        gatekeeper.setStatus(statusEnum.getCode());
+        gatekeeper.setStatus(GatekeeperStatusEnum.PENDING_RELEASE.getCode());
         gatekeeperWaybillOrderRepository.updateById(gatekeeper);
-        log.info("[离场]修改门卫状态为:{}", statusEnum.getDescription());
     }
 
     @Override
@@ -103,26 +79,13 @@ public class LeaveHandler extends AbstractWaybillOrderHandler<WaybillOrderLeaveP
 
     @Override
     protected void getStatus(KwtWaybillOrder waybillOrder) {
-        if (checkLastWeighbridges(waybillOrder)) {
-            updateStatus(waybillOrder, CarWaybillV1Enum.WAIT_RELEASE);
-        } else {
-            updateStatus(waybillOrder, CarWaybillV1Enum.WAIT_LOADING);
-        }
-    }
-
-    /**
-     * 修改运单状态
-     * @param waybillOrder
-     * @param statusEnum
-     */
-    public void updateStatus(KwtWaybillOrder waybillOrder, CarWaybillV1Enum statusEnum) {
         // 1. 修改运单状态
-        waybillOrder.setStatus(statusEnum.getCode());
+        waybillOrder.setStatus(CarWaybillV1Enum.WAIT_RELEASE.getCode());
         waybillOrderRepository.updateById(waybillOrder);
 
         // 2. 修改子运单状态
         KwtWaybillOrderSubtask waybillSubtask = getWaybillSubtask(waybillOrder.getId());
-        waybillSubtask.setStatus(statusEnum.getCode());
+        waybillSubtask.setStatus(CarWaybillV1Enum.WAIT_RELEASE.getCode());
         waybillOrderSubtaskRepository.updateById(waybillSubtask);
     }
 

+ 25 - 29
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/GatekeeperOrderService.java

@@ -1162,38 +1162,34 @@ public class GatekeeperOrderService {
      */
     public Boolean checkIsPass(GatekeeperOrderIsPassParam gatekeeper) {
         log.info("校验是否可放行:{}", JSON.toJSONString(gatekeeper));
-        if (!(gatekeeper.getWeighbridgeId() == 10100112L || gatekeeper.getWeighbridgeId() == 10100113L)) {
-            throw new BusinessPlatfromException(ErrorCodeEnum.INTERFACE_CALL_FAIL, "所传地磅编号不是山上地磅!");
+        List<KwtWaybillOrder> wbOrderByTruckNo = waybillOrderRepository.findWbOrderByTruckNo(gatekeeper.getTruckNo());
+        if (CollectionUtils.isEmpty(wbOrderByTruckNo)) {
+            return Boolean.FALSE;
+        }
+        // 获取最新的一条数据
+        KwtWaybillOrder waybillOrder = wbOrderByTruckNo.get(0);
+        // 山上:需要区分是进场抬杆还是出场抬杆
+        if (checkIsFirst(waybillOrder)) {
+            // 第一次过磅
+            return Objects.equals(waybillOrder.getStatus(), CarWaybillV1Enum.PENDING_VEHICLE.getCode()) ? Boolean.TRUE : Boolean.FALSE;
         } else {
-            List<KwtWaybillOrder> wbOrderByTruckNo = waybillOrderRepository.findWbOrderByTruckNo(gatekeeper.getTruckNo());
-            if (CollectionUtils.isEmpty(wbOrderByTruckNo)) {
+            // 第二次过磅
+            List<KwtGatekeeperWaybillOrder> gatekeeperWaybillOrders = gatekeeperWaybillOrderRepository
+                    .queryGatekeeperWaybillOrderByWOrderIds(Lists.newArrayList(waybillOrder.getId()));
+            if (CollectionUtils.isEmpty(gatekeeperWaybillOrders)) {
                 return Boolean.FALSE;
             }
-            // 获取最新的一条数据
-            KwtWaybillOrder waybillOrder = wbOrderByTruckNo.get(0);
-            // 山上:需要区分是进场抬杆还是出场抬杆
-            if (checkIsFirst(waybillOrder)) {
-                // 第一次过磅
-                return Objects.equals(waybillOrder.getStatus(), CarWaybillV1Enum.PENDING_VEHICLE.getCode()) ? Boolean.TRUE : Boolean.FALSE;
-            } else {
-                // 第二次过磅
-                List<KwtGatekeeperWaybillOrder> gatekeeperWaybillOrders = gatekeeperWaybillOrderRepository
-                        .queryGatekeeperWaybillOrderByWOrderIds(Lists.newArrayList(waybillOrder.getId()));
-                if (CollectionUtils.isEmpty(gatekeeperWaybillOrders)) {
-                    return Boolean.FALSE;
-                }
-                KwtGatekeeperWaybillOrder gatekeeperWaybillOrder = gatekeeperWaybillOrders.get(0);
-
-                // 定义运单可以可放行的状态集合
-                List<Integer> PASS_STATUSES = Arrays.asList(
-                        GatekeeperStatusEnum.IN_YARD.getCode(),
-                        GatekeeperStatusEnum.EXITED.getCode(),
-                        GatekeeperStatusEnum.EMPTY_EXITED.getCode()
-                );
-                Boolean result = PASS_STATUSES.contains(gatekeeperWaybillOrder.getStatus()) ? Boolean.TRUE : Boolean.FALSE;
-                log.info("校验出场是否可放行完成,result:{}", JSON.toJSONString(result));
-                return result;
-            }
+            KwtGatekeeperWaybillOrder gatekeeperWaybillOrder = gatekeeperWaybillOrders.get(0);
+
+            // 定义运单可以可放行的状态集合
+            List<Integer> PASS_STATUSES = Arrays.asList(
+                    GatekeeperStatusEnum.IN_YARD.getCode(),
+                    GatekeeperStatusEnum.EXITED.getCode(),
+                    GatekeeperStatusEnum.EMPTY_EXITED.getCode()
+            );
+            Boolean result = PASS_STATUSES.contains(gatekeeperWaybillOrder.getStatus()) ? Boolean.TRUE : Boolean.FALSE;
+            log.info("校验出场是否可放行完成,result:{}", JSON.toJSONString(result));
+            return result;
         }
     }