|
@@ -2,10 +2,7 @@ package com.management.platform.controller;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
-import com.management.platform.entity.Project;
|
|
|
|
-import com.management.platform.entity.ProjectRequirement;
|
|
|
|
-import com.management.platform.entity.Task;
|
|
|
|
-import com.management.platform.entity.TaskGroup;
|
|
|
|
|
|
+import com.management.platform.entity.*;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.service.ProjectRequirementService;
|
|
import com.management.platform.service.ProjectRequirementService;
|
|
import com.management.platform.util.ExcelUtil;
|
|
import com.management.platform.util.ExcelUtil;
|
|
@@ -59,7 +56,8 @@ public class ProjectRequirementController {
|
|
private TaskGroupMapper taskGroupMapper;
|
|
private TaskGroupMapper taskGroupMapper;
|
|
@Resource
|
|
@Resource
|
|
private TaskMapper taskMapper;
|
|
private TaskMapper taskMapper;
|
|
-
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private GroupParticipatorMapper groupParticipatorMapper;
|
|
@RequestMapping("/addOrMod")
|
|
@RequestMapping("/addOrMod")
|
|
public HttpRespMsg addOrMod(ProjectRequirement record) {
|
|
public HttpRespMsg addOrMod(ProjectRequirement record) {
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
@@ -82,13 +80,18 @@ public class ProjectRequirementController {
|
|
now = now.minusDays(7);
|
|
now = now.minusDays(7);
|
|
String startDate = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(now);
|
|
String startDate = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(now);
|
|
List<Integer> projectIds = new ArrayList<>();
|
|
List<Integer> projectIds = new ArrayList<>();
|
|
|
|
+ List<String> taskGroupUserIds=new ArrayList<>();
|
|
if (!StringUtils.isEmpty(groupName)) {
|
|
if (!StringUtils.isEmpty(groupName)) {
|
|
List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
List<Integer> collect = projectList.stream().map(Project::getId).collect(Collectors.toList());
|
|
List<Integer> collect = projectList.stream().map(Project::getId).collect(Collectors.toList());
|
|
List<TaskGroup> taskGroups = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().eq("name", groupName).in("project_id", collect));
|
|
List<TaskGroup> taskGroups = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().eq("name", groupName).in("project_id", collect));
|
|
projectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
|
|
projectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
|
|
|
|
+ //获取分组 负责人id集合
|
|
|
|
+ List<GroupParticipator> groupParticipatorList = groupParticipatorMapper.selectList(new QueryWrapper<GroupParticipator>().in("group_id", taskGroups.stream().map(TaskGroup::getId).collect(Collectors.toList())));
|
|
|
|
+ taskGroupUserIds=groupParticipatorList.stream().map(GroupParticipator::getUserId).collect(Collectors.toList());
|
|
|
|
+ taskGroupUserIds.add("-1");
|
|
}
|
|
}
|
|
- List<ProjectRequirement> projectRequirements = projectRequirementMapper.customSelect(companyId, startDate, projectId, projectIds.size()==0?null:projectIds, startIndex, pageSize,reStartDate,reEndDate);
|
|
|
|
|
|
+ List<ProjectRequirement> projectRequirements = projectRequirementMapper.customSelect(companyId, startDate, projectId, projectIds.size()==0?null:projectIds, startIndex, pageSize,reStartDate,reEndDate,taskGroupUserIds.size()==0?null:taskGroupUserIds);
|
|
List<Integer> ids = projectRequirements.stream().map(pr -> pr.getProjectId()).collect(Collectors.toList());
|
|
List<Integer> ids = projectRequirements.stream().map(pr -> pr.getProjectId()).collect(Collectors.toList());
|
|
List<Task> milepostList=taskMapper.selectMilepost(ids.size()==0?null:ids);
|
|
List<Task> milepostList=taskMapper.selectMilepost(ids.size()==0?null:ids);
|
|
projectRequirements.forEach(pr->{
|
|
projectRequirements.forEach(pr->{
|
|
@@ -107,14 +110,25 @@ public class ProjectRequirementController {
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
@RequestMapping("/exportData")
|
|
@RequestMapping("/exportData")
|
|
- public HttpRespMsg exportData(){
|
|
|
|
|
|
+ public HttpRespMsg exportData(Integer projectId,String groupName){
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
|
|
Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
|
|
LocalDate now = LocalDate.now();
|
|
LocalDate now = LocalDate.now();
|
|
now = now.minusDays(7);
|
|
now = now.minusDays(7);
|
|
String startDate = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(now);
|
|
String startDate = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(now);
|
|
- List<ProjectRequirement> projectRequirementList = projectRequirementMapper.customSelect(companyId,startDate, null, null, null, null,null,null);
|
|
|
|
|
|
+ List<Integer> projectIds = new ArrayList<>();
|
|
|
|
+ List<String> taskGroupUserIds=new ArrayList<>();
|
|
|
|
+ if (!StringUtils.isEmpty(groupName)) {
|
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
|
+ List<Integer> collect = projectList.stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ List<TaskGroup> taskGroups = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().eq("name", groupName).in("project_id", collect));
|
|
|
|
+ projectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
|
|
|
|
+ List<GroupParticipator> groupParticipatorList = groupParticipatorMapper.selectList(new QueryWrapper<GroupParticipator>().in("group_id", taskGroups.stream().map(TaskGroup::getId).collect(Collectors.toList())));
|
|
|
|
+ taskGroupUserIds=groupParticipatorList.stream().map(GroupParticipator::getUserId).collect(Collectors.toList());
|
|
|
|
+ taskGroupUserIds.add("-1");
|
|
|
|
+ }
|
|
|
|
+ List<ProjectRequirement> projectRequirementList = projectRequirementMapper.customSelect(companyId,startDate, projectId, projectIds.size()==0?null:projectIds, null, null,null,null,taskGroupUserIds.size()==0?null:taskGroupUserIds);
|
|
List<Integer> collect = projectRequirementList.stream().map(pr -> pr.getProjectId()).collect(Collectors.toList());
|
|
List<Integer> collect = projectRequirementList.stream().map(pr -> pr.getProjectId()).collect(Collectors.toList());
|
|
List<Task> milepostList=taskMapper.selectMilepost(collect);
|
|
List<Task> milepostList=taskMapper.selectMilepost(collect);
|
|
projectRequirementList.forEach(pr->{
|
|
projectRequirementList.forEach(pr->{
|