|
|
@@ -60,7 +60,9 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
if (orderTicket == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单装卸货信息不存在,无法记录皮重!");
|
|
|
}
|
|
|
- if (checkIsFirst(waybillOrder)) {
|
|
|
+ // 校验是否是第一次过磅
|
|
|
+ checkIsFirst(waybillOrder);
|
|
|
+ if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
//第一次过磅
|
|
|
firstWeighbridge(param, waybillOrder, orderTicket);
|
|
|
} else {
|
|
|
@@ -75,10 +77,14 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param waybillOrder
|
|
|
* @return
|
|
|
*/
|
|
|
- private Boolean checkIsFirst(KwtWaybillOrder waybillOrder) {
|
|
|
+ private void checkIsFirst(KwtWaybillOrder waybillOrder) {
|
|
|
List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
|
|
|
.queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
|
|
|
- return CollectionUtils.isEmpty(weighbridges);
|
|
|
+ if (CollectionUtils.isEmpty(weighbridges)) {
|
|
|
+ waybillOrder.setIsExistWeighbridges(Boolean.TRUE);
|
|
|
+ } else {
|
|
|
+ waybillOrder.setIsExistWeighbridges(Boolean.FALSE);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -87,6 +93,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param waybillOrder
|
|
|
*/
|
|
|
private void firstWeighbridge(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder, KwtWaybillOrderTicket orderTicket) {
|
|
|
+ log.info("[过磅称重]开始第一次过磅称重,入参参数:{}", JSON.toJSONString(waybillOrder));
|
|
|
if (param.getWeighAmount() == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "皮重不能为空!");
|
|
|
}
|
|
|
@@ -116,6 +123,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
|
|
|
//5.创建过磅记录
|
|
|
createWeighbridges(param, waybillOrder);
|
|
|
+ log.info("[过磅称重]第一次过磅称重结束!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -209,7 +217,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @return
|
|
|
*/
|
|
|
public void updateGatekeeperOrderStatus(KwtWaybillOrder waybillOrder) {
|
|
|
- log.info("推进门卫数据为已进场:{}", JSON.toJSONString(waybillOrder));
|
|
|
+ log.info("开始推进门卫数据为已进场:{}", JSON.toJSONString(waybillOrder));
|
|
|
KwtGatekeeperWaybillOrder gatekeeper = gatekeeperWaybillOrderRepository
|
|
|
.queryGatekeeperWaybillOrderByWOrderId(waybillOrder.getId(), GatekeeperTypeEnum.LOADING.getCode());
|
|
|
if (gatekeeper == null) {
|
|
|
@@ -222,6 +230,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
gatekeeper.setStatus(GatekeeperStatusEnum.IN_YARD.getCode());
|
|
|
gatekeeper.setIntoTime(new Date());
|
|
|
gatekeeperWaybillOrderRepository.updateById(gatekeeper);
|
|
|
+ log.info("推进门卫数据为已进场结算!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -260,12 +269,13 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param waybillOrder
|
|
|
*/
|
|
|
private void laterWeighbridge(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder, KwtWaybillOrderTicket orderTicket) {
|
|
|
+ log.info("[过磅称重]开始第二次过磅称重,入参参数:{}", JSON.toJSONString(waybillOrder));
|
|
|
if (param.getWeighAmount() == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "毛重不能为空!");
|
|
|
}
|
|
|
//1.填充装货单毛重和装货净重
|
|
|
BigDecimal loadAmount = updateGrossAmount(param, orderTicket);
|
|
|
- //2.填充运单装货净重
|
|
|
+ //2.填充子运单装货净重
|
|
|
updateLoadAmount(param, waybillOrder, loadAmount);
|
|
|
//3.判断流程
|
|
|
checkProcess(param, waybillOrder, loadAmount);
|
|
|
@@ -273,7 +283,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
createWeighbridges(param, waybillOrder);
|
|
|
//5.填补门卫地磅id
|
|
|
updateGatekeeperOrder(param, waybillOrder);
|
|
|
-
|
|
|
+ log.info("[过磅称重]第二次过磅称重结束!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -282,6 +292,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param shipmentTicket
|
|
|
*/
|
|
|
private BigDecimal updateGrossAmount(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrderTicket shipmentTicket) {
|
|
|
+ log.info("[二次过磅称重]填充装货单毛重和装货净重,入参参数:{}", JSON.toJSONString(param));
|
|
|
//毛重
|
|
|
shipmentTicket.setGrossAmount(param.getWeighAmount());
|
|
|
//皮重
|
|
|
@@ -300,12 +311,13 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param loadAmount
|
|
|
*/
|
|
|
private void updateLoadAmount(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder, BigDecimal loadAmount) {
|
|
|
+ log.info("[二次过磅称重]填充子运单装货净重,入参参数:{}", JSON.toJSONString(param));
|
|
|
//更新子运单装货净重
|
|
|
KwtWaybillOrderSubtask subtask = getWaybillSubtask(waybillOrder.getId());
|
|
|
subtask.setLoadAmount(loadAmount);
|
|
|
subtask.setLoadTime(new Date());
|
|
|
waybillOrderSubtaskRepository.updateById(subtask);
|
|
|
- log.info("物流运单离场过磅成功!运单ID: {}, 毛重: {}, 装货净重: {}", param.getWaybillOrderId(), param.getWeighAmount(), loadAmount);
|
|
|
+ log.info("[二次过磅称重]填充子运单装货净重结束,运单ID: {}, 毛重: {}, 装货净重: {}", param.getWaybillOrderId(), param.getWeighAmount(), loadAmount);
|
|
|
}
|
|
|
|
|
|
//
|
|
|
@@ -319,6 +331,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param loadAmount
|
|
|
*/
|
|
|
private void checkProcess(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder, BigDecimal loadAmount) {
|
|
|
+ log.info("[二次过磅称重]判断过磅称重流程,入参参数:{}", JSON.toJSONString(waybillOrder));
|
|
|
//获取运单任务量
|
|
|
KwtWaybillOrderSubtask waybillSubtask = getWaybillSubtask(waybillOrder.getId());
|
|
|
if (waybillSubtask.getEntrustAmount() == null) {
|
|
|
@@ -371,7 +384,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
// 场景四:正常流程,0.5<净重<=任务量
|
|
|
waybillOrder.setTargetStatus(2);
|
|
|
}
|
|
|
-
|
|
|
+ log.info("[二次过磅称重]判断过磅称重流程结束!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -392,6 +405,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param waybillOrder
|
|
|
*/
|
|
|
private void updateGatekeeperOrder(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
+ log.info("[二次过磅称重]填补门卫地磅id,入参参数:{}", JSON.toJSONString(waybillOrder));
|
|
|
KwtGatekeeperWaybillOrder gatekeeperWaybillOrder = gatekeeperWaybillOrderRepository
|
|
|
.queryGatekeeperWaybillOrderByWOrderId(waybillOrder.getId(), GatekeeperTypeEnum.LOADING.getCode());
|
|
|
if (gatekeeperWaybillOrder == null) {
|
|
|
@@ -403,6 +417,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
|
|
|
gatekeeperWaybillOrder.setWeighbridgeId(param.getWeighbridgeId());
|
|
|
gatekeeperWaybillOrderRepository.updateById(gatekeeperWaybillOrder);
|
|
|
+ log.info("[二次过磅称重]填补门卫地磅id结束!");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -414,7 +429,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
protected void getStatus(KwtWaybillOrder waybillOrder) {
|
|
|
Integer status;
|
|
|
// 校验是否第一次过磅
|
|
|
- if (checkIsFirst(waybillOrder)) {
|
|
|
+ if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
status = CarWaybillV1Enum.REFUSE_TRAFFIC.getCode();
|
|
|
updateOrderStatus(waybillOrder, status);
|
|
|
return;
|
|
|
@@ -533,7 +548,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
protected void calculateAutoDispatchScore(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
- if (checkIsFirst(waybillOrder)) {
|
|
|
+ if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
//校验连续按时到场次数
|
|
|
checkContinuousArriveTimes(waybillOrder);
|
|
|
}
|