|
@@ -1,78 +0,0 @@
|
|
|
-package com.sckw.transport.handler;
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-import com.sckw.core.common.enums.enums.ErrorCodeEnum;
|
|
|
|
|
-import com.sckw.core.exception.BusinessPlatfromException;
|
|
|
|
|
-import com.sckw.core.model.enums.CarWaybillV1Enum;
|
|
|
|
|
-import com.sckw.transport.model.KwtWaybillOrder;
|
|
|
|
|
-import com.sckw.transport.model.KwtWaybillOrderSubtask;
|
|
|
|
|
-import com.sckw.transport.model.KwtWaybillOrderTicket;
|
|
|
|
|
-import com.sckw.transport.model.param.WaybillOrderUnloadingWeighParam;
|
|
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
|
-
|
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * Author: donglang
|
|
|
|
|
- * Time: 2026-01-20
|
|
|
|
|
- * Des: 卸货过磅
|
|
|
|
|
- * Version: 1.0
|
|
|
|
|
- */
|
|
|
|
|
-
|
|
|
|
|
-@Slf4j
|
|
|
|
|
-@Service
|
|
|
|
|
-public class UnloadingWeighHandler extends AbstractWaybillOrderHandler<WaybillOrderUnloadingWeighParam> {
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected KwtWaybillOrder getWaybillOrder(WaybillOrderUnloadingWeighParam param) {
|
|
|
|
|
- return getWaybillOrder(param.getWaybillOrderId());
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected void checkState(WaybillOrderUnloadingWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
|
|
- if (!Objects.equals(CarWaybillV1Enum.WAIT_LOADING.getCode(), waybillOrder.getStatus())) {
|
|
|
|
|
- throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_STATUS_ERROR, "运单状态不是“已离场”状态,无法推进下一节点!");
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected void doBusiness(WaybillOrderUnloadingWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
|
|
- KwtWaybillOrderTicket takeTicket = waybillOrderTicketRepository.queryByWOrderIdByIdAndType(param.getWaybillOrderId(), 2);
|
|
|
|
|
- if (takeTicket == null) {
|
|
|
|
|
- throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单卸货单信息不存在,无法记录毛重!");
|
|
|
|
|
- }
|
|
|
|
|
- //填充卸货单毛重
|
|
|
|
|
- takeTicket.setGrossAmount(param.getGrossAmount());
|
|
|
|
|
- waybillOrderTicketRepository.updateById(takeTicket);
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected void calculateAutoDispatchScore(WaybillOrderUnloadingWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected String getProcessName() {
|
|
|
|
|
- return "离场过磅";
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected void getStatus(KwtWaybillOrder waybillOrder) {
|
|
|
|
|
- // 1. 修改运单状态
|
|
|
|
|
- waybillOrder.setStatus(CarWaybillV1Enum.INTO_UNLOADING.getCode());
|
|
|
|
|
- waybillOrderRepository.updateById(waybillOrder);
|
|
|
|
|
-
|
|
|
|
|
- // 2. 修改子运单状态
|
|
|
|
|
- KwtWaybillOrderSubtask waybillSubtask = getWaybillSubtask(waybillOrder.getId());
|
|
|
|
|
- waybillSubtask.setStatus(CarWaybillV1Enum.INTO_UNLOADING.getCode());
|
|
|
|
|
- waybillOrderSubtaskRepository.updateById(waybillSubtask);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- protected String getRemark(WaybillOrderUnloadingWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
|
|
- return "车辆[" + waybillOrder.getTruckNo() + "]已到达卸货点[" + param.getWeighbridgeName() + "]称重[" + param.getGrossAmount() + "吨]";
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|