From 091b698701b0f77c3746ac9cfe03e0c4d272cbfd Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 24 12월 2021 18:14:58 +0900 Subject: [PATCH] 헤더에서 전체 프로젝트 선택 시 속해있지 않는 다른 프로젝트의 이슈유형리스트까지 보이는 문제 해결 --- src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java index b32b1d4..561db3a 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java @@ -191,20 +191,42 @@ IssueTypeCondition condition, Pageable pageable) { List<Long> downProjectIds = Lists.newArrayList(); + List<Long> allProjectIds = Lists.newArrayList(); + List<ProjectClosure> projectClosures = Lists.newArrayList(); condition.setPage(pageable.getPageNumber() * pageable.getPageSize()); condition.setPageSize(pageable.getPageSize()); condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); - List<ProjectClosure> projectClosures = this.projectClosureRepository.findByParentProjectId(condition.getProjectId()); - if (projectClosures != null) { + + if (condition.getProjectId() == null) { + List<ProjectVo> projectVos = this.projectService.findByIncludeProject(Lists.newArrayList("01", "02", "03"), ProjectType.BTS_PROJECT.toString()); + if (projectVos != null && projectVos.size() > 0) { + for (ProjectVo projectVo : projectVos) { + allProjectIds.add(projectVo.getId()); + projectClosures = this.projectClosureRepository.findByParentProjectId(projectVo.getId()); + if (projectClosures != null && projectClosures.size() > 0) { + for (ProjectClosure projectClosure : projectClosures) { + allProjectIds.add(projectClosure.getProject().getId()); + } + } + } + } + }else { + projectClosures = this.projectClosureRepository.findByParentProjectId(condition.getProjectId()); + } + + if (projectClosures != null && projectClosures.size() > 0) { for (ProjectClosure projectClosure : projectClosures) { Long downProjectId = projectClosure.getProject().getId(); downProjectIds.add(downProjectId); + allProjectIds.add(downProjectId); } } condition.setDownProjectIds(downProjectIds); - + if (condition.getProjectId() == null) { + condition.setAllProjectIds(allProjectIds); + } List<Map<String, Object>> results = this.issueTypeMapper.find(condition); for (Map<String, Object> result : results) { Long projectId = MapUtil.getLong(result, "projectId"); -- Gitblit v1.8.0