Parcourir la source

取消承保规则 费用因子调整

785834757 il y a 2 ans
Parent
commit
6f37b7e561

+ 12 - 10
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -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());
                     }
                 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java

@@ -63,7 +63,7 @@ public class AuditVerificationAspect {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
             InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
             //先进行承保规则判断
-            feeRuleSchemeNewService.verificationRuleFactor(insAreaCompany, insOrders);
+//            feeRuleSchemeNewService.verificationRuleFactor(insAreaCompany, insOrders);
             //再进行费用因子判断
             feeRuleSchemeNewService.verificationCostFactor(insAreaCompany, insOrders);
         }