|
|
@@ -2551,12 +2551,22 @@ public class KwtLogisticsConsignmentService {
|
|
|
.filter(Objects::nonNull)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
//logTotatalAmount = logTotatalAmount.add(loadAmountSum);
|
|
|
- BigDecimal unloadAmountSum = waybillOrderSubtasks.stream()
|
|
|
- .filter(x -> !Objects.equals(x.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
|
|
|
- .map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
- .filter(Objects::nonNull)
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- logTotatalAmount = logTotatalAmount.add(loadAmountSum).add(unloadAmountSum);
|
|
|
+ if (org.apache.commons.lang3.StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_1.getValue())){
|
|
|
+ BigDecimal unloadAmountSum = waybillOrderSubtasks.stream()
|
|
|
+ .filter(x -> !Objects.equals(x.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
|
|
|
+ .map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ logTotatalAmount = logTotatalAmount.add(loadAmountSum).add(unloadAmountSum);
|
|
|
+ }else if (org.apache.commons.lang3.StringUtils.equals(billingMode, DictEnum.CHARGING_TYPE_2.getValue())){
|
|
|
+ BigDecimal unloadAmountSum = waybillOrderSubtasks.stream()
|
|
|
+ .filter(x -> !Objects.equals(x.getStatus(), CarWaybillV1Enum.CANCELLED.getCode()))
|
|
|
+ .map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ logTotatalAmount = logTotatalAmount.add(loadAmountSum).add(unloadAmountSum);
|
|
|
+ }
|
|
|
+
|
|
|
//logTotatalAmount = logTotatalAmount.add(unloadAmountSum);
|
|
|
}
|
|
|
}
|
|
|
@@ -2690,27 +2700,33 @@ public class KwtLogisticsConsignmentService {
|
|
|
.map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
}
|
|
|
-
|
|
|
+ BigDecimal tradeAmount = Optional.ofNullable(orderDetailVo).map(OrderDetailVo::getAmount).orElse(BigDecimal.ZERO);
|
|
|
BigDecimal totalCarriageCost = BigDecimal.ZERO;
|
|
|
+ //用于计算
|
|
|
+ BigDecimal totalAmount = BigDecimal.ZERO;
|
|
|
if (org.apache.commons.lang3.StringUtils.equals(logisticsOrder.getBillingMode(),
|
|
|
DictEnum.CHARGING_TYPE_1.getValue())) {
|
|
|
totalCarriageCost = Objects.nonNull(logisticsOrder.getPrice()) ? loadAmount.multiply(logisticsOrder.getPrice()) :
|
|
|
BigDecimal.ZERO;
|
|
|
performanceInfoVO.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
performanceInfoVO.setUnloadAmount("-");
|
|
|
+ BigDecimal surplusAmount = tradeAmount.subtract(orderAmount.add(loadAmount));
|
|
|
+ performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
+
|
|
|
} else if (org.apache.commons.lang3.StringUtils.equals(logisticsOrder.getBillingMode(),
|
|
|
DictEnum.CHARGING_TYPE_2.getValue())) {
|
|
|
totalCarriageCost = Objects.nonNull(logisticsOrder.getPrice()) ? unloadAmount.multiply(logisticsOrder.getPrice()) :
|
|
|
BigDecimal.ZERO;
|
|
|
performanceInfoVO.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
performanceInfoVO.setUnloadAmount(unloadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
+ BigDecimal surplusAmount = tradeAmount.subtract(orderAmount.add(unloadAmount));
|
|
|
+ performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
+
|
|
|
}
|
|
|
String priceUnit = Optional.ofNullable(kwpGoods).map(KwpGoods::getPriceUnit).orElse("");
|
|
|
performanceInfoVO.setTotalCarriageCost(totalCarriageCost.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
- BigDecimal tradeAmount = Optional.ofNullable(orderDetailVo).map(OrderDetailVo::getAmount).orElse(BigDecimal.ZERO);
|
|
|
+
|
|
|
// BigDecimal totalAmount = getTotalAmount(logOrderList);
|
|
|
- BigDecimal surplusAmount = tradeAmount.subtract(orderAmount.add(unloadAmount));
|
|
|
- performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
|
|
|
logisticsOrderDetailResp.setPerformanceInfoVO(performanceInfoVO);
|
|
|
}
|