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