|
|
@@ -96,14 +96,16 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
public void verificationCostFactor(InsAreaCompany insAreaCompany,InsOrders insOrders){
|
|
|
|
|
|
List<AgreementProductCosts> agreementProductCosts = ptlAgreementProductCostsNewService.costsGetList(insAreaCompany.getAgreementId(),insOrders.getProductid());
|
|
|
- if(agreementProductCosts == null || agreementProductCosts.size() == 0){
|
|
|
- throw new SystemException("协议费用因子为空");
|
|
|
+// if(agreementProductCosts == null || agreementProductCosts.size() == 0){
|
|
|
+// throw new SystemException("协议费用因子为空");
|
|
|
+// }
|
|
|
+ if(agreementProductCosts.size() > 0) {
|
|
|
+ //按优先级进行排序
|
|
|
+ Collections.sort(agreementProductCosts, Comparator.comparingInt(AgreementProductCosts::getPriorityLevel).reversed());
|
|
|
+ //遍历费用因子
|
|
|
+ String costsId = verificationCosts(agreementProductCosts, insAreaCompany, insOrders);
|
|
|
+ calcCosts(costsId, insAreaCompany);
|
|
|
}
|
|
|
- //按优先级进行排序
|
|
|
- Collections.sort(agreementProductCosts, Comparator.comparingInt(AgreementProductCosts::getPriorityLevel).reversed());
|
|
|
- //遍历费用因子
|
|
|
- String costsId = verificationCosts(agreementProductCosts, insAreaCompany,insOrders);
|
|
|
- calcCosts(costsId,insAreaCompany);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -372,21 +374,21 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
|
|
|
if(Integer.parseInt(esmRetail.getRetailtype()) >= 3){
|
|
|
insFeeOrderNew.setFirstDetailProportion(new BigDecimal(esmRetail.getDisrate1()));
|
|
|
insFeeOrderNew.setFirstDetailPremiums(insFeeOrderNew.getJqNoTaxPremium().multiply(new BigDecimal(esmRetail.getDisrate1())).divide(new BigDecimal("100")));
|
|
|
- if(parents.size() > 2){
|
|
|
+ if(parents != null && parents.size() > 2){
|
|
|
insFeeOrderNew.setThreeLevelUserId(parents.get(2).getId());
|
|
|
}
|
|
|
}
|
|
|
if(Integer.parseInt(esmRetail.getRetailtype()) >= 2){
|
|
|
insFeeOrderNew.setSecondDetailProportion(new BigDecimal(esmRetail.getDisrate2()));
|
|
|
insFeeOrderNew.setSecondDetailPremiums(insFeeOrderNew.getJqNoTaxPremium().multiply(new BigDecimal(esmRetail.getDisrate2())).divide(new BigDecimal("100")));
|
|
|
- if(parents.size() > 1){
|
|
|
+ if(parents != null && parents.size() > 1){
|
|
|
insFeeOrderNew.setTwoLevelUserId(parents.get(1).getId());
|
|
|
}
|
|
|
}
|
|
|
if(Integer.parseInt(esmRetail.getRetailtype()) >= 1){
|
|
|
insFeeOrderNew.setThirdDetailProportion(new BigDecimal(esmRetail.getDisrate3()));
|
|
|
insFeeOrderNew.setThirdDetailPremiums(insFeeOrderNew.getJqNoTaxPremium().multiply(new BigDecimal(esmRetail.getDisrate3())).divide(new BigDecimal("100")));
|
|
|
- if(parents.size() > 0) {
|
|
|
+ if(parents != null && parents.size() > 0) {
|
|
|
insFeeOrderNew.setFirstLevelUserId(parents.get(0).getId());
|
|
|
}
|
|
|
}
|