|
|
@@ -1971,6 +1971,76 @@ public class WaybillOrderService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询运单每日报表
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public PageDataResult<WaybillOrderReportResp> queryWaybillOrderReport(WaybillOrderReportQueryParam param) {
|
|
|
+ log.info("[报表]开始查询运单每日报表:{}", JSON.toJSONString(param));
|
|
|
+
|
|
|
+ // 1. 贸易订单id
|
|
|
+ Set<Long> tOrderId = tradeOrderInfoService.queryOrderIdByEntId(param.getEntId(), "2");
|
|
|
+ if (CollectionUtils.isEmpty(tOrderId)) {
|
|
|
+ log.info("当前企业无贸易订单!,entId:{}", param.getEntId());
|
|
|
+ return PageDataResult.empty(param.getPageNum(), param.getPageSize());
|
|
|
+ }
|
|
|
+ // 2. 贸易订单
|
|
|
+ List<OrderDetailVo> tOrderList = tradeOrderInfoService.queryByTradeOrderIds(tOrderId);
|
|
|
+ if (CollectionUtils.isEmpty(tOrderList)) {
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.TRADE_ORDER_NOT_FOUND, "贸易订单不存在,tOrderIds:" + JSON.toJSONString(tOrderId));
|
|
|
+ }
|
|
|
+ Map<Long, OrderDetailVo> tOrderMap = tOrderList.stream()
|
|
|
+ .collect(Collectors.toMap(OrderDetailVo::getId, Function.identity(), (x, y) -> x));
|
|
|
+
|
|
|
+ // 2. 物流订单
|
|
|
+ List<KwtLogisticsOrder> logisticsOrders = logisticsOrderRepository.queryByTradeOrderIds(tOrderId);
|
|
|
+ if (CollectionUtils.isEmpty(logisticsOrders)) {
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.LOGISTICS_ORDER_NOT_FOUND, "物流订单不存在,tOrderIds:" + JSON.toJSONString(tOrderId));
|
|
|
+ }
|
|
|
+ Set<Long> lOrderIds= logisticsOrders.stream().map(KwtLogisticsOrder::getId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ // 3.物流卸货订单
|
|
|
+ List<KwtLogisticsOrderAddress> lOrderAddresseList = logisticsOrderAddressRepository.queryByLogOrderIds(lOrderIds);
|
|
|
+ if (CollectionUtils.isEmpty(lOrderAddresseList)) {
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.LOGISTICS_ADDRESS_NOT_FOUND, "物流订单卸货信息不存在,lOrderIds:" + JSON.toJSONString(lOrderIds));
|
|
|
+ }
|
|
|
+ Map<Long, KwtLogisticsOrderAddress> addressMap = lOrderAddresseList
|
|
|
+ .stream().collect(Collectors.toMap(KwtLogisticsOrderAddress::getLOrderId, Function.identity(), (x, y) -> x));
|
|
|
+
|
|
|
+ // 4.运单
|
|
|
+ LambdaQueryWrapper<KwtWaybillOrder> queryWrapper = Wrappers.<KwtWaybillOrder>lambdaQuery()
|
|
|
+ .eq(KwtWaybillOrder::getEntId, param.getEntId())
|
|
|
+ .eq(KwtWaybillOrder::getDelFlag, 0)
|
|
|
+ .in(KwtWaybillOrder::getLOrderId, lOrderIds)
|
|
|
+ .ge(KwtWaybillOrder::getStatus,18)
|
|
|
+ .orderByDesc(KwtWaybillOrder::getCreateTime)
|
|
|
+ .orderByDesc(KwtWaybillOrder::getId);
|
|
|
+ List<KwtWaybillOrder> waybillOrderList = waybillOrderRepository.list(queryWrapper);
|
|
|
+ if (CollectionUtils.isEmpty(waybillOrderList)) {
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_NOT_FOUND, "物流运单不存在,lOrderIds:" + JSON.toJSONString(lOrderIds));
|
|
|
+ }
|
|
|
+ Map<Long, KwtWaybillOrder> waybillOrderMap = waybillOrderList.stream().collect(Collectors.toMap(KwtWaybillOrder::getLOrderId, Function.identity(), (x, y) -> x));
|
|
|
+
|
|
|
+ // 5.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Page<KwtWaybillOrder> page = waybillOrderRepository.page(new Page<>(param.getPageNum(), param.getPageSize()), queryWrapper);
|
|
|
+ List<KwtWaybillOrder> records = page.getRecords();
|
|
|
+ if (CollectionUtils.isEmpty(records)) {
|
|
|
+ log.info("当前企业无已离场数据,entId:{}", param.getEntId());
|
|
|
+ return PageDataResult.empty(param.getPageNum(), param.getPageSize());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ log.info("[报表]查询运单每日报表结束:{}", JSON.toJSONString(param));
|
|
|
+
|
|
|
+ return PageDataResult.success(param.getPageNum(), param.getPageSize(), null , null);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// /**
|
|
|
// * 物流订单接单
|