|
|
@@ -66,6 +66,27 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
|
|
|
CarWaybillV1Enum.REVIEW_REJECTION.getCode()
|
|
|
);
|
|
|
|
|
|
+ // 定义禁止运单接单的状态集合
|
|
|
+ private static final List<Integer> RAW_ORE_FORBIDDEN_STATUSES = Arrays.asList(
|
|
|
+ CarWaybillV1Enum.PENDING_VEHICLE.getCode(),
|
|
|
+ CarWaybillV1Enum.REFUSE_TRAFFIC.getCode(),
|
|
|
+ CarWaybillV1Enum.EXIT_COMPLETED.getCode(),
|
|
|
+ CarWaybillV1Enum.EMPTY_WAIT_LEAVE.getCode(),
|
|
|
+ CarWaybillV1Enum.WAIT_LEAVE.getCode(),
|
|
|
+ CarWaybillV1Enum.UNLOADING.getCode(),
|
|
|
+ CarWaybillV1Enum.WAIT_RELEASE.getCode(),
|
|
|
+ CarWaybillV1Enum.REPLENISHING.getCode(),
|
|
|
+ CarWaybillV1Enum.REPLENISH_FINISH.getCode(),
|
|
|
+ CarWaybillV1Enum.RELEASED_NOT_EXITED.getCode(),
|
|
|
+ CarWaybillV1Enum.WAIT_LOADING.getCode(),
|
|
|
+
|
|
|
+ CarWaybillV1Enum.UNLOADING_POINT.getCode(),
|
|
|
+ CarWaybillV1Enum.UNLOADING_WAIT_LEAVE.getCode(),
|
|
|
+ CarWaybillV1Enum.UNLOADING_WAIT_RELEASE.getCode(),
|
|
|
+
|
|
|
+ CarWaybillV1Enum.REVIEW_REJECTION.getCode()
|
|
|
+ );
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
protected KwtWaybillOrder getWaybillOrder(OrderCirculateTakingQueryParam param) {
|
|
|
@@ -87,7 +108,7 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
|
|
|
// 5.校验车辆
|
|
|
RTruckVo truck = checkTruck(param);
|
|
|
// 6.校验车辆是否已有未完成运单
|
|
|
- checkTruckUnfinished(param);
|
|
|
+ checkTruckUnfinished(param, logOrder);
|
|
|
|
|
|
// 存储到线程上下文
|
|
|
BusinessContext.set("logOrder", logOrder);
|
|
|
@@ -280,8 +301,15 @@ public class TakingOrderHandler extends AbstractWaybillOrderHandler<OrderCircula
|
|
|
* 校验车辆是否已有未完成运单(不可继续接单状态:已接单、已入场、已装货、已离场、审核驳回)
|
|
|
* @param param
|
|
|
*/
|
|
|
- private void checkTruckUnfinished(OrderCirculateTakingQueryParam param) {
|
|
|
- List<KwtWaybillOrder> wbOrderByTruckNo = waybillOrderRepository.findWbOrderByTruckNoAndStatus(param.getTruckNo(), FORBIDDEN_STATUSES);
|
|
|
+ private void checkTruckUnfinished(OrderCirculateTakingQueryParam param, KwtLogisticsOrder logOrder) {
|
|
|
+ // 原矿运输
|
|
|
+ List<KwtWaybillOrder> wbOrderByTruckNo;
|
|
|
+ if (Objects.equals(1, logOrder.getOrderType())) {
|
|
|
+ wbOrderByTruckNo = waybillOrderRepository.findWbOrderByTruckNoAndStatus(param.getTruckNo(), RAW_ORE_FORBIDDEN_STATUSES);
|
|
|
+ } else {
|
|
|
+ // 正常流程
|
|
|
+ wbOrderByTruckNo = waybillOrderRepository.findWbOrderByTruckNoAndStatus(param.getTruckNo(), FORBIDDEN_STATUSES);
|
|
|
+ }
|
|
|
if (CollectionUtils.isNotEmpty(wbOrderByTruckNo)) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_NOT_UNFINISHED, "当前车辆有未完成的状态,不可继续接单");
|
|
|
}
|