|
|
@@ -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);
|
|
|
}
|
|
|
|