|
@@ -281,7 +281,8 @@ public class GatekeeperOrderService {
|
|
|
*/
|
|
*/
|
|
|
private List<GatekeeperOrderResp> getGatekeeperOrderPageResult(List<KwtGatekeeperWaybillOrder> records) {
|
|
private List<GatekeeperOrderResp> getGatekeeperOrderPageResult(List<KwtGatekeeperWaybillOrder> records) {
|
|
|
log.info("开始门卫订单查询,param:{}", JSON.toJSONString(records));
|
|
log.info("开始门卫订单查询,param:{}", JSON.toJSONString(records));
|
|
|
- Set<Long> wOrderIds = records.stream().map(KwtGatekeeperWaybillOrder::getWOrderId).filter(Objects::nonNull).collect(Collectors.toSet());
|
|
|
|
|
|
|
+ Set<Long> wOrderIds = records.stream().map(KwtGatekeeperWaybillOrder::getWOrderId)
|
|
|
|
|
+ .filter(Objects::nonNull).collect(Collectors.toSet());
|
|
|
//查询运单
|
|
//查询运单
|
|
|
List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.queryByBillOrderIds(wOrderIds);
|
|
List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.queryByBillOrderIds(wOrderIds);
|
|
|
if (CollectionUtils.isEmpty(waybillOrders)) {
|
|
if (CollectionUtils.isEmpty(waybillOrders)) {
|
|
@@ -290,7 +291,9 @@ public class GatekeeperOrderService {
|
|
|
}
|
|
}
|
|
|
Map<Long, KwtWaybillOrder> waybillOrderMap = waybillOrders.stream()
|
|
Map<Long, KwtWaybillOrder> waybillOrderMap = waybillOrders.stream()
|
|
|
.collect(Collectors.toMap(KwtWaybillOrder::getId, Function.identity(), (x, y) -> x));
|
|
.collect(Collectors.toMap(KwtWaybillOrder::getId, Function.identity(), (x, y) -> x));
|
|
|
- Set<Long> lOrderIds = waybillOrders.stream().map(KwtWaybillOrder::getLOrderId).collect(Collectors.toSet());
|
|
|
|
|
|
|
+
|
|
|
|
|
+ Set<Long> lOrderIds = waybillOrders.stream().map(KwtWaybillOrder::getLOrderId)
|
|
|
|
|
+ .filter(Objects::nonNull).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
//查询运单装卸货
|
|
//查询运单装卸货
|
|
|
List<KwtWaybillOrderTicket> waybillOrderTickets = waybillOrderTicketRepository.queryByWOrderIds(new ArrayList<>(wOrderIds));
|
|
List<KwtWaybillOrderTicket> waybillOrderTickets = waybillOrderTicketRepository.queryByWOrderIds(new ArrayList<>(wOrderIds));
|
|
@@ -307,37 +310,52 @@ public class GatekeeperOrderService {
|
|
|
log.info("【门卫】无物流订单信息,物流订单id:{}", JSON.toJSONString(lOrderIds));
|
|
log.info("【门卫】无物流订单信息,物流订单id:{}", JSON.toJSONString(lOrderIds));
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
- Map<Long, KwtLogisticsOrder> logisticsOrderMap = logisticsOrder.stream().collect(Collectors.toMap(KwtLogisticsOrder::getId, Function.identity(), (x, y) -> x));
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-// // 按照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);
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
- //组装铲车订单数据
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 按照order_type区分“正常订单”和“原矿运输订单”
|
|
|
|
|
+ Map<Boolean, List<KwtLogisticsOrder>> partitionedMap = logisticsOrder.stream()
|
|
|
|
|
+ .collect(Collectors.partitioningBy(order -> Integer.valueOf(1).equals(order.getOrderType())));
|
|
|
|
|
+
|
|
|
|
|
+ List<KwtLogisticsOrder> typeNullList = partitionedMap.get(false);
|
|
|
|
|
+ List<KwtLogisticsOrder> typeOneList = partitionedMap.get(true);
|
|
|
|
|
+ log.info("正常流程订单信息: {},数量:{}, 原矿运输订单信息: {},数量:{}", JSON.toJSONString(typeNullList), typeNullList.size(),
|
|
|
|
|
+ JSON.toJSONString(typeOneList), typeOneList.size());
|
|
|
|
|
+
|
|
|
|
|
+ List<GatekeeperOrderResp> resultList = new ArrayList<>();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(typeNullList)) {
|
|
|
|
|
+ Set<Long> tOrderIds = typeNullList.stream().map(KwtLogisticsOrder::getTOrderId).collect(Collectors.toSet());
|
|
|
|
|
+ List<OrderUnitInfoDetailVO> orderUnitVOS = tradeOrderInfoService.queryOrderUnitInfByTOrderId(tOrderIds);
|
|
|
|
|
+ if (CollectionUtils.isEmpty(orderUnitVOS)) {
|
|
|
|
|
+ log.info("【门卫】无贸易订单企业信息,贸易订单id:{}", JSON.toJSONString(tOrderIds));
|
|
|
|
|
+ return Collections.emptyList();
|
|
|
|
|
+ }
|
|
|
|
|
+ //查询贸易订单企业信息
|
|
|
|
|
+ Map<String, OrderUnitInfoDetailVO> tradeOrderAndUnit = orderUnitVOS.stream().collect(Collectors
|
|
|
|
|
+ .toMap(unit -> unit.getTOrderId() + "-" + unit.getUnitType(),
|
|
|
|
|
+ Function.identity(), (x, y) -> x));
|
|
|
|
|
+
|
|
|
|
|
+ //组装正常流程门卫订单数据
|
|
|
|
|
+ Set<Long> lOrderId = typeNullList.stream().map(KwtLogisticsOrder::getId).collect(Collectors.toSet());
|
|
|
|
|
+ List<GatekeeperOrderResp> gatekeeperOrderResp = records.stream()
|
|
|
|
|
+ .filter(x -> lOrderId.contains(x.getLOrderId()))
|
|
|
|
|
+ .map(gatekeeperWaybillOrder -> buildGatekeeperOrderResp(gatekeeperWaybillOrder,
|
|
|
|
|
+ waybillOrderMap, waybillOrderTicketMap, typeNullList, tradeOrderAndUnit, Boolean.FALSE))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ resultList.addAll(gatekeeperOrderResp);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(typeOneList)) {
|
|
|
|
|
+ //组装原矿运输门卫订单数据
|
|
|
|
|
+ Set<Long> lOrderId = typeOneList.stream().map(KwtLogisticsOrder::getId).collect(Collectors.toSet());
|
|
|
List<GatekeeperOrderResp> rawOreGatekeeperOrderResp = records.stream()
|
|
List<GatekeeperOrderResp> rawOreGatekeeperOrderResp = records.stream()
|
|
|
|
|
+ .filter(x -> lOrderId.contains(x.getLOrderId()))
|
|
|
.map(gatekeeperWaybillOrder -> buildGatekeeperOrderResp(gatekeeperWaybillOrder,
|
|
.map(gatekeeperWaybillOrder -> buildGatekeeperOrderResp(gatekeeperWaybillOrder,
|
|
|
- waybillOrderMap, waybillOrderTicketMap, logisticsOrderMap, logisticsOrder))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
- log.info("门卫订单查询结束,result:{}", JSON.toJSONString(rawOreGatekeeperOrderResp));
|
|
|
|
|
- return rawOreGatekeeperOrderResp;
|
|
|
|
|
|
|
+ waybillOrderMap, waybillOrderTicketMap, typeOneList, Collections.emptyMap(), Boolean.TRUE))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ resultList.addAll(rawOreGatekeeperOrderResp);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ log.info("门卫订单查询结束,result:{}", JSON.toJSONString(resultList));
|
|
|
|
|
+ return resultList;
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -351,8 +369,10 @@ public class GatekeeperOrderService {
|
|
|
private GatekeeperOrderResp buildGatekeeperOrderResp(KwtGatekeeperWaybillOrder gatekeeperWaybillOrder,
|
|
private GatekeeperOrderResp buildGatekeeperOrderResp(KwtGatekeeperWaybillOrder gatekeeperWaybillOrder,
|
|
|
Map<Long, KwtWaybillOrder> waybillOrderMap,
|
|
Map<Long, KwtWaybillOrder> waybillOrderMap,
|
|
|
Map<String, KwtWaybillOrderTicket> waybillOrderTicketMap,
|
|
Map<String, KwtWaybillOrderTicket> waybillOrderTicketMap,
|
|
|
- Map<Long, KwtLogisticsOrder> logisticsOrderMap,
|
|
|
|
|
- List<KwtLogisticsOrder> logisticsOrder) {
|
|
|
|
|
|
|
+ List<KwtLogisticsOrder> logisticsOrder,
|
|
|
|
|
+ Map<String, OrderUnitInfoDetailVO> tradeOrderAndUnit,
|
|
|
|
|
+ boolean isRawOre) {
|
|
|
|
|
+ log.info("开始{}门卫订单查询,param:{}", isRawOre ? "原矿运输" : "正常流程", JSON.toJSONString(gatekeeperWaybillOrder));
|
|
|
GatekeeperOrderResp gatekeeper = new GatekeeperOrderResp();
|
|
GatekeeperOrderResp gatekeeper = new GatekeeperOrderResp();
|
|
|
gatekeeper.setId(gatekeeperWaybillOrder.getId());
|
|
gatekeeper.setId(gatekeeperWaybillOrder.getId());
|
|
|
gatekeeper.setEntId(gatekeeperWaybillOrder.getEntId());
|
|
gatekeeper.setEntId(gatekeeperWaybillOrder.getEntId());
|
|
@@ -390,21 +410,21 @@ public class GatekeeperOrderService {
|
|
|
gatekeeper.setTareAmount(ticket.getTareAmount());
|
|
gatekeeper.setTareAmount(ticket.getTareAmount());
|
|
|
gatekeeper.setGrossAmount(ticket.getGrossAmount());
|
|
gatekeeper.setGrossAmount(ticket.getGrossAmount());
|
|
|
|
|
|
|
|
- KwtLogisticsOrder logOrder = logisticsOrderMap.getOrDefault(waybillOrder.getLOrderId(), new KwtLogisticsOrder());
|
|
|
|
|
- if (!Objects.equals(1, logOrder.getOrderType())) {
|
|
|
|
|
- //查询贸易订单企业信息
|
|
|
|
|
- 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));
|
|
|
|
|
- //采购企业信息
|
|
|
|
|
- OrderUnitInfoDetailVO orderUnit = tradeOrderAndUnit.getOrDefault(logOrder.getTOrderId() + "-" + 1, new OrderUnitInfoDetailVO());
|
|
|
|
|
- gatekeeper.setPrEntId(orderUnit.getEntId());
|
|
|
|
|
- gatekeeper.setPrEntName(orderUnit.getFirmName());
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //获取当前物流订单
|
|
|
|
|
+ KwtLogisticsOrder logOrder = logisticsOrder.stream()
|
|
|
|
|
+ .filter(log -> Objects.equals(log.getId(), gatekeeperWaybillOrder.getLOrderId()))
|
|
|
|
|
+ .findFirst().orElse(new KwtLogisticsOrder());
|
|
|
|
|
+ // 正常流程
|
|
|
|
|
+ if (!isRawOre) {
|
|
|
|
|
+ //采购企业信息
|
|
|
|
|
+ OrderUnitInfoDetailVO orderUnit = tradeOrderAndUnit.getOrDefault(logOrder.getTOrderId() + "-" + 1, new OrderUnitInfoDetailVO());
|
|
|
|
|
+ gatekeeper.setPrEntId(orderUnit.getEntId());
|
|
|
|
|
+ gatekeeper.setPrEntName(orderUnit.getFirmName());
|
|
|
}
|
|
}
|
|
|
|
|
+ gatekeeper.setOrderType(logOrder.getOrderType());
|
|
|
|
|
+ gatekeeper.setOrderTypeDesc(Objects.equals(logOrder.getOrderType(), 1) ? "原矿运输" : "产品销售");
|
|
|
|
|
+
|
|
|
|
|
+ log.info("{}门卫订单查询结束,param:{}", isRawOre ? "原矿运输" : "正常流程", JSON.toJSONString(gatekeeperWaybillOrder));
|
|
|
return gatekeeper;
|
|
return gatekeeper;
|
|
|
}
|
|
}
|
|
|
|
|
|