|
@@ -109,148 +109,148 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
newToutiaoVideo( calcDate, thisYear, thisQuarter, thisMonth, DateUtils.formatDate(friday), DateUtils.formatDate(thursday));
|
|
newToutiaoVideo( calcDate, thisYear, thisQuarter, thisMonth, DateUtils.formatDate(friday), DateUtils.formatDate(thursday));
|
|
}
|
|
}
|
|
|
|
|
|
- //快手有效视频统计
|
|
|
|
- private void kuaishouEffiVideo(Date calcDate, String effiCalcStart, String effiCalcEnd, String effiStart, String effiEnd, int thisYear, int thisMonth, int thisQuarter) {
|
|
|
|
- log.info("快手有效视频统计开始,统计时间为 " + calcDate);
|
|
|
|
- //获取时间段内所有<快手>的有效视频
|
|
|
|
- List<EffiVideoDTO> EffiVideoDTOList = userEfficientVideoMapMapper.getUserVideoMap(effiStart, effiEnd, effiCalcStart, effiCalcEnd);
|
|
|
|
-
|
|
|
|
- for (EffiVideoDTO effiVideoDTO : EffiVideoDTOList) {
|
|
|
|
- //判断此视频是否已经在关系表中存在,如果已经存在则说明此视频已经存在,跳过即可
|
|
|
|
- //有效视频的逻辑是无论是快手还是头条
|
|
|
|
- int signatureCount = userEfficientVideoMapMapper.getEffiVideoCountBySignature(effiVideoDTO.getSignature(), new Integer(2));//1快手 2头条
|
|
|
|
- if (signatureCount != 0) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- UserEfficientVideoMap shot = new UserEfficientVideoMap();
|
|
|
|
- UserEfficientVideoMap plane = new UserEfficientVideoMap();
|
|
|
|
- UserEfficientVideoMap plan = new UserEfficientVideoMap();
|
|
|
|
- UserEfficientVideoMap clip = new UserEfficientVideoMap();
|
|
|
|
-
|
|
|
|
- //拍摄
|
|
|
|
- shot.setUserId(effiVideoDTO.getShotId());
|
|
|
|
- shot.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- shot.setQuarter(thisQuarter);
|
|
|
|
- shot.setAppType(2); //1头条 2快手
|
|
|
|
- shot.setYear(thisYear);
|
|
|
|
- shot.setMonth(thisMonth);
|
|
|
|
- shot.setCalcDate(calcDate);
|
|
|
|
- shot.setRoleId("7bff9afed625aeeabca6bffe3c189183");
|
|
|
|
- userEfficientVideoMapMapper.insert(shot);
|
|
|
|
-
|
|
|
|
- //平面
|
|
|
|
- plane.setUserId(effiVideoDTO.getPlaneId());
|
|
|
|
- plane.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- plane.setQuarter(thisQuarter);
|
|
|
|
- plane.setAppType(2); //1头条 2快手
|
|
|
|
- plane.setYear(thisYear);
|
|
|
|
- plane.setMonth(thisMonth);
|
|
|
|
- plane.setCalcDate(calcDate);
|
|
|
|
- plane.setRoleId("8dc30cb9810bde89bdc3fa8a85b830b0");
|
|
|
|
- userEfficientVideoMapMapper.insert(plane);
|
|
|
|
-
|
|
|
|
- //策划
|
|
|
|
- plan.setUserId(effiVideoDTO.getPlanId());
|
|
|
|
- plan.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- plan.setQuarter(thisQuarter);
|
|
|
|
- plan.setAppType(2); //1头条 2快手
|
|
|
|
- plan.setYear(thisYear);
|
|
|
|
- plan.setMonth(thisMonth);
|
|
|
|
- plan.setCalcDate(calcDate);
|
|
|
|
- plan.setRoleId("0214283aa16f943efbb149ea4bb18f18");
|
|
|
|
- userEfficientVideoMapMapper.insert(plan);
|
|
|
|
-
|
|
|
|
- //剪辑
|
|
|
|
- clip.setUserId(effiVideoDTO.getClipId());
|
|
|
|
- clip.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- clip.setQuarter(thisQuarter);
|
|
|
|
- clip.setAppType(2); //1头条 2快手
|
|
|
|
- clip.setYear(thisYear);
|
|
|
|
- clip.setMonth(thisMonth);
|
|
|
|
- clip.setCalcDate(calcDate);
|
|
|
|
- clip.setRoleId("f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
|
|
- userEfficientVideoMapMapper.insert(clip);
|
|
|
|
-
|
|
|
|
- //快手有效视频同步到有效视频素材库
|
|
|
|
- userEfficientVideoMapMapper.updateKuaishouEffiType(1, effiVideoDTO.getSignature());
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- log.info("快手有效视频统计结束,统计时间为 " + calcDate);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //头条有效视频计算
|
|
|
|
- private void toutiaoEffiVideo(Date calcDate, String effiCalcStart, String effiCalcEnd, String effiStart, String effiEnd, int thisYear, int thisMonth, int thisQuarter) {
|
|
|
|
- log.info("头条手有效视频统计开始,统计时间为 " + calcDate);
|
|
|
|
- //获取时间段内所有头条的有效视频
|
|
|
|
- List<EffiVideoDTO> EffiVideoDTOList = userEfficientVideoMapMapper.getToutiaoUserVideoMap(effiStart, effiEnd, effiCalcStart, effiCalcEnd);
|
|
|
|
-
|
|
|
|
- for (EffiVideoDTO effiVideoDTO : EffiVideoDTOList) {
|
|
|
|
- //判断此视频是否已经在关系表中存在,如果已经存在则说明此视频已经存在,跳过即可
|
|
|
|
- //有效视频的逻辑是无论是快手还是头条
|
|
|
|
- int signatureCount = userEfficientVideoMapMapper.getEffiVideoCountBySignature(effiVideoDTO.getSignature(), new Integer(1));//1头条 2快手
|
|
|
|
- if (signatureCount != 0) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- UserEfficientVideoMap shot = new UserEfficientVideoMap();
|
|
|
|
- UserEfficientVideoMap plane = new UserEfficientVideoMap();
|
|
|
|
- UserEfficientVideoMap plan = new UserEfficientVideoMap();
|
|
|
|
- UserEfficientVideoMap clip = new UserEfficientVideoMap();
|
|
|
|
-
|
|
|
|
- //拍摄
|
|
|
|
- shot.setUserId(effiVideoDTO.getShotId());
|
|
|
|
- shot.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- shot.setQuarter(thisQuarter);
|
|
|
|
- shot.setAppType(1); //1头条 2快手
|
|
|
|
- shot.setYear(thisYear);
|
|
|
|
- shot.setMonth(thisMonth);
|
|
|
|
- shot.setCalcDate(calcDate);
|
|
|
|
- shot.setRoleId("7bff9afed625aeeabca6bffe3c189183");
|
|
|
|
- //role_code shot
|
|
|
|
- userEfficientVideoMapMapper.insert(shot);
|
|
|
|
-
|
|
|
|
- //平面
|
|
|
|
- plane.setUserId(effiVideoDTO.getPlaneId());
|
|
|
|
- plane.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- plane.setQuarter(thisQuarter);
|
|
|
|
- plane.setAppType(1); //1头条 2快手
|
|
|
|
- plane.setYear(thisYear);
|
|
|
|
- plane.setMonth(thisMonth);
|
|
|
|
- plane.setCalcDate(calcDate);
|
|
|
|
- plane.setRoleId("8dc30cb9810bde89bdc3fa8a85b830b0");
|
|
|
|
- //role_code shot
|
|
|
|
- userEfficientVideoMapMapper.insert(plane);
|
|
|
|
-
|
|
|
|
- //策划
|
|
|
|
- plan.setUserId(effiVideoDTO.getPlanId());
|
|
|
|
- plan.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- plan.setQuarter(thisQuarter);
|
|
|
|
- plan.setAppType(1); //1头条 2快手
|
|
|
|
- plan.setYear(thisYear);
|
|
|
|
- plan.setMonth(thisMonth);
|
|
|
|
- plan.setCalcDate(calcDate);
|
|
|
|
- plan.setRoleId("0214283aa16f943efbb149ea4bb18f18");
|
|
|
|
- //role_code plan
|
|
|
|
- userEfficientVideoMapMapper.insert(plan);
|
|
|
|
-
|
|
|
|
- //剪辑
|
|
|
|
- clip.setUserId(effiVideoDTO.getClipId());
|
|
|
|
- clip.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
- clip.setQuarter(thisQuarter);
|
|
|
|
- clip.setAppType(1); //1头条 2快手
|
|
|
|
- clip.setYear(thisYear);
|
|
|
|
- clip.setMonth(thisMonth);
|
|
|
|
- clip.setCalcDate(calcDate);
|
|
|
|
- clip.setRoleId("f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
|
|
- //role_code clip
|
|
|
|
- userEfficientVideoMapMapper.insert(clip);
|
|
|
|
-
|
|
|
|
- //头条有效视频同步到有效视频素材库
|
|
|
|
- userEfficientVideoMapMapper.updateToutiaoEffiType(1, effiVideoDTO.getSignature());
|
|
|
|
- }
|
|
|
|
- log.info("头条有效视频统计结束,统计时间为 " + calcDate);
|
|
|
|
- }
|
|
|
|
|
|
+ //快手有效视频统计--旧版已废弃
|
|
|
|
+ //private void kuaishouEffiVideo(Date calcDate, String effiCalcStart, String effiCalcEnd, String effiStart, String effiEnd, int thisYear, int thisMonth, int thisQuarter) {
|
|
|
|
+ // log.info("快手有效视频统计开始,统计时间为 " + calcDate);
|
|
|
|
+ // //获取时间段内所有<快手>的有效视频
|
|
|
|
+ // List<EffiVideoDTO> EffiVideoDTOList = userEfficientVideoMapMapper.getUserVideoMap(effiStart, effiEnd, effiCalcStart, effiCalcEnd);
|
|
|
|
+ //
|
|
|
|
+ // for (EffiVideoDTO effiVideoDTO : EffiVideoDTOList) {
|
|
|
|
+ // //判断此视频是否已经在关系表中存在,如果已经存在则说明此视频已经存在,跳过即可
|
|
|
|
+ // //有效视频的逻辑是无论是快手还是头条
|
|
|
|
+ // int signatureCount = userEfficientVideoMapMapper.getEffiVideoCountBySignature(effiVideoDTO.getSignature(), new Integer(2));//1快手 2头条
|
|
|
|
+ // if (signatureCount != 0) {
|
|
|
|
+ // continue;
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // UserEfficientVideoMap shot = new UserEfficientVideoMap();
|
|
|
|
+ // UserEfficientVideoMap plane = new UserEfficientVideoMap();
|
|
|
|
+ // UserEfficientVideoMap plan = new UserEfficientVideoMap();
|
|
|
|
+ // UserEfficientVideoMap clip = new UserEfficientVideoMap();
|
|
|
|
+ //
|
|
|
|
+ // //拍摄
|
|
|
|
+ // shot.setUserId(effiVideoDTO.getShotId());
|
|
|
|
+ // shot.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // shot.setQuarter(thisQuarter);
|
|
|
|
+ // shot.setAppType(2); //1头条 2快手
|
|
|
|
+ // shot.setYear(thisYear);
|
|
|
|
+ // shot.setMonth(thisMonth);
|
|
|
|
+ // shot.setCalcDate(calcDate);
|
|
|
|
+ // shot.setRoleId("7bff9afed625aeeabca6bffe3c189183");
|
|
|
|
+ // userEfficientVideoMapMapper.insert(shot);
|
|
|
|
+ //
|
|
|
|
+ // //平面
|
|
|
|
+ // plane.setUserId(effiVideoDTO.getPlaneId());
|
|
|
|
+ // plane.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // plane.setQuarter(thisQuarter);
|
|
|
|
+ // plane.setAppType(2); //1头条 2快手
|
|
|
|
+ // plane.setYear(thisYear);
|
|
|
|
+ // plane.setMonth(thisMonth);
|
|
|
|
+ // plane.setCalcDate(calcDate);
|
|
|
|
+ // plane.setRoleId("8dc30cb9810bde89bdc3fa8a85b830b0");
|
|
|
|
+ // userEfficientVideoMapMapper.insert(plane);
|
|
|
|
+ //
|
|
|
|
+ // //策划
|
|
|
|
+ // plan.setUserId(effiVideoDTO.getPlanId());
|
|
|
|
+ // plan.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // plan.setQuarter(thisQuarter);
|
|
|
|
+ // plan.setAppType(2); //1头条 2快手
|
|
|
|
+ // plan.setYear(thisYear);
|
|
|
|
+ // plan.setMonth(thisMonth);
|
|
|
|
+ // plan.setCalcDate(calcDate);
|
|
|
|
+ // plan.setRoleId("0214283aa16f943efbb149ea4bb18f18");
|
|
|
|
+ // userEfficientVideoMapMapper.insert(plan);
|
|
|
|
+ //
|
|
|
|
+ // //剪辑
|
|
|
|
+ // clip.setUserId(effiVideoDTO.getClipId());
|
|
|
|
+ // clip.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // clip.setQuarter(thisQuarter);
|
|
|
|
+ // clip.setAppType(2); //1头条 2快手
|
|
|
|
+ // clip.setYear(thisYear);
|
|
|
|
+ // clip.setMonth(thisMonth);
|
|
|
|
+ // clip.setCalcDate(calcDate);
|
|
|
|
+ // clip.setRoleId("f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
|
|
+ // userEfficientVideoMapMapper.insert(clip);
|
|
|
|
+ //
|
|
|
|
+ // //快手有效视频同步到有效视频素材库
|
|
|
|
+ // userEfficientVideoMapMapper.updateKuaishouEffiType(1, effiVideoDTO.getSignature());
|
|
|
|
+ //
|
|
|
|
+ // }
|
|
|
|
+ // log.info("快手有效视频统计结束,统计时间为 " + calcDate);
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ //头条有效视频计算--旧版 已废弃
|
|
|
|
+ //private void toutiaoEffiVideo(Date calcDate, String effiCalcStart, String effiCalcEnd, String effiStart, String effiEnd, int thisYear, int thisMonth, int thisQuarter) {
|
|
|
|
+ // log.info("头条手有效视频统计开始,统计时间为 " + calcDate);
|
|
|
|
+ // //获取时间段内所有头条的有效视频
|
|
|
|
+ // List<EffiVideoDTO> EffiVideoDTOList = userEfficientVideoMapMapper.getToutiaoUserVideoMap(effiStart, effiEnd, effiCalcStart, effiCalcEnd);
|
|
|
|
+ //
|
|
|
|
+ // for (EffiVideoDTO effiVideoDTO : EffiVideoDTOList) {
|
|
|
|
+ // //判断此视频是否已经在关系表中存在,如果已经存在则说明此视频已经存在,跳过即可
|
|
|
|
+ // //有效视频的逻辑是无论是快手还是头条
|
|
|
|
+ // int signatureCount = userEfficientVideoMapMapper.getEffiVideoCountBySignature(effiVideoDTO.getSignature(), new Integer(1));//1头条 2快手
|
|
|
|
+ // if (signatureCount != 0) {
|
|
|
|
+ // continue;
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // UserEfficientVideoMap shot = new UserEfficientVideoMap();
|
|
|
|
+ // UserEfficientVideoMap plane = new UserEfficientVideoMap();
|
|
|
|
+ // UserEfficientVideoMap plan = new UserEfficientVideoMap();
|
|
|
|
+ // UserEfficientVideoMap clip = new UserEfficientVideoMap();
|
|
|
|
+ //
|
|
|
|
+ // //拍摄
|
|
|
|
+ // shot.setUserId(effiVideoDTO.getShotId());
|
|
|
|
+ // shot.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // shot.setQuarter(thisQuarter);
|
|
|
|
+ // shot.setAppType(1); //1头条 2快手
|
|
|
|
+ // shot.setYear(thisYear);
|
|
|
|
+ // shot.setMonth(thisMonth);
|
|
|
|
+ // shot.setCalcDate(calcDate);
|
|
|
|
+ // shot.setRoleId("7bff9afed625aeeabca6bffe3c189183");
|
|
|
|
+ // //role_code shot
|
|
|
|
+ // userEfficientVideoMapMapper.insert(shot);
|
|
|
|
+ //
|
|
|
|
+ // //平面
|
|
|
|
+ // plane.setUserId(effiVideoDTO.getPlaneId());
|
|
|
|
+ // plane.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // plane.setQuarter(thisQuarter);
|
|
|
|
+ // plane.setAppType(1); //1头条 2快手
|
|
|
|
+ // plane.setYear(thisYear);
|
|
|
|
+ // plane.setMonth(thisMonth);
|
|
|
|
+ // plane.setCalcDate(calcDate);
|
|
|
|
+ // plane.setRoleId("8dc30cb9810bde89bdc3fa8a85b830b0");
|
|
|
|
+ // //role_code shot
|
|
|
|
+ // userEfficientVideoMapMapper.insert(plane);
|
|
|
|
+ //
|
|
|
|
+ // //策划
|
|
|
|
+ // plan.setUserId(effiVideoDTO.getPlanId());
|
|
|
|
+ // plan.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // plan.setQuarter(thisQuarter);
|
|
|
|
+ // plan.setAppType(1); //1头条 2快手
|
|
|
|
+ // plan.setYear(thisYear);
|
|
|
|
+ // plan.setMonth(thisMonth);
|
|
|
|
+ // plan.setCalcDate(calcDate);
|
|
|
|
+ // plan.setRoleId("0214283aa16f943efbb149ea4bb18f18");
|
|
|
|
+ // //role_code plan
|
|
|
|
+ // userEfficientVideoMapMapper.insert(plan);
|
|
|
|
+ //
|
|
|
|
+ // //剪辑
|
|
|
|
+ // clip.setUserId(effiVideoDTO.getClipId());
|
|
|
|
+ // clip.setEfficientVideoSignature(effiVideoDTO.getSignature());
|
|
|
|
+ // clip.setQuarter(thisQuarter);
|
|
|
|
+ // clip.setAppType(1); //1头条 2快手
|
|
|
|
+ // clip.setYear(thisYear);
|
|
|
|
+ // clip.setMonth(thisMonth);
|
|
|
|
+ // clip.setCalcDate(calcDate);
|
|
|
|
+ // clip.setRoleId("f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
|
|
+ // //role_code clip
|
|
|
|
+ // userEfficientVideoMapMapper.insert(clip);
|
|
|
|
+ //
|
|
|
|
+ // //头条有效视频同步到有效视频素材库
|
|
|
|
+ // userEfficientVideoMapMapper.updateToutiaoEffiType(1, effiVideoDTO.getSignature());
|
|
|
|
+ // }
|
|
|
|
+ // log.info("头条有效视频统计结束,统计时间为 " + calcDate);
|
|
|
|
+ //}
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//有效视频计算结束
|
|
//有效视频计算结束
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -783,7 +783,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//平面设计
|
|
//平面设计
|
|
kuaishouPlanePerformance(thisYear, thisQuarter, startTime, endTime);
|
|
kuaishouPlanePerformance(thisYear, thisQuarter, startTime, endTime);
|
|
//设计师leader
|
|
//设计师leader
|
|
- kuaishouDesignLeaderPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
|
|
|
|
+ //kuaishouDesignLeaderPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
|
|
|
|
log.info(thisYear + "年第" + thisQuarter + "季度快手设计师季度绩效计算开始");
|
|
log.info(thisYear + "年第" + thisQuarter + "季度快手设计师季度绩效计算开始");
|
|
}
|
|
}
|
|
@@ -802,10 +802,10 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
toutiaoShotPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
toutiaoShotPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
//剪辑
|
|
//剪辑
|
|
toutiaoClipPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
toutiaoClipPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
- //平面设计
|
|
|
|
|
|
+ //平面设计、设计师leader写在一起
|
|
toutiaoPlanePerformance(thisYear, thisQuarter, startTime, endTime);
|
|
toutiaoPlanePerformance(thisYear, thisQuarter, startTime, endTime);
|
|
//设计师leader
|
|
//设计师leader
|
|
- toutiaoDesignLeaderPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
|
|
|
|
+ //toutiaoDesignLeaderPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
|
|
|
|
log.info(thisYear + "年第" + thisQuarter + "头条设计师季度绩效计算开始");
|
|
log.info(thisYear + "年第" + thisQuarter + "头条设计师季度绩效计算开始");
|
|
}
|
|
}
|
|
@@ -822,9 +822,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//循环编导列表计算视频有效率并排序
|
|
//循环编导列表计算视频有效率并排序
|
|
for (UserDto2 userDto : planList) {
|
|
for (UserDto2 userDto : planList) {
|
|
//有效视频数量 1toutiao 2kuaishou
|
|
//有效视频数量 1toutiao 2kuaishou
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(), "0214283aa16f943efbb149ea4bb18f18");
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(), "plan");
|
|
//总视频数量
|
|
//总视频数量
|
|
- int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startTime, endTime, userDto.getUserId());
|
|
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterVideoCountByRoleCodeAndUserId(thisYear, thisQuarter, 2, userDto.getUserId(), "plan");
|
|
//视频有效率
|
|
//视频有效率
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
userDto.setEffiRate(effiRate);
|
|
userDto.setEffiRate(effiRate);
|
|
@@ -903,9 +903,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getKuaishouShotList(); //拍摄
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getKuaishouShotList(); //拍摄
|
|
for (UserDto2 userDto : shotList) {
|
|
for (UserDto2 userDto : shotList) {
|
|
//有效视频数量 //1toutiao 2kuaishou
|
|
//有效视频数量 //1toutiao 2kuaishou
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(), "7bff9afed625aeeabca6bffe3c189183");
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(), "shot");
|
|
//总视频数量
|
|
//总视频数量
|
|
- int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("shot", startTime, endTime, userDto.getUserId());
|
|
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterVideoCountByRoleCodeAndUserId(thisYear, thisQuarter, 2, userDto.getUserId(), "shot");
|
|
//视频有效率
|
|
//视频有效率
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
userDto.setEffiRate(effiRate);
|
|
userDto.setEffiRate(effiRate);
|
|
@@ -984,9 +984,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
for (UserDto2 userDto : clipList) {
|
|
for (UserDto2 userDto : clipList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(), "f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, thisYear, thisQuarter, userDto.getUserId(), "clip");
|
|
//总视频数量
|
|
//总视频数量
|
|
- int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("clip", startTime, endTime, userDto.getUserId());
|
|
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterVideoCountByRoleCodeAndUserId(thisYear, thisQuarter, 2, userDto.getUserId(), "clip");
|
|
//视频有效率
|
|
//视频有效率
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
userDto.setEffiRate(effiRate);
|
|
userDto.setEffiRate(effiRate);
|
|
@@ -1064,12 +1064,12 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//搜索所有项目,循环并计算时间段内的项目总消耗,并查询其中有没有平面设计师
|
|
//搜索所有项目,循环并计算时间段内的项目总消耗,并查询其中有没有平面设计师
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
|
|
+ Map<String, UserDto2> designLeaderMap = new HashMap<>();
|
|
|
|
|
|
- //TODO ctop_project表有修改,需要进行相对应的变化
|
|
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1头条 2快手
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1头条 2快手
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("2");
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("2");
|
|
|
|
|
|
- //循环project
|
|
|
|
|
|
+ //循环project,项目下面有平面的话,平面分享5%的消耗
|
|
for (ProjectDTO projectDTO : projectDTOS) {
|
|
for (ProjectDTO projectDTO : projectDTOS) {
|
|
//判断是否是北京的部门负责的项目,如果不是的话跳出
|
|
//判断是否是北京的部门负责的项目,如果不是的话跳出
|
|
String orgCode = userEfficientVideoMapMapper.getOrgCodeByProjectId(projectDTO.getProjectId());
|
|
String orgCode = userEfficientVideoMapMapper.getOrgCodeByProjectId(projectDTO.getProjectId());
|
|
@@ -1078,14 +1078,57 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ UserDto2 designLeader = userEfficientVideoMapMapper.getProjectDesignResponsibleInfo(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
|
|
+ BigDecimal quarterCost = userEfficientVideoMapMapper.getProjectQuarterCostById(startTime, endTime, projectDTO.getProjectId());
|
|
//此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
//此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
int size = planeList.size();
|
|
int size = planeList.size();
|
|
log.info(projectDTO.getProjectName() + "中有" + size + "个平面设计");
|
|
log.info(projectDTO.getProjectName() + "中有" + size + "个平面设计");
|
|
|
|
+ //平面设计数据为0,项目leader的绩效给20%
|
|
if (size == 0) {
|
|
if (size == 0) {
|
|
|
|
+ //项目下面有平面的情况下,项目leader给15%的绩效,快手给3‰
|
|
|
|
+ //Performance performance = new Performance();
|
|
|
|
+ //performance.setAppType(2);
|
|
|
|
+ //performance.setRoleId("projectLeader");
|
|
|
|
+ //performance.setQuarter(thisQuarter);
|
|
|
|
+ //performance.setYear(thisYear);
|
|
|
|
+ //performance.setStartTime(startTime);
|
|
|
|
+ //performance.setEndTime(endTime);
|
|
|
|
+ //performance.setTotalCost(quarterCost);
|
|
|
|
+ //performance.setCommissionRate(new BigDecimal("0.003")); //快手平台提成比例 3千分之
|
|
|
|
+ //performance.setRoleCommissionRate(new BigDecimal("0.2")); //项目没有平面的情况下,提成比例20%
|
|
|
|
+ //performance.setTotalPerformance(quarterCost.multiply(new BigDecimal("0.2")).multiply(new BigDecimal("0.003")).setScale(2));
|
|
|
|
+ //performance.setUserId(designLeader.getUserId());
|
|
|
|
+ //performance.setVideoEfficiency(null); //项目设计师leader没有视频有效率一说
|
|
|
|
+ //performanceMapper.insert(performance);
|
|
|
|
+
|
|
|
|
+ PlaneProjectCost planeProjectCost = new PlaneProjectCost();
|
|
|
|
+ planeProjectCost.setAppType(2); //1头条 2快手
|
|
|
|
+ planeProjectCost.setProjectId(projectDTO.getProjectId());
|
|
|
|
+ planeProjectCost.setYear(thisYear);
|
|
|
|
+ planeProjectCost.setQuarter(thisQuarter);
|
|
|
|
+ planeProjectCost.setProjectTotalCost(quarterCost);
|
|
|
|
+ planeProjectCost.setProjectCost(quarterCost);
|
|
|
|
+ planeProjectCost.setUserId(designLeader.getUserId());
|
|
|
|
+ //增加平面人数、和项目单独的绩效
|
|
|
|
+ planeProjectCost.setProjectPlaneCount(1);
|
|
|
|
+ planeProjectCost.setProjectPerformance(quarterCost.multiply(new BigDecimal("0.2")).multiply(new BigDecimal("0.003")));
|
|
|
|
+ planeProjectCost.setType(2);
|
|
|
|
+
|
|
|
|
+ if (null == designLeaderMap.get(designLeader.getUserId())) {
|
|
|
|
+ designLeader.setEffiRate(planeProjectCost.getProjectPerformance()); //项目绩效
|
|
|
|
+ designLeader.setCost(quarterCost); //项目总消耗
|
|
|
|
+ planeMap.put(designLeader.getUserId(), designLeader);
|
|
|
|
+ } else {
|
|
|
|
+ //将增加的金额增加到
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setEffiRate(planeMap.get(designLeader.getUserId()).getEffiRate().add(designLeader.getEffiRate()));
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setCost(planeMap.get(designLeader.getUserId()).getCost().add(designLeader.getCost()));
|
|
|
|
+ }
|
|
|
|
+ planeProjectCostMapper.insert(planeProjectCost);
|
|
|
|
+
|
|
continue;
|
|
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)));
|
|
|
|
|
|
//循环项目下所有平面设计
|
|
//循环项目下所有平面设计
|
|
@@ -1103,7 +1146,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
planeProjectCost.setUserId(plane.getUserId());
|
|
planeProjectCost.setUserId(plane.getUserId());
|
|
//增加平面人数、和项目单独的绩效
|
|
//增加平面人数、和项目单独的绩效
|
|
planeProjectCost.setProjectPlaneCount(planeList.size());
|
|
planeProjectCost.setProjectPlaneCount(planeList.size());
|
|
- planeProjectCost.setProjectPerformance(averageQuarterCost.multiply(new BigDecimal("0.05")));
|
|
|
|
|
|
+ planeProjectCost.setProjectPerformance(averageQuarterCost.multiply(new BigDecimal("0.05")).multiply(new BigDecimal("0.003")).setScale(2));
|
|
if (null == planeMap.get(plane.getUserId())) {
|
|
if (null == planeMap.get(plane.getUserId())) {
|
|
plane.setEffiRate(averageQuarterCost);
|
|
plane.setEffiRate(averageQuarterCost);
|
|
planeMap.put(plane.getUserId(), plane);
|
|
planeMap.put(plane.getUserId(), plane);
|
|
@@ -1113,6 +1156,47 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
}
|
|
}
|
|
planeProjectCostMapper.insert(planeProjectCost);
|
|
planeProjectCostMapper.insert(planeProjectCost);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //项目下面有平面的情况下,项目leader给15%的绩效
|
|
|
|
+ //Performance performance = new Performance();
|
|
|
|
+ //performance.setAppType(2);
|
|
|
|
+ //performance.setRoleId("projectLeader");
|
|
|
|
+ //performance.setQuarter(thisQuarter);
|
|
|
|
+ //performance.setYear(thisYear);
|
|
|
|
+ //performance.setStartTime(startTime);
|
|
|
|
+ //performance.setEndTime(endTime);
|
|
|
|
+ //performance.setTotalCost(quarterCost);
|
|
|
|
+ //performance.setCommissionRate(new BigDecimal("0.003")); //快手平台比例3‰
|
|
|
|
+ //performance.setRoleCommissionRate(new BigDecimal("0.15")); //项目有平面的情况下设计师leader的提成比例为15%
|
|
|
|
+ //performance.setTotalPerformance(quarterCost.multiply(new BigDecimal("0.15")).multiply(new BigDecimal("0.003")));
|
|
|
|
+ //performance.setUserId(designLeader.getUserId());
|
|
|
|
+ //performance.setVideoEfficiency(null); //项目设计师leader没有视频有效率一说
|
|
|
|
+ //performanceMapper.insert(performance);
|
|
|
|
+
|
|
|
|
+ PlaneProjectCost planeProjectCost = new PlaneProjectCost();
|
|
|
|
+ planeProjectCost.setAppType(2); //1头条 2快手
|
|
|
|
+ planeProjectCost.setProjectId(projectDTO.getProjectId());
|
|
|
|
+ planeProjectCost.setYear(thisYear);
|
|
|
|
+ planeProjectCost.setQuarter(thisQuarter);
|
|
|
|
+ planeProjectCost.setProjectTotalCost(quarterCost);
|
|
|
|
+ planeProjectCost.setProjectCost(quarterCost);
|
|
|
|
+ planeProjectCost.setUserId(designLeader.getUserId());
|
|
|
|
+ //增加平面人数、和项目单独的绩效
|
|
|
|
+ planeProjectCost.setProjectPlaneCount(1);
|
|
|
|
+ planeProjectCost.setProjectPerformance(quarterCost.multiply(new BigDecimal("0.2")).multiply(new BigDecimal("0.003")));
|
|
|
|
+ planeProjectCost.setType(2);
|
|
|
|
+
|
|
|
|
+ if (null == designLeaderMap.get(designLeader.getUserId())) {
|
|
|
|
+ designLeader.setEffiRate(planeProjectCost.getProjectPerformance()); //项目绩效
|
|
|
|
+ designLeader.setCost(quarterCost); //项目总消耗
|
|
|
|
+ planeMap.put(designLeader.getUserId(), designLeader);
|
|
|
|
+ } else {
|
|
|
|
+ //将增加的金额增加到
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setEffiRate(planeMap.get(designLeader.getUserId()).getEffiRate().add(designLeader.getEffiRate()));
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setCost(planeMap.get(designLeader.getUserId()).getCost().add(designLeader.getCost()));
|
|
|
|
+ }
|
|
|
|
+ planeProjectCostMapper.insert(planeProjectCost);
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//循环planeMap插入数据
|
|
//循环planeMap插入数据
|
|
@@ -1122,54 +1206,71 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
performance.setRoleId(planeMap.get(key).getRoleId());
|
|
performance.setRoleId(planeMap.get(key).getRoleId());
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setYear(thisYear);
|
|
performance.setYear(thisYear);
|
|
- //performance.setCommissionRate(new BigDecimal("0.05"));
|
|
|
|
|
|
+ performance.setCommissionRate(new BigDecimal("0.003"));
|
|
performance.setRoleCommissionRate(new BigDecimal("0.05"));
|
|
performance.setRoleCommissionRate(new BigDecimal("0.05"));
|
|
performance.setTotalCost(planeMap.get(key).getEffiRate());
|
|
performance.setTotalCost(planeMap.get(key).getEffiRate());
|
|
- performance.setTotalPerformance(planeMap.get(key).getEffiRate().multiply(new BigDecimal("0.05")));
|
|
|
|
|
|
+ performance.setTotalPerformance(planeMap.get(key).getEffiRate().multiply(new BigDecimal("0.05")).multiply(new BigDecimal("0.003")));
|
|
performance.setStartTime(startTime);
|
|
performance.setStartTime(startTime);
|
|
performance.setEndTime(endTime);
|
|
performance.setEndTime(endTime);
|
|
performance.setUserId(planeMap.get(key).getUserId());
|
|
performance.setUserId(planeMap.get(key).getUserId());
|
|
performanceMapper.insert(performance);
|
|
performanceMapper.insert(performance);
|
|
}
|
|
}
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度快手平面设计师季度绩效计算结束");
|
|
|
|
- }
|
|
|
|
- ///////////////////////////////////////////////////////////////////////////////////////////////////////快手平面end
|
|
|
|
-
|
|
|
|
- //////////////////////////////////////////////////////////////////////////////////////////////////快手设计师leader绩效计算start
|
|
|
|
- private void kuaishouDesignLeaderPerformance(int thisYear, int thisQuarter, String startTime, String endTime) {
|
|
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度快手设计师leader季度绩效计算开始");
|
|
|
|
- //直接查询出来各种媒体类型的设计组长
|
|
|
|
- List<UserDto2> designLeaderList = userEfficientVideoMapMapper.getKuaishouDesignLeaderList();
|
|
|
|
-
|
|
|
|
- //循环list然后根据查出leader组下的剪辑userId
|
|
|
|
- for (UserDto2 userDto : designLeaderList) {
|
|
|
|
- List<String> clipList = userEfficientVideoMapMapper.getClip(userDto.getDepId());
|
|
|
|
- BigDecimal totalCost = BigDecimal.ZERO; //剪辑总消耗
|
|
|
|
-
|
|
|
|
- for (String clipUserId : clipList) {
|
|
|
|
- BigDecimal clipCost = userEfficientVideoMapMapper.getClipQuarterCost(2, thisQuarter, thisYear, clipUserId); //媒体类型 //1头条 2快手
|
|
|
|
- totalCost = totalCost.add(clipCost);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //总绩效=剪辑消耗总合 * 平台比例 * 20%
|
|
|
|
- BigDecimal totalPerformance = totalCost.multiply(new BigDecimal("0.003")).multiply(new BigDecimal("0.2"));
|
|
|
|
|
|
|
|
|
|
+ for (String key : designLeaderMap.keySet()) {
|
|
Performance performance = new Performance();
|
|
Performance performance = new Performance();
|
|
- performance.setAppType(2); //1头条 2快手
|
|
|
|
- performance.setRoleId(userDto.getRoleId());
|
|
|
|
|
|
+ performance.setAppType(1); //1头条 2快手
|
|
|
|
+ performance.setRoleId(designLeaderMap.get(key).getRoleId());
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setYear(thisYear);
|
|
performance.setYear(thisYear);
|
|
- performance.setCommissionRate(new BigDecimal("0.003"));
|
|
|
|
- performance.setTotalCost(totalCost);
|
|
|
|
- performance.setTotalPerformance(totalPerformance);
|
|
|
|
|
|
+ //performance.setCommissionRate(new BigDecimal("0.002")); //头条平台比例2‰
|
|
|
|
+ performance.setTotalCost(designLeaderMap.get(key).getCost());
|
|
|
|
+ performance.setTotalPerformance(designLeaderMap.get(key).getEffiRate()); //头条
|
|
|
|
+ //performance.setRoleCommissionRate(new BigDecimal("0.05"));
|
|
performance.setStartTime(startTime);
|
|
performance.setStartTime(startTime);
|
|
performance.setEndTime(endTime);
|
|
performance.setEndTime(endTime);
|
|
- performance.setRoleCommissionRate(new BigDecimal("0.2"));
|
|
|
|
- performance.setUserId(userDto.getUserId());
|
|
|
|
|
|
+ performance.setUserId(designLeaderMap.get(key).getUserId());
|
|
performanceMapper.insert(performance);
|
|
performanceMapper.insert(performance);
|
|
}
|
|
}
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度快手设计师leader季度绩效计算结束");
|
|
|
|
|
|
+
|
|
|
|
+ log.info(thisYear + "年第" + thisQuarter + "季度快手平面设计师季度绩效计算结束");
|
|
}
|
|
}
|
|
|
|
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////快手平面end
|
|
|
|
+
|
|
|
|
+ //////////////////////////////////////////////////////////////////////////////////////////////////快手设计师leader绩效计算start
|
|
|
|
+ //private void kuaishouDesignLeaderPerformance(int thisYear, int thisQuarter, String startTime, String endTime) {
|
|
|
|
+ // log.info(thisYear + "年第" + thisQuarter + "季度快手设计师leader季度绩效计算开始");
|
|
|
|
+ // //直接查询出来各种媒体类型的设计组长
|
|
|
|
+ // List<UserDto2> designLeaderList = userEfficientVideoMapMapper.getKuaishouDesignLeaderList();
|
|
|
|
+ //
|
|
|
|
+ // //循环list然后根据查出leader组下的剪辑userId
|
|
|
|
+ // for (UserDto2 userDto : designLeaderList) {
|
|
|
|
+ // List<String> clipList = userEfficientVideoMapMapper.getClip(userDto.getDepId());
|
|
|
|
+ // BigDecimal totalCost = BigDecimal.ZERO; //剪辑总消耗
|
|
|
|
+ //
|
|
|
|
+ // for (String clipUserId : clipList) {
|
|
|
|
+ // BigDecimal clipCost = userEfficientVideoMapMapper.getClipQuarterCost(2, thisQuarter, thisYear, clipUserId); //媒体类型 //1头条 2快手
|
|
|
|
+ // totalCost = totalCost.add(clipCost);
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // //总绩效=剪辑消耗总合 * 平台比例 * 20%
|
|
|
|
+ // BigDecimal totalPerformance = totalCost.multiply(new BigDecimal("0.003")).multiply(new BigDecimal("0.2"));
|
|
|
|
+ //
|
|
|
|
+ // Performance performance = new Performance();
|
|
|
|
+ // performance.setAppType(2); //1头条 2快手
|
|
|
|
+ // performance.setRoleId(userDto.getRoleId());
|
|
|
|
+ // performance.setQuarter(thisQuarter);
|
|
|
|
+ // performance.setYear(thisYear);
|
|
|
|
+ // performance.setCommissionRate(new BigDecimal("0.003"));
|
|
|
|
+ // performance.setTotalCost(totalCost);
|
|
|
|
+ // performance.setTotalPerformance(totalPerformance);
|
|
|
|
+ // performance.setStartTime(startTime);
|
|
|
|
+ // performance.setEndTime(endTime);
|
|
|
|
+ // performance.setRoleCommissionRate(new BigDecimal("0.2"));
|
|
|
|
+ // performance.setUserId(userDto.getUserId());
|
|
|
|
+ // performanceMapper.insert(performance);
|
|
|
|
+ // }
|
|
|
|
+ // log.info(thisYear + "年第" + thisQuarter + "季度快手设计师leader季度绩效计算结束");
|
|
|
|
+ //}
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////快手设计师leader绩效计算end
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////快手设计师leader绩效计算end
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -1183,9 +1284,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//循环编导列表计算视频有效率并排序
|
|
//循环编导列表计算视频有效率并排序
|
|
for (UserDto2 userDto : planList) {
|
|
for (UserDto2 userDto : planList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(), "0214283aa16f943efbb149ea4bb18f18"); //媒体类型 //1头条 2快手
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(), "plan"); //媒体类型 //1头条 2快手
|
|
//总视频数量
|
|
//总视频数量
|
|
- int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startTime, endTime, userDto.getUserId());
|
|
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterVideoCountByRoleCodeAndUserId(thisYear, thisQuarter, 1, userDto.getUserId(), "plan");
|
|
//视频有效率
|
|
//视频有效率
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
userDto.setEffiRate(effiRate);
|
|
userDto.setEffiRate(effiRate);
|
|
@@ -1261,9 +1362,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getToutiaoShotList(); //拍摄
|
|
List<UserDto2> shotList = userEfficientVideoMapMapper.getToutiaoShotList(); //拍摄
|
|
for (UserDto2 userDto : shotList) {
|
|
for (UserDto2 userDto : shotList) {
|
|
//有效视频数量
|
|
//有效视频数量
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(), "7bff9afed625aeeabca6bffe3c189183");
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(), "shot");
|
|
//总视频数量
|
|
//总视频数量
|
|
- int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("shot", startTime, endTime, userDto.getUserId());
|
|
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterVideoCountByRoleCodeAndUserId(thisYear, thisQuarter, 1, userDto.getUserId(), "shot");
|
|
//视频有效率
|
|
//视频有效率
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
userDto.setEffiRate(effiRate);
|
|
userDto.setEffiRate(effiRate);
|
|
@@ -1339,9 +1440,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
List<UserDto2> clipList = userEfficientVideoMapMapper.getKuaishouClipList(); //剪辑
|
|
for (UserDto2 userDto : clipList) {
|
|
for (UserDto2 userDto : clipList) {
|
|
//有效视频数量 //1头条 2快手
|
|
//有效视频数量 //1头条 2快手
|
|
- int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(), "f38d8d70cf7ec50d5357a749e4dbf8ee");
|
|
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(1, thisYear, thisQuarter, userDto.getUserId(), "clip");
|
|
//总视频数量
|
|
//总视频数量
|
|
- int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("clip", startTime, endTime, userDto.getUserId());
|
|
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterVideoCountByRoleCodeAndUserId(thisYear, thisQuarter, 2, userDto.getUserId(), "clip");
|
|
//视频有效率
|
|
//视频有效率
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
BigDecimal effiRate = new BigDecimal(String.valueOf(effiVideoCount)).divide(new BigDecimal(String.valueOf(videoCount)));
|
|
userDto.setEffiRate(effiRate);
|
|
userDto.setEffiRate(effiRate);
|
|
@@ -1416,8 +1517,8 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//搜索所有项目,循环并计算时间段内的项目总消耗,并查询其中有没有平面设计师
|
|
//搜索所有项目,循环并计算时间段内的项目总消耗,并查询其中有没有平面设计师
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
//如果有并且不止一个就平分;创建一个list,将设计师的userDto加入进来,然后可以在不同的项目中累加(需要增加一张表格,然后记录其中的每一个项目消耗)
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
Map<String, UserDto2> planeMap = new HashMap<>();
|
|
|
|
+ Map<String, UserDto2> designLeaderMap = new HashMap<>();
|
|
|
|
|
|
- //TODO ctop_project表有修改,需要进行相对应的变化
|
|
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1-头条 2-快手
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1-头条 2-快手
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("1");
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("1");
|
|
|
|
|
|
@@ -1430,13 +1531,57 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ UserDto2 designLeader = userEfficientVideoMapMapper.getProjectDesignResponsibleInfo(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
List<UserDto2> planeList = userEfficientVideoMapMapper.getPlaneByProjectId(projectDTO.getProjectId());
|
|
- //此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师,故跳过
|
|
|
|
|
|
+ BigDecimal quarterCost = userEfficientVideoMapMapper.getProjectQuarterCostById(startTime, endTime, projectDTO.getProjectId());
|
|
|
|
+ //此项目当中平面数量,平面数量为0的时候说明此project当中没有平面设计师;项目没有平面的情况下,项目leader绩效提成为20%
|
|
int size = planeList.size();
|
|
int size = planeList.size();
|
|
if (size == 0) {
|
|
if (size == 0) {
|
|
|
|
+ //平面设计数据为0,项目leader的绩效给20%
|
|
|
|
+ if (size == 0) {
|
|
|
|
+ PlaneProjectCost planeProjectCost = new PlaneProjectCost();
|
|
|
|
+ planeProjectCost.setAppType(1); //1头条 2快手
|
|
|
|
+ planeProjectCost.setProjectId(projectDTO.getProjectId());
|
|
|
|
+ planeProjectCost.setYear(thisYear);
|
|
|
|
+ planeProjectCost.setQuarter(thisQuarter);
|
|
|
|
+ planeProjectCost.setProjectTotalCost(quarterCost);
|
|
|
|
+ planeProjectCost.setProjectCost(quarterCost);
|
|
|
|
+ planeProjectCost.setUserId(designLeader.getUserId());
|
|
|
|
+ //增加平面人数、和项目单独的绩效
|
|
|
|
+ planeProjectCost.setProjectPlaneCount(1);
|
|
|
|
+ planeProjectCost.setProjectPerformance(quarterCost.multiply(new BigDecimal("0.2")).multiply(new BigDecimal("0.002")));
|
|
|
|
+ planeProjectCost.setType(2);
|
|
|
|
+
|
|
|
|
+ if (null == designLeaderMap.get(designLeader.getUserId())) {
|
|
|
|
+ designLeader.setEffiRate(planeProjectCost.getProjectPerformance()); //项目绩效
|
|
|
|
+ designLeader.setCost(quarterCost); //项目总消耗
|
|
|
|
+ planeMap.put(designLeader.getUserId(), designLeader);
|
|
|
|
+ } else {
|
|
|
|
+ //将增加的金额增加到
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setEffiRate(planeMap.get(designLeader.getUserId()).getEffiRate().add(designLeader.getEffiRate()));
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setCost(planeMap.get(designLeader.getUserId()).getCost().add(designLeader.getCost()));
|
|
|
|
+ }
|
|
|
|
+ planeProjectCostMapper.insert(planeProjectCost);
|
|
|
|
+
|
|
|
|
+ ////项目下面有平面的情况下,项目leader给15%的绩效,快手给3‰
|
|
|
|
+ //Performance performance = new Performance();
|
|
|
|
+ //performance.setAppType(1);
|
|
|
|
+ //performance.setRoleId("projectLeader");
|
|
|
|
+ //performance.setQuarter(thisQuarter);
|
|
|
|
+ //performance.setYear(thisYear);
|
|
|
|
+ //performance.setStartTime(startTime);
|
|
|
|
+ //performance.setEndTime(endTime);
|
|
|
|
+ //performance.setTotalCost(quarterCost);
|
|
|
|
+ //performance.setCommissionRate(new BigDecimal("0.002")); //头条平台比例2千分之
|
|
|
|
+ //performance.setRoleCommissionRate(new BigDecimal("0.2")); //头条设计师leader提成比例
|
|
|
|
+ //performance.setTotalPerformance(quarterCost.multiply(new BigDecimal("0.2")).multiply(new BigDecimal("0.002")));
|
|
|
|
+ //performance.setUserId(designLeader.getUserId());
|
|
|
|
+ //performance.setVideoEfficiency(null); //项目设计师leader没有视频有效率一说
|
|
|
|
+ //performanceMapper.insert(performance);
|
|
|
|
+ }
|
|
continue;
|
|
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)));
|
|
|
|
|
|
//循环项目下所有平面设计
|
|
//循环项目下所有平面设计
|
|
@@ -1455,16 +1600,58 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//增加平面人数、和项目单独的绩效
|
|
//增加平面人数、和项目单独的绩效
|
|
planeProjectCost.setProjectPlaneCount(planeList.size());
|
|
planeProjectCost.setProjectPlaneCount(planeList.size());
|
|
planeProjectCost.setProjectPerformance(averageQuarterCost.multiply(new BigDecimal("0.05")));
|
|
planeProjectCost.setProjectPerformance(averageQuarterCost.multiply(new BigDecimal("0.05")));
|
|
|
|
+ planeProjectCost.setType(1);
|
|
|
|
|
|
if (null == planeMap.get(plane.getUserId())) {
|
|
if (null == planeMap.get(plane.getUserId())) {
|
|
plane.setEffiRate(averageQuarterCost);
|
|
plane.setEffiRate(averageQuarterCost);
|
|
- planeMap.put("plane.getUserId()", plane);
|
|
|
|
|
|
+ planeMap.put(plane.getUserId(), plane);
|
|
} else {
|
|
} else {
|
|
//将增加的金额增加到
|
|
//将增加的金额增加到
|
|
planeMap.get(plane.getUserId()).setEffiRate(planeMap.get(plane.getUserId()).getEffiRate().add(plane.getEffiRate()));
|
|
planeMap.get(plane.getUserId()).setEffiRate(planeMap.get(plane.getUserId()).getEffiRate().add(plane.getEffiRate()));
|
|
}
|
|
}
|
|
planeProjectCostMapper.insert(planeProjectCost);
|
|
planeProjectCostMapper.insert(planeProjectCost);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //将每个项目绩效信息记录在ctop_plane_project_cost中。并将每一个leader的总消耗和总绩效加和,最后合并到ctop_performance表当中
|
|
|
|
+ PlaneProjectCost planeProjectCost = new PlaneProjectCost();
|
|
|
|
+ planeProjectCost.setAppType(1); //1头条 2快手
|
|
|
|
+ planeProjectCost.setProjectId(projectDTO.getProjectId());
|
|
|
|
+ planeProjectCost.setYear(thisYear);
|
|
|
|
+ planeProjectCost.setQuarter(thisQuarter);
|
|
|
|
+ planeProjectCost.setProjectTotalCost(quarterCost);
|
|
|
|
+ planeProjectCost.setProjectCost(quarterCost);
|
|
|
|
+ planeProjectCost.setUserId(designLeader.getUserId());
|
|
|
|
+ //增加平面人数、和项目单独的绩效
|
|
|
|
+ planeProjectCost.setProjectPlaneCount(1);
|
|
|
|
+ planeProjectCost.setProjectPerformance(quarterCost.multiply(new BigDecimal("0.15")).multiply(new BigDecimal("0.002")));
|
|
|
|
+ planeProjectCost.setType(2);
|
|
|
|
+
|
|
|
|
+ if (null == designLeaderMap.get(designLeader.getUserId())) {
|
|
|
|
+ designLeader.setEffiRate(planeProjectCost.getProjectPerformance()); //项目绩效
|
|
|
|
+ designLeader.setCost(quarterCost); //项目总消耗
|
|
|
|
+ planeMap.put(designLeader.getUserId(), designLeader);
|
|
|
|
+ } else {
|
|
|
|
+ //将增加的金额增加到
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setEffiRate(planeMap.get(designLeader.getUserId()).getEffiRate().add(designLeader.getEffiRate()));
|
|
|
|
+ planeMap.get(designLeader.getUserId()).setCost(planeMap.get(designLeader.getUserId()).getCost().add(designLeader.getCost()));
|
|
|
|
+ }
|
|
|
|
+ planeProjectCostMapper.insert(planeProjectCost);
|
|
|
|
+
|
|
|
|
+ ////项目下面有平面的情况下,项目leader给15%的绩效,快手给3‰
|
|
|
|
+ //Performance performance = new Performance();
|
|
|
|
+ //performance.setAppType(1);
|
|
|
|
+ //performance.setRoleId("projectLeader");
|
|
|
|
+ //performance.setQuarter(thisQuarter);
|
|
|
|
+ //performance.setYear(thisYear);
|
|
|
|
+ //performance.setStartTime(startTime);
|
|
|
|
+ //performance.setEndTime(endTime);
|
|
|
|
+ //performance.setTotalCost(quarterCost);
|
|
|
|
+ //performance.setCommissionRate(new BigDecimal("0.002")); //头条平台比例2千分之
|
|
|
|
+ //performance.setRoleCommissionRate(new BigDecimal("0.15")); //头条设计师leader提成比例,在有平面设计师的情况下
|
|
|
|
+ //performance.setTotalPerformance(quarterCost.multiply(new BigDecimal("0.15")).multiply(new BigDecimal("0.002")));
|
|
|
|
+ //performance.setUserId(designLeader.getUserId());
|
|
|
|
+ //performance.setVideoEfficiency(null); //项目设计师leader没有视频有效率一说
|
|
|
|
+ //performanceMapper.insert(performance);
|
|
}
|
|
}
|
|
|
|
|
|
//循环planeMap插入数据
|
|
//循环planeMap插入数据
|
|
@@ -1474,54 +1661,70 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
performance.setRoleId(planeMap.get(key).getRoleId());
|
|
performance.setRoleId(planeMap.get(key).getRoleId());
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setYear(thisYear);
|
|
performance.setYear(thisYear);
|
|
- //performance.setCommissionRate(new BigDecimal("0.05"));
|
|
|
|
|
|
+ performance.setCommissionRate(new BigDecimal("0.002")); //头条平台比例2‰
|
|
performance.setTotalCost(planeMap.get(key).getEffiRate());
|
|
performance.setTotalCost(planeMap.get(key).getEffiRate());
|
|
- performance.setTotalPerformance(planeMap.get(key).getEffiRate().multiply(new BigDecimal("0.05")));
|
|
|
|
|
|
+ performance.setTotalPerformance(planeMap.get(key).getEffiRate().multiply(new BigDecimal("0.05")).multiply(new BigDecimal("0.002"))); //头条
|
|
performance.setRoleCommissionRate(new BigDecimal("0.05"));
|
|
performance.setRoleCommissionRate(new BigDecimal("0.05"));
|
|
performance.setStartTime(startTime);
|
|
performance.setStartTime(startTime);
|
|
performance.setEndTime(endTime);
|
|
performance.setEndTime(endTime);
|
|
performance.setUserId(planeMap.get(key).getUserId());
|
|
performance.setUserId(planeMap.get(key).getUserId());
|
|
performanceMapper.insert(performance);
|
|
performanceMapper.insert(performance);
|
|
}
|
|
}
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度头条平面季度绩效计算结束");
|
|
|
|
- }
|
|
|
|
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////头条平面设计师绩效end
|
|
|
|
-
|
|
|
|
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////头条设计师leader绩效 start
|
|
|
|
- private void toutiaoDesignLeaderPerformance(int thisYear, int thisQuarter, String startTime, String endTime) {
|
|
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度头条设计师leader季度绩效计算开始");
|
|
|
|
- //直接查询出来各种媒体类型的设计组长
|
|
|
|
- List<UserDto2> designLeaderList = userEfficientVideoMapMapper.getKuaishouDesignLeaderList();
|
|
|
|
-
|
|
|
|
- //循环list然后根据查出leader组下的剪辑userId
|
|
|
|
- for (UserDto2 userDto : designLeaderList) {
|
|
|
|
- List<String> clipList = userEfficientVideoMapMapper.getClip(userDto.getDepId());
|
|
|
|
- BigDecimal totalCost = BigDecimal.ZERO; //剪辑总消耗
|
|
|
|
-
|
|
|
|
- for (String clipUserId : clipList) {
|
|
|
|
- BigDecimal clipCost = userEfficientVideoMapMapper.getClipQuarterCost(1, thisQuarter, thisYear, clipUserId); //媒体类型 //1头条 2快手
|
|
|
|
- totalCost = totalCost.add(clipCost);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //总绩效=小组下所有剪辑消耗总合 * 平台比例 * 20%
|
|
|
|
- BigDecimal totalPerformance = totalCost.multiply(new BigDecimal("0.002")).multiply(new BigDecimal("0.2"));
|
|
|
|
|
|
|
|
|
|
+ for (String key : designLeaderMap.keySet()) {
|
|
Performance performance = new Performance();
|
|
Performance performance = new Performance();
|
|
performance.setAppType(1); //1头条 2快手
|
|
performance.setAppType(1); //1头条 2快手
|
|
- performance.setRoleId(userDto.getRoleId());
|
|
|
|
|
|
+ performance.setRoleId(designLeaderMap.get(key).getRoleId());
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setQuarter(thisQuarter);
|
|
performance.setYear(thisYear);
|
|
performance.setYear(thisYear);
|
|
- performance.setCommissionRate(new BigDecimal("0.002")); //千分之
|
|
|
|
- performance.setRoleCommissionRate(new BigDecimal("0.2"));
|
|
|
|
- performance.setTotalCost(totalCost);
|
|
|
|
- performance.setTotalPerformance(totalPerformance);
|
|
|
|
|
|
+ //performance.setCommissionRate(new BigDecimal("0.002")); //头条平台比例2‰
|
|
|
|
+ performance.setTotalCost(designLeaderMap.get(key).getCost());
|
|
|
|
+ performance.setTotalPerformance(designLeaderMap.get(key).getEffiRate()); //头条
|
|
|
|
+ //performance.setRoleCommissionRate(new BigDecimal("0.05"));
|
|
performance.setStartTime(startTime);
|
|
performance.setStartTime(startTime);
|
|
performance.setEndTime(endTime);
|
|
performance.setEndTime(endTime);
|
|
- performance.setUserId(userDto.getUserId());
|
|
|
|
|
|
+ performance.setUserId(designLeaderMap.get(key).getUserId());
|
|
performanceMapper.insert(performance);
|
|
performanceMapper.insert(performance);
|
|
}
|
|
}
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度头条设计师leader季度绩效计算开始");
|
|
|
|
|
|
+ log.info(thisYear + "年第" + thisQuarter + "季度头条平面季度绩效计算结束");
|
|
}
|
|
}
|
|
|
|
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////头条平面设计师绩效end
|
|
|
|
+
|
|
|
|
+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////头条设计师leader绩效 start
|
|
|
|
+ //private void toutiaoDesignLeaderPerformance(int thisYear, int thisQuarter, String startTime, String endTime) {
|
|
|
|
+ // log.info(thisYear + "年第" + thisQuarter + "季度头条设计师leader季度绩效计算开始");
|
|
|
|
+ // //直接查询出来各种媒体类型的设计组长
|
|
|
|
+ // List<UserDto2> designLeaderList = userEfficientVideoMapMapper.getKuaishouDesignLeaderList();
|
|
|
|
+ //
|
|
|
|
+ // //循环list然后根据查出leader组下的剪辑userId
|
|
|
|
+ // for (UserDto2 userDto : designLeaderList) {
|
|
|
|
+ // List<String> clipList = userEfficientVideoMapMapper.getClip(userDto.getDepId());
|
|
|
|
+ // BigDecimal totalCost = BigDecimal.ZERO; //剪辑总消耗
|
|
|
|
+ //
|
|
|
|
+ // for (String clipUserId : clipList) {
|
|
|
|
+ // BigDecimal clipCost = userEfficientVideoMapMapper.getClipQuarterCost(1, thisQuarter, thisYear, clipUserId); //媒体类型 //1头条 2快手
|
|
|
|
+ // totalCost = totalCost.add(clipCost);
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // //总绩效=小组下所有剪辑消耗总合 * 平台比例 * 20%
|
|
|
|
+ // BigDecimal totalPerformance = totalCost.multiply(new BigDecimal("0.002")).multiply(new BigDecimal("0.2"));
|
|
|
|
+ //
|
|
|
|
+ // Performance performance = new Performance();
|
|
|
|
+ // performance.setAppType(1); //1头条 2快手
|
|
|
|
+ // performance.setRoleId(userDto.getRoleId());
|
|
|
|
+ // performance.setQuarter(thisQuarter);
|
|
|
|
+ // performance.setYear(thisYear);
|
|
|
|
+ // performance.setCommissionRate(new BigDecimal("0.002")); //千分之
|
|
|
|
+ // performance.setRoleCommissionRate(new BigDecimal("0.2"));
|
|
|
|
+ // performance.setTotalCost(totalCost);
|
|
|
|
+ // performance.setTotalPerformance(totalPerformance);
|
|
|
|
+ // performance.setStartTime(startTime);
|
|
|
|
+ // performance.setEndTime(endTime);
|
|
|
|
+ // performance.setUserId(userDto.getUserId());
|
|
|
|
+ // performanceMapper.insert(performance);
|
|
|
|
+ // }
|
|
|
|
+ // log.info(thisYear + "年第" + thisQuarter + "季度头条设计师leader季度绩效计算开始");
|
|
|
|
+ //}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////头条设计师leader绩效 end
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////头条设计师leader绩效 end
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -2559,5 +2762,18 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
return userEfficientVideoMapMapper.getYunyingQuarterDetailByUserId(year, quarter, userId, appType);
|
|
return userEfficientVideoMapMapper.getYunyingQuarterDetailByUserId(year, quarter, userId, appType);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //按平台获取其下所有项目信息以及消耗
|
|
|
|
+ public List<ProjectDTO> getProjcetListByMediaType(Integer year, Integer quarter, Integer appType ){
|
|
|
|
+ return userEfficientVideoMapMapper.getProjcetListByMediaType(year, quarter, appType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //根据projectId获取其下账户季度消耗信息
|
|
|
|
+ public List<AccountDTO> getQuarterAccountDetail(Integer year, Integer quarter, Integer appType){
|
|
|
|
+ return userEfficientVideoMapMapper.getQuarterAccountDetail(year, quarter, appType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|