From b98d25d2425b932e70efb1b6ea6bec436cd3f6f2 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 19 11월 2021 13:35:30 +0900
Subject: [PATCH] 프로젝트 담당부서 백엔드 수정 * 프로젝트에 속해있는 부서만 이슈 담당부서로 설정 가능

---
 src/main/java/kr/wisestone/owl/service/impl/ProjectRoleServiceImpl.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleServiceImpl.java
index e9a70b6..c36dc52 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleServiceImpl.java
+++ b/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) {

--
Gitblit v1.8.0