|
|
@@ -297,7 +297,12 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
BigDecimal truckStandardLoad = getTruckStandardLoad(param.getTruckNo());
|
|
|
|
|
|
// 校验铲车司机
|
|
|
- KwtForkliftWaybillOrder forklift = forkliftWaybillOrderRepository.queryForkliftWaybillOrderByWOrderId(waybillOrder.getId());
|
|
|
+ List<KwtForkliftWaybillOrder> forkliftList = forkliftWaybillOrderRepository.queryForkliftWaybillOrdersByWOrderId(waybillOrder.getId());
|
|
|
+ if (CollectionUtils.isEmpty(forkliftList)) {
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.SYSTEM_ERROR, "[称重过磅]未查询到铲车订单!");
|
|
|
+ }
|
|
|
+ //最新的一条铲车运单
|
|
|
+ KwtForkliftWaybillOrder forklift = forkliftList.get(0);
|
|
|
|
|
|
//1. 铲车司机已接单,运单什么都不展示
|
|
|
if (Objects.equals(forklift.getStatus(), ForkliftStatusEnum.ORDER_TAKING.getCode())) {
|
|
|
@@ -306,7 +311,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
}
|
|
|
|
|
|
//2. 铲车司机待接单,只分为“空载离场”和“其它情况”(什么不展示)
|
|
|
- if (Objects.equals(forklift.getStatus(), ForkliftStatusEnum.PENDING_ORDERS.getCode())) {
|
|
|
+ if (Objects.equals(forklift.getStatus(), ForkliftStatusEnum.PENDING_ORDERS.getCode()) && forkliftList.size() == 1) {
|
|
|
//场景一. 空载离场,-0.5<=净重<=0.5
|
|
|
if (loadAmount.compareTo(BigDecimal.valueOf(-0.5)) >= 0 && loadAmount.compareTo(BigDecimal.valueOf(0.5)) <= 0) {
|
|
|
waybillOrder.setTargetStatus(1);
|
|
|
@@ -318,7 +323,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
}
|
|
|
|
|
|
//3.铲车司机完成装载,是什么流程就是什么流程,按照最新一次过磅为准
|
|
|
- if (Objects.equals(forklift.getStatus(), ForkliftStatusEnum.COMPLETED.getCode())) {
|
|
|
+ if (Objects.equals(forklift.getStatus(), ForkliftStatusEnum.COMPLETED.getCode()) || Objects.equals(waybillOrder.getStatus(), CarWaybillV1Enum.REPLENISHING.getCode())) {
|
|
|
//场景一:净重<-0.5,什么不展示
|
|
|
if (loadAmount.compareTo(BigDecimal.valueOf(-0.5)) < 0) {
|
|
|
return;
|