Przeglądaj źródła

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260518' into dev_jzg_lipf_v20260518

jiakai 3 miesięcy temu
rodzic
commit
76bd32787c

+ 1 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/FactorMatch.java

@@ -183,7 +183,7 @@ public class FactorMatch {
                 log.info("承保规则校验-传入值为null: attrCode={}, useFlag=false", ptlAgreementProductCostsAttrLink.getAttrCode());
             }
 
-            if (useFlag) {
+            if (!useFlag) {
                 log.info("承保规则校验-条件命中! attrCode={}, 传入值={}, 规则min={}, max={}, operator={}",
                         ptlAgreementProductCostsAttrLink.getAttrCode(), ruleAttrMappingVo.getValue(),
                         ptlAgreementProductCostsAttrLink.getMin(), ptlAgreementProductCostsAttrLink.getMax(),

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

@@ -360,20 +360,24 @@ public class QuoteVerificationAspect {
 
         // 计算应收金额(保费 * 税率因子 * (入口比例 + 加投比例 + 跟单比例))
         BigDecimal taxablePremium = premium.multiply(taxFactor);
-        BigDecimal receivable = taxablePremium.multiply(inletPercent)
-                .add(taxablePremium.multiply(addThrowPercent))
-//                .add(taxablePremium.multiply(followRatio))
-                .setScale(5, RoundingMode.HALF_EVEN);
 
         // 计算应付金额(保费 * 出口比例,保留2位小数)
         BigDecimal payable = premium.multiply(exportPercent.setScale(5, RoundingMode.DOWN));
 
         // 计算各类费用并设置到订单对象
-        setReceivable.accept(insFeeOrders, receivable);
         setPayable.accept(insFeeOrders, payable);
-        setCommission.accept(insFeeOrders, taxablePremium.multiply(commissionRatio).setScale(5, RoundingMode.HALF_EVEN));
-        setFollow.accept(insFeeOrders, taxablePremium.multiply(followRatio).setScale(5, RoundingMode.HALF_EVEN));
+        BigDecimal commission = taxablePremium.multiply(commissionRatio).setScale(5, RoundingMode.HALF_EVEN);
+        BigDecimal follow = taxablePremium.multiply(followRatio).setScale(5, RoundingMode.HALF_EVEN);
+        setCommission.accept(insFeeOrders, commission);
+        setFollow.accept(insFeeOrders, commission);
         setAdditional.accept(insFeeOrders, taxablePremium.multiply(addThrowPercent).setScale(5, RoundingMode.HALF_EVEN));
+
+        BigDecimal receivable = taxablePremium.add(commission)
+                .add(follow)
+//                .add(taxablePremium.multiply(addThrowPercent))
+//                .add(taxablePremium.multiply(followRatio))
+                .setScale(5, RoundingMode.HALF_EVEN);
+        setReceivable.accept(insFeeOrders, receivable);
     }
 
     /**

+ 6 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/build/TaiShanCrawlerQuoteRequestVoBuild.java

@@ -254,6 +254,12 @@ public class TaiShanCrawlerQuoteRequestVoBuild {
                 continue;
             }
 
+            // 跳过保额为空的险种,避免数值解析时空指针异常
+            if (infoVo.getAmount() == null) {
+                log.warn("泰山报价-跳过保额为空的险种: platformKindCode={}, kindCode={}", kindCode, infoVo.getKindCode());
+                continue;
+            }
+
             TaiShanCrawlerQuotationRequest.BusinessInsurance.ItemKind itemKind;
 
             // 获取对应险种的模板默认值(与Python insurance_Map对应)