|
|
@@ -2619,6 +2619,7 @@ public class KwtLogisticsConsignmentService {
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
unloadAmount = waybillOrderSubtasks.stream()
|
|
|
+ .filter(x-> !Objects.equals(x.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
|
|
|
.filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
|
.map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
@@ -2640,8 +2641,8 @@ public class KwtLogisticsConsignmentService {
|
|
|
}
|
|
|
performanceInfoVO.setTotalCarriageCost(totalCarriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
BigDecimal tradeAmount = Optional.ofNullable(orderDetailVo).map(OrderDetailVo::getAmount).orElse(BigDecimal.ZERO);
|
|
|
- BigDecimal totalAmount = getTotalAmount(logOrderList);
|
|
|
- BigDecimal surplusAmount = tradeAmount.subtract(totalAmount);
|
|
|
+ // BigDecimal totalAmount = getTotalAmount(logOrderList);
|
|
|
+ BigDecimal surplusAmount = tradeAmount.subtract(orderAmount.add(unloadAmount));
|
|
|
performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
|
|
|
logisticsOrderDetailResp.setPerformanceInfoVO(performanceInfoVO);
|
|
|
@@ -2667,27 +2668,24 @@ public class KwtLogisticsConsignmentService {
|
|
|
}
|
|
|
// 筛选出状态为已完成的子运单
|
|
|
List<KwtWaybillOrderSubtask> pendingUnloadSubtasks = waybillOrderSubtasks.stream()
|
|
|
- .filter(subtask -> Objects.equals(subtask.getStatus(), CarWaybillV1Enum.COMPLETED.getCode()))
|
|
|
+ .filter(subtask -> !Objects.equals(subtask.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(pendingUnloadSubtasks)) {
|
|
|
return totalAmount;
|
|
|
}
|
|
|
- // 按装货量计费
|
|
|
- if (org.apache.commons.lang3.StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_1.getValue())) {
|
|
|
- totalAmount = pendingUnloadSubtasks.stream()
|
|
|
- .map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
- .filter(x -> Objects.nonNull(x))
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- }
|
|
|
- // 按卸货量计费
|
|
|
- else if (org.apache.commons.lang3.StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_2.getValue())) {
|
|
|
- totalAmount = pendingUnloadSubtasks.stream()
|
|
|
- .map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
- .filter(x -> Objects.nonNull(x))
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- }
|
|
|
- return totalAmount;
|
|
|
+ // 已接单量
|
|
|
+ BigDecimal entrustAmount = pendingUnloadSubtasks.stream()
|
|
|
+ .map(KwtWaybillOrderSubtask::getEntrustAmount)
|
|
|
+ .filter(x -> Objects.nonNull(x))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+
|
|
|
+ // 累计卸货量
|
|
|
+ BigDecimal unloadAmount = pendingUnloadSubtasks.stream()
|
|
|
+ .map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
+ .filter(x -> Objects.nonNull(x))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ return entrustAmount.add(unloadAmount);
|
|
|
}
|
|
|
|
|
|
private static void setAddressInfo(Map<String, KwtLogisticsOrderAddress> logOrderIdAndUnitTypeKeyAndAddressMap, KwtLogisticsOrder logisticsOrder, LogisticsOrderDetailResp logisticsOrderDetailResp) {
|