| | |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private ProjectRoleDepartmentService projectRoleDepartmentService; |
| | | |
| | | @Autowired |
| | | private ProjectClosureService projectClosureService; |
| | | |
| | | @Autowired |
| | |
| | | |
| | | void SetMeAndDownProjectIds(List<Long> parentProjectIds, WidgetCondition widgetCondition) { |
| | | List<Long> downProjectIds = Lists.newArrayList(); |
| | | List<Long> projectIds = Lists.newArrayList(); |
| | | projectIds.add(-1L); |
| | | User user = this.webAppUtil.getLoginUserObject(); |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | if(parentProjectIds != null && parentProjectIds.size() > 0){ |
| | | for(Long parentProjectId : parentProjectIds){ |
| | | if(!this.userWorkspaceService.checkWorkspaceManager(user) || !MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)){ |
| | | Project project = this.projectService.getProject(parentProjectId); |
| | | List<Map<String, Object>> results = this.projectService.findByWorkspaceIdAndIncludeProject(Lists.newArrayList("01", "02", "03"), project.getProjectType().toString()); |
| | | if(results == null || results.size() < 1) { |
| | | widgetCondition.setMeAndDownProjectIds(projectIds); |
| | | break; |
| | | } |
| | | } |
| | | List<ProjectClosure> projectClosures = this.projectClosureRepository.findByParentProjectId(parentProjectId); //내 프로젝트ID가 상위프로젝트인게 있는지 |
| | | if(projectClosures != null && projectClosures.size() > 0){ |
| | | for(ProjectClosure projectClosure : projectClosures){ |
| | |
| | | if (widgetCondition.getProjectIds().size() > 0) { |
| | | SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition); |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || (MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) && |
| | | MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE))) { |
| | | || (MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE))) { |
| | | remainIssue = this.widgetMapper.countRemainIssue(widgetCondition); // 잔여 이슈 |
| | | delayIssue = this.widgetMapper.countTodayDelayIssue(widgetCondition); // 지연된 이슈 |
| | | assigneeIssue = this.widgetMapper.countAssigneeIssue(widgetCondition); // 할당된 이슈 |
| | |
| | | SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition); |
| | | List<Map<String, Object>> projectMemberIssues = Lists.newArrayList(); |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) { |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) { |
| | | projectMemberIssues = this.widgetMapper.findProjectMemberIssue(widgetCondition); |
| | | } else { |
| | | projectMemberIssues = this.widgetMapper.findProjectMemberIssueByDepartment(widgetCondition); |
| | |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | if (widgetCondition.getProjectId() != null) { |
| | | SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition); |
| | | if (widgetCondition.getMeAndDownProjectIds() != null) { |
| | | for (Long meAndProjectId : widgetCondition.getMeAndDownProjectIds()) { |
| | | if(meAndProjectId == -1L) { |
| | | results.replace("projectVos", null); |
| | | } |
| | | } |
| | | } |
| | | List<Map<String, Object>> issueTypeIssues = Lists.newArrayList(); |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) { |
| | |
| | | // 위젯 검색 조건을 만들고 전체 프로젝트 정보를 리턴한다. |
| | | private Map<String, Object> makeWidgetConditionAllProject(WidgetCondition widgetCondition, boolean getWidgetCondition) { |
| | | Map<String, Object> results = new HashMap<>(); |
| | | SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition); |
| | | |
| | | // 위젯 검색 조건을 얻어야 할 상황일 때 - 화면에서 탭을 눌러 데이터를 재요청했을 때 |
| | | if (getWidgetCondition) { |