Browse Source

核保规则

cuixinpeng 2 năm trước cách đây
mục cha
commit
f02ed94639

+ 9 - 15
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -1053,6 +1053,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
             accidentActualPremium = new BigDecimal(accidentResponseVo.getActualPremium());
         }*/
         FeeSchemeReqDto feeSchemeReqDto = this.getFeeSchemeInfo(quoteInfoVo,quoteRespVo,agreementId,insOrders.getProductid());
+        //matchTheUndwrtRules(feeSchemeReqDto);
         FeeSchemeResDto feeSchemeResDto = this.matchTheAppropriateFees(feeSchemeReqDto);
         InsFeeOrder insFeeOrder = new InsFeeOrder(feeSchemeReqDto,feeSchemeResDto,businessNo);
         PtlAgreement agreement=ptlAgreementService.getById(agreementId);
@@ -1720,18 +1721,15 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         }
     }
 
-    public String matchTheUndwrtRules(FeeSchemeReqDto feeSchemeReqDto) {
+    public void matchTheUndwrtRules(FeeSchemeReqDto feeSchemeReqDto) {
 
-        //先根据业务类别、有效期、协议编码、历史标志代码字段 获取对应费用方案列表
+        //根据协议号获取有效的规则
         List<PtlAgreementUndwrtRules> ptlAgreementUndwrtRulesList =ptlAgreementUndwrtRulesService.selectVliadRules(feeSchemeReqDto.getAgreementId());
         if (ptlAgreementUndwrtRulesList.isEmpty()) {
-
             //没有有效的核保规则,直接抛出
-            return null;
+            return;
         }else{
-            //符合跟单信息的方案列表
-            List<PtlAgreementUndwrtRules> validSchemeList=new ArrayList();
-            //循环符合的方案列表,再进行细化的因子匹配,获取最终可以匹配到的方案
+            //循环有效的规则列表,进行因子匹配,抛出匹配到的因子项
             for(int i=0;i<ptlAgreementUndwrtRulesList.size();i++){
                 PtlAgreementUndwrtRules undwrtRules = ptlAgreementUndwrtRulesList.get(i);
                 //获取处理后的待校验因子
@@ -1742,19 +1740,15 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 boolean checkFlag=checkFactorValidWithInsuranceInfo(matchKeyStr,factorToBeVerified);
                 //如果该方案所有因子都校验通过,则放入符合校验方案列表
                 if(checkFlag){
-                    validSchemeList.add(undwrtRules);
+                    //validSchemeList.add(undwrtRules);
+                    throw new SystemException("被拒保规则规则Id:"+undwrtRules.getId()+"校验住,无法出单,请联系业管支持!规则描述信息为:"+undwrtRules.getRuleDescription());
                 }
             }
-            if(validSchemeList.size()>0){
-                PtlAgreementUndwrtRules undwrtRules = validSchemeList.get(0);
-                throw new SystemException("被拒保规则协议号:"+undwrtRules.getAgreementId()+"规则Id:"+undwrtRules.getId()+"校验住,无法出单,请联系业管支持!");
-            }
         }
-        return null;
     }
     /**
      * 根据配置的因子表数据,组装标准的待校验因子列表
-     * 新增因子时,顺序需要与getMatchKeyWithInsuranceInfo()方法放入跟单信息一致
+     * 新增因子时,顺序需要与getMatchKeyWithInsuranceInfoForRules()方法放入跟单信息一致
      * @param rulesFactor
      * @return
      */
@@ -2181,7 +2175,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
     }
     /**
      * 根据跟单信息,按照约定顺序进行拼接匹配串
-     * 新增因子时,顺序需要与getFactorToBeVerified()方法放入待校验因子一致
+     * 新增因子时,顺序需要与getFactorToBeVerifiedForRules()方法放入待校验因子一致
      * @param feeSchemeReqDto
      * @return
      */

+ 2 - 2
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementUndwrtRulesServiceImpl.java

@@ -15,7 +15,7 @@ import java.util.List;
 
 /**
  * @author CXP
- * @description 针对表【ptl_agreement_undwrt_rules(协议产品费用)】的数据库操作Service实现
+ * @description 针对表【ptl_agreement_undwrt_rules(协议承保规则)】的数据库操作Service实现
  * @createDate 2023年12月20日22:25:57
  */
 @Service
@@ -59,7 +59,7 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
     public List<PtlAgreementUndwrtRules> selectVliadRules(String agreementId){
         LambdaQueryWrapper<PtlAgreementUndwrtRules> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(PtlAgreementUndwrtRules::getAgreementId, agreementId);
-        wrapper.in(PtlAgreementUndwrtRules::getValidInd,1);
+        wrapper.eq(PtlAgreementUndwrtRules::getValidInd,1);
         List<PtlAgreementUndwrtRules> ptlAgreementProductCosts = baseMapper.selectList(wrapper);
         return ptlAgreementProductCosts;
     }