|
@@ -316,6 +316,13 @@ public class DesignerServiceImpl implements IDesignerService {
|
|
//人员离职信息
|
|
//人员离职信息
|
|
JSONObject userFrozen = designerMapper.getUserFrozenInfo(userId);
|
|
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>> quarterCostList = new ArrayList<>();
|
|
List<Map<String,Object>> leaderCostList = new ArrayList<>();
|
|
List<Map<String,Object>> leaderCostList = new ArrayList<>();
|
|
List<JSONObject> listBytedanceCost = 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"));
|
|
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<>();
|
|
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);
|
|
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"));
|
|
Double kuaishouLeaderCost = leaderCostList.stream().mapToDouble(json -> new Double(json.get("kuaishouCost")+"")).reduce(Double::sum).orElse(new Double("0"));
|
|
userFrozen.put("leaderCost",bytedanceLeaderCost + kuaishouLeaderCost);
|
|
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));
|
|
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<>();
|
|
List<JSONObject> commissionList = new ArrayList<>();
|
|
for (Map<String,Integer> month : timeMap ) {
|
|
for (Map<String,Integer> month : timeMap ) {
|
|
JSONObject commissionJson = new JSONObject();
|
|
JSONObject commissionJson = new JSONObject();
|
|
- //头条提成
|
|
|
|
|
|
+ //头条消耗 提成
|
|
List<JSONObject> bytedanceJson = designerMapper.getDesignerAchievementsBytedance(userId, month.get("startTime"),month.get("endTime"));
|
|
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"));
|
|
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"));
|
|
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"));
|
|
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
|
|
//获取月份的 中间的日期 20221015
|
|
int middleDay = DateUtils.subMonthMiddleDay(day);
|
|
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){
|
|
if (frozenT < middleDay){
|
|
userHappyProbability = new Double(0);
|
|
userHappyProbability = new Double(0);
|
|
}
|
|
}
|
|
@@ -431,14 +447,10 @@ public class DesignerServiceImpl implements IDesignerService {
|
|
userHappyProbability = new Double(1);
|
|
userHappyProbability = new Double(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
commissionJson.put("xishu", userHappyProbability);
|
|
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);
|
|
commissionList.add(commissionJson);
|
|
|
|
|
|
}
|
|
}
|