|
|
@@ -60,9 +60,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
if (orderTicket == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_TICKET_NOT_FOUND, "当前物流运单装卸货信息不存在,无法记录皮重!");
|
|
|
}
|
|
|
- // 校验是否是第一次过磅
|
|
|
- checkIsFirst(waybillOrder);
|
|
|
- if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
+ if (checkIsFirst(waybillOrder)) {
|
|
|
//第一次过磅
|
|
|
firstWeighbridge(param, waybillOrder, orderTicket);
|
|
|
} else {
|
|
|
@@ -77,14 +75,10 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
* @param waybillOrder
|
|
|
* @return
|
|
|
*/
|
|
|
- private void checkIsFirst(KwtWaybillOrder waybillOrder) {
|
|
|
+ private Boolean checkIsFirst(KwtWaybillOrder waybillOrder) {
|
|
|
List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
|
|
|
.queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
|
|
|
- if (CollectionUtils.isEmpty(weighbridges)) {
|
|
|
- waybillOrder.setIsExistWeighbridges(Boolean.TRUE);
|
|
|
- } else {
|
|
|
- waybillOrder.setIsExistWeighbridges(Boolean.FALSE);
|
|
|
- }
|
|
|
+ return CollectionUtils.isEmpty(weighbridges);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -177,7 +171,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
forkliftWaybillOrderRepository.save(forklift);
|
|
|
log.debug("铲车司机数据保存成功");
|
|
|
} catch (Exception e) {
|
|
|
- log.info("[创建装货铲车]保存铲车司机数据异常!", e);
|
|
|
+ log.error("[创建装货铲车]保存铲车司机数据异常!", e);
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.DATA_SAVE_FAIL, "保存铲车司机数据失败!");
|
|
|
}
|
|
|
}
|
|
|
@@ -195,17 +189,12 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
if (kwtLogisticsOrderUnit == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.LOGISTICS_ORDER_NOT_FOUND, "[接单]物流企业信息数据不存在");
|
|
|
}
|
|
|
- // 原矿运输山上、上下门卫企业id
|
|
|
- List<Long> mockEntIds = Arrays.asList(538039617157337089L, 538040297439891457L);
|
|
|
- if (Objects.equals(1, logOrder.getOrderType()) && mockEntIds.contains(kwtLogisticsOrderUnit.getEntId())) {
|
|
|
- entId = mockEntIds.get(0);
|
|
|
- } else {
|
|
|
- List<OrderUnitInfoDetailVO> unitInfoDetailVOS = tradeOrderInfoService.queryOrderUnitByTradeOrderId(logOrder.getTOrderId());
|
|
|
- OrderUnitInfoDetailVO unitInfoDetailVO = unitInfoDetailVOS.stream()
|
|
|
- .filter(unit -> Objects.equals(unit.getUnitType(), "2"))
|
|
|
- .findFirst().orElse(new OrderUnitInfoDetailVO());
|
|
|
- entId = unitInfoDetailVO.getEntId();
|
|
|
- }
|
|
|
+
|
|
|
+ List<OrderUnitInfoDetailVO> unitInfoDetailVOS = tradeOrderInfoService.queryOrderUnitByTradeOrderId(logOrder.getTOrderId());
|
|
|
+ OrderUnitInfoDetailVO unitInfoDetailVO = unitInfoDetailVOS.stream()
|
|
|
+ .filter(unit -> Objects.equals(unit.getUnitType(), "2"))
|
|
|
+ .findFirst().orElse(new OrderUnitInfoDetailVO());
|
|
|
+ entId = unitInfoDetailVO.getEntId();
|
|
|
log.info("[创建装货铲车]查询企业id完成,入参参数:{}", JSON.toJSONString(entId));
|
|
|
return entId;
|
|
|
}
|
|
|
@@ -255,7 +244,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
waybillOrderWeighbridgeRepository.save(weighbridge);
|
|
|
log.debug("异步保存过磅数据保存成功");
|
|
|
} catch (Exception e) {
|
|
|
- log.info("保存过磅数据异常!", e);
|
|
|
+ log.error("保存过磅数据异常!", e);
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.DATA_SAVE_FAIL, "保存过磅数据失败!");
|
|
|
}
|
|
|
}
|
|
|
@@ -427,7 +416,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
protected void getStatus(KwtWaybillOrder waybillOrder) {
|
|
|
Integer status;
|
|
|
// 校验是否第一次过磅
|
|
|
- if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
+ if (checkIsFirst(waybillOrder)) {
|
|
|
status = CarWaybillV1Enum.REFUSE_TRAFFIC.getCode();
|
|
|
updateOrderStatus(waybillOrder, status);
|
|
|
return;
|
|
|
@@ -477,12 +466,12 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
*/
|
|
|
@Override
|
|
|
protected void createNodeTrace(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
- if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
+ List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
|
|
|
+ .queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
|
|
|
+ if (CollectionUtils.isEmpty(weighbridges)) {
|
|
|
// 首次过磅
|
|
|
createArrivedAndFirstWeighNodes(param, waybillOrder);
|
|
|
} else {
|
|
|
- List<KwtWaybillOrderWeighbridge> weighbridges = waybillOrderWeighbridgeRepository
|
|
|
- .queryWaybillOrderWeighbridgeByWOrderId(waybillOrder.getId(), WeighbridgeTypeEnum.LOADING.getCode());
|
|
|
// 后续过磅
|
|
|
createMultipleWeighNode(param, waybillOrder, weighbridges);
|
|
|
}
|
|
|
@@ -520,7 +509,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
private void createMultipleWeighNode(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder, List<KwtWaybillOrderWeighbridge> weighbridges) {
|
|
|
KwtWaybillOrderNode node = getWaybillOrderNode(param, waybillOrder);
|
|
|
//过磅次数
|
|
|
- int size = weighbridges.size();
|
|
|
+ int size = weighbridges.size() + 1;
|
|
|
String grossAmount = getWeighAmount(param);
|
|
|
node.setRemark("第" + size + "次称重,[" + param.getWeighbridgeName() + "]称重[" + grossAmount + "吨]");
|
|
|
waybillOrderNodeRepository.save(node);
|
|
|
@@ -546,7 +535,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
protected void calculateAutoDispatchScore(WaybillOrderCmeIntoWeighParam param, KwtWaybillOrder waybillOrder) {
|
|
|
- if (waybillOrder.getIsExistWeighbridges()) {
|
|
|
+ if (checkIsFirst(waybillOrder)) {
|
|
|
//校验连续按时到场次数
|
|
|
checkContinuousArriveTimes(waybillOrder);
|
|
|
}
|