|
|
@@ -456,8 +456,10 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
}
|
|
|
//是否强制走非车
|
|
|
if(isNoCar) {
|
|
|
- if(judgementsIsNoCar(filterAgreementProductCosts.get(0).getCostsAttrLinks(),undwrtRulesAttrList,ruleAttrMappingVoList)){
|
|
|
- return filterAgreementProductCosts.get(0).getId();
|
|
|
+ for(int i=0;i<filterAgreementProductCosts.size();i++) {
|
|
|
+ if (judgementsIsNoCar(filterAgreementProductCosts.get(i).getCostsAttrLinks(), undwrtRulesAttrList, ruleAttrMappingVoList)) {
|
|
|
+ return filterAgreementProductCosts.get(i).getId();
|
|
|
+ }
|
|
|
}
|
|
|
}else{
|
|
|
for (int i = 0; i < filterAgreementProductCosts.size(); i++) {
|
|
|
@@ -468,8 +470,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return null;
|
|
|
-// throw new SystemException("费用因子匹配失败");
|
|
|
+// return null;
|
|
|
+ throw new SystemException("费用因子匹配失败");
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -528,7 +530,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
ruleAttrMappingVo.setValue(ptlAgreementUndwrtRulesDictLabal.getCode());
|
|
|
}
|
|
|
}
|
|
|
- useFlag = attrEqual(ptlAgreementProductCostsAttrLinks.get(i), ptlAgreementUndwrtRulesAttr, ruleAttrMappingVo.getValue());
|
|
|
+ useFlag = attrEqual(ptlAgreementProductCostsAttrLinks.get(i), ptlAgreementUndwrtRulesAttr, ruleAttrMappingVo.getAttrCode());
|
|
|
if(!useFlag)
|
|
|
return false;
|
|
|
}
|
|
|
@@ -605,9 +607,27 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
return false;
|
|
|
//查找 费用因子规则
|
|
|
PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode())).findFirst().get();
|
|
|
+ //如果是多选 对value进行转换
|
|
|
+ if(ptlAgreementUndwrtRulesAttr.getAttrType().equals("checkbox")) {
|
|
|
+ PtlAgreementUndwrtRulesDictLabal ptlAgreementUndwrtRulesDictLabal = ptlAgreementUndwrtRulesAttr.getDictLabal().stream().filter(x ->
|
|
|
+ x.getCode().equals(ruleAttrMappingVo.getValue())).findFirst().orElse(null);
|
|
|
+ ruleAttrMappingVo.setValue(ptlAgreementUndwrtRulesDictLabal.getName());
|
|
|
+ }
|
|
|
+ //如果是单选 并且是 性别的话 转换为code
|
|
|
+ if(ptlAgreementUndwrtRulesAttr.getAttrType().equals("radio"))
|
|
|
+ {
|
|
|
+ if("CarOwnersSex".equals(ptlAgreementUndwrtRulesAttr.getAttrCode()) || "ApplicantSex".equals(ptlAgreementUndwrtRulesAttr.getAttrCode()) ||
|
|
|
+ "InsuredSex".equals(ptlAgreementUndwrtRulesAttr.getAttrCode())){
|
|
|
+ PtlAgreementUndwrtRulesDictLabal ptlAgreementUndwrtRulesDictLabal = ptlAgreementUndwrtRulesAttr.getDictLabal().stream().filter(x ->
|
|
|
+ x.getName().equals(ruleAttrMappingVo.getValue())).findFirst().orElse(null);
|
|
|
+ ruleAttrMappingVo.setValue(ptlAgreementUndwrtRulesDictLabal.getCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
useFlag = attrEqual(ptlAgreementProductCostsAttrLinks.get(i), ptlAgreementUndwrtRulesAttr, ruleAttrMappingVo.getValue());
|
|
|
- if(!useFlag)
|
|
|
+ if(!useFlag) {
|
|
|
+ System.out.printf("规则匹配失败:" + ptlAgreementProductCostsAttrLinks.get(i).getAttrCode());
|
|
|
return false;
|
|
|
+ }
|
|
|
}
|
|
|
return useFlag;
|
|
|
}
|
|
|
@@ -773,7 +793,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
* @return
|
|
|
*/
|
|
|
private boolean selectEqual(PtlAgreementProductCostsAttrLink ptlAgreementProductCostsAttrLink, String value){
|
|
|
- if(ptlAgreementProductCostsAttrLink.getMin().contains(value)){
|
|
|
+ if(ptlAgreementProductCostsAttrLink.getMin() != null && ptlAgreementProductCostsAttrLink.getMin().contains(value)){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|