OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/java/kr/wisestone/owl/service/impl/ProjectRoleServiceImpl.java
@@ -26,6 +26,9 @@
    private ProjectRoleUserService projectRoleUserService;
    @Autowired
    private ProjectRoleDepartmentService projectRoleDepartmentService;
    @Autowired
    private ProjectRolePermissionService projectRolePermissionService;
    @Override
@@ -34,7 +37,7 @@
    }
    //  기본, 관리자 프로젝트 역할을 생성한다.
    @Override
    /*@Override
    @Transactional
    public void addDefaultProjectRole(Project project, List<User> managers, List<User> users) {
        ProjectRole projectRole = this.addProjectRole(project, "기본 프로젝트 역할", ProjectRole.TYPE_DEFAULT, Permission.ROLE_TYPE_PROJECT_JOIN);
@@ -42,7 +45,23 @@
        //  프로젝트 관리자 저장
        this.projectRoleAssociatedUser(managers, managerProjectRole);
        //  프로젝트 일반 사용자 저장
        this.projectRoleAssociatedUser(users, projectRole);
        //this.projectRoleAssociatedUser(users, projectRole);
        this.projectRoleRepository.flush();
    }*/
    //  프로젝트 역할 생성(관리자, 담당부서)
    @Override
    @Transactional
    public void addDefaultProjectRole(Project project, List<User> managers, List<Department> departments) {
        ProjectRole projectRole = this.addProjectRole(project, "기본 프로젝트 역할", ProjectRole.TYPE_DEFAULT, Permission.ROLE_TYPE_PROJECT_JOIN);
        ProjectRole managerProjectRole = this.addProjectRole(project, "프로젝트 관리자 역할", ProjectRole.TYPE_MANAGER, Permission.ROLE_TYPE_PROJECT_MANAGER);
        //  프로젝트 관리자 저장
        this.projectRoleAssociatedUser(managers, managerProjectRole);
        //  프로젝트 일반 사용자 저장
        //this.projectRoleAssociatedUser(users, projectRole);
        //  프로젝트 담당 부서 저장
        this.projectRoleAssociatedDepartment(departments, projectRole);
        this.projectRoleRepository.flush();
    }
@@ -64,7 +83,7 @@
        }
    }
    /*// 프로젝트 역할과 부서 연결
    // 프로젝트 역할과 부서 연결
    private void projectRoleAssociatedDepartment(List<Department> departments, ProjectRole projectRole) {
        for (Department department : departments) {
            this.addDefaultProjectRoleAssociatedDepartment(projectRole, department);
@@ -73,13 +92,13 @@
    //  해당 역할과 부서를 연결시킨다.
    private void addDefaultProjectRoleAssociatedDepartment(ProjectRole projectRole, Department department) {
        ProjectRoleUser projectRoleDepartment = this.projectRoleUserService.findByProjectRoleIdAndDepartmentId(projectRole.getId(), department.getId());
        ProjectRoleDepartment projectRoleDepartment = this.projectRoleDepartmentService.findByProjectRoleIdAndDepartmentId(projectRole.getId(), department.getId());
        if (projectRoleDepartment == null) {
            //  프로젝트 관리자 - 기본 프로젝트 역할에 추가.
            department.addProjectRole(projectRole);
        }
    }*/
    }
    //  프로젝트 역할을 생성한다.
    private ProjectRole addProjectRole(Project project, String projectRoleName, String projectRoleType, String permissionType) {