Ver Fonte

创建运单节点信息数据

donglang há 1 mês atrás
pai
commit
d7370c4b2a

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

@@ -10,7 +10,6 @@ import com.sckw.transport.model.KwtWaybillOrder;
 import com.sckw.transport.model.KwtWaybillOrderNode;
 import com.sckw.transport.model.KwtWaybillOrderSubtask;
 import com.sckw.transport.model.param.OrderCirculateTakingQueryParam;
-import com.sckw.transport.model.param.WaybillOrderLeaveMockParam;
 import com.sckw.transport.model.param.WaybillOrderProcessParam;
 import com.sckw.transport.repository.*;
 import lombok.extern.slf4j.Slf4j;
@@ -111,11 +110,6 @@ public abstract class AbstractWaybillOrderHandler<T extends WaybillOrderProcessP
         if (waybillOrder == null) {
             return;
         }
-        // 非接单流程必须校验运单ID
-        if (param instanceof WaybillOrderLeaveMockParam) {
-            log.info("离场过磅(mock推送)不需要创建节点数据:{}", param.getWaybillOrderId());
-           return;
-        }
 
         log.info("创建车辆运单-节点轨迹入参参数:{}", JSON.toJSONString(param));
         KwtWaybillOrderSubtask subtask = getWaybillSubtask(waybillOrder.getId());
@@ -129,13 +123,20 @@ public abstract class AbstractWaybillOrderHandler<T extends WaybillOrderProcessP
         node.setDriverName(waybillOrder.getDriverName());
         node.setLng(param.getLng());
         node.setLat(param.getLat());
+        node.setRemark(getRemark(param, waybillOrder));
         waybillOrderNodeRepository.save(node);
         log.info("记录{}节点轨迹成功,节点ID:{}", getProcessName(), node.getId());
     }
 
+    // 7. 后置处理(子类可选实现)
+    protected void afterProcess(T param, KwtWaybillOrder waybillOrder) {}
 
     protected abstract String getProcessName();
 
+
+    protected abstract String getRemark(T param, KwtWaybillOrder waybillOrder);
+
+
     /**
      * 查询运单
      */
@@ -158,8 +159,7 @@ public abstract class AbstractWaybillOrderHandler<T extends WaybillOrderProcessP
         return subtask;
     }
 
-    // 7. 后置处理(子类可选实现)
-    protected void afterProcess(T param, KwtWaybillOrder waybillOrder) {}
+
 
 
 }

+ 0 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/BusinessContext.java

@@ -73,6 +73,4 @@ public class BusinessContext  {
     public static Map<String, Object> getAll() {
         return new HashMap<>(CONTEXT.get());
     }
-
-
 }

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/CancelHandler.java

@@ -114,5 +114,10 @@ public class CancelHandler extends AbstractWaybillOrderHandler<WaybillOrderCance
         return "取消接单";
     }
 
+    @Override
+    protected String getRemark(WaybillOrderCancelParam param, KwtWaybillOrder waybillOrder) {
+        return "司机[" + waybillOrder.getDriverName() + "]取消订单";
+    }
+
 
 }

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

@@ -7,13 +7,11 @@ import com.sckw.core.common.enums.enums.ErrorCodeEnum;
 import com.sckw.core.exception.BusinessPlatfromException;
 import com.sckw.core.model.enums.AddressTypeEnum;
 import com.sckw.core.model.enums.CarWaybillV1Enum;
-import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.RTruckVo;
 import com.sckw.transport.model.KwtWaybillOrder;
 import com.sckw.transport.model.KwtWaybillOrderTicket;
 import com.sckw.transport.model.param.WaybillOrderCmeIntoWeighParam;
 import com.sckw.transport.repository.KwtWaybillOrderTicketRepository;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -33,9 +31,6 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
     private KwtWaybillOrderTicketRepository waybillOrderTicketRepository;
 
 
-    @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
-    protected RemoteFleetService remoteFleetService;
-
     @Override
     protected KwtWaybillOrder getWaybillOrder(WaybillOrderCmeIntoWeighParam param) {
         return getWaybillOrder(param.getWaybillOrderId());
@@ -80,4 +75,9 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
     protected String getProcessName() {
         return "到达装货地点";
     }
+
+    @Override
+    protected String getRemark(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
+        return "车辆[" + waybillOrder.getTruckNo() + "]已到达装货点";
+    }
 }

+ 7 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/LeaveHandler.java

@@ -50,7 +50,8 @@ public class LeaveHandler extends AbstractWaybillOrderHandler<WaybillOrderLeaveP
 
     @Override
     protected void updateStatus(WaybillOrderLeaveParam param, KwtWaybillOrder waybill) {
-        waybill.setStatus(CarWaybillV1Enum.WAIT_LOADING.getCode()); // 已离场状态
+        // 已离场状态
+        waybill.setStatus(CarWaybillV1Enum.WAIT_LOADING.getCode());
         waybillOrderRepository.updateById(waybill);
     }
 
@@ -58,4 +59,9 @@ public class LeaveHandler extends AbstractWaybillOrderHandler<WaybillOrderLeaveP
     protected String getProcessName() {
         return "离场";
     }
+
+    @Override
+    protected String getRemark(WaybillOrderLeaveParam param, KwtWaybillOrder waybillOrder) {
+        return "司机[" + waybillOrder.getDriverName() + "]已确认离场";
+    }
 }

+ 7 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/LeaveMockHandler.java

@@ -68,7 +68,7 @@ public class LeaveMockHandler extends AbstractWaybillOrderHandler<WaybillOrderLe
      */
     private void updateGrossAmount(WaybillOrderLeaveMockParam param, Map<Integer, KwtWaybillOrderTicket> ticketMap) {
         //查询卸货信息,用于记录毛重
-        KwtWaybillOrderTicket takeTicket = ticketMap.getOrDefault(AddressTypeEnum.TAKE.getCode(), new KwtWaybillOrderTicket());
+        KwtWaybillOrderTicket takeTicket = ticketMap.get(AddressTypeEnum.TAKE.getCode());
         if (takeTicket == null) {
             throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单装卸货信息不存在,无法记录毛重!");
         }
@@ -84,7 +84,7 @@ public class LeaveMockHandler extends AbstractWaybillOrderHandler<WaybillOrderLe
      */
     private void updateLoadAmount(WaybillOrderLeaveMockParam param, KwtWaybillOrder waybillOrder, Map<Integer, KwtWaybillOrderTicket> ticketMap) {
         //查询卸货信息,用于获取皮重
-        KwtWaybillOrderTicket shipmentTicket  = ticketMap.getOrDefault(AddressTypeEnum.SHIPMENT.getCode(), new KwtWaybillOrderTicket());
+        KwtWaybillOrderTicket shipmentTicket  = ticketMap.get(AddressTypeEnum.SHIPMENT.getCode());
         if (shipmentTicket == null) {
             throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单装卸货信息不存在,无法获取皮重!");
         }
@@ -112,4 +112,9 @@ public class LeaveMockHandler extends AbstractWaybillOrderHandler<WaybillOrderLe
     protected String getProcessName() {
         return "离场过磅(计算毛重和净重)";
     }
+
+    @Override
+    protected String getRemark(WaybillOrderLeaveMockParam param, KwtWaybillOrder waybillOrder) {
+        return "[地磅]称重[" + param.getGrossAmount() + "吨]";
+    }
 }

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/LoadingHandler.java

@@ -48,4 +48,9 @@ public class LoadingHandler extends AbstractWaybillOrderHandler<WaybillOrderLoad
     protected String getProcessName() {
         return "已装货";
     }
+
+    @Override
+    protected String getRemark(WaybillOrderLoadingParam param, KwtWaybillOrder waybillOrder) {
+        return "[" + waybillOrder.getDriverName() + "]已装载完成";
+    }
 }

+ 12 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/TakingOrderHandler.java

@@ -374,7 +374,7 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
 
         //卸货地址
         KwtWaybillOrderAddress takeAddress = getWaybillOrderAddress(waybillOrderAddresses, AddressTypeEnum.TAKE);
-        createTicket(waybillOrder, waybillOrderSubtask, shipmentAddress, logOrder, truckNo);
+        createTicket(waybillOrder, waybillOrderSubtask, takeAddress, logOrder, truckNo);
         log.info("创建车辆运单-装卸货信息成功!");
 
     }
@@ -476,6 +476,12 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
         return "接单";
     }
 
+    @Override
+    protected String getRemark(OrderCirculateTakingQueryParam param, KwtWaybillOrder waybillOrder) {
+        KwtWaybillOrderSubtask subtask = getWaybillSubtask(waybillOrder.getId());
+        return  "司机[" + waybillOrder.getDriverName() + "]接单成功,预计任务量[" + subtask.getEntrustAmount() + "吨]";
+    }
+
     // 7. 接单单独创建接单轨迹数据
     protected void afterProcess(OrderCirculateTakingQueryParam param, KwtWaybillOrder waybillOrder) {
         log.info("创建车辆运单-节点轨迹入参参数:{}", JSON.toJSONString(param));
@@ -490,7 +496,12 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
         orderNode.setDriverName(waybillOrder.getDriverName());
         orderNode.setLng(param.getLng());
         orderNode.setLat(param.getLat());
+
+        String remark = getRemark(param, waybillOrder);
+        orderNode.setRemark(remark);
         waybillOrderNodeRepository.save(orderNode);
         log.info("创建车辆运单-节点轨迹成功,节点轨迹ID:{}", orderNode.getId());
     }
+
+
 }

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/UnloadingHandler.java

@@ -64,4 +64,9 @@ public class UnloadingHandler extends AbstractWaybillOrderHandler<WaybillOrderUn
     protected String getProcessName() {
         return "已卸货";
     }
+
+    @Override
+    protected String getRemark(WaybillOrderUnloadParam param, KwtWaybillOrder waybillOrder) {
+        return "司机[" + waybillOrder.getDriverName() + "]已上传卸货凭证";
+    }
 }

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderNode.java

@@ -86,6 +86,11 @@ public class KwtWaybillOrderNode implements Serializable {
      */
     private Long createBy;
 
+    /**
+     * 备注
+     */
+    private String remark;
+
     /**
      * 创建时间
      */