|
|
@@ -3,10 +3,7 @@ package com.ydtech.modules.fee.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.ydtech.constants.enums.dict.insurance.EnergyType;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
-import com.ydtech.modules.admin.model.SysDept;
|
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
|
-import com.ydtech.modules.admin.model.po.SysUserAccount;
|
|
|
-import com.ydtech.modules.admin.service.SysDeptService;
|
|
|
import com.ydtech.modules.admin.service.SysUserAccountService;
|
|
|
import com.ydtech.modules.admin.service.SysUserService;
|
|
|
import com.ydtech.modules.esm.model.EsmRetail;
|
|
|
@@ -18,7 +15,9 @@ import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
|
|
|
import com.ydtech.modules.fee.service.FeeRuleSchemeService;
|
|
|
import com.ydtech.modules.order.entity.InsAreaCompany;
|
|
|
import com.ydtech.modules.order.entity.InsOrders;
|
|
|
-import com.ydtech.modules.order.entity.vo.*;
|
|
|
+import com.ydtech.modules.order.entity.vo.FeeOrderNewVo;
|
|
|
+import com.ydtech.modules.order.entity.vo.QueryOrderFeeResultVo;
|
|
|
+import com.ydtech.modules.order.entity.vo.QueryOrderFeeVo;
|
|
|
import com.ydtech.modules.order.service.InsOrdersService;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreement;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlNewCarJudgeRules;
|
|
|
@@ -35,11 +34,12 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.math.RoundingMode;
|
|
|
-import java.util.*;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Comparator;
|
|
|
+import java.util.List;
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* @author: tz
|
|
|
@@ -113,7 +113,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
@Override
|
|
|
public void verificationCostFactor(InsAreaCompany insAreaCompany, InsOrders insOrders, StringBuilder logs) {
|
|
|
|
|
|
- List<AgreementProductCosts> agreementProductCosts = ptlAgreementProductCostsNewService.costsGetList(insAreaCompany.getAgreementId(), insOrders.getProductid());
|
|
|
+ List<AgreementProductCosts> agreementProductCosts =
|
|
|
+ ptlAgreementProductCostsNewService.costsGetList(insAreaCompany.getAgreementId(), insOrders.getProductid());
|
|
|
// if(agreementProductCosts == null || agreementProductCosts.size() == 0){
|
|
|
// throw new SystemException("协议费用因子为空");
|
|
|
// }
|
|
|
@@ -122,7 +123,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
agreementProductCosts.get(i).setPriorityLevel(10);
|
|
|
}
|
|
|
}
|
|
|
- if (agreementProductCosts.size() > 0) {
|
|
|
+ if (!agreementProductCosts.isEmpty()) {
|
|
|
//按优先级进行排序
|
|
|
Collections.sort(agreementProductCosts, Comparator.comparingInt(AgreementProductCosts::getPriorityLevel));
|
|
|
//遍历费用因子
|
|
|
@@ -144,7 +145,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void verificationRuleFactor(InsAreaCompany insAreaCompany, InsOrders insOrders) {
|
|
|
- List<PtlAgreementUndwrtRulesNew> ptlAgreementUndwrtRules = ptlAgreementUndwrtRulesNewService.rulesList(insAreaCompany.getAgreementId());
|
|
|
+ List<PtlAgreementUndwrtRulesNew> ptlAgreementUndwrtRules =
|
|
|
+ ptlAgreementUndwrtRulesNewService.rulesList(insAreaCompany.getAgreementId());
|
|
|
verificationRules(ptlAgreementUndwrtRules, insAreaCompany, insOrders);
|
|
|
}
|
|
|
|
|
|
@@ -168,7 +170,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
PtlAgreementProductCostsNew ptlAgreementProductCostsNew = ptlAgreementProductCostsNewService.getById(costsId);
|
|
|
|
|
|
//出口配置
|
|
|
- PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, costsId));
|
|
|
+ PtlAgreementProductCostsExport ptlAgreementProductCostsExport =
|
|
|
+ ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, costsId));
|
|
|
InsFeeOrderNew insFeeOrderNew = new InsFeeOrderNew();
|
|
|
insFeeOrderNew.setId(IdGenerate.nextId());
|
|
|
insFeeOrderNew.setCostsId(costsId);
|
|
|
@@ -284,8 +287,12 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
//region 设置机构管理费
|
|
|
|
|
|
//交强机构管理费
|
|
|
- BigDecimal jqDeptRadio = ptlAgreementProductCostsExport.getJqExportRadioLevel1().add(ptlAgreementProductCostsExport.getJqExportRadioLevel2()).add(ptlAgreementProductCostsExport.getJqExportRadioLevel3()).add(ptlAgreementProductCostsExport.getJqExportRadioLevel4()).add(ptlAgreementProductCostsExport.getJqExportRadioLevel5());
|
|
|
- FeeOrderNewVo.DeptManagerFee jqDeptManagerFee = feeRuleSchemeService.calcDeptManagerFee(insFeeOrderNew.getJqPremium(), ptlAgreementProductCostsExport.getJqExportRadioLevel1(), ptlAgreementProductCostsExport.getJqExportRadioLevel2(), ptlAgreementProductCostsExport.getJqExportRadioLevel3(), ptlAgreementProductCostsExport.getJqExportRadioLevel4(), ptlAgreementProductCostsExport.getJqExportRadioLevel5());
|
|
|
+ BigDecimal jqDeptRadio =
|
|
|
+ ptlAgreementProductCostsExport.getJqExportRadioLevel1().add(ptlAgreementProductCostsExport.getJqExportRadioLevel2()).add(ptlAgreementProductCostsExport.getJqExportRadioLevel3()).add(ptlAgreementProductCostsExport.getJqExportRadioLevel4()).add(ptlAgreementProductCostsExport.getJqExportRadioLevel5());
|
|
|
+ FeeOrderNewVo.DeptManagerFee jqDeptManagerFee = feeRuleSchemeService.calcDeptManagerFee(insFeeOrderNew.getJqPremium(),
|
|
|
+ ptlAgreementProductCostsExport.getJqExportRadioLevel1(), ptlAgreementProductCostsExport.getJqExportRadioLevel2(),
|
|
|
+ ptlAgreementProductCostsExport.getJqExportRadioLevel3(), ptlAgreementProductCostsExport.getJqExportRadioLevel4(),
|
|
|
+ ptlAgreementProductCostsExport.getJqExportRadioLevel5());
|
|
|
insFeeOrderNew.setJqDeptProportionLevel1(jqDeptManagerFee.getDeptProportionLevelOne());
|
|
|
insFeeOrderNew.setJqDeptPremiumsLevel1(jqDeptManagerFee.getDeptPremiumsLevelOne());
|
|
|
insFeeOrderNew.setJqDeptProportionLevel2(jqDeptManagerFee.getDeptProportionLevelTwo());
|
|
|
@@ -297,8 +304,12 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
insFeeOrderNew.setJqDeptProportionLevel5(jqDeptManagerFee.getDeptProportionLevelFive());
|
|
|
insFeeOrderNew.setJqDeptPremiumsLevel5(jqDeptManagerFee.getDeptPremiumsLevelFive());
|
|
|
|
|
|
- BigDecimal syDeptRadio = ptlAgreementProductCostsExport.getSyExportRadioLevel1().add(ptlAgreementProductCostsExport.getSyExportRadioLevel2()).add(ptlAgreementProductCostsExport.getSyExportRadioLevel3()).add(ptlAgreementProductCostsExport.getSyExportRadioLevel4()).add(ptlAgreementProductCostsExport.getSyExportRadioLevel5());
|
|
|
- FeeOrderNewVo.DeptManagerFee syDeptManagerFee = feeRuleSchemeService.calcDeptManagerFee(insFeeOrderNew.getSyPremium(), ptlAgreementProductCostsExport.getSyExportRadioLevel1(), ptlAgreementProductCostsExport.getSyExportRadioLevel2(), ptlAgreementProductCostsExport.getSyExportRadioLevel3(), ptlAgreementProductCostsExport.getSyExportRadioLevel4(), ptlAgreementProductCostsExport.getSyExportRadioLevel5());
|
|
|
+ BigDecimal syDeptRadio =
|
|
|
+ ptlAgreementProductCostsExport.getSyExportRadioLevel1().add(ptlAgreementProductCostsExport.getSyExportRadioLevel2()).add(ptlAgreementProductCostsExport.getSyExportRadioLevel3()).add(ptlAgreementProductCostsExport.getSyExportRadioLevel4()).add(ptlAgreementProductCostsExport.getSyExportRadioLevel5());
|
|
|
+ FeeOrderNewVo.DeptManagerFee syDeptManagerFee = feeRuleSchemeService.calcDeptManagerFee(insFeeOrderNew.getSyPremium(),
|
|
|
+ ptlAgreementProductCostsExport.getSyExportRadioLevel1(), ptlAgreementProductCostsExport.getSyExportRadioLevel2(),
|
|
|
+ ptlAgreementProductCostsExport.getSyExportRadioLevel3(), ptlAgreementProductCostsExport.getSyExportRadioLevel4(),
|
|
|
+ ptlAgreementProductCostsExport.getSyExportRadioLevel5());
|
|
|
insFeeOrderNew.setSyDeptProportionLevel1(syDeptManagerFee.getDeptProportionLevelOne());
|
|
|
insFeeOrderNew.setSyDeptPremiumsLevel1(syDeptManagerFee.getDeptPremiumsLevelOne());
|
|
|
insFeeOrderNew.setSyDeptProportionLevel2(syDeptManagerFee.getDeptProportionLevelTwo());
|
|
|
@@ -310,8 +321,12 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
insFeeOrderNew.setSyDeptProportionLevel5(syDeptManagerFee.getDeptProportionLevelFive());
|
|
|
insFeeOrderNew.setSyDeptPremiumsLevel5(syDeptManagerFee.getDeptPremiumsLevelFive());
|
|
|
|
|
|
- BigDecimal noDeptRadio = ptlAgreementProductCostsExport.getNoCarExportRadioLevel1().add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel2()).add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel3()).add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel4()).add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel5());
|
|
|
- FeeOrderNewVo.DeptManagerFee noDeptManagerFee = feeRuleSchemeService.calcDeptManagerFee(insFeeOrderNew.getNoPremium(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel1(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel2(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel3(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel4(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel5());
|
|
|
+ BigDecimal noDeptRadio =
|
|
|
+ ptlAgreementProductCostsExport.getNoCarExportRadioLevel1().add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel2()).add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel3()).add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel4()).add(ptlAgreementProductCostsExport.getNoCarExportRadioLevel5());
|
|
|
+ FeeOrderNewVo.DeptManagerFee noDeptManagerFee = feeRuleSchemeService.calcDeptManagerFee(insFeeOrderNew.getNoPremium(),
|
|
|
+ ptlAgreementProductCostsExport.getNoCarExportRadioLevel1(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel2(),
|
|
|
+ ptlAgreementProductCostsExport.getNoCarExportRadioLevel3(), ptlAgreementProductCostsExport.getNoCarExportRadioLevel4(),
|
|
|
+ ptlAgreementProductCostsExport.getNoCarExportRadioLevel5());
|
|
|
insFeeOrderNew.setNoDeptProportionLevel1(noDeptManagerFee.getDeptProportionLevelOne());
|
|
|
insFeeOrderNew.setNoDeptPremiumsLevel1(noDeptManagerFee.getDeptPremiumsLevelOne());
|
|
|
insFeeOrderNew.setNoDeptProportionLevel2(noDeptManagerFee.getDeptProportionLevelTwo());
|
|
|
@@ -352,14 +367,16 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
* @param insOrders
|
|
|
* @return
|
|
|
*/
|
|
|
- private String verificationCosts(List<AgreementProductCosts> agreementProductCosts, InsAreaCompany insAreaCompany, InsOrders insOrders, StringBuilder logs) {
|
|
|
+ private String verificationCosts(List<AgreementProductCosts> agreementProductCosts, InsAreaCompany insAreaCompany,
|
|
|
+ InsOrders insOrders, StringBuilder logs) {
|
|
|
//匹配费用因子
|
|
|
//获取所有费用属性
|
|
|
List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
|
|
|
//获取新旧车信息
|
|
|
PtlNewCarJudgeRules carJudgeRule = getCarJudgeRule(insAreaCompany.getCompanyId());
|
|
|
//获取所有费用属性关联
|
|
|
- List<RuleAttrMappingVo> ruleAttrMappingVoList = RuleAttrMappingVo.getRuleAttrMappingVoList(insAreaCompany, insOrders, undwrtRulesAttrList, carJudgeRule);
|
|
|
+ List<RuleAttrMappingVo> ruleAttrMappingVoList = RuleAttrMappingVo.getRuleAttrMappingVoList(insAreaCompany, insOrders,
|
|
|
+ undwrtRulesAttrList, carJudgeRule);
|
|
|
|
|
|
// List<AgreementProductCosts> filterAgreementProductCosts = new ArrayList<>();
|
|
|
|
|
|
@@ -367,7 +384,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
// //查找是否有强制非车因子
|
|
|
// for(int i=0;i<agreementProductCosts.size();i++) {
|
|
|
// PtlAgreementProductCostsAttrLink ptlAgreementProductCostsAttrLink =
|
|
|
-// agreementProductCosts.get(i).getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("IsNonMotorInsurance")).findFirst().orElse(null);
|
|
|
+// agreementProductCosts.get(i).getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("IsNonMotorInsurance")
|
|
|
+// ).findFirst().orElse(null);
|
|
|
//
|
|
|
// if(!Objects.isNull(ptlAgreementProductCostsAttrLink)){
|
|
|
// if(ptlAgreementProductCostsAttrLink.getMin().equals("1")){
|
|
|
@@ -385,7 +403,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
//是否强制走非车
|
|
|
// if(isNoCar) {
|
|
|
// for(int i=0;i<filterAgreementProductCosts.size();i++) {
|
|
|
-// if (judgementsIsNoCar(filterAgreementProductCosts.get(i).getCostsAttrLinks(), undwrtRulesAttrList, ruleAttrMappingVoList)) {
|
|
|
+// if (judgementsIsNoCar(filterAgreementProductCosts.get(i).getCostsAttrLinks(), undwrtRulesAttrList,
|
|
|
+// ruleAttrMappingVoList)) {
|
|
|
// return filterAgreementProductCosts.get(i).getId();
|
|
|
// }
|
|
|
// }
|
|
|
@@ -417,14 +436,16 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private boolean verificationRules(List<PtlAgreementUndwrtRulesNew> ptlAgreementUndwrtRulesNews, InsAreaCompany insAreaCompany, InsOrders insOrders) {
|
|
|
+ private boolean verificationRules(List<PtlAgreementUndwrtRulesNew> ptlAgreementUndwrtRulesNews, InsAreaCompany insAreaCompany,
|
|
|
+ InsOrders insOrders) {
|
|
|
|
|
|
StringBuilder logs = new StringBuilder();
|
|
|
//匹配承保规则
|
|
|
//获取所有承保规则属性
|
|
|
List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
|
|
|
//获取所有费用属性关联
|
|
|
- List<RuleAttrMappingVo> ruleAttrMappingVoList = RuleAttrMappingVo.getRuleAttrMappingVoList(insAreaCompany, insOrders, undwrtRulesAttrList, getCarJudgeRule(insAreaCompany.getCompanyId()));
|
|
|
+ List<RuleAttrMappingVo> ruleAttrMappingVoList = RuleAttrMappingVo.getRuleAttrMappingVoList(insAreaCompany, insOrders,
|
|
|
+ undwrtRulesAttrList, getCarJudgeRule(insAreaCompany.getCompanyId()));
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ptlAgreementUndwrtRulesNews.size(); i++) {
|
|
|
@@ -445,48 +466,56 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
* @return
|
|
|
*/
|
|
|
private boolean judgements(List<PtlAgreementProductCostsAttrLink> ptlAgreementProductCostsAttrLinks,
|
|
|
- List<PtlAgreementUndwrtRulesAttr> rulesAttrs, List<RuleAttrMappingVo> ruleAttrMappingVoList, StringBuilder logs) {
|
|
|
+ List<PtlAgreementUndwrtRulesAttr> rulesAttrs, List<RuleAttrMappingVo> ruleAttrMappingVoList,
|
|
|
+ StringBuilder logs) {
|
|
|
boolean useFlag = true;
|
|
|
|
|
|
- for (int i = 0; i < ptlAgreementProductCostsAttrLinks.size(); i++) {
|
|
|
- int finalI = i;
|
|
|
|
|
|
+ for (PtlAgreementProductCostsAttrLink ptlAgreementProductCostsAttrLink : ptlAgreementProductCostsAttrLinks) {
|
|
|
//查找规则中的 传值属性
|
|
|
- RuleAttrMappingVo ruleAttrMappingVo = ruleAttrMappingVoList.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode())).findFirst().orElse(null);
|
|
|
-
|
|
|
- //先跳过强制非车的检测
|
|
|
- if (ptlAgreementProductCostsAttrLinks.get(i).getAttrCode().equals("IsNonMotorInsurance"))
|
|
|
- continue;
|
|
|
+ RuleAttrMappingVo ruleAttrMappingVo = ruleAttrMappingVoList.stream()
|
|
|
+ .filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLink.getAttrCode()))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
|
|
|
//如果查找不到 传值属性 直接费用对比失败
|
|
|
if (ruleAttrMappingVo == null) {
|
|
|
- log.debug("规则匹配失败:" + ptlAgreementProductCostsAttrLinks.get(i).getAttrCode());
|
|
|
- log.debug("传入的值找不到该属性:" + ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode());
|
|
|
- int finalI1 = i;
|
|
|
- List<PtlAgreementUndwrtRulesAttr> collect = rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI1).getAttrCode())).collect(Collectors.toList());
|
|
|
- if (collect.size() > 0) {
|
|
|
+ log.debug("规则匹配失败:" + ptlAgreementProductCostsAttrLink.getAttrCode());
|
|
|
+ log.debug("传入的值找不到该属性:" + ptlAgreementProductCostsAttrLink.getAttrCode());
|
|
|
+
|
|
|
+ List<PtlAgreementUndwrtRulesAttr> collect = rulesAttrs.stream()
|
|
|
+ .filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLink.getAttrCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!collect.isEmpty()) {
|
|
|
logs.append("规则匹配失败:" + collect.get(0).getAttrName() + "\n");
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
//查找 费用因子规则
|
|
|
- PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode())).findFirst().get();
|
|
|
+ PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = rulesAttrs.stream()
|
|
|
+ .filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLink.getAttrCode()))
|
|
|
+ .findFirst()
|
|
|
+ .get();
|
|
|
|
|
|
- useFlag = attrEqual(ptlAgreementProductCostsAttrLinks.get(i), ptlAgreementUndwrtRulesAttr, ruleAttrMappingVo.getValue());
|
|
|
+ useFlag = attrEqual(ptlAgreementProductCostsAttrLink, ptlAgreementUndwrtRulesAttr, ruleAttrMappingVo.getValue());
|
|
|
if (!useFlag) {
|
|
|
- log.debug("规则匹配失败:" + ptlAgreementProductCostsAttrLinks.get(i).getAttrCode());
|
|
|
- log.debug("检验的值:" + ptlAgreementProductCostsAttrLinks.get(i).getMin());
|
|
|
+ log.debug("规则匹配失败:" + ptlAgreementProductCostsAttrLink.getAttrCode());
|
|
|
+ log.debug("检验的值:" + ptlAgreementProductCostsAttrLink.getMin());
|
|
|
log.debug("传入的值:" + ruleAttrMappingVo.getValue());
|
|
|
- int finalI1 = i;
|
|
|
- List<PtlAgreementUndwrtRulesAttr> collect = rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI1).getAttrCode())).collect(Collectors.toList());
|
|
|
- if (collect.size() > 0) {
|
|
|
+
|
|
|
+ List<PtlAgreementUndwrtRulesAttr> collect = rulesAttrs.stream()
|
|
|
+ .filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLink.getAttrCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (!collect.isEmpty()) {
|
|
|
logs.append("规则匹配失败:" + collect.get(0).getAttrName() + "\n");
|
|
|
}
|
|
|
- if(ptlAgreementProductCostsAttrLinks.get(i).getMin() != null) {
|
|
|
- logs.append("检验的值:" + ptlAgreementProductCostsAttrLinks.get(i).getMin() + "\n");
|
|
|
- }else{
|
|
|
- logs.append("检验的值:" + ptlAgreementProductCostsAttrLinks.get(i).getMax() + "\n");
|
|
|
+
|
|
|
+ if (ptlAgreementProductCostsAttrLink.getMin() != null) {
|
|
|
+ logs.append("检验的值:" + ptlAgreementProductCostsAttrLink.getMin() + "\n");
|
|
|
+ } else {
|
|
|
+ logs.append("检验的值:" + ptlAgreementProductCostsAttrLink.getMax() + "\n");
|
|
|
}
|
|
|
|
|
|
logs.append("传入的值:" + ruleAttrMappingVo.getValue() + "\n");
|
|
|
@@ -494,6 +523,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
return useFlag;
|
|
|
}
|
|
|
|
|
|
@@ -523,19 +553,22 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
return true;
|
|
|
}
|
|
|
//查找 费用因子规则
|
|
|
- PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementUndwrtRulesAttrLinks.get(finalI).getAttrCode())).findFirst().get();
|
|
|
+ PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr =
|
|
|
+ rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementUndwrtRulesAttrLinks.get(finalI).getAttrCode())).findFirst().get();
|
|
|
//如果是多选 对value进行转换
|
|
|
if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("checkbox")) {
|
|
|
- PtlAgreementUndwrtRulesDictLabal ptlAgreementUndwrtRulesDictLabal = ptlAgreementUndwrtRulesAttr.getDictLabal().stream().filter(x ->
|
|
|
- x.getName().equals(ruleAttrMappingVo.getValue())).findFirst().orElse(null);
|
|
|
+ PtlAgreementUndwrtRulesDictLabal ptlAgreementUndwrtRulesDictLabal =
|
|
|
+ ptlAgreementUndwrtRulesAttr.getDictLabal().stream().filter(x ->
|
|
|
+ x.getName().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.getCode().equals(ruleAttrMappingVo.getValue())).findFirst().orElse(null);
|
|
|
+ PtlAgreementUndwrtRulesDictLabal ptlAgreementUndwrtRulesDictLabal =
|
|
|
+ ptlAgreementUndwrtRulesAttr.getDictLabal().stream().filter(x ->
|
|
|
+ x.getCode().equals(ruleAttrMappingVo.getValue())).findFirst().orElse(null);
|
|
|
ruleAttrMappingVo.setValue(ptlAgreementUndwrtRulesDictLabal.getCode());
|
|
|
}
|
|
|
}
|
|
|
@@ -544,9 +577,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
return true;
|
|
|
} else {
|
|
|
logs.append("规则匹配失败:" + ptlAgreementUndwrtRulesAttrLinks.get(i).getAttrCode() + "\n");
|
|
|
- if(ptlAgreementUndwrtRulesAttrLinks.get(i).getMin() != null) {
|
|
|
+ if (ptlAgreementUndwrtRulesAttrLinks.get(i).getMin() != null) {
|
|
|
logs.append("校验的值:" + ptlAgreementUndwrtRulesAttrLinks.get(i).getMin() + "\n");
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
logs.append("校验的值:" + ptlAgreementUndwrtRulesAttrLinks.get(i).getMax() + "\n");
|
|
|
}
|
|
|
logs.append("传入的值:" + ruleAttrMappingVo.getValue());
|
|
|
@@ -570,7 +603,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
for (int i = 0; i < ptlAgreementProductCostsAttrLinks.size(); i++) {
|
|
|
int finalI = i;
|
|
|
//查找规则中的 传值属性
|
|
|
- RuleAttrMappingVo ruleAttrMappingVo = ruleAttrMappingVoList.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode())).findFirst().orElse(null);
|
|
|
+ RuleAttrMappingVo ruleAttrMappingVo =
|
|
|
+ ruleAttrMappingVoList.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode())).findFirst().orElse(null);
|
|
|
//如果是强制非车险
|
|
|
if (ptlAgreementProductCostsAttrLinks.get(i).getAttrCode().equals("IsNonMotorInsurance"))
|
|
|
continue;
|
|
|
@@ -578,19 +612,22 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
if (ruleAttrMappingVo == null)
|
|
|
return false;
|
|
|
//查找 费用因子规则
|
|
|
- PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = rulesAttrs.stream().filter(x -> x.getAttrCode().equals(ptlAgreementProductCostsAttrLinks.get(finalI).getAttrCode())).findFirst().get();
|
|
|
+ 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);
|
|
|
+ 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);
|
|
|
+ PtlAgreementUndwrtRulesDictLabal ptlAgreementUndwrtRulesDictLabal =
|
|
|
+ ptlAgreementUndwrtRulesAttr.getDictLabal().stream().filter(x ->
|
|
|
+ x.getName().equals(ruleAttrMappingVo.getValue())).findFirst().orElse(null);
|
|
|
ruleAttrMappingVo.setValue(ptlAgreementUndwrtRulesDictLabal.getCode());
|
|
|
}
|
|
|
}
|
|
|
@@ -612,7 +649,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
* @param value
|
|
|
* @return
|
|
|
*/
|
|
|
- private boolean attrEqual(PtlAgreementProductCostsAttrLink ptlAgreementProductCostsAttrLink, PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr, String value) {
|
|
|
+ private boolean attrEqual(PtlAgreementProductCostsAttrLink ptlAgreementProductCostsAttrLink,
|
|
|
+ PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr, String value) {
|
|
|
if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("checkbox")) {
|
|
|
return checkBoxEqual(ptlAgreementProductCostsAttrLink, value);
|
|
|
} else if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("inputNumber")) {
|
|
|
@@ -633,10 +671,12 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
} else if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("radio")) {
|
|
|
return radioEqual(ptlAgreementProductCostsAttrLink, value);
|
|
|
}
|
|
|
+
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- private boolean attrEqual(PtlAgreementUndwrtRulesAttrLink ptlAgreementUndwrtRulesAttrLink, PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr, String value) {
|
|
|
+ private boolean attrEqual(PtlAgreementUndwrtRulesAttrLink ptlAgreementUndwrtRulesAttrLink,
|
|
|
+ PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr, String value) {
|
|
|
if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("checkbox")) {
|
|
|
return checkBoxEqual(ptlAgreementUndwrtRulesAttrLink, value);
|
|
|
} else if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("inputNumber")) {
|
|
|
@@ -848,7 +888,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
*/
|
|
|
private PtlNewCarJudgeRules getCarJudgeRule(String companyId) {
|
|
|
//获取车辆新旧车信息
|
|
|
- List<PtlNewCarJudgeRules> list = ptlNewCarJudgeRulesService.list(new LambdaQueryWrapper<PtlNewCarJudgeRules>().eq(PtlNewCarJudgeRules::getCompanyId, companyId));
|
|
|
+ List<PtlNewCarJudgeRules> list =
|
|
|
+ ptlNewCarJudgeRulesService.list(new LambdaQueryWrapper<PtlNewCarJudgeRules>().eq(PtlNewCarJudgeRules::getCompanyId,
|
|
|
+ companyId));
|
|
|
if (list.size() > 0) {
|
|
|
return list.get(0);
|
|
|
}
|