785834757 2 лет назад
Родитель
Сommit
d6df9f1883

+ 23 - 3
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -31,6 +31,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.testng.annotations.Test;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -263,6 +264,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 2) {
                         insFeeOrderNew.setThreeLevelUserId(parents.get(2).getId());
                     }
+                }else{
+                    insFeeOrderNew.setThirdDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 2) {
                     insFeeOrderNew.setSecondDetailProportion(new BigDecimal(esmRetail.getDisrate2()));
@@ -272,6 +275,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 1) {
                         insFeeOrderNew.setTwoLevelUserId(parents.get(1).getId());
                     }
+                }else{
+                    insFeeOrderNew.setSecondDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 1) {
                     insFeeOrderNew.setFirstDetailProportion(new BigDecimal(esmRetail.getDisrate1()));
@@ -281,6 +286,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 0) {
                         insFeeOrderNew.setFirstLevelUserId(parents.get(0).getId());
                     }
+                }else{
+                    insFeeOrderNew.setFirstDetailProportion(new BigDecimal(0));
                 }
             }else{
                 insFeeOrderNew.setFirstDetailPremiums(new BigDecimal(0));
@@ -388,11 +395,22 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         //入口 - 出口 - 机构管理费 1-5级 - 分销费  = 差值
 
         //分销交强费用
-        BigDecimal jqFenXiao = insFeeOrderNew.getJqPremium().multiply(retailRadio.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        //分开算  1  2 3 级
+        BigDecimal jqFirst = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal jqSecond = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal jqThird = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal jqFenXiao = jqFirst.add(jqSecond).add(jqThird);
         //分销商业费用
-        BigDecimal syFenXiao = insFeeOrderNew.getSyPremium().multiply(retailRadio.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal syFirst = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal sySecond = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal syThird = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal syFenXiao = syFirst.add(sySecond).add(syThird);
         //分销非车费用
-        BigDecimal noFenXiao = insFeeOrderNew.getNoPremium().multiply(retailRadio.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal noFirst = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal noSecond = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal noThird = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal noFenXiao = noFirst.add(noSecond).add(noThird);
+
 
         BigDecimal jqDifference = jqEntranceFee.getTotalAmount().subtract(
                 (jqExportFee.getSuperviseCostsPremiums().add(jqExportFee.getOtherCostsPremiums())))
@@ -1007,4 +1025,6 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         }
         return null;
     }
+
+
 }