|
@@ -263,7 +263,8 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
}
|
|
}
|
|
|
|
|
|
//快手设计师、设计师leader和平面设计师逻辑
|
|
//快手设计师、设计师leader和平面设计师逻辑
|
|
- private void kuaishouDesigner(int thisYear, int thisQuarter) {
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void kuaishouDesigner(int thisYear, int thisQuarter) {
|
|
log.info(thisYear + "年第" + thisQuarter + "季度快手设计师季度绩效计算开始");
|
|
log.info(thisYear + "年第" + thisQuarter + "季度快手设计师季度绩效计算开始");
|
|
Map<String, String> quarterStartEndDateMap = DateUtils.quarterStartEndDate(thisYear, thisQuarter);
|
|
Map<String, String> quarterStartEndDateMap = DateUtils.quarterStartEndDate(thisYear, thisQuarter);
|
|
String startTime = quarterStartEndDateMap.get("startDate");
|
|
String startTime = quarterStartEndDateMap.get("startDate");
|
|
@@ -284,7 +285,8 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
}
|
|
}
|
|
|
|
|
|
//头条设计师逻辑
|
|
//头条设计师逻辑
|
|
- private void toutiaoDesigner(int thisYear, int thisQuarter) {
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void toutiaoDesigner(int thisYear, int thisQuarter) {
|
|
log.info(thisYear + "年第" + thisQuarter + "季度头条设计师季度绩效计算开始");
|
|
log.info(thisYear + "年第" + thisQuarter + "季度头条设计师季度绩效计算开始");
|
|
Map<String, String> quarterStartEndDateMap = DateUtils.quarterStartEndDate(thisYear, thisQuarter);
|
|
Map<String, String> quarterStartEndDateMap = DateUtils.quarterStartEndDate(thisYear, thisQuarter);
|
|
String startTime = quarterStartEndDateMap.get("startDate");
|
|
String startTime = quarterStartEndDateMap.get("startDate");
|
|
@@ -563,10 +565,13 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
- BigDecimal quarterCost = userEfficientVideoMapMapper.getProjectQuarterCostById(startTime, endTime, projectDTO.getProjectId());
|
|
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
- //此项目当中平面数量
|
|
|
|
|
|
+ //此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
int size = planeList.size();
|
|
int size = planeList.size();
|
|
|
|
+ if(size == 0){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ BigDecimal quarterCost = userEfficientVideoMapMapper.getProjectQuarterCostById(startTime, endTime, projectDTO.getProjectId());
|
|
BigDecimal averageQuarterCost = quarterCost.divide(new BigDecimal(String.valueOf(size)));
|
|
BigDecimal averageQuarterCost = quarterCost.divide(new BigDecimal(String.valueOf(size)));
|
|
|
|
|
|
//循环项目下所有平面设计
|
|
//循环项目下所有平面设计
|
|
@@ -818,9 +823,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//获取剪辑人数并按照提点比例计算每个梯度的人数
|
|
//获取剪辑人数并按照提点比例计算每个梯度的人数
|
|
int clipLength = clipList.size();
|
|
int clipLength = clipList.size();
|
|
|
|
+ log.info("头条剪辑总人数为:" + clipLength);
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
int clipTop30 = new BigDecimal(String.valueOf(clipLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int clipTop30 = new BigDecimal(String.valueOf(clipLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("头条前30%的人数为:" + clipTop30);
|
|
int clipMiddle50 = new BigDecimal(String.valueOf(clipLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int clipMiddle50 = new BigDecimal(String.valueOf(clipLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("头条中间50%的人数为:" + clipMiddle50);
|
|
|
|
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
for (int i = 0; i <= clipTop30 - 1; i++) {
|
|
for (int i = 0; i <= clipTop30 - 1; i++) {
|
|
@@ -891,10 +899,13 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
- BigDecimal quarterCost = userEfficientVideoMapMapper.getProjectQuarterCostById(startTime, endTime, projectDTO.getProjectId());
|
|
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
- //此项目当中平面数量
|
|
|
|
|
|
+ //此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
int size = planeList.size();
|
|
int size = planeList.size();
|
|
|
|
+ if(size == 0){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ BigDecimal quarterCost = userEfficientVideoMapMapper.getProjectQuarterCostById(startTime, endTime, projectDTO.getProjectId());
|
|
BigDecimal averageQuarterCost = quarterCost.divide(new BigDecimal(String.valueOf(size)));
|
|
BigDecimal averageQuarterCost = quarterCost.divide(new BigDecimal(String.valueOf(size)));
|
|
|
|
|
|
//循环项目下所有平面设计
|
|
//循环项目下所有平面设计
|