jiakai 2 месяцев назад
Родитель
Сommit
3c465ef3b2

+ 20 - 5
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 {