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/UserWorkspaceServiceImpl.java |   41 +++++++++++++++++++++++++++--------------
 1 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java
index a5d6f06..04a5e39 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java
@@ -9,8 +9,10 @@
 import kr.wisestone.owl.service.*;
 import kr.wisestone.owl.util.CommonUtil;
 import kr.wisestone.owl.util.ConvertUtil;
+import kr.wisestone.owl.vo.DepartmentVo;
 import kr.wisestone.owl.vo.ResPage;
 import kr.wisestone.owl.vo.UserWorkspaceVo;
+import kr.wisestone.owl.web.condition.UserCondition;
 import kr.wisestone.owl.web.condition.UserWorkspaceCondition;
 import kr.wisestone.owl.web.form.UserWorkspaceForm;
 import org.slf4j.Logger;
@@ -40,7 +42,7 @@
     private UserLevelService userLevelService;
 
     @Autowired
-    private DepartmentManageService departmentManageService;
+    private DepartmentService departmentService;
 
     @Autowired
     private UserWorkspaceMapper userWorkspaceMapper;
@@ -91,6 +93,16 @@
 
         for (UserWorkspaceVo userWorkspaceVo : userWorkspaceVos) {
             userWorkspaceVo.setAccount(CommonUtil.decryptAES128(userWorkspaceVo.getAccount()));
+
+            // UserCondition �뒗 �썝�옒 userId 媛� �뾾�뿀�떎.
+            UserCondition con = new UserCondition();
+            // 洹몃옒�꽌 Condition�뿉 異붽� �빐二쇨퀬 set �븯�뒗�뜲 洹멸굔 userWorkspaceVo �뿉�꽌 Id 瑜� 媛��졇�삩�떎
+            con.setId(userWorkspaceVo.getUserId());
+            // findByDepartmentIds �씪�뒗嫄� mapper濡� 留뚮뱾�뼱�꽌 荑쇰━ for臾몄쓣 �룎由ш퀬 us
+            List<Map<String, Object>> re = this.departmentService.findByDepartmentIds(con);
+            List<DepartmentVo> vos = ConvertUtil.convertListToListClass(re, DepartmentVo.class);
+
+            userWorkspaceVo.setDepartmentVos(vos);
         }
 
         resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
@@ -106,24 +118,24 @@
     public void modifyUserWorkspace(UserWorkspaceForm userWorkspaceForm) {
         UserWorkspace userWorkspace = this.getUserWorkspace(userWorkspaceForm.getId());
 
-        UserLevel currentUserlevel = userWorkspace.getUser().getUserLevel();
+        User user = userWorkspace.getUser();
+
+        // �궗�슜�옄 �벑湲� 蹂�寃�
+        UserLevel currentUserlevel = user.getUserLevel();
         if (currentUserlevel.getId() != userWorkspaceForm.getLevelId()) {
-            // �궗�슜�옄 �벑湲� 蹂�寃쎌떆
-            User user = userWorkspace.getUser();
             UserLevel userLevel = this.userLevelService.getUserLevel(userWorkspaceForm.getLevelId());
             user.setUserLevel(userLevel);
             userWorkspace.setUser(user);
         }
 
-        //todo 遺��꽌 蹂�寃쎌떆
-        DepartmentManage currentDepartment = userWorkspace.getUser().getDepartmentManage();
-        if (currentDepartment.getId() != userWorkspaceForm.getDepartmentId()) {
-            // 遺��꽌紐� 蹂�寃쎌떆
-            User user = userWorkspace.getUser();
-            DepartmentManage departmentManage = this.departmentManageService.getDepartment(userWorkspaceForm.getLevelId());
-            user.setDepartmentManage(departmentManage);
-            userWorkspace.setUser(user);
-        }
+        // 遺��꽌 蹂�寃�
+//        DepartmentManage currentDepartment = user.getDepartmentManage();
+//        if (currentDepartment == null || (userWorkspaceForm.getDepartmentId() != null && currentDepartment.getId() != userWorkspaceForm.getDepartmentId())) {
+//            // 遺��꽌紐� 蹂�寃쎌떆
+//            DepartmentManage departmentManage = this.departmentService.getDepartment(userWorkspaceForm.getDepartmentId());
+//            user.setDepartmentManage(departmentManage);
+//            userWorkspace.setUser(user);
+//        }
 
         //  李몄뿬濡� �긽�깭瑜� 蹂�寃쏀븯�젮怨� �븷�븣
         if (userWorkspace.getUseYn() != userWorkspaceForm.getUseYn()) {
@@ -137,7 +149,7 @@
                             this.messageAccessor.getMessage(MsgConstants.WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE));
                 }
             } else {
-                User user = userWorkspace.getUser();
+                user = userWorkspace.getUser();
                 //  李몄뿬 ��湲� �궗�슜�옄媛� �쁽�옱 �빐�떦 �뾽臾� 怨듦컙�쓣 �궗�슜�븯怨� �엳�쓣 寃쎌슦 利됱떆 �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �뒘湲곌쾶 �븳�떎.
                 if (user.getLastWorkspaceId().equals(userWorkspace.getWorkspace().getId())) {
                     //  �뾽臾� 怨듦컙�뿉 李몄뿬�븯�뜕 �궗�슜�옄�뿉寃� �젣�쇅 �븣由� 諛� �솕硫� �깉濡쒓퀬移�
@@ -271,4 +283,5 @@
             this.userWorkspaceRepository.saveAll(userWorkspaces);
         }
     }
+
 }

--
Gitblit v1.8.0