|
@@ -329,10 +329,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
int planLength = planList.size();
|
|
int planLength = planList.size();
|
|
|
|
+ log.info("快手参与有效率排名的编导总人数为:" + planLength);
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
int top30 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int top30 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("快手参与有效率排名的编导前30%人数为:" + top30);
|
|
int middle50 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int middle50 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
-
|
|
|
|
|
|
+ log.info("快手参与有效率排名的编导中间50%人数为:" + middle50);
|
|
//测试数据
|
|
//测试数据
|
|
// top30 = 1;
|
|
// top30 = 1;
|
|
// middle50 =1;
|
|
// middle50 =1;
|
|
@@ -406,10 +408,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
int shotLength = shotList.size();
|
|
int shotLength = shotList.size();
|
|
|
|
+ log.info("快手参与有效率排名的拍摄总人数为:" + shotLength);
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
int shotTop30 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int shotTop30 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("快手参与有效率排名的拍摄前30%人数为:" + shotTop30);
|
|
int shotMiddle50 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int shotMiddle50 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
-
|
|
|
|
|
|
+ log.info("快手参与有效率排名的拍摄中间50%人数为:" + shotTop30);
|
|
//测试完删除
|
|
//测试完删除
|
|
// shotTop30 = 1;
|
|
// shotTop30 = 1;
|
|
// shotMiddle50 = 1;
|
|
// shotMiddle50 = 1;
|
|
@@ -483,10 +487,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);
|
|
//测试完删除
|
|
//测试完删除
|
|
//clipTop30 = 1;
|
|
//clipTop30 = 1;
|
|
//clipMiddle50 = 1;
|
|
//clipMiddle50 = 1;
|
|
@@ -549,25 +555,29 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
|
|
|
|
|
|
+ //TODO ctop_project表有修改,需要进行相对应的变化
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1头条 2快手
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1头条 2快手
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("2");
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("2");
|
|
|
|
|
|
|
|
+ System.out.println("北京公司快手项目数量为:" + projectDTOS.size());
|
|
//循环project
|
|
//循环project
|
|
for (ProjectDTO projectDTO : projectDTOS) {
|
|
for (ProjectDTO projectDTO : projectDTOS) {
|
|
//测试使用
|
|
//测试使用
|
|
//if(projectDTO.getProjectId() != 42L){
|
|
//if(projectDTO.getProjectId() != 42L){
|
|
// continue;
|
|
// continue;
|
|
//}
|
|
//}
|
|
-
|
|
|
|
|
|
+ System.out.println("快手平面所有项目为:" + projectDTO.getProjectName());
|
|
//判断是否是北京的部门负责的项目,如果不是的话跳出
|
|
//判断是否是北京的部门负责的项目,如果不是的话跳出
|
|
String orgCode = userEfficientVideoMapMapper.getOrgCodeByProjectId(projectDTO.getProjectId());
|
|
String orgCode = userEfficientVideoMapMapper.getOrgCodeByProjectId(projectDTO.getProjectId());
|
|
if (!orgCode.startsWith("A01")) {
|
|
if (!orgCode.startsWith("A01")) {
|
|
|
|
+ log.info("此项目不属于北京公司,跳出进入下一个项目计算");
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
//此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
//此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
int size = planeList.size();
|
|
int size = planeList.size();
|
|
|
|
+ log.info(projectDTO.getProjectName() + "中有" + size + "个平面设计");
|
|
if(size == 0){
|
|
if(size == 0){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -677,9 +687,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
int planLength = planList.size();
|
|
int planLength = planList.size();
|
|
|
|
+ log.info("头条参与有效率排名的编导总人数为:" + planLength);
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
int top30 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int top30 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("头条参与有效率排名的编导前30%人数为:" + top30);
|
|
int middle50 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int middle50 = new BigDecimal(String.valueOf(planLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("头条参与有效率排名的编导中间50%人数为:" + middle50);
|
|
|
|
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
for (int i = 0; i <= top30 - 1; i++) {
|
|
for (int i = 0; i <= top30 - 1; i++) {
|
|
@@ -750,9 +763,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
//获取编导人数并按照提点比例计算每个梯度的人数
|
|
int shotLength = shotList.size();
|
|
int shotLength = shotList.size();
|
|
|
|
+ log.info("头条参与有效率排名的拍摄总人数为:" + shotLength);
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
//获取前30%和中间50%的人数(视频有效率四舍五入)
|
|
int shotTop30 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int shotTop30 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.3")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("头条参与有效率排名的拍摄前30%人数为:" + shotTop30);
|
|
int shotMiddle50 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
int shotMiddle50 = new BigDecimal(String.valueOf(shotLength)).multiply(new BigDecimal("0.5")).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
|
|
|
|
+ log.info("头条参与有效率排名的拍摄中间50%人数为:" + shotMiddle50);
|
|
|
|
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
for (int i = 0; i <= shotTop30 - 1; i++) {
|
|
for (int i = 0; i <= shotTop30 - 1; i++) {
|
|
@@ -823,12 +839,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
|
|
|
|
//获取剪辑人数并按照提点比例计算每个梯度的人数
|
|
//获取剪辑人数并按照提点比例计算每个梯度的人数
|
|
int clipLength = clipList.size();
|
|
int clipLength = clipList.size();
|
|
- log.info("头条剪辑总人数为:" + clipLength);
|
|
|
|
|
|
+ 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);
|
|
|
|
|
|
+ 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);
|
|
|
|
|
|
+ log.info("头条参与有效率排名的中间50%的人数为:" + clipMiddle50);
|
|
|
|
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
//循环前30%有绩效的人数并计算其绩效,并入库
|
|
for (int i = 0; i <= clipTop30 - 1; i++) {
|
|
for (int i = 0; i <= clipTop30 - 1; i++) {
|
|
@@ -888,14 +904,17 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
|
|
|
|
|
|
+ //TODO ctop_project表有修改,需要进行相对应的变化
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1-头条 2-快手
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1-头条 2-快手
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("1");
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("1");
|
|
|
|
+ System.out.println("头条项目数量为:" + projectDTOS.size());
|
|
|
|
|
|
//循环project
|
|
//循环project
|
|
for (ProjectDTO projectDTO : projectDTOS) {
|
|
for (ProjectDTO projectDTO : projectDTOS) {
|
|
//判断是否是北京的部门负责的项目,如果不是的话跳出
|
|
//判断是否是北京的部门负责的项目,如果不是的话跳出
|
|
String orgCode = userEfficientVideoMapMapper.getOrgCodeByProjectId(projectDTO.getProjectId());
|
|
String orgCode = userEfficientVideoMapMapper.getOrgCodeByProjectId(projectDTO.getProjectId());
|
|
if (!orgCode.startsWith("A01")) {
|
|
if (!orgCode.startsWith("A01")) {
|
|
|
|
+ log.info(projectDTO.getProjectName() + "不是北京的部门的项目,跳出");
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|