Browse Source

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

lipf 2 months ago
parent
commit
b49d10c3c1

+ 30 - 6
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeOrdersServiceImpl.java

@@ -166,9 +166,26 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
     }
 
     /**
-     * 【按你的规则统一计算费用】
-     * withTax=0 → 保费 /1.06
-     * withTax=1 → 直接用保费
+     * 按照规则统一计算保险费用,支持交强险、商业险、驾乘险三种类型
+     * 根据含税标识确定计算基数:不含税时保费需除以税费因子,含税时直接使用保费
+     * 各项费用计算规则:
+     * - 入口应收、手续费、跟单费基于基数乘以对应比例
+     * - 加投、出口、出口留点直接基于保费乘以对应比例
+     * - 留点金额 = 入口应收 + 加投 - 出口
+     *
+     * @param insFeeOrders 保险费用订单对象,用于存储计算结果
+     * @param type 险种类型标识,jq-交强险、sy-商业险、jy-驾乘险
+     * @param premium 保费金额
+     * @param commissionRatio 手续费比例
+     * @param inletRatio 入口比例
+     * @param followRatio 跟单比例(当前未使用)
+     * @param addThrowRatio 加投比例
+     * @param keepPointRatio 留点比例(当前未使用,留点通过金额计算)
+     * @param exportRatio 出口比例
+     * @param exportKeepPointRatio 出口留点比例
+     * @param withTax 含税标识,0-不含税(保费/1.06),1-含税(直接使用保费)
+     * @param taxRate 税费因子,通常为1.06
+     * @param scale 保留小数位数
      */
     private void calculatePremiumByRule(
             InsFeeOrders insFeeOrders, String type,
@@ -322,8 +339,6 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
         setField(feeOrders, clazz, prefix + "PayablePremium", export);
         setField(feeOrders, clazz, prefix + "ExportKeepPointPremium", exportKeepPoint);
     }
-// ... existing code ...
-
 
     // 反射设置字段值
     private void setField(InsFeeOrders obj, Class<?> clazz, String fieldName, BigDecimal value) throws ReflectiveOperationException {
@@ -332,7 +347,16 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
         setter.invoke(obj, value);
     }
 
-    // 保存比例
+    /**
+     * 保存保险费用订单的各项比例信息,包括手续费、入口、跟单、加投、出口及留点比例
+     * 根据含税标识计算税费因子,并按险种(交强险、商业险、驾乘险)分别设置各项比例
+     * 留点比例计算公式:入口比例/税费因子 + 加投比例 - 出口比例
+     *
+     * @param ptlAgreementCostRatioVo 协议成本比例VO对象,包含各险种的比例数据
+     * @param insFeeOrders 保险费用订单对象,用于存储计算后的比例值
+     * @param withTax 含税标识,0表示不含税(需除以1.06),1表示含税
+     * @return 税费因子,不含税时返回1.06,含税时返回1
+     */
     private BigDecimal copyRatio(PtlAgreementCostRatioVo ptlAgreementCostRatioVo, InsFeeOrders insFeeOrders, Integer withTax) {
         BigDecimal taxFactor = new BigDecimal("1");
         if (withTax == 0) {