yurk 2 лет назад
Родитель
Сommit
d9c3aa7e7a

+ 7 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -125,12 +125,13 @@ public class ProjectController {
                                    Integer projectMainId,
                                    String providerIds,
                                    String providerNames,
-                                   ProjectSeparate projectSeparate
+                                   ProjectSeparate projectSeparate,
+                                   @RequestParam(defaultValue = "false") boolean onlyChangeParticipate
                                    ) {
         return projectService.editProject(id, name, code, userId, inchargerId, isPublic, planStartDate, planEndDate, level, contractAmount,
                 projectBaseCostData,
                  budget,customerId,chosenLeaders, associateDegrees, associateDegreeNames,
-                taskGpIncharge,auditUserIds, category, projectDesc,projectMainId, providerIds, providerNames, request,projectSeparate);
+                taskGpIncharge,auditUserIds, category, projectDesc,projectMainId, providerIds, providerNames, request,projectSeparate,onlyChangeParticipate);
     }
 
     @RequestMapping("/adjustBase")
@@ -351,12 +352,12 @@ public class ProjectController {
 
     //分页查询项目各个阶段的汇总工时成本
     @RequestMapping("/getProjectStagesCost")
-    public HttpRespMsg getProjectStagesCost(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId) {
-        return projectService.getProjectStagesCost(pageIndex, pageSize, projectId, request);
+    public HttpRespMsg getProjectStagesCost(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, Integer projectId,String stageNames) {
+        return projectService.getProjectStagesCost(pageIndex, pageSize, projectId, request,stageNames);
     }
     @RequestMapping("/exportProjectStagesCost")
-    public HttpRespMsg exportProjectStagesCost() {
-        return projectService.exportProjectStagesCost(request);
+    public HttpRespMsg exportProjectStagesCost(String stageNames) {
+        return projectService.exportProjectStagesCost(request,stageNames);
     }
     //导出项目任务报表
     @RequestMapping("/exportProjectTask")

+ 3 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -43,7 +43,7 @@ public interface ProjectService extends IService<Project> {
                             String providerIds,
                             String providerNames,
                             HttpServletRequest request,
-                            ProjectSeparate projectSeparate);
+                            ProjectSeparate projectSeparate,boolean onlyChangeParticipate);
 
     HttpRespMsg deleteProject(Integer id, Integer force);
 
@@ -95,9 +95,9 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String userId, Integer projectId, String groupName,Integer taskType, HttpServletRequest request);
 
-    HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
+    HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request,String stageNames);
 
-    HttpRespMsg exportProjectStagesCost( HttpServletRequest request);
+    HttpRespMsg exportProjectStagesCost( HttpServletRequest request,String stageNames);
 
     HttpRespMsg getOvertimeList(String userId, Integer projectId, String startDate, String endDate, HttpServletRequest request,Integer departmentId);
 

+ 30 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -365,7 +365,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                    String providerIds,
                                    String providerNames,
                                    HttpServletRequest request,
-                                   ProjectSeparate projectSeparate) {
+                                   ProjectSeparate projectSeparate,boolean onlyChangeParticipate) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("Token"));
         Integer companyId = user.getCompanyId();
@@ -510,10 +510,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                 }
                 if(companyId==936){
+                    //编辑之前的项目是否存在子表数据
                     ProjectSeparate separate = projectSeparateMapper.selectById(id);
                     projectSeparate.setId(id);
                     if(separate!=null){
-                        projectSeparateMapper.updateById(projectSeparate);
+                        if(!onlyChangeParticipate){
+                            projectSeparateMapper.updateById(projectSeparate);
+                        }
                     }else {
                         projectSeparateMapper.insert(projectSeparate);
                     }
@@ -2185,8 +2188,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
+    public HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request,String stageNames) {
         String token = request.getHeader("TOKEN");
+        List<String> stageNameList=null;
+        if(stageNames!=null){
+            String[] split = stageNames.split(",");
+            stageNameList= Arrays.asList(split);
+        }
         User user = userMapper.selectById(token);
         Integer companyId = user.getCompanyId();
         int startIndex = (pageIndex-1)*pageSize;
@@ -2231,7 +2239,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         //获取全部的列
         if (record.size() > 0) {
             List<Integer> collect = record.stream().map(ProjectWithStage::getId).collect(Collectors.toList());
-            List<Stages> stagesList = stagesMapper.selectList(new QueryWrapper<Stages>().in("project_id", collect));
+            QueryWrapper<Stages> queryWrapper1=new QueryWrapper<>();
+            queryWrapper1.in("project_id",collect);
+            if(stageNameList!=null&&!stageNameList.isEmpty()){
+                queryWrapper1.in("stages_name",stageNameList);
+            }
+            List<Stages> stagesList = stagesMapper.selectList(queryWrapper1);
             List<String> stageList = stagesList.stream().map(Stages::getStagesName).distinct().collect(Collectors.toList());
             map.put("stages", stageList);
         } else {
@@ -2243,8 +2256,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg exportProjectStagesCost(HttpServletRequest request) {
+    public HttpRespMsg exportProjectStagesCost(HttpServletRequest request,String stageNames) {
         String token = request.getHeader("TOKEN");
+        List<String> stageNameList=null;
+        if(stageNames!=null){
+            String[] split = stageNames.split(",");
+            stageNameList= Arrays.asList(split);
+        }
         User user = userMapper.selectById(token);
         Integer companyId = user.getCompanyId();
         HttpRespMsg msg = new HttpRespMsg();
@@ -2268,7 +2286,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, null, null, null,inchagerIds);
         //获取全部的列
         List<Integer> collect = record.stream().map(ProjectWithStage::getId).collect(Collectors.toList());
-        List<Stages> stagesList = stagesMapper.selectList(new QueryWrapper<Stages>().select("distinct stages_name").in("project_id", collect));
+        QueryWrapper<Stages> queryWrapper=new QueryWrapper<>();
+        queryWrapper.select("distinct stages_name");
+        queryWrapper.in("project_id",collect);
+        if(stageNameList!=null&&!stageNameList.isEmpty()){
+            queryWrapper.in("stages_name",stageNameList);
+        }
+        List<Stages> stagesList = stagesMapper.selectList(queryWrapper);
         List<String> stageList = stagesList.stream().map(Stages::getStagesName).distinct().collect(Collectors.toList());
         List<String> titleList = new ArrayList<>();
         titleList.add("项目编号");