Explorar o código

新增totalExportDiffAmount 表示出口费用2位和5位小数之间的差额,便于分析差额原因

lipf hai 3 meses
pai
achega
c4146fb02c

+ 2 - 0
commons/src/main/java/com/jzg/commons/entity/po/InsFeeOrders.java

@@ -180,6 +180,8 @@ public class InsFeeOrders {
     @Schema(description = "驾意出口费用")
     private BigDecimal jyExportPremium;
 
+    @Schema(description = "出口费用5截2位的差额")
+    private BigDecimal totalExportDiffAmount;
     /**
      * 新增出口留点比例
      */

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/InsFeeOrdersVo.java

@@ -136,6 +136,9 @@ public class InsFeeOrdersVo {
     @Schema(description = "驾意出口费用")
     private String jyExportPremium;
 
+    @Schema(description = "出口费用5截2位的差额")
+    private BigDecimal totalExportDiffAmount;
+
     @Schema(description = "交强险出口留点费用")
     private String jqExportKeepPointPremium;
 

+ 13 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java

@@ -454,24 +454,33 @@ public class QuoteVerificationAspect {
         BigDecimal firstDistributionFee = insFeeOrders.getFirstDistributionFee();
         BigDecimal secondDistributionFee = insFeeOrders.getSecondDistributionFee();
         BigDecimal thirdDistributionFee = insFeeOrders.getThirdDistributionFee();
-        BigDecimal jqExportPremium = insFeeOrders.getJqExportRatio().multiply(insFeeOrders.getJqPremium()).setScale(2,RoundingMode.DOWN);
+        BigDecimal jqExportPremiumOrigin = insFeeOrders.getJqExportRatio().multiply(insFeeOrders.getJqPremium());
+        BigDecimal jqExportPremium = jqExportPremiumOrigin.setScale(2,RoundingMode.DOWN);
         if (jqExportPremium.compareTo(BigDecimal.ZERO) > 0) {
             jqExportPremium = jqExportPremium.subtract(firstDistributionFee).subtract(secondDistributionFee).subtract(thirdDistributionFee);
         }
         insFeeOrders.setJqExportPremium(jqExportPremium);
 
-        BigDecimal syExportPremium = insFeeOrders.getSyExportRatio().multiply(insFeeOrders.getSyPremium()).setScale(2, RoundingMode.DOWN);
+        BigDecimal syExportPremiumOrigin = insFeeOrders.getSyExportRatio().multiply(insFeeOrders.getSyPremium());
+        BigDecimal syExportPremium = syExportPremiumOrigin.setScale(2, RoundingMode.DOWN);
         if (syExportPremium.compareTo(BigDecimal.ZERO) > 0) {
             syExportPremium = syExportPremium.subtract(firstDistributionFee).subtract(secondDistributionFee).subtract(thirdDistributionFee);
         }
         insFeeOrders.setSyExportPremium(syExportPremium);
-
-        BigDecimal jyExportPremium = insFeeOrders.getJyExportRatio().multiply(insFeeOrders.getJyPremium()).setScale(2, RoundingMode.DOWN);;
+        BigDecimal jyExportPremiumOrigin = insFeeOrders.getJyExportRatio().multiply(insFeeOrders.getJyPremium());
+        BigDecimal jyExportPremium = jyExportPremiumOrigin.setScale(2, RoundingMode.DOWN);;
         if (jyExportPremium.compareTo(BigDecimal.ZERO) > 0) {
             jyExportPremium = jyExportPremium.subtract(firstDistributionFee).subtract(secondDistributionFee).subtract(thirdDistributionFee);
         }
         insFeeOrders.setJyExportPremium(jyExportPremium);
 
+        // add by lipf, 2026年6月27日15:45:20 计算总的出口金额由5位调整为2位时,截断的所有金额
+        List<BigDecimal> diffs = new ArrayList<>();
+        diffs.add(BigDecimalUtil.subtract(jqExportPremiumOrigin,jqExportPremium));
+        diffs.add(BigDecimalUtil.subtract(syExportPremiumOrigin,syExportPremium));
+        diffs.add(BigDecimalUtil.subtract(jyExportPremiumOrigin,jyExportPremium));
+        insFeeOrders.setTotalExportDiffAmount(BigDecimalUtil.add(diffs));
+
         // 计算出口留点费用
         BigDecimal jqExportKeepRatioPremium = insFeeOrders.getJqExportKeepPointRatio().multiply(insFeeOrders.getJqPremium());
         insFeeOrders.setJqExportKeepPointPremium(jqExportKeepRatioPremium);