|
@@ -2852,8 +2852,7 @@ public class KwtLogisticsConsignmentService {
|
|
|
if (CollectionUtils.isNotEmpty(billOrderIds)){
|
|
if (CollectionUtils.isNotEmpty(billOrderIds)){
|
|
|
List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.queryByBillOrderIds(billOrderIds);
|
|
List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.queryByBillOrderIds(billOrderIds);
|
|
|
if (CollectionUtils.isNotEmpty(waybillOrders)){
|
|
if (CollectionUtils.isNotEmpty(waybillOrders)){
|
|
|
- billOrderIdAndWaybillOrderMap = waybillOrders.stream().filter(x->Objects.equals(x.getStatus(),
|
|
|
|
|
- CarWaybillEnum.APPROVAL_PASS.getCode()))
|
|
|
|
|
|
|
+ billOrderIdAndWaybillOrderMap = waybillOrders.stream()
|
|
|
.collect(Collectors.groupingBy(KwtWaybillOrder::getTruckId));
|
|
.collect(Collectors.groupingBy(KwtWaybillOrder::getTruckId));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2862,14 +2861,16 @@ public class KwtLogisticsConsignmentService {
|
|
|
Map<Long, RTruckVo> finalTruckIdAndTruckMap = truckIdAndTruckMap;
|
|
Map<Long, RTruckVo> finalTruckIdAndTruckMap = truckIdAndTruckMap;
|
|
|
Map<Long, List<KwtWaybillOrder>> finalBillOrderIdAndWaybillOrderMap = billOrderIdAndWaybillOrderMap;
|
|
Map<Long, List<KwtWaybillOrder>> finalBillOrderIdAndWaybillOrderMap = billOrderIdAndWaybillOrderMap;
|
|
|
List<CapacityVo> capacityVos = records.stream()
|
|
List<CapacityVo> capacityVos = records.stream()
|
|
|
- .map(t -> getCapacityVo(t, finalTruckIdAndTruckMap, finalBillOrderIdAndWaybillOrderMap))
|
|
|
|
|
|
|
+ .map(t -> getCapacityVo(t, finalTruckIdAndTruckMap, finalBillOrderIdAndWaybillOrderMap,waybillOrderSubtasks))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
return PageDataResult.of(page, capacityVos);
|
|
return PageDataResult.of(page, capacityVos);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@NotNull
|
|
@NotNull
|
|
|
- private static CapacityVo getCapacityVo(KwtLogisticsOrderCirculate t, Map<Long, RTruckVo> finalTruckIdAndTruckMap, Map<Long, List<KwtWaybillOrder>> finalBillOrderIdAndWaybillOrderMap) {
|
|
|
|
|
|
|
+ private static CapacityVo getCapacityVo(KwtLogisticsOrderCirculate t, Map<Long, RTruckVo> finalTruckIdAndTruckMap,
|
|
|
|
|
+ Map<Long, List<KwtWaybillOrder>> finalBillOrderIdAndWaybillOrderMap,
|
|
|
|
|
+ List<KwtWaybillOrderSubtask> waybillOrderSubtasks) {
|
|
|
CapacityVo capacityVo = new CapacityVo();
|
|
CapacityVo capacityVo = new CapacityVo();
|
|
|
capacityVo.setTruckId(String.valueOf(t.getTruckId()));
|
|
capacityVo.setTruckId(String.valueOf(t.getTruckId()));
|
|
|
capacityVo.setTruckNo(t.getTruckNo());
|
|
capacityVo.setTruckNo(t.getTruckNo());
|
|
@@ -2878,19 +2879,32 @@ public class KwtLogisticsConsignmentService {
|
|
|
List<KwtWaybillOrder> waybillOrders = finalBillOrderIdAndWaybillOrderMap.get(t.getTruckId());
|
|
List<KwtWaybillOrder> waybillOrders = finalBillOrderIdAndWaybillOrderMap.get(t.getTruckId());
|
|
|
capacityVo.setFinishWaybillCount("0");
|
|
capacityVo.setFinishWaybillCount("0");
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrders)){
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrders)){
|
|
|
- capacityVo.setFinishWaybillCount(String.valueOf(waybillOrders.size()));
|
|
|
|
|
- BigDecimal loadAmount = waybillOrders.stream()
|
|
|
|
|
|
|
+ List<KwtWaybillOrder> waybillOrderList = Optional.ofNullable(waybillOrders).orElse(List.of())
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .filter(x -> Objects.equals(x.getStatus(), CarWaybillV1Enum.COMPLETED.getCode()))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ capacityVo.setFinishWaybillCount(String.valueOf(waybillOrderList.size()));
|
|
|
|
|
+ capacityVo.setStatus(String.valueOf(waybillOrders.get(0).getStatus()));
|
|
|
|
|
+ capacityVo.setStatusDesc(CarWaybillV1Enum.geDesc(waybillOrders.get(0).getStatus()));
|
|
|
|
|
+ List<Long> waybillOrderIds = waybillOrderList.stream()
|
|
|
|
|
+ .map(KwtWaybillOrder::getId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ List<KwtWaybillOrderSubtask> subtasks = Optional.ofNullable(waybillOrderSubtasks)
|
|
|
|
|
+ .orElse(List.of())
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .filter(x -> waybillOrderIds.contains(x.getWOrderId()))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ BigDecimal loadAmount = subtasks.stream()
|
|
|
.filter(x -> Objects.nonNull(x.getLoadAmount()))
|
|
.filter(x -> Objects.nonNull(x.getLoadAmount()))
|
|
|
- .map(KwtWaybillOrder::getLoadAmount)
|
|
|
|
|
|
|
+ .map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal unloadAmount = waybillOrders.stream()
|
|
|
|
|
|
|
+ BigDecimal unloadAmount = subtasks.stream()
|
|
|
.filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
.filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
|
- .map(KwtWaybillOrder::getUnloadAmount)
|
|
|
|
|
|
|
+ .map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
capacityVo.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
capacityVo.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
capacityVo.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
capacityVo.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
- capacityVo.setStatus(String.valueOf(waybillOrders.get(0).getStatus()));
|
|
|
|
|
- capacityVo.setStatusDesc(CarWaybillV1Enum.geDesc(waybillOrders.get(0).getStatus()));
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
capacityVo.setDispatchStatus(String.valueOf(t.getStatus()));
|
|
capacityVo.setDispatchStatus(String.valueOf(t.getStatus()));
|