| | |
| | | // 관리자일 때 |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { |
| | | results = this.projectMapper.findByWorkspaceManager(condition); |
| | | totalCount = this.projectMapper.countByWorkspaceManager(condition); |
| | |
| | | // 프로젝트 조회 결과를 ProjectVos 로 변환한다. - 관리자, 일반 사용자 정보 추가 |
| | | private List<ProjectVo> makeProjectVos(List<Map<String, Object>> results, User user) { |
| | | List<ProjectVo> projectVos = Lists.newArrayList(); |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | |
| | | for (Map<String, Object> result : results) { |
| | | ProjectVo projectVo = ConvertUtil.convertMapToClass(result, ProjectVo.class); |
| | | // 프로젝트에 참여하는 사용자를 셋팅한다. - 관리자 / 일반 사용자 |
| | | this.setProjectUser(projectVo, true); |
| | | this.setProjectUser(projectVo, false); |
| | | |
| | | |
| | | // 프로젝트에 참여하는 부서 세팅 |
| | | this.setProjectDepartment(projectVo); |
| | | |
| | | // 업무공간 담당자는 모든 프로젝트를 수정/삭제할 수 있어야 한다. |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user)) { |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) { |
| | | projectVo.setModifyPermissionCheck(true); |
| | | } |
| | | projectVos.add(projectVo); |
| | |
| | | projectRoleUserMap.put("statuses", Lists.newArrayList("02")); // 관리자 조회 |
| | | |
| | | List<Map<String, Object>> projectUsers = this.projectRoleUserService.findProjectRoleUser(projectRoleUserMap); |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | // 현재 로그인 사용자가 관리자인지 확인 |
| | | if (projectUsers != null && !projectUsers.isEmpty()) { |
| | | for (Map<String, Object> projectUser : projectUsers) { |
| | | UserVo userVo = ConvertUtil.convertMapToClass(projectUser, UserVo.class); |
| | | if (userVo.getId().equals(this.webAppUtil.getLoginId())) { |
| | | if (userVo.getId().equals(this.webAppUtil.getLoginId()) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) { |
| | | hasPermission = true; |
| | | break; |
| | | } |
| | |
| | | List<Map<String, Object>> results; |
| | | |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { |
| | | results = this.projectMapper.findByWorkspaceManager(projectCondition); |
| | | } else { |
| | |
| | | ProjectCondition projectCondition = ProjectCondition.make(conditions); |
| | | projectCondition.setLoginUserId(this.webAppUtil.getLoginId()); |
| | | projectCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); |
| | | List<Map<String, Object>> results = this.projectMapper.find(projectCondition); |
| | | |
| | | User user = this.webAppUtil.getLoginUserObject(); |
| | | List<Map<String, Object>> results; |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { |
| | | results = this.projectMapper.findByWorkspaceManager(projectCondition); |
| | | } |
| | | else { |
| | | this.SetMyDepartmentId(projectCondition); |
| | | results = this.projectMapper.find(projectCondition); |
| | | } |
| | | // 프로젝트 조회 결과를 ProjectVos 로 변환한다. - 관리자, 일반 사용자 정보 추가 |
| | | List<ProjectVo> projectVos = this.makeProjectVos(results, this.webAppUtil.getLoginUserObject()); |
| | | ExportExcelVo excelInfo = new ExportExcelVo(); |
| | |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("statusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // 상태 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("name", this.messageAccessor.message("common.project"), 40, ExportExcelAttrVo.ALIGN_LEFT)); // 프로젝트 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("manager", this.messageAccessor.message("common.admin"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 관리자 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("members", this.messageAccessor.message("common.teamMember"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 팀원 |
| | | //excelInfo.addAttrInfos(new ExportExcelAttrVo("members", this.messageAccessor.message("common.teamMember"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 팀원 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("departments", this.messageAccessor.message("common.teamDepartment"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 팀원 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("period", this.messageAccessor.message("common.period"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 기간 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("projectKey", this.messageAccessor.message("common.projectKey"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // 프로젝트 키 |
| | | // 엑셀에 넣을 데이터 - ProjectVos 데이터를 엑셀에서 표시할 수 있는 데이터로 변경한다. |
| | |
| | | } |
| | | |
| | | result.put("manager", stringBuilderManager.toString()); |
| | | result.put("members", CommonUtil.convertUserVosToString(projectVo.getProjectUserVos())); |
| | | //result.put("members", CommonUtil.convertUserVosToString(projectVo.getProjectUserVos())); |
| | | result.put("departments", CommonUtil.convertDepartmentVosToString(projectVo.getProjectDepartmentVos())); |
| | | result.put("projectKey", projectVo.getProjectKey()); |
| | | result.put("period", projectVo.getStartDate() + " - " + projectVo.getEndDate()); |
| | | results.add(result); |