Ver código fonte

提交修改商品名称

chenxiaofei 2 semanas atrás
pai
commit
c5346aab90

+ 26 - 10
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -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);
     }

+ 16 - 6
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/WaybillOrderService.java

@@ -848,12 +848,22 @@ public class WaybillOrderService {
                         .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);
             }
         }