From 3b8096758ba426be96c63248526884874359cac9 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 24 12월 2021 14:13:54 +0900
Subject: [PATCH] 사용자 관리에 최고관리자 리스트에 표시

---
 src/main/resources/mybatis/query-template/userWorkspace-template.xml         |    3 -
 src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js      |   19 ++-------
 src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java                       |    9 ++++
 src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js |   31 +++++++++------
 4 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java b/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java
index 779aeb8..3b14f5b 100644
--- a/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java
@@ -16,6 +16,7 @@
     private Long levelId;
     private Long departmentId;
     private Long userId;
+    private String managerYn;
 
     private List<DepartmentVo> departmentVos = Lists.newArrayList();
 
@@ -92,4 +93,12 @@
     public void setUserId(Long userId) {
         this.userId = userId;
     }
+
+    public String getManagerYn() {
+        return managerYn;
+    }
+
+    public void setManagerYn(String managerYn) {
+        this.managerYn = managerYn;
+    }
 }
diff --git a/src/main/resources/mybatis/query-template/userWorkspace-template.xml b/src/main/resources/mybatis/query-template/userWorkspace-template.xml
index e62cbbc..93d56a1 100644
--- a/src/main/resources/mybatis/query-template/userWorkspace-template.xml
+++ b/src/main/resources/mybatis/query-template/userWorkspace-template.xml
@@ -10,6 +10,7 @@
         u.name as userName,
         u.account as account,
         u.level_id as levelId,
+        uw.manager_yn as managerYn,
         CASE WHEN uw.use_yn = 'Y' THEN 'true' ELSE 'false' END as useYn
         FROM
         user_workspace uw
@@ -17,7 +18,6 @@
         INNER JOIN workspace w on uw.workspace_id = w.id
         WHERE 1=1
         AND w.id = #{workspaceId}
-        AND uw.manager_yn = 'N'
         <if test="name != '' and name != null">
             AND u.name like CONCAT('%',#{name},'%')
         </if>
@@ -58,7 +58,6 @@
         INNER JOIN workspace w on uw.workspace_id = w.id
         WHERE 1=1
         AND w.id = #{workspaceId}
-        AND uw.manager_yn = 'N'
         <if test="name != '' and name != null">
             AND u.name like CONCAT('%',#{name},'%')
         </if>
diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
index 00bcb51..87d40cf 100644
--- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
+++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -151,17 +151,18 @@
 
                                         case "USE_DEPARTMENT_LIST" :
                                             makeTag += "<ul class='ul-not-comma'>";
-
-                                            if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //�냽�빐�엳�뒗 遺��꽌媛� �뾾�쓣 寃쎌슦
-                                                makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>遺��꽌瑜� �꽑�깮�빐 二쇱꽭�슂.</div>";
-                                            }else{
-                                                makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>";
-                                                angular.forEach(scope.data.departmentVos, function (departments) {
-                                                    makeTag += "<li>" + departments.departmentName + "</li>";
-                                                });
-                                                makeTag += "</div>";
+                                            if (scope.data.managerYn !== 'Y'){
+                                                if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //�냽�빐�엳�뒗 遺��꽌媛� �뾾�쓣 寃쎌슦
+                                                    makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>遺��꽌瑜� �꽑�깮�빐 二쇱꽭�슂.</div>";
+                                                }else{
+                                                    makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>";
+                                                    angular.forEach(scope.data.departmentVos, function (departments) {
+                                                        makeTag += "<li>" + departments.departmentName + "</li>";
+                                                    });
+                                                    makeTag += "</div>";
+                                                }
+                                                makeTag += "</ul>";
                                             }
-                                            makeTag += "</ul>";
                                             break;
 
                                         case "WORKFLOW_DEPARTMENT_LIST" :
@@ -623,11 +624,17 @@
 
                                         case "LEVEL_OPTION" :
                                             //makeTag += "<select class='form-control input-sm'  ng-model='data.levels[0].id' ng-options='levelName.id as levelName.levelName for levelName in data.levels' ></select>";
-                                            makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>";
+                                            if (scope.data.managerYn === 'Y'){
+                                                makeTag +="<span>理쒓퀬愿�由ъ옄</span>";
+                                            } else {
+                                                makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>";
+                                            }
                                             break;
 
                                         case "WORKSPACE_USE_YN" :
-                                            makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>";
+                                            if (scope.data.managerYn !== 'Y'){
+                                                makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>";
+                                            }
                                             break;
 
                                         case "COMPANYFIELD_MODIFY" :
diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
index 16e8fd0..a9f1527 100644
--- a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
+++ b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
@@ -27,7 +27,7 @@
                     account : "",   //  �씠硫붿씪
                     statuses : [],   //  �긽�깭 - Y, N
                     levels  :   [], //  �벑湲�
-                    departments: []  //  遺��꽌
+                    departments: [],  //  遺��꽌
                 };
 
                 $scope.vm.options = {
@@ -45,6 +45,7 @@
                     selectedPageRowCount : String(10)
                 };
 
+                $scope.vm.managerYn = false;
                 $scope.vm.levels = [];
                 $scope.vm.departments = [];
                 $scope.vm.tableConfigs = [];
@@ -176,23 +177,13 @@
 
                             var idx = 0;
                             angular.forEach($scope.vm.responseData.data, function (data) {
-                                // data.levelId = $scope.vm.levels[idx].fieldKey;
-                                //data.department = $scope.vm.departments[idx];
-
+                                if (data.managerYn === "Y") {
+                                    $scope.vm.managerYn = true;
+                                }
                                 data.levels = [];
                                 data.departments = [];
                                 data.levels = $scope.vm.levels.slice();
                                 data.departments = $scope.vm.departments.slice();
-                                /*if(result.data.data[idx].departmentId == null){
-                                    data.departments = $scope.vm.departments.slice();
-                                    data.departments.unshift({
-                                        fieldKey : 'd',
-                                        fieldValue : '遺��꽌瑜� �꽑�깮 �븯�꽭�슂.'
-                                    });
-                                    result.data.data[idx].departmentId = 'd';
-                                } else{
-                                    data.departments = $scope.vm.departments.slice();
-                                }*/
                                 idx++;
                             });
                         }

--
Gitblit v1.8.0