|
@@ -275,7 +275,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//拍摄
|
|
//拍摄
|
|
kuaishouShotPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
kuaishouShotPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
//剪辑
|
|
//剪辑
|
|
- kuaishouClipPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
|
|
|
|
+ //kuaishouClipPerformance(thisYear, thisQuarter, startTime, endTime);
|
|
//平面设计
|
|
//平面设计
|
|
kuaishouPlanePerformance(thisYear, thisQuarter, startTime, endTime);
|
|
kuaishouPlanePerformance(thisYear, thisQuarter, startTime, endTime);
|
|
//设计师leader
|
|
//设计师leader
|
|
@@ -311,7 +311,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////编导季度绩效计算start
|
|
////////////////////////////////////////////////////////////////////////////////////////////////编导季度绩效计算start
|
|
private void kuaishouPlanPerformance(int thisYear, int thisQuarter, String startTime, String endTime) {
|
|
private void kuaishouPlanPerformance(int thisYear, int thisQuarter, String startTime, String endTime) {
|
|
- log.info(thisYear + "年第" + thisQuarter + "季度快手编导季度绩效计算开始");
|
|
|
|
|
|
+ log.info(thisYear + "年第" + thisQuarter + "季度快手编导季度绩效计算开始");
|
|
//1.根据角色(编导)查询出相对应角色所有的人
|
|
//1.根据角色(编导)查询出相对应角色所有的人
|
|
//List<UserDto> planList = sysRoleMapper.getUserByRoleCode("plan"); //编导
|
|
//List<UserDto> planList = sysRoleMapper.getUserByRoleCode("plan"); //编导
|
|
List<UserDto2> planList = userEfficientVideoMapMapper.getKuaishouPlanList(); //编导
|
|
List<UserDto2> planList = userEfficientVideoMapMapper.getKuaishouPlanList(); //编导
|
|
@@ -559,14 +559,14 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1头条 2快手
|
|
//获取所有project根据媒体类型获取快手下的项目类型 1头条 2快手
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("2");
|
|
List<ProjectDTO> projectDTOS = userEfficientVideoMapMapper.getProjects("2");
|
|
|
|
|
|
- System.out.println("北京公司快手项目数量为:" + projectDTOS.size());
|
|
|
|
|
|
+ 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());
|
|
|
|
|
|
+ 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")) {
|
|
@@ -597,7 +597,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
planeProjectCost.setProjectTotalCost(quarterCost);
|
|
planeProjectCost.setProjectTotalCost(quarterCost);
|
|
planeProjectCost.setProjectCost(averageQuarterCost);
|
|
planeProjectCost.setProjectCost(averageQuarterCost);
|
|
planeProjectCost.setUserId(plane.getUserId());
|
|
planeProjectCost.setUserId(plane.getUserId());
|
|
-
|
|
|
|
|
|
+ //增加平面人数、和项目单独的绩效
|
|
|
|
+ planeProjectCost.setProjectPlaneCount(planeList.size());
|
|
|
|
+ planeProjectCost.setProjectPerformance(averageQuarterCost.multiply(new BigDecimal("0.05")));
|
|
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);
|
|
@@ -940,6 +942,9 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
planeProjectCost.setProjectTotalCost(quarterCost);
|
|
planeProjectCost.setProjectTotalCost(quarterCost);
|
|
planeProjectCost.setProjectCost(averageQuarterCost);
|
|
planeProjectCost.setProjectCost(averageQuarterCost);
|
|
planeProjectCost.setUserId(plane.getUserId());
|
|
planeProjectCost.setUserId(plane.getUserId());
|
|
|
|
+ //增加平面人数、和项目单独的绩效
|
|
|
|
+ planeProjectCost.setProjectPlaneCount(planeList.size());
|
|
|
|
+ planeProjectCost.setProjectPerformance(averageQuarterCost.multiply(new BigDecimal("0.05")));
|
|
|
|
|
|
if (null == planeMap.get(plane.getUserId())) {
|
|
if (null == planeMap.get(plane.getUserId())) {
|
|
plane.setEffiRate(averageQuarterCost);
|
|
plane.setEffiRate(averageQuarterCost);
|
|
@@ -1429,13 +1434,15 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
//{"videoAccount":"aabbcc","servingAccount":"ttyyhh","cost":34234.43}
|
|
//{"videoAccount":"aabbcc","servingAccount":"ttyyhh","cost":34234.43}
|
|
public List<DesignMaterialInfo> materialAccountInfo(String materialInfoId) {
|
|
public List<DesignMaterialInfo> materialAccountInfo(String materialInfoId) {
|
|
log.info("materialAccountInfo接口开始");
|
|
log.info("materialAccountInfo接口开始");
|
|
- Date date = new Date();
|
|
|
|
- Date getDate = DateUtils.addDay(date, -1);
|
|
|
|
- String startDate = DateUtils.getQuarterStartDate(getDate);
|
|
|
|
- String endDate = DateUtils.getQuarterEndDate(getDate);
|
|
|
|
- String endNowDate = DateUtils.formatDate(getDate);
|
|
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ int year = quarterMap.get("year");
|
|
|
|
+ int quarter = quarterMap.get("quarter");
|
|
|
|
|
|
- List<DesignMaterialInfo> materialInfoList = userEfficientVideoMapMapper.getMaterialAccountInfoByMaterialId(materialInfoId, startDate, endNowDate);
|
|
|
|
|
|
+ Map<String,String> quarterDate = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ String startDate = quarterDate.get("startDate");
|
|
|
|
+ String endDate = quarterDate.get("endDate");
|
|
|
|
+
|
|
|
|
+ List<DesignMaterialInfo> materialInfoList = userEfficientVideoMapMapper.getMaterialAccountInfoByMaterialId(materialInfoId, startDate, endDate);
|
|
log.info("materialAccountInfo接口结束");
|
|
log.info("materialAccountInfo接口结束");
|
|
return materialInfoList;
|
|
return materialInfoList;
|
|
}
|
|
}
|
|
@@ -1456,5 +1463,149 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
|
|
timeMap.put("quarter", quarter);
|
|
timeMap.put("quarter", quarter);
|
|
return timeMap;
|
|
return timeMap;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //获取快手上个季度的季度有效数、素材总数、上个季度的绩效
|
|
|
|
+ public Map<String,Object> kuaishouDesignerLastQuarterPerformanceInfo(){
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+
|
|
|
|
+ //TODO 测试使用
|
|
|
|
+ //LoginUser sysUser = new LoginUser();
|
|
|
|
+ //sysUser.setId("f1f4c325a1234827af28fb4d957ffd70");
|
|
|
|
+ //
|
|
|
|
+
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ int year = quarterMap.get("year");
|
|
|
|
+ int quarter = quarterMap.get("quarter");
|
|
|
|
+
|
|
|
|
+ Map<String,String> quarterDate = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ String startDate = quarterDate.get("startDate");
|
|
|
|
+ String endDate = quarterDate.get("endDate");
|
|
|
|
+ SysRole role = userEfficientVideoMapMapper.getRoleIdByUserId(sysUser.getId());
|
|
|
|
+
|
|
|
|
+ //有效视频数量 1toutiao 2kuaishou
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, year, quarter, sysUser.getId(), role.getId());
|
|
|
|
+ //总视频数量
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startDate, endDate, sysUser.getId());
|
|
|
|
+ //获取季度总绩效
|
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(sysUser.getId(), year, quarter, 2);
|
|
|
|
+
|
|
|
|
+ //素材列表
|
|
|
|
+ List<DesignMaterialInfo> materialInfoList = userEfficientVideoMapMapper.designMaterialInfoList(role.getRoleCode(), sysUser.getId(), startDate, endDate);
|
|
|
|
+
|
|
|
|
+ Map<String,Object> resultMap = new HashMap();
|
|
|
|
+ resultMap.put("effiVideoCount",effiVideoCount);
|
|
|
|
+ resultMap.put("videoCount",videoCount);
|
|
|
|
+ resultMap.put("performance",performance);
|
|
|
|
+ resultMap.put("materialInfoList",materialInfoList);
|
|
|
|
+
|
|
|
|
+ return resultMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //TODO 获取头条上个季度的季度有效数、素材总数、上个季度的绩效
|
|
|
|
+ public void toutiaoDesignerLastQuarterPerformanceInfo(){
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ int year = quarterMap.get("year");
|
|
|
|
+ int quarter = quarterMap.get("quarter");
|
|
|
|
+ Map<String,String> quarterDate = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ String startDate = quarterDate.get("startDate");
|
|
|
|
+ String endDate = quarterDate.get("endDate");
|
|
|
|
+ SysRole role = userEfficientVideoMapMapper.getRoleIdByUserId(sysUser.getId());
|
|
|
|
+
|
|
|
|
+ //有效视频数量 1toutiao 2kuaishou
|
|
|
|
+ int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2, year, quarter, sysUser.getId(), role.getId());
|
|
|
|
+ //总视频数量
|
|
|
|
+ int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId("plan", startDate, endDate, sysUser.getId());
|
|
|
|
+ //获取季度总绩效
|
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(sysUser.getId(), year, quarter, 1);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取设计师组下所有人的绩效
|
|
|
|
+ public Map<String,Object> designerLastQuarterPerformanceInfo(){
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+
|
|
|
|
+ //TODO 测试删除
|
|
|
|
+ //LoginUser sysUser = new LoginUser();
|
|
|
|
+ //sysUser.setId("825dd716d4c041f9ac1c600bf6183979");
|
|
|
|
+ //
|
|
|
|
+
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ int year = quarterMap.get("year");
|
|
|
|
+ int quarter = quarterMap.get("quarter");
|
|
|
|
+ //Map<String,String> quarterDate = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ //String startDate = quarterDate.get("startDate");
|
|
|
|
+ //String endDate = quarterDate.get("endDate");
|
|
|
|
+ //SysRole role = userEfficientVideoMapMapper.getRoleIdByUserId(sysUser.getId());
|
|
|
|
+
|
|
|
|
+ String DepartId = userEfficientVideoMapMapper.getDepartIdByUserId(sysUser.getId());
|
|
|
|
+ List<UserDto2> userDto2List = userEfficientVideoMapMapper.getUserListByDepartId(DepartId);
|
|
|
|
+
|
|
|
|
+ //需要判断属于哪个部门
|
|
|
|
+ //判断如果在parent_id是不是快手或者头条的
|
|
|
|
+ int appType = 0; //头条1;快手2
|
|
|
|
+ String parentId = userEfficientVideoMapMapper.getParentIdByDepartId(DepartId);
|
|
|
|
+ if(parentId.equals("26c10ecb5e0d416bb01f8ff983f4588c")){
|
|
|
|
+ appType = 1;
|
|
|
|
+ }else{
|
|
|
|
+ appType = 2;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //循环获取userDto然后获取赋值季度、年度以及部门、绩效
|
|
|
|
+ for (UserDto2 userDto:userDto2List){
|
|
|
|
+ userDto.setYear(year);
|
|
|
|
+ userDto.setQuarter(quarter);
|
|
|
|
+ String departName = userEfficientVideoMapMapper.getDepartNameByUserId(userDto.getUserId());
|
|
|
|
+ //获取绩效
|
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getClipQuarterCost(appType,quarter,year, userDto.getUserId());
|
|
|
|
+ userDto.setDepartName(departName);
|
|
|
|
+ userDto.setEffiRate(performance);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String,Object> resultMap = new HashMap<>();
|
|
|
|
+ resultMap.put("userList", userDto2List);
|
|
|
|
+
|
|
|
|
+ return resultMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //平面设计师(快手、头条可能不一样,头条内广是单独的媒体不知道是怎么回事)
|
|
|
|
+ public Map<String,Object> planeLastQuarterPerformanceInfo(int appType){
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+
|
|
|
|
+ //测试删除
|
|
|
|
+ //LoginUser sysUser = new LoginUser();
|
|
|
|
+ //sysUser.setId("b0e4798234df4096936e6bc6d00db3ba");
|
|
|
|
+ //
|
|
|
|
+
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ int year = quarterMap.get("year");
|
|
|
|
+ int quarter = quarterMap.get("quarter");
|
|
|
|
+ //Map<String,String> quarterDate = DateUtils.quarterStartEndDate(year,quarter);
|
|
|
|
+ List<PlaneProjectCostDTO> planeProjectCostList = userEfficientVideoMapMapper.getPlanePerformanceInfo(appType,year,quarter,sysUser.getId());
|
|
|
|
+ BigDecimal performance = userEfficientVideoMapMapper.getQuarterPerformance(sysUser.getId(), year, quarter, appType);
|
|
|
|
+
|
|
|
|
+ Map<String,Object> resultMap = new HashMap<>();
|
|
|
|
+ resultMap.put("planeProjectCostList",planeProjectCostList);
|
|
|
|
+ resultMap.put("performance",performance);
|
|
|
|
+
|
|
|
|
+ return resultMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取同一媒体类型下上个季度所有人的绩效
|
|
|
|
+ public Map<String, Object> quarterUserPerformanceList(Integer appType){
|
|
|
|
+ Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
+ Map<String,Integer> quarterMap = DateUtils.lastQuarter(new Date());
|
|
|
|
+ int year = quarterMap.get("year");
|
|
|
|
+ int quarter = quarterMap.get("quarter");
|
|
|
|
+
|
|
|
|
+ List<UserDto2> userDtoList = userEfficientVideoMapMapper.getUserPerformanceList(appType, year, quarter);
|
|
|
|
+ resultMap.put("userDtoList",userDtoList);
|
|
|
|
+
|
|
|
|
+ return resultMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|