|
@@ -649,11 +649,13 @@ public class WaybillOrderService {
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
//获取贸易订单
|
|
//获取贸易订单
|
|
|
List<OrderDetailVo> orderDetailVos = tradeOrderInfoService.queryByTradeOrderIds(tradeIds);
|
|
List<OrderDetailVo> orderDetailVos = tradeOrderInfoService.queryByTradeOrderIds(tradeIds);
|
|
|
- Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap = Maps.newHashMap();
|
|
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(orderDetailVos)){
|
|
|
|
|
- tradeIdAndOrderDetailVoMap = orderDetailVos.stream()
|
|
|
|
|
- .collect(Collectors.toMap(OrderDetailVo::getId, Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(orderDetailVos)) {
|
|
|
|
|
+ log.info("当前车辆的贸易订单无数据,truckNo:{}", param.getTruckNo());
|
|
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.TRADE_ORDER_NOT_FOUND, "当前车辆的贸易订单数据不存在");
|
|
|
}
|
|
}
|
|
|
|
|
+ Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap = orderDetailVos.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(OrderDetailVo::getId, Function.identity(), (x, y) -> x));
|
|
|
|
|
+
|
|
|
Map<Long, List<KwtLogisticsOrder>> tradeIdAndLogOrderList = logOrderList.stream()
|
|
Map<Long, List<KwtLogisticsOrder>> tradeIdAndLogOrderList = logOrderList.stream()
|
|
|
.collect(Collectors.groupingBy(KwtLogisticsOrder::getTOrderId));
|
|
.collect(Collectors.groupingBy(KwtLogisticsOrder::getTOrderId));
|
|
|
Map<Long, List<KwtWaybillOrderSubtask>> logisticsOrderIdAndSubtaskList = orderSubtaskList.stream()
|
|
Map<Long, List<KwtWaybillOrderSubtask>> logisticsOrderIdAndSubtaskList = orderSubtaskList.stream()
|
|
@@ -668,6 +670,14 @@ public class WaybillOrderService {
|
|
|
Map<Long, KwtLogisticsOrderGoods> logOrderIdAndGoodsMap = logOrderGoods.stream().collect(
|
|
Map<Long, KwtLogisticsOrderGoods> logOrderIdAndGoodsMap = logOrderGoods.stream().collect(
|
|
|
Collectors.toMap(KwtLogisticsOrderGoods::getLOrderId, Function.identity(), (x, y) -> x));
|
|
Collectors.toMap(KwtLogisticsOrderGoods::getLOrderId, Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
|
|
|
+ //交易商品信息
|
|
|
|
|
+ List<Long> goodsIds = logOrderGoods.stream().map(KwtLogisticsOrderGoods::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
|
|
+ if (CollectionUtils.isEmpty(goodsIds)) {
|
|
|
|
|
+ log.info("物流订单无关联商品信息,logOrderId:{}", JSON.toJSONString(logOrderIdList));
|
|
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.LOGISTICS_ORDER_NOT_GOODS, "物流订单无关联商品信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ Map<Long, KwpGoods> goodsIdAndGoodsMap = goodsInfoService.getGoodsByIds(goodsIds);
|
|
|
|
|
+
|
|
|
|
|
|
|
|
//承运托运企业
|
|
//承运托运企业
|
|
|
List<KwtLogisticsOrderUnit> logOrderUnits = logisticsOrderUnitRepository.queryByLogOrderIds(logOrderIdList);
|
|
List<KwtLogisticsOrderUnit> logOrderUnits = logisticsOrderUnitRepository.queryByLogOrderIds(logOrderIdList);
|
|
@@ -691,12 +701,21 @@ public class WaybillOrderService {
|
|
|
Collectors.toMap(ticket -> ticket.getWOrderId() + "-" + ticket.getType(),
|
|
Collectors.toMap(ticket -> ticket.getWOrderId() + "-" + ticket.getType(),
|
|
|
Function.identity(), (x, y) -> x));
|
|
Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
|
- Map<Long, OrderDetailVo> finalTradeIdAndOrderDetailVoMap = tradeIdAndOrderDetailVoMap;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //查询字典
|
|
|
|
|
+ List<SysDictResDto> sysDictResDtos = remoteSystemService.queryDictByType(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
|
|
|
|
|
+ if (CollectionUtils.isEmpty(sysDictResDtos)){
|
|
|
|
|
+ log.info("品名类型字典数据不存在,truckNo:{}", param.getTruckNo());
|
|
|
|
|
+ throw new BusinessPlatfromException(ErrorCodeEnum.DATA_NOT_EXIST, "品名类型字典数据不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ Map<String, SysDictResDto> dictValueAndDictResDtoMap = sysDictResDtos.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(SysDictResDto::getValue, Function.identity(), (x, y) -> x));
|
|
|
|
|
+
|
|
|
List<WaybillOrderStatusResp> ordderList = records.stream().map(
|
|
List<WaybillOrderStatusResp> ordderList = records.stream().map(
|
|
|
billOrder -> {
|
|
billOrder -> {
|
|
|
return getWaybillOrderResp(billOrder, subtaskMap, logOrderMap, logOrderIdAndCirculateMap,
|
|
return getWaybillOrderResp(billOrder, subtaskMap, logOrderMap, logOrderIdAndCirculateMap,
|
|
|
logOrderIdAndGoodsMap, logOrderIdAndUnitMap, logOrderIdAndAddressMap, ticketMap,
|
|
logOrderIdAndGoodsMap, logOrderIdAndUnitMap, logOrderIdAndAddressMap, ticketMap,
|
|
|
- finalTradeIdAndOrderDetailVoMap,tradeIdAndLogOrderList,logisticsOrderIdAndSubtaskList);
|
|
|
|
|
|
|
+ tradeIdAndOrderDetailVoMap,tradeIdAndLogOrderList,logisticsOrderIdAndSubtaskList,dictValueAndDictResDtoMap, goodsIdAndGoodsMap);
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
return ordderList;
|
|
return ordderList;
|
|
|
}
|
|
}
|
|
@@ -719,7 +738,9 @@ public class WaybillOrderService {
|
|
|
Map<String, KwtWaybillOrderTicket> ticketMap,
|
|
Map<String, KwtWaybillOrderTicket> ticketMap,
|
|
|
Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap,
|
|
Map<Long, OrderDetailVo> tradeIdAndOrderDetailVoMap,
|
|
|
Map<Long, List<KwtLogisticsOrder>> tradeIdAndLogOrderList ,
|
|
Map<Long, List<KwtLogisticsOrder>> tradeIdAndLogOrderList ,
|
|
|
- Map<Long, List<KwtWaybillOrderSubtask>> logisticsOrderIdAndSubtaskList) {
|
|
|
|
|
|
|
+ Map<Long, List<KwtWaybillOrderSubtask>> logisticsOrderIdAndSubtaskList,
|
|
|
|
|
+ Map<String, SysDictResDto> dictValueAndDictResDtoMap,
|
|
|
|
|
+ Map<Long, KwpGoods> goodsIdAndGoodsMap) {
|
|
|
WaybillOrderStatusResp wbOrderResp = new WaybillOrderStatusResp();
|
|
WaybillOrderStatusResp wbOrderResp = new WaybillOrderStatusResp();
|
|
|
wbOrderResp.setId(wbOrder.getId());
|
|
wbOrderResp.setId(wbOrder.getId());
|
|
|
wbOrderResp.setLogisticsOrderId(Optional.ofNullable(wbOrder.getLOrderId()).map(String::valueOf).orElse(null));
|
|
wbOrderResp.setLogisticsOrderId(Optional.ofNullable(wbOrder.getLOrderId()).map(String::valueOf).orElse(null));
|
|
@@ -744,10 +765,14 @@ public class WaybillOrderService {
|
|
|
wbOrderResp.setConsignCompanyId(Optional.ofNullable(consignEnt.getEntId()).map(String::valueOf).orElse(null));
|
|
wbOrderResp.setConsignCompanyId(Optional.ofNullable(consignEnt.getEntId()).map(String::valueOf).orElse(null));
|
|
|
wbOrderResp.setConsignCompanyName(consignEnt.getFirmName());
|
|
wbOrderResp.setConsignCompanyName(consignEnt.getFirmName());
|
|
|
|
|
|
|
|
- //商品
|
|
|
|
|
|
|
+ //商品信息
|
|
|
KwtLogisticsOrderGoods orderGoods = logOrderIdAndGoodsMap.getOrDefault(wbOrder.getLOrderId(), new KwtLogisticsOrderGoods());
|
|
KwtLogisticsOrderGoods orderGoods = logOrderIdAndGoodsMap.getOrDefault(wbOrder.getLOrderId(), new KwtLogisticsOrderGoods());
|
|
|
- wbOrderResp.setGoodsId(Optional.ofNullable(orderGoods.getId()).map(String::valueOf).orElse(null));
|
|
|
|
|
- wbOrderResp.setGoodsName(orderGoods.getGoodsName());
|
|
|
|
|
|
|
+ KwpGoods goods = goodsIdAndGoodsMap.getOrDefault(orderGoods.getGoodsId(), new KwpGoods());
|
|
|
|
|
+ if (Objects.nonNull(goods)){
|
|
|
|
|
+ SysDictResDto sysDictResDto = dictValueAndDictResDtoMap.getOrDefault(goods.getGoodsType(), new SysDictResDto());
|
|
|
|
|
+ wbOrderResp.setGoodsId(Optional.ofNullable(orderGoods.getId()).map(String::valueOf).orElse(null));
|
|
|
|
|
+ wbOrderResp.setGoodsName(goods.getName()+ "/" +sysDictResDto.getLabel()+"/"+ goods.getSpec());
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
//装货地址
|
|
//装货地址
|
|
|
KwtLogisticsOrderAddress shipmentAddress = logOrderIdAndAddressMap.getOrDefault(wbOrder.getLOrderId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new KwtLogisticsOrderAddress());
|
|
KwtLogisticsOrderAddress shipmentAddress = logOrderIdAndAddressMap.getOrDefault(wbOrder.getLOrderId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new KwtLogisticsOrderAddress());
|
|
@@ -781,7 +806,7 @@ public class WaybillOrderService {
|
|
|
|
|
|
|
|
//派车信息
|
|
//派车信息
|
|
|
KwtLogisticsOrderCirculate orderCirculate = logOrderIdAndCirculateMap.getOrDefault(wbOrder.getLOrderId(), new KwtLogisticsOrderCirculate());
|
|
KwtLogisticsOrderCirculate orderCirculate = logOrderIdAndCirculateMap.getOrDefault(wbOrder.getLOrderId(), new KwtLogisticsOrderCirculate());
|
|
|
- wbOrderResp.setSendTime(DateUtils.format(orderCirculate.getCreateTime(), DateUtils.DATE_PATTERN));
|
|
|
|
|
|
|
+ wbOrderResp.setSendTime(DateUtils.format(orderCirculate.getCreateTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
//法定载重
|
|
//法定载重
|
|
|
RTruckVo truckByTruckNo = remoteFleetService.findTruckByTruckNo(orderCirculate.getTruckNo());
|
|
RTruckVo truckByTruckNo = remoteFleetService.findTruckByTruckNo(orderCirculate.getTruckNo());
|
|
|
if (truckByTruckNo != null) {
|
|
if (truckByTruckNo != null) {
|