|
@@ -266,6 +266,59 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getProjectEstimatedWork(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
|
|
|
|
+ HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
|
+ //通过公司id获取该公司所有的项目列表
|
|
|
|
+ User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
|
+ Integer companyId = user.getCompanyId();
|
|
|
|
+ //根据公司的id搜索该公司有哪些项目 20231108之前完成的不统计,状态为进行中/已完成
|
|
|
|
+ LambdaQueryWrapper<Project> lqw = new LambdaQueryWrapper<>();
|
|
|
|
+ lqw.in(Project::getStatus,1,2).eq(Project::getCompanyId,companyId);
|
|
|
|
+ List<Project> projectList = projectMapper.selectList(lqw);
|
|
|
|
+ //该公司下的allday
|
|
|
|
+ float allday=timeTypeMapper.selectOne(new QueryWrapper<TimeType>().eq("company_id",companyId)).getAllday();
|
|
|
|
+ ArrayList<ProjectEstimatedWorkVO> projectEstimatedWorkVOS = new ArrayList<>();
|
|
|
|
+ if (projectList.size()>0){
|
|
|
|
+ LocalDate date = LocalDate.parse("2023-11-08");
|
|
|
|
+ //20231108之前完成的不统计,状态为进行中/已完成
|
|
|
|
+ List<Project> projects = projectList.stream().filter(p -> (p.getFinishDate().isAfter(date)) || (p.getFinishDate() == null)).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ for (Project project : projects) {
|
|
|
|
+ ProjectEstimatedWorkVO projectEstimatedWorkVO = new ProjectEstimatedWorkVO();
|
|
|
|
+ projectEstimatedWorkVO.setId(project.getId());
|
|
|
|
+ projectEstimatedWorkVO.setProjectName(project.getProjectName());
|
|
|
|
+ projectEstimatedWorkVO.setEstimatedWorkTime(String.valueOf(project.getManDay()*allday));
|
|
|
|
+ double reallyProjectWorkingTime=reportMapper.getReallWorkingTimeByProjectId(project.getId());
|
|
|
|
+ projectEstimatedWorkVO.setWorkTime(String.valueOf(reallyProjectWorkingTime));
|
|
|
|
+
|
|
|
|
+ ArrayList<GroupEstimatedWorkVO> groupEstimatedWorkVOS = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ LambdaQueryWrapper<TaskGroup> tlqw = new LambdaQueryWrapper<>();
|
|
|
|
+ tlqw.eq(TaskGroup::getProjectId,project.getId());
|
|
|
|
+ List<TaskGroup> taskGroups = taskGroupMapper.selectList(tlqw);
|
|
|
|
+ if (taskGroups.size()>0){
|
|
|
|
+ for (TaskGroup taskGroup : taskGroups) {
|
|
|
|
+ GroupEstimatedWorkVO groupEstimatedWorkVO = new GroupEstimatedWorkVO();
|
|
|
|
+ groupEstimatedWorkVO.setEstimatedWorkTime(String.valueOf(taskGroup.getManDay()*allday));
|
|
|
|
+ groupEstimatedWorkVO.setId(taskGroup.getId());
|
|
|
|
+ groupEstimatedWorkVO.setGroupName(taskGroup.getName());
|
|
|
|
+ double reallyGroupWorkingTime=reportMapper.getReallWorkingTimeByProjectAndGroup(project.getId(),taskGroup.getId());
|
|
|
|
+ groupEstimatedWorkVO.setEstimatedWorkTime(String.valueOf(reallyGroupWorkingTime));
|
|
|
|
+
|
|
|
|
+ groupEstimatedWorkVOS.add(groupEstimatedWorkVO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ projectEstimatedWorkVO.setGroupEstimatedWorkVOList(groupEstimatedWorkVOS);
|
|
|
|
+ projectEstimatedWorkVOS.add(projectEstimatedWorkVO);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ httpRespMsg.data=projectEstimatedWorkVOS;
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
|
|
+
|
|
//分页获取项目列表
|
|
//分页获取项目列表
|
|
@Override
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
@Transactional(readOnly = true)
|