|
@@ -297,20 +297,37 @@ public class GatekeeperOrderService {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
Map<Long, KwtLogisticsOrder> logisticsOrderMap = logisticsOrder.stream().collect(Collectors.toMap(KwtLogisticsOrder::getId, Function.identity(), (x, y) -> x));
|
|
Map<Long, KwtLogisticsOrder> logisticsOrderMap = logisticsOrder.stream().collect(Collectors.toMap(KwtLogisticsOrder::getId, Function.identity(), (x, y) -> x));
|
|
|
- Set<Long> tOrderIds = logisticsOrder.stream().map(KwtLogisticsOrder::getTOrderId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
- //查询贸易订单企业信息
|
|
|
|
|
- List<OrderUnitInfoDetailVO> orderUnitInfoDetailVOS = tradeOrderInfoService.queryOrderUnitInfByTOrderId(tOrderIds);
|
|
|
|
|
- if (CollectionUtils.isEmpty(orderUnitInfoDetailVOS)) {
|
|
|
|
|
- log.info("【门卫】无订单企业信息,物流订单id:{}", JSON.toJSONString(lOrderIds));
|
|
|
|
|
- return Collections.emptyList();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 按照order_type区分“正常订单”和“原矿运输订单”
|
|
|
|
|
+ Map<Boolean, List<KwtLogisticsOrder>> partitionedMap = logisticsOrder.stream()
|
|
|
|
|
+ .collect(Collectors.partitioningBy(order -> Integer.valueOf(1).equals(order.getOrderType())));
|
|
|
|
|
+
|
|
|
|
|
+ // 获取order_type=null的订单集合
|
|
|
|
|
+ List<KwtLogisticsOrder> typeNullList = partitionedMap.get(false);
|
|
|
|
|
+ log.info("正常流程的订单信息: {},数量:{}", JSON.toJSONString(typeNullList), typeNullList.size());
|
|
|
|
|
+
|
|
|
|
|
+ // 获取order_type=1的订单集合
|
|
|
|
|
+ List<KwtLogisticsOrder> typeOneList = partitionedMap.get(true);
|
|
|
|
|
+ log.info("原矿运输的订单信息: {},数量:{}", JSON.toJSONString(typeOneList), typeOneList.size());
|
|
|
|
|
+
|
|
|
|
|
+ List<GatekeeperOrderResp> gatekeeperOrderRespList = new ArrayList<>();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(typeNullList)) {
|
|
|
|
|
+ //组装铲车订单数据
|
|
|
|
|
+ List<GatekeeperOrderResp> gatekeeperOrderResp = records.stream()
|
|
|
|
|
+ .map(gatekeeperWaybillOrder -> buildGatekeeperOrderResp(gatekeeperWaybillOrder,
|
|
|
|
|
+ waybillOrderMap, waybillOrderTicketMap, logisticsOrderMap, typeNullList, Boolean.FALSE)).toList();
|
|
|
|
|
+ gatekeeperOrderRespList.addAll(gatekeeperOrderResp);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(typeOneList)) {
|
|
|
|
|
+ //组装铲车订单数据
|
|
|
|
|
+ List<GatekeeperOrderResp> rawOreGatekeeperOrderResp = records.stream()
|
|
|
|
|
+ .map(gatekeeperWaybillOrder -> buildGatekeeperOrderResp(gatekeeperWaybillOrder,
|
|
|
|
|
+ waybillOrderMap, waybillOrderTicketMap, logisticsOrderMap, typeOneList, Boolean.TRUE)).toList();
|
|
|
|
|
+ gatekeeperOrderRespList.addAll(rawOreGatekeeperOrderResp);
|
|
|
}
|
|
}
|
|
|
- Map<String, OrderUnitInfoDetailVO> tradeOrderAndUnit = orderUnitInfoDetailVOS.stream().collect(Collectors.toMap(unit -> unit.getTOrderId() + "-" + unit.getUnitType(), Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
+ return gatekeeperOrderRespList;
|
|
|
|
|
|
|
|
- //组装铲车订单数据
|
|
|
|
|
- return records.stream()
|
|
|
|
|
- .map(gatekeeperWaybillOrder -> buildGatekeeperOrderResp(gatekeeperWaybillOrder, waybillOrderMap, waybillOrderTicketMap, logisticsOrderMap, tradeOrderAndUnit))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -321,10 +338,11 @@ public class GatekeeperOrderService {
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
private GatekeeperOrderResp buildGatekeeperOrderResp(KwtGatekeeperWaybillOrder gatekeeperWaybillOrder,
|
|
private GatekeeperOrderResp buildGatekeeperOrderResp(KwtGatekeeperWaybillOrder gatekeeperWaybillOrder,
|
|
|
- Map<Long, KwtWaybillOrder> waybillOrderMap,
|
|
|
|
|
- Map<String, KwtWaybillOrderTicket> waybillOrderTicketMap,
|
|
|
|
|
- Map<Long, KwtLogisticsOrder> logisticsOrderMap,
|
|
|
|
|
- Map<String, OrderUnitInfoDetailVO> tradeOrderAndUnit) {
|
|
|
|
|
|
|
+ Map<Long, KwtWaybillOrder> waybillOrderMap,
|
|
|
|
|
+ Map<String, KwtWaybillOrderTicket> waybillOrderTicketMap,
|
|
|
|
|
+ Map<Long, KwtLogisticsOrder> logisticsOrderMap,
|
|
|
|
|
+ List<KwtLogisticsOrder> logisticsOrder,
|
|
|
|
|
+ Boolean isRawOre) {
|
|
|
|
|
|
|
|
GatekeeperOrderResp gatekeeper = new GatekeeperOrderResp();
|
|
GatekeeperOrderResp gatekeeper = new GatekeeperOrderResp();
|
|
|
gatekeeper.setId(gatekeeperWaybillOrder.getId());
|
|
gatekeeper.setId(gatekeeperWaybillOrder.getId());
|
|
@@ -358,18 +376,25 @@ public class GatekeeperOrderService {
|
|
|
gatekeeper.setPhone(waybillOrder.getDriverPhone());
|
|
gatekeeper.setPhone(waybillOrder.getDriverPhone());
|
|
|
gatekeeper.setIdCard(waybillOrder.getDriverIdcard());
|
|
gatekeeper.setIdCard(waybillOrder.getDriverIdcard());
|
|
|
|
|
|
|
|
- //采购企业信息
|
|
|
|
|
- KwtLogisticsOrder logisticsOrder = logisticsOrderMap.getOrDefault(waybillOrder.getLOrderId(), new KwtLogisticsOrder());
|
|
|
|
|
- OrderUnitInfoDetailVO orderUnit = tradeOrderAndUnit.getOrDefault(logisticsOrder.getTOrderId() + "-" + 1, new OrderUnitInfoDetailVO());
|
|
|
|
|
- gatekeeper.setPrEntId(orderUnit.getEntId());
|
|
|
|
|
- gatekeeper.setPrEntName(orderUnit.getFirmName());
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
//装卸货信息
|
|
//装卸货信息
|
|
|
KwtWaybillOrderTicket ticket = waybillOrderTicketMap.getOrDefault(gatekeeperWaybillOrder.getWOrderId() + "-" + 1, new KwtWaybillOrderTicket());
|
|
KwtWaybillOrderTicket ticket = waybillOrderTicketMap.getOrDefault(gatekeeperWaybillOrder.getWOrderId() + "-" + 1, new KwtWaybillOrderTicket());
|
|
|
gatekeeper.setTareAmount(ticket.getTareAmount());
|
|
gatekeeper.setTareAmount(ticket.getTareAmount());
|
|
|
gatekeeper.setGrossAmount(ticket.getGrossAmount());
|
|
gatekeeper.setGrossAmount(ticket.getGrossAmount());
|
|
|
|
|
|
|
|
|
|
+ if (!isRawOre){
|
|
|
|
|
+ //查询贸易订单企业信息
|
|
|
|
|
+ Set<Long> tOrderIds = logisticsOrder.stream().map(KwtLogisticsOrder::getTOrderId).collect(Collectors.toSet());
|
|
|
|
|
+ List<OrderUnitInfoDetailVO> orderUnitInfoDetailVOS = tradeOrderInfoService.queryOrderUnitInfByTOrderId(tOrderIds);
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(orderUnitInfoDetailVOS)) {
|
|
|
|
|
+ Map<String, OrderUnitInfoDetailVO> tradeOrderAndUnit = orderUnitInfoDetailVOS.stream().collect(Collectors.toMap(unit -> unit.getTOrderId() + "-" + unit.getUnitType(), Function.identity(), (x, y) -> x));
|
|
|
|
|
+ //采购企业信息
|
|
|
|
|
+ KwtLogisticsOrder logOrder = logisticsOrderMap.getOrDefault(waybillOrder.getLOrderId(), new KwtLogisticsOrder());
|
|
|
|
|
+ OrderUnitInfoDetailVO orderUnit = tradeOrderAndUnit.getOrDefault(logOrder.getTOrderId() + "-" + 1, new OrderUnitInfoDetailVO());
|
|
|
|
|
+ gatekeeper.setPrEntId(orderUnit.getEntId());
|
|
|
|
|
+ gatekeeper.setPrEntName(orderUnit.getFirmName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return gatekeeper;
|
|
return gatekeeper;
|
|
|
}
|
|
}
|
|
|
|
|
|