|
|
@@ -3220,19 +3220,8 @@ public class KwtLogisticsConsignmentService {
|
|
|
BigDecimal unloadAmount = BigDecimal.ZERO;
|
|
|
//用于计算
|
|
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
|
|
- if (org.apache.commons.lang3.StringUtils.equals(kwtLogisticsOrder.getBillingMode(),
|
|
|
- DictEnum.CHARGING_TYPE_1.getValue())) {
|
|
|
- loadAmount = subtasks.stream().filter(x->Objects.nonNull(x.getLoadAmount()))
|
|
|
- .map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- transportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) ? loadAmount.multiply(kwtLogisticsOrder.getPrice()) :
|
|
|
- BigDecimal.ZERO;
|
|
|
- // logisticsOrderResp.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
- logisticsOrderResp.setUnloadAmount("-");
|
|
|
- // logisticsOrderResp.setActualTransportPrice(transportPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
-
|
|
|
- } else if (org.apache.commons.lang3.StringUtils.equals(kwtLogisticsOrder.getBillingMode(),
|
|
|
- DictEnum.CHARGING_TYPE_2.getValue())) {
|
|
|
+ if (Objects.equals(kwtLogisticsOrder.getOrderType(),1)){
|
|
|
+ log.info("订单类型为1,原矿转运");
|
|
|
loadAmount = subtasks.stream().filter(x->Objects.nonNull(x.getLoadAmount()))
|
|
|
.map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
@@ -3242,10 +3231,38 @@ public class KwtLogisticsConsignmentService {
|
|
|
transportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) ? unloadAmount.multiply(kwtLogisticsOrder.getPrice()) :
|
|
|
BigDecimal.ZERO;
|
|
|
|
|
|
- // logisticsOrderResp.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
+ // logisticsOrderResp.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
logisticsOrderResp.setUnloadAmount(unloadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
- //logisticsOrderResp.setActualTransportPrice(transportPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
+ }else {
|
|
|
+ log.info("订单类型不为1,普通订单");
|
|
|
+ if (org.apache.commons.lang3.StringUtils.equals(kwtLogisticsOrder.getBillingMode(),
|
|
|
+ DictEnum.CHARGING_TYPE_1.getValue())) {
|
|
|
+ loadAmount = subtasks.stream().filter(x->Objects.nonNull(x.getLoadAmount()))
|
|
|
+ .map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ transportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) ? loadAmount.multiply(kwtLogisticsOrder.getPrice()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+ // logisticsOrderResp.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
+ logisticsOrderResp.setUnloadAmount("-");
|
|
|
+ // logisticsOrderResp.setActualTransportPrice(transportPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
+
|
|
|
+ } else if (org.apache.commons.lang3.StringUtils.equals(kwtLogisticsOrder.getBillingMode(),
|
|
|
+ DictEnum.CHARGING_TYPE_2.getValue())) {
|
|
|
+ loadAmount = subtasks.stream().filter(x->Objects.nonNull(x.getLoadAmount()))
|
|
|
+ .map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ unloadAmount = subtasks.stream().filter(x->Objects.nonNull(x.getUnloadAmount()))
|
|
|
+ .map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ transportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) ? unloadAmount.multiply(kwtLogisticsOrder.getPrice()) :
|
|
|
+ BigDecimal.ZERO;
|
|
|
+
|
|
|
+ // logisticsOrderResp.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
+ logisticsOrderResp.setUnloadAmount(unloadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
+ //logisticsOrderResp.setActualTransportPrice(transportPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
logisticsOrderResp.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + kwtLogisticsOrder.getUnit());
|
|
|
logisticsOrderResp.setActualTransportPrice(transportPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
// logisticsOrderResp.setActualTransportPrice(actualTransportPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() + priceUnit);
|
|
|
@@ -3516,24 +3533,35 @@ public class KwtLogisticsConsignmentService {
|
|
|
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)).compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : 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())) {
|
|
|
+ if (Objects.equals(logisticsOrder.getOrderType(), 1)){
|
|
|
+ log.info("物流单类型为1,原矿转运");
|
|
|
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)).compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : tradeAmount.subtract(orderAmount.add(unloadAmount));
|
|
|
performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2, RoundingMode.HALF_UP).toPlainString() + logisticsOrder.getUnit());
|
|
|
+ }else {
|
|
|
+ log.info("物流单类型不为1,普通物流");
|
|
|
+ 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)).compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : 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)).compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : 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);
|