Forráskód Böngészése

五级机构存储各级管理费

cuixinpeng 2 éve
szülő
commit
8e58ae42dd

+ 20 - 0
src/main/java/com/ydtech/modules/admin/model/SysDept.java

@@ -110,6 +110,26 @@ public class SysDept implements Serializable {
     @ApiModelProperty(value = "管理费比例%")
     private double managementFee;
 
+    @TableField(value = "management_fee_second")
+    @ApiModelProperty(value = "二级机构管理费比例%")
+    private double managementFeeSecond;
+
+    @TableField(value = "management_fee_third")
+    @ApiModelProperty(value = "三级机构管理费比例%")
+    private double managementFeeThird;
+
+    @TableField(value = "management_fee_forth")
+    @ApiModelProperty(value = "四级机构管理费比例%")
+    private double managementFeeForth;
+
+    @TableField(value = "management_fee_fifth")
+    @ApiModelProperty(value = "五级机构管理费比例%")
+    private double managementFeeFifth;
+
+    @TableField(value = "management_source")
+    @ApiModelProperty(value = "机构来源(渠道、个代、服务)")
+    private String managementSource;
+
     @TableField(exist = false)
     private List<SysDept> children;
 

+ 15 - 36
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -1128,47 +1128,26 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
 
             //判断出单员归属机构层级
             String parentId = sysUser.getDeptId();
-            String comlevel = "";
-            do{//循环操作
-                SysDept sysDeptTemp = sysDeptService.getById(parentId);
-                if(sysDeptTemp!=null&&StringUtils.isNotEmpty(sysDeptTemp.getParentId())){
-                    parentId = sysDeptTemp.getParentId();
-                }else{
-                    break;
-                }
-                if(StringUtils.isEmpty(sysDeptTemp.getComlevel())){
-                    continue;
-                }else {
-                    comlevel = sysDeptTemp.getComlevel();
-                }
+            SysDept sysDeptTemp = sysDeptService.getById(parentId);
+
+            //当机构层级为五级的时候,获取所有的机构费用比例
+            if(sysDeptTemp!=null && "5".equals(sysDeptTemp.getComlevel())){
                 //五级机构管理费用比例
-                if(sysDeptTemp!=null && "5".equals(sysDeptTemp.getComlevel())){
-                    insFeeOrder.setFifthDeptProportion(new BigDecimal(sysDeptTemp.getManagementFee()));
-                    insFeeOrder.setFifthDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getFifthDeptProportion()));
-                }
+                insFeeOrder.setFifthDeptProportion(new BigDecimal(sysDeptTemp.getManagementFeeFifth()));
+                insFeeOrder.setFifthDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getFifthDeptProportion()));
                 //四级机构管理费用比例
-                if(sysDeptTemp!=null && "4".equals(sysDeptTemp.getComlevel())){
-                    insFeeOrder.setForthDeptProportion(new BigDecimal(sysDeptTemp.getManagementFee()));
-                    insFeeOrder.setForthDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getForthDeptProportion()));
-                }
+                insFeeOrder.setForthDeptProportion(new BigDecimal(sysDeptTemp.getManagementFeeForth()));
+                insFeeOrder.setForthDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getForthDeptProportion()));
                 //三级机构管理费用比例
-                if(sysDeptTemp!=null && "3".equals(sysDeptTemp.getComlevel())){
-                    insFeeOrder.setThirdDeptProportion(new BigDecimal(sysDeptTemp.getManagementFee()));
-                    insFeeOrder.setThirdDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getThirdDeptProportion()));
-                }
+                insFeeOrder.setThirdDeptProportion(new BigDecimal(sysDeptTemp.getManagementFeeThird()));
+                insFeeOrder.setThirdDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getThirdDeptProportion()));
                 //二级机构管理费用比例
-                if(sysDeptTemp!=null && "2".equals(sysDeptTemp.getComlevel())){
-                    insFeeOrder.setSecondDeptProportion(new BigDecimal(sysDeptTemp.getManagementFee()));
-                    insFeeOrder.setSecondDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getSecondDeptProportion()));
-                }
+                insFeeOrder.setSecondDeptProportion(new BigDecimal(sysDeptTemp.getManagementFeeSecond()));
+                insFeeOrder.setSecondDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getSecondDeptProportion()));
                 //一级机构管理费用比例
-                if(sysDeptTemp!=null && "1".equals(sysDeptTemp.getComlevel())){
-                    insFeeOrder.setFirstDeptProportion(new BigDecimal(sysDeptTemp.getManagementFee()));
-                    insFeeOrder.setFirstDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getFirstDeptProportion()));
-                    //取到第一层级时结束
-                    break;
-                }
-            }while (!"1".equals(comlevel));
+                insFeeOrder.setFirstDeptProportion(new BigDecimal(sysDeptTemp.getManagementFee()));
+                insFeeOrder.setFirstDeptPremiums(getPremium(totalNoTaxPremium,insFeeOrder.getFirstDeptProportion()));
+            }
 
             //一级分销比例   推荐人
             //二级分销比例