From 1f48550c5b7ef46fe33c869d60b1e6c758488942 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 27 12월 2021 17:56:35 +0900 Subject: [PATCH] 하위 프로젝트에만 속해있는 일반회원은 프로젝트 리스트에서 하위 프로젝트가 보이지 않는 현상 수정 --- src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 46 insertions(+), 5 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java index 6689f61..27fb86f 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java @@ -66,6 +66,9 @@ private UserWorkspaceService userWorkspaceService; @Autowired + private IssueTypeService issueTypeService; + + @Autowired private UserLevelService userLevelService; @Autowired @@ -386,6 +389,7 @@ int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1; // �봽濡쒖젥�듃 議고쉶 寃곌낵瑜� ProjectVos 濡� 蹂��솚�븳�떎. - 愿�由ъ옄, �씪諛� �궗�슜�옄 �젙蹂� 異붽� List<ProjectVo> projectVos = this.makeProjectVos(results, user); + this.setParentProject(projectVos); this.setChildrenProject(projectVos, user); resJsonData.put(Constants.RES_KEY_CONTENTS, projectVos); @@ -446,6 +450,20 @@ } return projectVos; + } + + // �긽�쐞 �봽濡쒖젥�듃瑜� 李얠븘以��떎. + private void setParentProject(List<ProjectVo> projectVos) { + for (ProjectVo projectVo : projectVos) { + ProjectClosure projectClosure = this.projectClosureRepository.findByProjectId(projectVo.getId()); + if (projectClosure != null) { + Project parentProject = this.getProject(projectClosure.getParentProject().getId()); + ProjectVo parentProjectVo = ConvertUtil.copyProperties(parentProject, ProjectVo.class); + parentProjectVo.setParentYn(true); + ConvertUtil.copyProperties(parentProjectVo, projectVo); + this.setProjectDepartment(projectVo); + } + } } // 愿�由ъ옄, �씪諛� �궗�슜�옄瑜� 議곌굔�뿉 �뵲�씪 李얠븘以��떎. @@ -561,7 +579,7 @@ User user = this.webAppUtil.getLoginUserObject(); // �썙�겕�뒪�럹�씠�뒪�뿉�꽌 湲곕낯�쑝濡� �젣怨듬릺�뒗 �봽濡쒖젥�듃�뿉 ���븳 泥댄겕 - this.checkDefaultProject(project, projectForm); + //this.checkDefaultProject(project, projectForm); // �닔�젙 沅뚰븳 泥댄겕 this.checkModifyPermission(project.getId(), user); // 愿�由ъ옄 蹂�寃� @@ -683,6 +701,20 @@ this.messageAccessor.getMessage(MsgConstants.DEFAULT_PROJECT_MANAGER_NOT_CHANGE)); } } + } + } + + private void checkUsingIssueType(Long projectId) { + Boolean del = Boolean.FALSE; + + List<IssueType> usingIssueTypes = this.issueTypeService.findByProjectId(projectId); + if (usingIssueTypes == null || usingIssueTypes.isEmpty()) { + del = true; + } + + if (!del) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.PROJECT_NOT_DELETE)); } } @@ -1024,10 +1056,11 @@ private void removeProjects(Long projectId) { Project project = this.getProject(projectId); // 湲곕낯 �봽濡쒖젥�듃�뒗 �궘�젣 湲덉� - if (project.getDefaultYn()) { + /*if (project.getDefaultYn()) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.DEFAULT_PROJECT_NOT_REMOVE)); - } + }*/ + this.checkUsingIssueType(project.getId()); // 濡쒓렇�씤�븳 �궗�슜�옄媛� 愿�由ъ옄 �뿭�븷�뿉 �냼�냽�릺�뼱 �엳�뒗吏� �솗�씤�븳�떎. this.checkModifyPermission(project.getId(), this.webAppUtil.getLoginUserObject()); @@ -1118,7 +1151,15 @@ public List<Map<String, Object>> findByWorkspaceIdAndIncludeProjectAll(ProjectCondition projectCondition) { projectCondition.setLoginUserId(this.webAppUtil.getLoginId()); projectCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); - return this.projectMapper.findByWorkspaceIdAndIncludeProjectAll(projectCondition); + + UserWorkspace userWorkspace = this.userWorkspaceService.findWorkspaceManager(this.webAppUtil.getLoginId()); + List<Map<String, Object>> results = Lists.newArrayList(); + if(userWorkspace != null) {// �썙�겕�뒪�럹�씠�뒪 愿�由ъ옄�씪寃쎌슦 + results = this.projectMapper.findByWorkspaceIdAndProjectAll(projectCondition); + } else { + results = this.projectMapper.findByWorkspaceIdAndIncludeProjectAll(projectCondition); + } + return results; } // �쁽�옱 �젒洹쇳븳 �뾽臾닿났媛꾩뿉�꽌 李몄뿬�븯怨� �엳�뒗 �봽濡쒖젥�듃瑜� 議고쉶�븳�떎. - �긽�떒 �봽濡쒖젥�듃 紐⑸줉�뿉�꽌 �궗�슜 @@ -1267,4 +1308,4 @@ resJsonData.put(Constants.RES_KEY_CONTENTS, ConvertUtil.copyProperties(project, ProjectVo.class)); } -} +} \ No newline at end of file -- Gitblit v1.8.0