OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java
@@ -368,7 +368,8 @@
            //  관리자일 때
            UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
            if (this.userWorkspaceService.checkWorkspaceManager(user)
                    || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT_ALL)) {
                    || 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);
            }
@@ -426,18 +427,20 @@
    //  프로젝트 조회 결과를 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);
@@ -699,11 +702,13 @@
        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;
                }
@@ -1121,6 +1126,7 @@
    @Transactional(readOnly = true)
    public List<ProjectVo> findByIncludeProject(List<String> statuses, String projectType) {
        User user = this.webAppUtil.getLoginUserObject();
        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
        ProjectCondition projectCondition = new ProjectCondition();
        projectCondition.setLoginUserId(user.getId());
@@ -1130,7 +1136,9 @@
        List<Map<String, Object>> results;
        if (this.userWorkspaceService.checkWorkspaceManager(user)) {
        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 {
            results = this.projectMapper.findByWorkspaceIdAndIncludeProject(projectCondition);