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