Browse Source

设计绩效修改提成比例

yangzian 2 years ago
parent
commit
7112e86490

+ 27 - 10
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/achievements/service/impl/DesignerServiceImpl.java

@@ -309,6 +309,8 @@ public class DesignerServiceImpl implements IDesignerService {
    @Override
     public JSONObject getDesignerCommission(String userId,String yearTime,String monthTime) {
 
+       String roleCode = roleService.getRoleCodeByUserId(userId);
+
        //取当前时间的季度的月份
        List<Map<String,Integer>> timeMap = DateUtils.getQuarStartAndEndTime(Integer.valueOf(monthTime));
        //人员离职信息
@@ -384,11 +386,11 @@ public class DesignerServiceImpl implements IDesignerService {
            commissionJson.put("yearTime", yearTime);
            commissionJson.put("commission", bytedanceCommission+kuaishouCommission);
 
-
            //离职 提成系数
            //Double a = userHappyProbability(frozenTime,Integer.valueOf(monthTime));
            Double userHappyProbability = new Double(1);
            if (!Check.isNull(frozenTime)){
+
                //离职时间
                int frozenT = DateUtils.getDateInteger(frozenTime);
 
@@ -397,16 +399,31 @@ public class DesignerServiceImpl implements IDesignerService {
                //获取月份的 中间的日期 20221015
                int middleDay = DateUtils.subMonthMiddleDay(day);
 
-               if (frozenT < middleDay){
-                   userHappyProbability = new Double(0);
-               }
-               if (frozenT > middleDay && frozenT < month.get("endTime")){
-                   userHappyProbability = new Double(0.5);
-               }
-               if (frozenT == month.get("endTime")){
-                   userHappyProbability = new Double(1);
+               //设计组长 看月份  如果6月离职的,则只计算4、5月份的,与日期无关
+               if (roleCode.equalsIgnoreCase("designTeamLeader")){
+                   if (frozenT > month.get("endTime")){
+                       userHappyProbability = new Double(1);
+                   }else {
+                       userHappyProbability = new Double(0);
+                   }
+                   //如果当月15日之前离职,当月不发;
+                   // 15号之后离职,发50%;
+                   // 若月底最后一天离职,则发放100
+               }else {
+                   if (frozenT < middleDay){
+                       userHappyProbability = new Double(0);
+                   }
+                   if (frozenT > middleDay && frozenT < month.get("endTime")){
+                       userHappyProbability = new Double(0.5);
+                   }
+                   if (frozenT == month.get("endTime")){
+                       userHappyProbability = new Double(1);
+                   }
                }
 
+
+
+
            }
 
 
@@ -424,7 +441,7 @@ public class DesignerServiceImpl implements IDesignerService {
 
        //负责人提成 如果是负责人 (设计组长) 管理消耗 千三的20%
        Double designerLeaderCommission = new Double("0");
-       String roleCode = roleService.getRoleCodeByUserId(userId);
+
        if (roleCode.equalsIgnoreCase("designTeamLeader")){
            Double designerLeaderCommissionBytedance = new Double(leaderCost.get(0).getString("cost")) * 0.002 * 0.2;
            Double designerLeaderCommissionKuaishou = new Double(leaderCost.get(1).getString("cost")) * 0.003 * 0.2;