|
@@ -11289,7 +11289,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
|
|
|
//获取FTE报表数据
|
|
|
@Override
|
|
|
- public HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize,String monthStart,String monthEnd, String area,String sortProp, Integer sortOrder, HttpServletRequest request) {
|
|
|
+ public HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize,String monthStart,String monthEnd, String area,String userId,String sortProp, Integer sortOrder, HttpServletRequest request) {
|
|
|
HttpRespMsg httpRespMsg =new HttpRespMsg();
|
|
|
User targetUser = userMapper.selectById(request.getHeader("token"));
|
|
|
List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "全部部门FTE报表");
|
|
@@ -11327,10 +11327,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
if(pageIndex!=null&&pageSize!=null){
|
|
|
Integer size=pageSize;
|
|
|
Integer start=(pageIndex-1)*size;
|
|
|
- resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,start,size,area,sortProp,sortOrder,null,deptIds);
|
|
|
- total=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,sortProp,sortOrder,null,deptIds).size();
|
|
|
+ resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,start,size,area,userId,sortProp,sortOrder,null,deptIds);
|
|
|
+ total=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,userId,sortProp,sortOrder,null,deptIds).size();
|
|
|
}else{
|
|
|
- resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,sortProp,sortOrder,null,deptIds);
|
|
|
+ resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,userId,sortProp,sortOrder,null,deptIds);
|
|
|
}
|
|
|
//固定月工时数 163.125
|
|
|
double regularMonthTime=163.125;
|
|
@@ -11366,7 +11366,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
if (userCustoms.size() != 0){
|
|
|
customName = userCustoms.get(0).getName();
|
|
|
}
|
|
|
- HttpRespMsg fteData = getFTEData(null, null, monthStart,monthEnd, area,null,null, request);
|
|
|
+ HttpRespMsg fteData = getFTEData(null, null, monthStart,monthEnd, area,null,null,null, request);
|
|
|
LocalDate timeStart = LocalDate.parse(monthStart, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
LocalDate timeEnd = LocalDate.parse(monthEnd, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
timeStart=timeStart.with(TemporalAdjusters.firstDayOfMonth());
|
|
@@ -12778,31 +12778,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
item.put("groupName",groupName);
|
|
|
item.put("corpwxDeptId",corpwxDeptid);
|
|
|
item.put("department_name",departmentName);
|
|
|
- if(!taskGroup.isPresent()){
|
|
|
- item.put("planHour",0);
|
|
|
- item.put("realHour",0);
|
|
|
- item.put("realCost",0);
|
|
|
- item.put("overHour",0);
|
|
|
- item.put("normalHour",0);
|
|
|
- item.put("process","0%");
|
|
|
- }else {
|
|
|
- Optional<Map<String, Object>> first = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
|
|
|
- && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) &&( Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7459)||subDeptIds.contains( Integer.valueOf(String.valueOf(r.get("deptId")))))).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- item.put("planHour",first.get().get("planHour"));
|
|
|
- item.put("realHour",first.get().get("realHour"));
|
|
|
- item.put("realCost",first.get().get("realCost"));
|
|
|
- item.put("overHour",first.get().get("overHour"));
|
|
|
- item.put("normalHour",first.get().get("normalHour"));
|
|
|
- item.put("process",first.get().get("process"));
|
|
|
+ if(taskGroup.isPresent()){
|
|
|
+ List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
|
|
|
+ && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7459) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
|
|
|
+ if(mapList!=null&&mapList.size()>0){
|
|
|
+ item.put("planHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("planHour")))).sum());
|
|
|
+ item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
|
|
|
+ item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
|
|
|
+ item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
|
|
|
+ item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
|
|
|
+ double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
|
|
|
+ double planHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("planHour")))).sum();
|
|
|
+ item.put("process",percentFormat.format(realHour/planHour));
|
|
|
}else {
|
|
|
item.put("planHour",0);
|
|
|
item.put("realHour",0);
|
|
|
item.put("realCost",0);
|
|
|
item.put("overHour",0);
|
|
|
item.put("normalHour",0);
|
|
|
- item.put("process","0%");
|
|
|
+ item.put("process","0.00%");
|
|
|
}
|
|
|
+ }else {
|
|
|
+ item.put("planHour",0);
|
|
|
+ item.put("realHour",0);
|
|
|
+ item.put("realCost",0);
|
|
|
+ item.put("overHour",0);
|
|
|
+ item.put("normalHour",0);
|
|
|
+ item.put("process","0.00%");
|
|
|
}
|
|
|
itemList.add(item);
|
|
|
}
|
|
@@ -12821,31 +12823,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
item.put("groupName",groupName);
|
|
|
item.put("corpwxDeptId",corpwxDeptid);
|
|
|
item.put("department_name",departmentName);
|
|
|
- if(!taskGroup.isPresent()){
|
|
|
- item.put("planHour",0);
|
|
|
- item.put("realHour",0);
|
|
|
- item.put("realCost",0);
|
|
|
- item.put("overHour",0);
|
|
|
- item.put("normalHour",0);
|
|
|
- item.put("process","0%");
|
|
|
- }else {
|
|
|
- Optional<Map<String, Object>> first = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
|
|
|
- && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) &&( Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7460)||subDeptIds.contains( Integer.valueOf(String.valueOf(r.get("deptId")))))).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- item.put("planHour",first.get().get("planHour"));
|
|
|
- item.put("realHour",first.get().get("realHour"));
|
|
|
- item.put("realCost",first.get().get("realCost"));
|
|
|
- item.put("overHour",first.get().get("overHour"));
|
|
|
- item.put("normalHour",first.get().get("normalHour"));
|
|
|
- item.put("process",first.get().get("process"));
|
|
|
+ if(taskGroup.isPresent()){
|
|
|
+ List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
|
|
|
+ && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7460) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
|
|
|
+ if(mapList!=null&&mapList.size()>0){
|
|
|
+ item.put("planHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("planHour")))).sum());
|
|
|
+ item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
|
|
|
+ item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
|
|
|
+ item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
|
|
|
+ item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
|
|
|
+ double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
|
|
|
+ double planHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("planHour")))).sum();
|
|
|
+ item.put("process",percentFormat.format(realHour/planHour));
|
|
|
}else {
|
|
|
item.put("planHour",0);
|
|
|
item.put("realHour",0);
|
|
|
item.put("realCost",0);
|
|
|
item.put("overHour",0);
|
|
|
item.put("normalHour",0);
|
|
|
- item.put("process","0%");
|
|
|
+ item.put("process","0.00%");
|
|
|
}
|
|
|
+ }else {
|
|
|
+ item.put("planHour",0);
|
|
|
+ item.put("realHour",0);
|
|
|
+ item.put("realCost",0);
|
|
|
+ item.put("overHour",0);
|
|
|
+ item.put("normalHour",0);
|
|
|
+ item.put("process","0.00%");
|
|
|
}
|
|
|
itemList.add(item);
|
|
|
}
|
|
@@ -12868,31 +12872,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
item.put("groupName",groupName);
|
|
|
item.put("corpwxDeptId",corpwxDeptid);
|
|
|
item.put("department_name",departmentName);
|
|
|
- if(!taskGroup.isPresent()){
|
|
|
- item.put("planHour",0);
|
|
|
- item.put("realHour",0);
|
|
|
- item.put("realCost",0);
|
|
|
- item.put("overHour",0);
|
|
|
- item.put("normalHour",0);
|
|
|
- item.put("process","0%");
|
|
|
- }else {
|
|
|
- Optional<Map<String, Object>> first = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
|
|
|
- && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) &&( Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7458)||subDeptIds.contains( Integer.valueOf(String.valueOf(r.get("deptId")))))).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- item.put("planHour",first.get().get("planHour"));
|
|
|
- item.put("realHour",first.get().get("realHour"));
|
|
|
- item.put("realCost",first.get().get("realCost"));
|
|
|
- item.put("overHour",first.get().get("overHour"));
|
|
|
- item.put("normalHour",first.get().get("normalHour"));
|
|
|
- item.put("process",first.get().get("process"));
|
|
|
+ if(taskGroup.isPresent()){
|
|
|
+ List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
|
|
|
+ && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7458) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
|
|
|
+ if(mapList!=null&&mapList.size()>0){
|
|
|
+ item.put("planHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("planHour")))).sum());
|
|
|
+ item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
|
|
|
+ item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
|
|
|
+ item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
|
|
|
+ item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
|
|
|
+ double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
|
|
|
+ double planHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("planHour")))).sum();
|
|
|
+ item.put("process",percentFormat.format(realHour/planHour));
|
|
|
}else {
|
|
|
item.put("planHour",0);
|
|
|
item.put("realHour",0);
|
|
|
item.put("realCost",0);
|
|
|
item.put("overHour",0);
|
|
|
item.put("normalHour",0);
|
|
|
- item.put("process","0%");
|
|
|
+ item.put("process","0.00%");
|
|
|
}
|
|
|
+ }else {
|
|
|
+ item.put("planHour",0);
|
|
|
+ item.put("realHour",0);
|
|
|
+ item.put("realCost",0);
|
|
|
+ item.put("overHour",0);
|
|
|
+ item.put("normalHour",0);
|
|
|
+ item.put("process","0.00%");
|
|
|
}
|
|
|
itemList.add(item);
|
|
|
}
|