|
|
@@ -2385,10 +2385,17 @@ public class WaybillOrderService {
|
|
|
log.info("铲车,size:{}", forklifts.size());
|
|
|
Map<Long, KwtForkliftWaybillOrder> forkliftMap = forklifts.stream().collect(Collectors.toMap(KwtForkliftWaybillOrder::getWOrderId, Function.identity(), (x, y) -> x));
|
|
|
|
|
|
+ //7.节点
|
|
|
+ List<KwtWaybillOrderNode> nodes = waybillOrderNodeRepository.queryNodesByWayOrderIds(wOrderIds);
|
|
|
+ if (CollectionUtils.isEmpty(nodes)) {
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_NOT_FOUND, "运单接单不存在,wOrderIds:" + JSON.toJSONString(wOrderIds));
|
|
|
+ }
|
|
|
+ Map<Long, List<KwtWaybillOrderNode>> nodeList = nodes.stream().collect(Collectors.groupingBy(KwtWaybillOrderNode::getWOrderId);
|
|
|
+
|
|
|
//组装参数
|
|
|
List<WaybillOrderRawOreReportResp> orderList = waybillOrderList.stream()
|
|
|
.map(waybillOrder -> {
|
|
|
- return getWaybillOrderRawOreReport(waybillOrder,logOrderMap, ticketMap, gatekeeperMap, forkliftMap);
|
|
|
+ return getWaybillOrderRawOreReport(waybillOrder,logOrderMap, ticketMap, gatekeeperMap, forkliftMap, nodeMap);
|
|
|
}).collect(Collectors.toList());
|
|
|
log.info("[报表]查询运单每日报表结束,还未分组, size:{}",orderList.size());
|
|
|
return orderList;
|
|
|
@@ -2404,7 +2411,30 @@ public class WaybillOrderService {
|
|
|
Map<Long, KwtLogisticsOrder> logOrderMap,
|
|
|
Map<String, KwtWaybillOrderTicket> ticketMap,
|
|
|
Map<String, KwtGatekeeperWaybillOrder> gatekeeperMap,
|
|
|
- Map<Long, KwtForkliftWaybillOrder> forkliftMap) {
|
|
|
+ Map<Long, KwtForkliftWaybillOrder> forkliftMap,
|
|
|
+ Map<Long, List<KwtWaybillOrderNode>> nodeMap) {
|
|
|
+ WaybillOrderRawOreReportResp waybillOrderRawOreReportResp = new WaybillOrderRawOreReportResp();
|
|
|
+ waybillOrderRawOreReportResp.setSerialNumber();
|
|
|
+ waybillOrderRawOreReportResp.setId(waybillOrder.getId());
|
|
|
+ waybillOrderRawOreReportResp.setLogisticsNo();
|
|
|
+ waybillOrderRawOreReportResp.setWaybillNo();
|
|
|
+ waybillOrderRawOreReportResp.setDictId();
|
|
|
+ waybillOrderRawOreReportResp.setGoodsName();
|
|
|
+ waybillOrderRawOreReportResp.setTruckNo(waybillOrder.getTruckNo());
|
|
|
+ waybillOrderRawOreReportResp.setAcceptTime();
|
|
|
+ waybillOrderRawOreReportResp.setLoadTareAmount();
|
|
|
+ waybillOrderRawOreReportResp.setLoadGrossAmount();
|
|
|
+ waybillOrderRawOreReportResp.setLoadAmount(waybillOrder.getLoadAmount());
|
|
|
+ waybillOrderRawOreReportResp.setLoadTareAmountTime();
|
|
|
+ waybillOrderRawOreReportResp.setLoadGrossTime();
|
|
|
+ waybillOrderRawOreReportResp.setLoadPerson();
|
|
|
+ waybillOrderRawOreReportResp.setUnLoadTareAmount();
|
|
|
+ waybillOrderRawOreReportResp.setUnLoadGrossAmount();
|
|
|
+ waybillOrderRawOreReportResp.setUnLoadAmount(waybillOrder.getUnloadAmount());
|
|
|
+ waybillOrderRawOreReportResp.setUnLoadTareAmountTime();
|
|
|
+ waybillOrderRawOreReportResp.setUnLoadGrossTime();
|
|
|
+ waybillOrderRawOreReportResp.setUnLoadPerson();
|
|
|
+ return waybillOrderRawOreReportResp;
|
|
|
|
|
|
//订单
|
|
|
KwtLogisticsOrder logOrder = logOrderMap.getOrDefault(waybillOrder.getLOrderId(), new KwtLogisticsOrder());
|
|
|
@@ -2418,6 +2448,8 @@ public class WaybillOrderService {
|
|
|
KwtGatekeeperWaybillOrder unLoadGatekeeper = gatekeeperMap.getOrDefault(waybillOrder.getId() + "-" + 2, new KwtGatekeeperWaybillOrder());
|
|
|
//铲车
|
|
|
KwtForkliftWaybillOrder forklift = forkliftMap.getOrDefault(waybillOrder.getId(), new KwtForkliftWaybillOrder());
|
|
|
+ //节点
|
|
|
+ List<KwtWaybillOrderNode> nodeList = nodeMap.getOrDefault(waybillOrder.getId(), new ArrayList<>());
|
|
|
|
|
|
WaybillOrderRawOreReportResp resp = new WaybillOrderRawOreReportResp();
|
|
|
resp.setId(waybillOrder.getId());
|
|
|
@@ -2428,15 +2460,28 @@ public class WaybillOrderService {
|
|
|
resp.setLoadTareAmount(loadTicket.getTareAmount());
|
|
|
resp.setLoadGrossAmount(loadTicket.getGrossAmount());
|
|
|
resp.setLoadAmount(loadTicket.getAmount());
|
|
|
- resp.setLoadTareAmountTime(loadTicket.getUpdateTime()); // todo 修改
|
|
|
resp.setLoadGrossTime(loadTicket.getUpdateTime());
|
|
|
resp.setLoadPerson(loadGatekeeper.getGatekeeperName());
|
|
|
|
|
|
+ //装货过皮时间:获取节点里status=5 and creat_by = 1的最新数据
|
|
|
+ KwtWaybillOrderNode orderNode1 = nodeList.stream()
|
|
|
+ .filter(node -> Objects.equals(node.getOrderStatus(), 5))
|
|
|
+ .max(Comparator.comparing(KwtWaybillOrderNode::getCreateTime))
|
|
|
+ .orElse(new KwtWaybillOrderNode());
|
|
|
+ resp.setLoadTareAmountTime(orderNode1 != null ? orderNode1.getCreateTime() : loadTicket.getUpdateTime());
|
|
|
+
|
|
|
+ // 卸货过毛时间:获取节点里status=19的数据
|
|
|
+ KwtWaybillOrderNode orderNode2 = nodeList.stream()
|
|
|
+ .filter(node -> Objects.equals(node.getOrderStatus(), 19))
|
|
|
+ .max(Comparator.comparing(KwtWaybillOrderNode::getCreateTime))
|
|
|
+ .orElse(new KwtWaybillOrderNode());
|
|
|
+ resp.setUnLoadGrossTime(orderNode2 != null ? orderNode2.getCreateTime() : unLoadTicket.getUpdateTime());
|
|
|
+
|
|
|
resp.setUnLoadTareAmount(unLoadTicket.getTareAmount());
|
|
|
resp.setUnLoadGrossAmount(unLoadTicket.getGrossAmount());
|
|
|
resp.setUnLoadAmount(unLoadTicket.getAmount());
|
|
|
resp.setUnLoadTareAmountTime(unLoadTicket.getUpdateTime());
|
|
|
- resp.setUnLoadGrossTime(unLoadTicket.getUpdateTime()); // todo 修改
|
|
|
+
|
|
|
resp.setUnLoadPerson(unLoadGatekeeper.getGatekeeperName());
|
|
|
|
|
|
resp.setDictId(forklift.getDictId());
|