Bladeren bron

Merge branch 'test'

yangzian 2 jaren geleden
bovenliggende
commit
d7d65ef23b

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

@@ -316,6 +316,13 @@ public class DesignerServiceImpl implements IDesignerService {
        //人员离职信息
        JSONObject userFrozen = designerMapper.getUserFrozenInfo(userId);
 
+       //离职时间
+       String frozenTime = userFrozen.getString("frozenTime");
+       //入职时间
+       String createTime = userFrozen.getString("createTime");
+
+
+
        List<Map<String,Object>> quarterCostList = new ArrayList<>();
        List<Map<String,Object>> leaderCostList = new ArrayList<>();
        List<JSONObject> listBytedanceCost = new ArrayList<>();
@@ -330,9 +337,28 @@ public class DesignerServiceImpl implements IDesignerService {
 
            //管理消耗 分月查询
            List<JSONObject> leaderCost = designerMapper.getDesignerManagerLeaderCost(userId,month.get("startTime"),month.get("endTime"));
+
+           //离职 提成系数
+           //Double a = userHappyProbability(frozenTime,Integer.valueOf(monthTime));
+           Double userHappyProbability = new Double(1);
+           if (!Check.isNull(frozenTime)){
+               //离职时间
+               int frozenT = DateUtils.getDateInteger(frozenTime);
+
+               //设计组长 看月份  如果6月离职的,则只计算4、5月份的,与日期无关
+               if (roleCode.equalsIgnoreCase("designTeamLeader")){
+                   if (frozenT > month.get("endTime")){
+                       userHappyProbability = new Double(1);
+                   }else {
+                       userHappyProbability = new Double(0);
+                   }
+               }
+           }
+
            Map<String,Object> leaderCostMap = new HashMap<>();
-           leaderCostMap.put("bytedanceCost",leaderCost.get(0).getString("cost"));
-           leaderCostMap.put("kuaishouCost",leaderCost.get(1).getString("cost"));
+           leaderCostMap.put("xishu", userHappyProbability);
+           leaderCostMap.put("bytedanceCost",new Double(leaderCost.get(0).getString("cost")) * userHappyProbability);
+           leaderCostMap.put("kuaishouCost",new Double(leaderCost.get(1).getString("cost")) * userHappyProbability);
            leaderCostList.add(leaderCostMap);
 
        }
@@ -359,10 +385,6 @@ public class DesignerServiceImpl implements IDesignerService {
        Double kuaishouLeaderCost = leaderCostList.stream().mapToDouble(json -> new Double(json.get("kuaishouCost")+"")).reduce(Double::sum).orElse(new Double("0"));
        userFrozen.put("leaderCost",bytedanceLeaderCost + kuaishouLeaderCost);
 
-       //离职时间
-       String frozenTime = userFrozen.getString("frozenTime");
-       //入职时间
-       String createTime = userFrozen.getString("createTime");
 
        //判断素材消耗是否达标
        Double i = getMaterialCost(frozenTime,createTime,Integer.valueOf(yearTime),Integer.valueOf(monthTime));
@@ -385,11 +407,11 @@ public class DesignerServiceImpl implements IDesignerService {
        List<JSONObject> commissionList = new ArrayList<>();
        for (Map<String,Integer> month : timeMap ) {
            JSONObject commissionJson = new JSONObject();
-           //头条提成
+           //头条消耗 提成
            List<JSONObject> bytedanceJson = designerMapper.getDesignerAchievementsBytedance(userId, month.get("startTime"),month.get("endTime"));
            Double bytedanceCommission = bytedanceJson.stream().mapToDouble(json -> json.getDouble("commission")).reduce(Double::sum).orElse(new Double("0"));
 
-           //快手提成
+           //快手消耗 提成
            List<JSONObject> kuaishouJson = designerMapper.getDesignerAchievementsKuaishou(userId, month.get("startTime"),month.get("endTime"));
            Double kuaishouCommission = kuaishouJson.stream().mapToDouble(json -> json.getDouble("commission")).reduce(Double::sum).orElse(new Double("0"));
 
@@ -410,17 +432,11 @@ public class DesignerServiceImpl implements IDesignerService {
                //获取月份的 中间的日期 20221015
                int middleDay = DateUtils.subMonthMiddleDay(day);
 
-               //设计组长 看月份  如果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 {
+               //个人看日期
+               // 如果当月15日之前离职,当月不发;
+               // 15号之后离职,发50%;
+               // 若月底最后一天离职,则发放100
+               if (!roleCode.equalsIgnoreCase("designTeamLeader")){
                    if (frozenT < middleDay){
                        userHappyProbability = new Double(0);
                    }
@@ -431,14 +447,10 @@ public class DesignerServiceImpl implements IDesignerService {
                        userHappyProbability = new Double(1);
                    }
                }
-
            }
 
-
            commissionJson.put("xishu", userHappyProbability);
-           commissionJson.put("ticheng", (bytedanceCommission+kuaishouCommission) * userHappyProbability);
-           commissionJson.put("commission", (bytedanceCommission+kuaishouCommission) * userHappyProbability);
-           commissionJson.put("commissionOld", bytedanceCommission+kuaishouCommission);
+           commissionJson.put("commission", (bytedanceCommission + kuaishouCommission) * userHappyProbability);
            commissionList.add(commissionJson);
 
        }