Selaa lähdekoodia

Merge remote-tracking branch 'origin/test' into test

Qchen 2 vuotta sitten
vanhempi
commit
988af793dd

+ 0 - 19
sql/Online.sql

@@ -1,19 +0,0 @@
-# 2024-05-15 wks
-alter table ins_area_company
-    add jq_claims tinyint null comment '交强出险次数', ALGORITHM=INSTANT;
-
-alter table ins_area_company
-    add sy_claims tinyint null comment '商业出险次数', ALGORITHM=INSTANT;
-
-# 2024-05-16 hy
-DROP TABLE IF EXISTS `sys_user_is_dial`;
-CREATE TABLE `sys_user_is_dial`  (
-                                     `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
-                                     `user_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户id',
-                                     `is_dial` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否有拨打电话权限',
-                                     `dial_username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '拨号权限账号',
-                                     `dial_password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '拨号权限密码',
-                                     `create_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建用户',
-                                     `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
-                                     PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

+ 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));
         }
     }
 }

+ 16 - 2
src/main/java/com/ydtech/modules/fee/service/impl/CostsCalServiceImpl.java

@@ -123,11 +123,14 @@ public class CostsCalServiceImpl implements CostsCalcService {
             if (esmRetail != null) {
 //                BigDecimal sumPremium = insFeeOrderNew.getJqPremium().add(insFeeOrderNew.getSyPremium()).add(insFeeOrderNew.getNoPremium());
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 3) {
-                    retailStoreFee.setRetailStoreRadioLevel1(new BigDecimal(esmRetail.getDisrate1()));
-                    retailStoreFee.setRetailStoreFeeLevel1(sumPremium.multiply(new BigDecimal(esmRetail.getDisrate1())).divide(new BigDecimal("100")));
+                    retailStoreFee.setRetailStoreRadioLevel3(new BigDecimal(esmRetail.getDisrate1()));
+                    retailStoreFee.setRetailStoreFeeLevel3(sumPremium.multiply(new BigDecimal(esmRetail.getDisrate1())).divide(new BigDecimal("100")));
                     if (parents != null && parents.size() > 2) {
                         retailStoreFee.setRetailStoreUserIdLevel3(parents.get(2).getId());
                     }
+                }else{
+                    retailStoreFee.setRetailStoreRadioLevel3(new BigDecimal(0));
+                    retailStoreFee.setRetailStoreFeeLevel3(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 2) {
                     retailStoreFee.setRetailStoreRadioLevel2(new BigDecimal(esmRetail.getDisrate2()));
@@ -135,6 +138,9 @@ public class CostsCalServiceImpl implements CostsCalcService {
                     if (parents != null && parents.size() > 1) {
                         retailStoreFee.setRetailStoreUserIdLevel2(parents.get(1).getId());
                     }
+                }else{
+                    retailStoreFee.setRetailStoreRadioLevel2(new BigDecimal(0));
+                    retailStoreFee.setRetailStoreFeeLevel2(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 1) {
                     retailStoreFee.setRetailStoreRadioLevel1(new BigDecimal(esmRetail.getDisrate1()));
@@ -142,8 +148,16 @@ public class CostsCalServiceImpl implements CostsCalcService {
                     if (parents != null && parents.size() > 0) {
                         retailStoreFee.setRetailStoreUserIdLevel1(parents.get(0).getId());
                     }
+                }else{
+                    retailStoreFee.setRetailStoreRadioLevel1(new BigDecimal(0));
+                    retailStoreFee.setRetailStoreFeeLevel1(new BigDecimal(0));
                 }
             }
+
+            BigDecimal retailStore = retailStoreFee.getRetailStoreRadioLevel1() != null ? retailStoreFee.getRetailStoreRadioLevel1() : new BigDecimal(0)
+                    .add(retailStoreFee.getRetailStoreRadioLevel2() != null ?  retailStoreFee.getRetailStoreRadioLevel2() : new BigDecimal(0))
+                    .add(retailStoreFee.getRetailStoreRadioLevel3() != null ? retailStoreFee.getRetailStoreRadioLevel3() : new BigDecimal(0));
+            retailStoreFee.setRetailStoreRadio(retailStore);
         }else{
             retailStoreFee.setRetailStoreFee(BigDecimal.ZERO);
             retailStoreFee.setRetailStoreRadio(BigDecimal.ZERO);

+ 9 - 0
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -371,6 +371,15 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //endregion
 
+        //region 重新计算一级机构管理费
+        //入口 - 出口 - 机构管理费 2-4级 - 分销费  = 差值  + 一级管理费
+
+        BigDecimal difference = insFeeOrderNew.getJqCostsPremiums().subtract((insFeeOrderNew.getJqExportSuperviseCostsPremiums().add(insFeeOrderNew.getJqExportOtherCostsPremiums())))
+                .subtract(insFeeOrderNew.getJqDeptPremiumsLevel2().add(insFeeOrderNew.getJqDeptPremiumsLevel3()).add(insFeeOrderNew.getJqDeptPremiumsLevel4()).add(insFeeOrderNew.getJqDeptPremiumsLevel5()))
+                        .subtract(insFeeOrderNew.getSecondDetailPremiums().add(insFeeOrderNew.getFirstDetailPremiums()).add(insFeeOrderNew.getThirdDetailPremiums()));
+        insFeeOrderNew.setJqDeptPremiumsLevel1(insFeeOrderNew.getJqDeptPremiumsLevel1().add(difference));
+
+        //endregion
 
         insFeeOrderNewService.saveOrUpdate(insFeeOrderNew);
     }

+ 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());
 
 
 //              用戶
@@ -688,68 +689,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);