瀏覽代碼

1.用户出口金额逻辑调整
2.预收金额逻辑调整

wuhp 2 年之前
父節點
當前提交
023396f968

+ 16 - 63
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -508,76 +508,29 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         return null;
     }
 
-    private void willAmount(InsFeeOrderNew insFeeOrderNew, BigDecimal willHalding, BigDecimal willDocumentary,SysUserAccountVo sysUserAccountVo) {
-        if(ObjectUtils.isNotEmpty(insFeeOrderNew)){
-            //交强手续费出口比例
-            BigDecimal jqExportProceduresFee = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqSuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-            //商业手续费出口比例
-            BigDecimal syExportProceduresFee = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSySuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-            //非车手续费出口比例
-            BigDecimal noExportProceduresFee = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoSuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-            //用户出口手续费
-
-            if(sysUserAccountVo.getWillHalding()==null){
+    private void willAmount(InsFeeOrderNew insFeeOrderNew, BigDecimal willHalding, BigDecimal willDocumentary, SysUserAccountVo sysUserAccountVo) {
+        if (ObjectUtils.isNotEmpty(insFeeOrderNew)) {
+            //交强手续费
+            BigDecimal jqExportProceduresFee = insFeeOrderNew.getJqExportSuperviseCostsPremiums();
+            //商业手续费
+            BigDecimal syExportProceduresFee = insFeeOrderNew.getSyExportSuperviseCostsPremiums();
+            //非车手续费
+            BigDecimal noExportProceduresFee = insFeeOrderNew.getNoExportSuperviseCostsPremiums();
+            if (sysUserAccountVo.getWillHalding() == null) {
                 sysUserAccountVo.setWillHalding(BigDecimal.ZERO);
             }
             sysUserAccountVo.setWillHalding(sysUserAccountVo.getWillHalding().add(jqExportProceduresFee).add(syExportProceduresFee).add(noExportProceduresFee));
-
-            //非车出口比例
-            //总机构 交强管理比例
-            BigDecimal sumJqDeptProportion = insFeeOrderNew.getJqDeptProportionLevel1()
-                    .add(insFeeOrderNew.getJqDeptProportionLevel2())
-                    .add(insFeeOrderNew.getJqDeptProportionLevel3())
-                    .add(insFeeOrderNew.getJqDeptProportionLevel4())
-                    .add(insFeeOrderNew.getJqDeptProportionLevel5());
-
-            //总机构 商业管理比例
-            BigDecimal sumSyDeptProportion = insFeeOrderNew.getSyDeptProportionLevel1()
-                    .add(insFeeOrderNew.getSyDeptProportionLevel2())
-                    .add(insFeeOrderNew.getSyDeptProportionLevel3())
-                    .add(insFeeOrderNew.getSyDeptProportionLevel4())
-                    .add(insFeeOrderNew.getSyDeptProportionLevel5());
-
-            //总机构 非车管理比例
-            BigDecimal sumNoDeptProportion = insFeeOrderNew.getNoDeptProportionLevel1()
-                    .add(insFeeOrderNew.getNoDeptProportionLevel2())
-                    .add(insFeeOrderNew.getNoDeptProportionLevel3())
-                    .add(insFeeOrderNew.getNoDeptProportionLevel4())
-                    .add(insFeeOrderNew.getNoDeptProportionLevel5());
-            BigDecimal noExportProceduresProportion = new BigDecimal(0);
-            //总分销比例
-            BigDecimal sumRetail = insFeeOrderNew.getFirstDetailProportion().add(insFeeOrderNew.getSecondDetailProportion()).add(insFeeOrderNew.getThirdDetailProportion());
-            if(insFeeOrderNew.getNoCostsProportion().compareTo(sumNoDeptProportion.add(sumRetail))>0){
-                noExportProceduresProportion = insFeeOrderNew.getNoCostsProportion().subtract(sumNoDeptProportion).subtract(sumRetail);
-            }
-            //商业出口比例
-            BigDecimal syExportProceduresProportion = new BigDecimal(0);
-            if(insFeeOrderNew.getSyCostsProportion().compareTo(sumSyDeptProportion.add(sumRetail))>0){
-                syExportProceduresProportion = insFeeOrderNew.getSyCostsProportion().subtract(sumSyDeptProportion).subtract(sumRetail);
-            }
-            //交强出口比例
-            BigDecimal jqExportProceduresProportion = new BigDecimal(0);
-            if(insFeeOrderNew.getJqCostsProportion().compareTo(sumJqDeptProportion.add(sumRetail))>0){
-                jqExportProceduresProportion = insFeeOrderNew.getJqCostsProportion().subtract(sumJqDeptProportion).subtract(sumRetail);
-            }
             //交强跟单出口费用
-            BigDecimal jqExportOtherFee = insFeeOrderNew.getJqPremium()
-                    .multiply(jqExportProceduresProportion
-                            .subtract(insFeeOrderNew.getJqSuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-
-            //商业跟单出口比例
-            BigDecimal syExportOtherFee = insFeeOrderNew.getSyPremium()
-                    .multiply(syExportProceduresProportion
-                            .subtract(insFeeOrderNew.getSySuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-            //非车跟单出口比例
-            BigDecimal noExportOtherFee = insFeeOrderNew.getNoPremium()
-                    .multiply(noExportProceduresProportion
-                            .subtract(insFeeOrderNew.getNoSuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+            BigDecimal jqExportOtherCostsPremiums = insFeeOrderNew.getJqExportOtherCostsPremiums();
+            //商业跟单出口费用
+            BigDecimal syExportOtherCostsPremiums = insFeeOrderNew.getSyExportOtherCostsPremiums();
+            //非车跟单出口费用
+            BigDecimal noExportOtherCostsPremiums = insFeeOrderNew.getNoExportOtherCostsPremiums();
             //用户出口跟单费
-            if(sysUserAccountVo.getWillDocumentary()==null){
+            if (sysUserAccountVo.getWillDocumentary() == null) {
                 sysUserAccountVo.setWillDocumentary(BigDecimal.ZERO);
             }
-            sysUserAccountVo.setWillDocumentary(sysUserAccountVo.getWillDocumentary().add(jqExportOtherFee).add(syExportOtherFee).add(noExportOtherFee));
+            sysUserAccountVo.setWillDocumentary(sysUserAccountVo.getWillDocumentary().add(jqExportOtherCostsPremiums).add(syExportOtherCostsPremiums).add(noExportOtherCostsPremiums));
         }
     }
 }

+ 34 - 33
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -249,11 +249,12 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
                 //用户出口手续费
                 BigDecimal totalPremiumAmount = new BigDecimal(0);
-                totalPremiumAmount = totalPremiumAmount.add(jqExportProceduresFee).add(syExportProceduresFee).add(noExportProceduresFee);
+                totalPremiumAmount = totalPremiumAmount.add(insFeeOrderNew.getJqExportSuperviseCostsPremiums())
+                        .add(insFeeOrderNew.getSyExportSuperviseCostsPremiums()).add(insFeeOrderNew.getNoExportSuperviseCostsPremiums());
 
                 //用户出口跟单费
                 BigDecimal totalOtherPremiumAmount = new BigDecimal(0);
-                totalOtherPremiumAmount = totalOtherPremiumAmount.add(jqExportOtherFee).add(syExportOtherFee).add(noExportOtherFee);
+                totalOtherPremiumAmount = totalOtherPremiumAmount.add(insFeeOrderNew.getJqExportOtherCostsPremiums()).add(insFeeOrderNew.getSyExportOtherCostsPremiums()).add(insFeeOrderNew.getNoExportOtherCostsPremiums());
 
 
 //              用戶
@@ -600,68 +601,68 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         return true;
     }
 
-    private void countUserAmount(InsFeeOrderNew insFeeOrderNew ,String orderNo) {
+    private void countUserAmount(InsFeeOrderNew insFeeOrderNew, String orderNo) {
         String distributionStatus = insFeeOrderNew.getDistributionStatus();
-        if(StringUtils.isNotEmpty(distributionStatus)){
-            if(InsFeeAuditDistributionStatusEnum.DS_3.getCode().equals(distributionStatus)){
+        if (StringUtils.isNotEmpty(distributionStatus)) {
+            if (InsFeeAuditDistributionStatusEnum.DS_3.getCode().equals(distributionStatus)) {
                 BigDecimal totalDept = BigDecimal.ZERO;
-                if(StringUtils.isNotEmpty(insFeeOrderNew.getFirstLevelUserId())){
+                if (StringUtils.isNotEmpty(insFeeOrderNew.getFirstLevelUserId())) {
                     String firstLevelUserId = insFeeOrderNew.getFirstLevelUserId();
                     BigDecimal firstDetailPremiums = insFeeOrderNew.getFirstDetailPremiums();
-                    this.saveUpdateAccount(firstLevelUserId,firstDetailPremiums,orderNo);
-                }else {
-                    totalDept =  totalDept.add(insFeeOrderNew.getFirstDetailPremiums());
+                    this.saveUpdateAccount(firstLevelUserId, firstDetailPremiums, orderNo);
+                } else {
+                    totalDept = totalDept.add(insFeeOrderNew.getFirstDetailPremiums());
                 }
-                if(StringUtils.isNotEmpty(insFeeOrderNew.getTwoLevelUserId())){
+                if (StringUtils.isNotEmpty(insFeeOrderNew.getTwoLevelUserId())) {
                     String twoLevelUserId = insFeeOrderNew.getTwoLevelUserId();
                     BigDecimal secondDetailProportion = insFeeOrderNew.getSecondDetailPremiums();
-                    this.saveUpdateAccount(twoLevelUserId,secondDetailProportion,orderNo);
-                }else {
-                    totalDept =totalDept.add(insFeeOrderNew.getSecondDetailPremiums());
+                    this.saveUpdateAccount(twoLevelUserId, secondDetailProportion, orderNo);
+                } else {
+                    totalDept = totalDept.add(insFeeOrderNew.getSecondDetailPremiums());
                 }
-                if(StringUtils.isNotEmpty(insFeeOrderNew.getThreeLevelUserId())){
+                if (StringUtils.isNotEmpty(insFeeOrderNew.getThreeLevelUserId())) {
                     String threeLevelUserId = insFeeOrderNew.getThreeLevelUserId();
                     BigDecimal threeDetailPremiums = insFeeOrderNew.getThirdDetailPremiums();
-                    this.saveUpdateAccount(threeLevelUserId,threeDetailPremiums,orderNo);
-                }else {
-                    totalDept =totalDept.add(insFeeOrderNew.getThirdDetailPremiums());
+                    this.saveUpdateAccount(threeLevelUserId, threeDetailPremiums, orderNo);
+                } else {
+                    totalDept = totalDept.add(insFeeOrderNew.getThirdDetailPremiums());
                 }
 //                     机构管理 费用给五级交钱机构管理费
-                if(totalDept.compareTo(BigDecimal.ZERO) ==0){
+                if (totalDept.compareTo(BigDecimal.ZERO) == 0) {
                     BigDecimal jqDeptPremiumsLevel5 = insFeeOrderNew.getJqDeptPremiumsLevel5();
                     jqDeptPremiumsLevel5.add(totalDept);
                     insFeeOrderNewService.updateById(insFeeOrderNew);
                 }
-                } else if (InsFeeAuditDistributionStatusEnum.DS_2.getCode().equals(distributionStatus)) {
+            } else if (InsFeeAuditDistributionStatusEnum.DS_2.getCode().equals(distributionStatus)) {
                 BigDecimal totalDept = BigDecimal.ZERO;
-                if(StringUtils.isNotEmpty(insFeeOrderNew.getFirstLevelUserId())){
+                if (StringUtils.isNotEmpty(insFeeOrderNew.getFirstLevelUserId())) {
                     String firstLevelUserId = insFeeOrderNew.getFirstLevelUserId();
                     BigDecimal firstDetailPremiums = insFeeOrderNew.getFirstDetailPremiums();
-                    this.saveUpdateAccount(firstLevelUserId,firstDetailPremiums,orderNo);
-                }else {
-                    totalDept =  totalDept.add(insFeeOrderNew.getFirstDetailPremiums());
+                    this.saveUpdateAccount(firstLevelUserId, firstDetailPremiums, orderNo);
+                } else {
+                    totalDept = totalDept.add(insFeeOrderNew.getFirstDetailPremiums());
                 }
-                if(StringUtils.isNotEmpty(insFeeOrderNew.getTwoLevelUserId())){
+                if (StringUtils.isNotEmpty(insFeeOrderNew.getTwoLevelUserId())) {
                     String twoLevelUserId = insFeeOrderNew.getTwoLevelUserId();
                     BigDecimal secondDetailProportion = insFeeOrderNew.getSecondDetailPremiums();
-                    this.saveUpdateAccount(twoLevelUserId,secondDetailProportion,orderNo);
-                }else {
-                    totalDept =totalDept.add(insFeeOrderNew.getSecondDetailPremiums());
+                    this.saveUpdateAccount(twoLevelUserId, secondDetailProportion, orderNo);
+                } else {
+                    totalDept = totalDept.add(insFeeOrderNew.getSecondDetailPremiums());
                 }
 //                     机构管理 费用给五级交钱机构管理费
-                if(totalDept.compareTo(BigDecimal.ZERO) ==0){
+                if (totalDept.compareTo(BigDecimal.ZERO) == 0) {
                     BigDecimal jqDeptPremiumsLevel5 = insFeeOrderNew.getJqDeptPremiumsLevel5();
                     jqDeptPremiumsLevel5.add(totalDept);
                     insFeeOrderNewService.updateById(insFeeOrderNew);
                 }
-            }else {
+            } else {
 //                    一级分销
-                if(StringUtils.isNotEmpty(insFeeOrderNew.getFirstLevelUserId())){
+                if (StringUtils.isNotEmpty(insFeeOrderNew.getFirstLevelUserId())) {
                     String firstLevelUserId = insFeeOrderNew.getFirstLevelUserId();
                     BigDecimal firstDetailPremiums = insFeeOrderNew.getFirstDetailPremiums();
-                    this.saveUpdateAccount(firstLevelUserId,firstDetailPremiums,orderNo);
-                }else {
-                    if(insFeeOrderNew.getFirstDetailPremiums().compareTo(BigDecimal.ZERO) ==0){
+                    this.saveUpdateAccount(firstLevelUserId, firstDetailPremiums, orderNo);
+                } else {
+                    if (insFeeOrderNew.getFirstDetailPremiums().compareTo(BigDecimal.ZERO) == 0) {
                         BigDecimal jqDeptPremiumsLevel5 = insFeeOrderNew.getJqDeptPremiumsLevel5();
                         jqDeptPremiumsLevel5.add(insFeeOrderNew.getFirstDetailPremiums());
                         insFeeOrderNewService.updateById(insFeeOrderNew);