|
@@ -351,14 +351,16 @@ public class TradeOrderManageService {
|
|
|
new RWaybillSubOrderVo());
|
|
new RWaybillSubOrderVo());
|
|
|
List<RWaybillSubOrderVo.BillSubOrder> subOrders = subOrderVo.getSubOrders();
|
|
List<RWaybillSubOrderVo.BillSubOrder> subOrders = subOrderVo.getSubOrders();
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)) {
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)) {
|
|
|
- double sum = subOrders.stream()
|
|
|
|
|
- .filter(s -> Objects.nonNull(s.getLoadAmount()))
|
|
|
|
|
- .mapToDouble(s -> s.getLoadAmount().doubleValue()).sum();
|
|
|
|
|
- double unloadQty = subOrders.stream()
|
|
|
|
|
- .filter(s -> Objects.nonNull(s.getUnloadAmount()))
|
|
|
|
|
- .mapToDouble(s -> s.getUnloadAmount().doubleValue()).sum();
|
|
|
|
|
- queryTradeOrderResp.setLoadQty(String.valueOf(sum));
|
|
|
|
|
- queryTradeOrderResp.setUnloadQty(String.valueOf(unloadQty));
|
|
|
|
|
|
|
+ BigDecimal sum = subOrders.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ BigDecimal unloadQty = subOrders.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ queryTradeOrderResp.setLoadQty(sum.setScale(2, RoundingMode.HALF_UP).toPlainString());
|
|
|
|
|
+ queryTradeOrderResp.setUnloadQty(unloadQty.setScale(2, RoundingMode.HALF_UP).toPlainString());
|
|
|
}
|
|
}
|
|
|
queryTradeOrderResp.setOrderQty(Objects.nonNull(tradeOrder.getAmount()) ?
|
|
queryTradeOrderResp.setOrderQty(Objects.nonNull(tradeOrder.getAmount()) ?
|
|
|
tradeOrder.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
tradeOrder.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
@@ -482,28 +484,36 @@ public class TradeOrderManageService {
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)){
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)){
|
|
|
|
|
|
|
|
//累计装货量
|
|
//累计装货量
|
|
|
- double loadTotal = subOrders.stream().filter(x -> Objects.nonNull(x.getLoadAmount()))
|
|
|
|
|
- .mapToDouble(x -> x.getLoadAmount().doubleValue()).sum();
|
|
|
|
|
- double unloadTotal = subOrders.stream().filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
|
|
|
- .mapToDouble(x -> x.getUnloadAmount().doubleValue()).sum();
|
|
|
|
|
- double loadAmount = 0.0 ;
|
|
|
|
|
|
|
+ BigDecimal loadTotal = subOrders.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ BigDecimal unloadTotal = subOrders.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ BigDecimal loadAmount = BigDecimal.ZERO ;
|
|
|
if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
|
DictEnum.CHARGING_TYPE_2.getValue())){
|
|
DictEnum.CHARGING_TYPE_2.getValue())){
|
|
|
//已履约量
|
|
//已履约量
|
|
|
- loadAmount = subOrders.stream().filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
|
|
|
- .mapToDouble(x -> x.getUnloadAmount().doubleValue()).sum();
|
|
|
|
|
|
|
+ loadAmount = subOrders.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
}else if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
}else if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
|
DictEnum.CHARGING_TYPE_1.getValue())){
|
|
DictEnum.CHARGING_TYPE_1.getValue())){
|
|
|
//已履约量
|
|
//已履约量
|
|
|
- loadAmount = subOrders.stream().filter(x -> Objects.nonNull(x.getLoadAmount()))
|
|
|
|
|
- .mapToDouble(x -> x.getLoadAmount().doubleValue()).sum();
|
|
|
|
|
|
|
+ loadAmount = subOrders.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
- tradeOrderPerformanceInfo.setLoadAmount(String.valueOf(loadAmount));
|
|
|
|
|
|
|
+ tradeOrderPerformanceInfo.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString());
|
|
|
|
|
|
|
|
- tradeOrderPerformanceInfo.setLoadTotal(String.valueOf(loadTotal));
|
|
|
|
|
|
|
+ tradeOrderPerformanceInfo.setLoadTotal(loadTotal.setScale(2, RoundingMode.HALF_UP).toPlainString());
|
|
|
|
|
|
|
|
- tradeOrderPerformanceInfo.setUnloadTotal(String.valueOf(unloadTotal));
|
|
|
|
|
|
|
+ tradeOrderPerformanceInfo.setUnloadTotal(unloadTotal.setScale(2, RoundingMode.HALF_UP).toPlainString());
|
|
|
//按照物流id进行分组
|
|
//按照物流id进行分组
|
|
|
Map<Long, List<RWaybillSubOrderVo.BillSubOrder>> logIdAndSubOrderVoMap =
|
|
Map<Long, List<RWaybillSubOrderVo.BillSubOrder>> logIdAndSubOrderVoMap =
|
|
|
subOrders.stream().collect(Collectors.groupingBy(RWaybillSubOrderVo.BillSubOrder::getLOrderId));
|
|
subOrders.stream().collect(Collectors.groupingBy(RWaybillSubOrderVo.BillSubOrder::getLOrderId));
|
|
@@ -512,20 +522,24 @@ public class TradeOrderManageService {
|
|
|
KwtLogisticsOrderVO logisticsOrder = finalLogIdAndLogisticsOrderMap.getOrDefault(logId, new KwtLogisticsOrderVO());
|
|
KwtLogisticsOrderVO logisticsOrder = finalLogIdAndLogisticsOrderMap.getOrDefault(logId, new KwtLogisticsOrderVO());
|
|
|
BigDecimal price =
|
|
BigDecimal price =
|
|
|
Optional.ofNullable(logisticsOrder).map(KwtLogisticsOrderVO::getPrice).orElse(BigDecimal.ZERO);
|
|
Optional.ofNullable(logisticsOrder).map(KwtLogisticsOrderVO::getPrice).orElse(BigDecimal.ZERO);
|
|
|
- double sum = 0.0 ;
|
|
|
|
|
|
|
+ BigDecimal sum = BigDecimal.ZERO ;
|
|
|
if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
|
DictEnum.CHARGING_TYPE_2.getValue())){
|
|
DictEnum.CHARGING_TYPE_2.getValue())){
|
|
|
//已履约量
|
|
//已履约量
|
|
|
- sum = subOrderVos.stream().filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
|
|
|
- .mapToDouble(x -> x.getUnloadAmount().doubleValue()).sum();
|
|
|
|
|
|
|
+ sum = subOrderVos.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
}else if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
}else if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
|
|
|
DictEnum.CHARGING_TYPE_1.getValue())){
|
|
DictEnum.CHARGING_TYPE_1.getValue())){
|
|
|
//已履约量
|
|
//已履约量
|
|
|
- sum = subOrderVos.stream().filter(x -> Objects.nonNull(x.getLoadAmount()))
|
|
|
|
|
- .mapToDouble(x -> x.getLoadAmount().doubleValue()).sum();
|
|
|
|
|
|
|
+ sum = subOrderVos.stream()
|
|
|
|
|
+ .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
- tradeOrderPerformanceInfo.setLoadAmountPrice(price.multiply(new BigDecimal(sum)).setScale(2,
|
|
|
|
|
|
|
+ tradeOrderPerformanceInfo.setLoadAmountPrice(price.multiply(sum).setScale(2,
|
|
|
RoundingMode.HALF_UP).toPlainString());
|
|
RoundingMode.HALF_UP).toPlainString());
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|