|
@@ -1245,16 +1245,28 @@ public class GatekeeperOrderService {
|
|
|
}
|
|
}
|
|
|
// 获取最新的一条数据
|
|
// 获取最新的一条数据
|
|
|
KwtWaybillOrder waybillOrder = wbOrderByTruckNo.get(0);
|
|
KwtWaybillOrder waybillOrder = wbOrderByTruckNo.get(0);
|
|
|
|
|
+ List<KwtWaybillOrderWeighbridge> weighbridges = checkIsFirst(waybillOrder);
|
|
|
// 山上:需要区分是进场抬杆还是出场抬杆
|
|
// 山上:需要区分是进场抬杆还是出场抬杆
|
|
|
- if (checkIsFirst(waybillOrder)) {
|
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(weighbridges)) {
|
|
|
// 第一次过磅
|
|
// 第一次过磅
|
|
|
Boolean result = Objects.equals(waybillOrder.getStatus(), CarWaybillV1Enum.PENDING_VEHICLE.getCode()) ? Boolean.TRUE : Boolean.FALSE;
|
|
Boolean result = Objects.equals(waybillOrder.getStatus(), CarWaybillV1Enum.PENDING_VEHICLE.getCode()) ? Boolean.TRUE : Boolean.FALSE;
|
|
|
log.info("第一次过磅校验出场是否可放行完成,抬杆结果:{}, 运单:{}", JSON.toJSONString(result), JSON.toJSONString(waybillOrder));
|
|
log.info("第一次过磅校验出场是否可放行完成,抬杆结果:{}, 运单:{}", JSON.toJSONString(result), JSON.toJSONString(waybillOrder));
|
|
|
return result;
|
|
return result;
|
|
|
|
|
+ } else if (weighbridges.size() == 1){
|
|
|
|
|
+ // 第二、三次过磅
|
|
|
|
|
+ List<KwtGatekeeperWaybillOrder> gatekeeperWaybillOrders = getGatekeeperWaybillOrders(waybillOrder);
|
|
|
|
|
+ if (CollectionUtils.isEmpty(gatekeeperWaybillOrders)) {
|
|
|
|
|
+ return Boolean.FALSE;
|
|
|
|
|
+ }
|
|
|
|
|
+ KwtGatekeeperWaybillOrder gatekeeperWaybillOrder = gatekeeperWaybillOrders.get(0);
|
|
|
|
|
+
|
|
|
|
|
+ // 定义运单可以可放行的状态集合
|
|
|
|
|
+ Boolean result = Objects.equals(gatekeeperWaybillOrder.getStatus(), GatekeeperStatusEnum.IN_YARD.getCode()) ? Boolean.TRUE : Boolean.FALSE;
|
|
|
|
|
+ log.info("后续过磅,校验出场是否可放行完成,抬杆结果:{}, 运单:{}", JSON.toJSONString(result), JSON.toJSONString(waybillOrder));
|
|
|
|
|
+ return result;
|
|
|
} else {
|
|
} else {
|
|
|
- // 第二次过磅
|
|
|
|
|
- List<KwtGatekeeperWaybillOrder> gatekeeperWaybillOrders = gatekeeperWaybillOrderRepository
|
|
|
|
|
- .queryGatekeeperWaybillOrderByWOrderIds(Lists.newArrayList(waybillOrder.getId()));
|
|
|
|
|
|
|
+ // 第四次过磅
|
|
|
|
|
+ List<KwtGatekeeperWaybillOrder> gatekeeperWaybillOrders = getGatekeeperWaybillOrders(waybillOrder);
|
|
|
if (CollectionUtils.isEmpty(gatekeeperWaybillOrders)) {
|
|
if (CollectionUtils.isEmpty(gatekeeperWaybillOrders)) {
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
@@ -1262,26 +1274,34 @@ public class GatekeeperOrderService {
|
|
|
|
|
|
|
|
// 定义运单可以可放行的状态集合
|
|
// 定义运单可以可放行的状态集合
|
|
|
List<Integer> PASS_STATUSES = Arrays.asList(
|
|
List<Integer> PASS_STATUSES = Arrays.asList(
|
|
|
- GatekeeperStatusEnum.IN_YARD.getCode(),
|
|
|
|
|
GatekeeperStatusEnum.EXITED.getCode(),
|
|
GatekeeperStatusEnum.EXITED.getCode(),
|
|
|
GatekeeperStatusEnum.EMPTY_EXITED.getCode()
|
|
GatekeeperStatusEnum.EMPTY_EXITED.getCode()
|
|
|
);
|
|
);
|
|
|
Boolean result = PASS_STATUSES.contains(gatekeeperWaybillOrder.getStatus()) ? Boolean.TRUE : Boolean.FALSE;
|
|
Boolean result = PASS_STATUSES.contains(gatekeeperWaybillOrder.getStatus()) ? Boolean.TRUE : Boolean.FALSE;
|
|
|
- log.info("后续过磅,校验出场是否可放行完成,抬杆结果:{}, 运单:{}", JSON.toJSONString(result), JSON.toJSONString(waybillOrder));
|
|
|
|
|
|
|
+ log.info("最后过磅,校验出场是否可放行完成,抬杆结果:{}, 运单:{}", JSON.toJSONString(result), JSON.toJSONString(waybillOrder));
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 查询门卫
|
|
|
|
|
+ * @param waybillOrder
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ private List<KwtGatekeeperWaybillOrder> getGatekeeperWaybillOrders(KwtWaybillOrder waybillOrder) {
|
|
|
|
|
+ return gatekeeperWaybillOrderRepository
|
|
|
|
|
+ .queryGatekeeperWaybillOrderByWOrderIds(Lists.newArrayList(waybillOrder.getId()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 校验是否第一次过磅
|
|
* 校验是否第一次过磅
|
|
|
* @param waybillOrder
|
|
* @param waybillOrder
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- private Boolean checkIsFirst(KwtWaybillOrder waybillOrder) {
|
|
|
|
|
- List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
|
|
|
|
|
|
|
+ private List<KwtWaybillOrderWeighbridge> checkIsFirst(KwtWaybillOrder waybillOrder) {
|
|
|
|
|
+ return waybillOrderWeighbridgeRepository
|
|
|
.queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
|
|
.queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
|
|
|
- return CollectionUtils.isEmpty(weighbridges);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|