From 8640de04cd67d3fa33ca188d6b45ed1a13d17386 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 목, 11 11월 2021 09:25:01 +0900
Subject: [PATCH] 사용자 관리 부서 상세 백앤드 수정

---
 src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js |  208 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 150 insertions(+), 58 deletions(-)

diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
index 4afc064..461d586 100644
--- a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
+++ b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
@@ -9,8 +9,8 @@
     ],
     function (app, angular) {
         app.controller('workspaceUserConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$q', '$state', '$tableProvider', 'Payment', 'Workspace',
-            'UserWorkspace', '$filter',
-            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter) {
+            'UserWorkspace', '$filter', '$injector', '$controller',
+            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter, $injector, $controller) {
 
 
                 /*  $scope.fn �긽�냽 以�  */
@@ -18,15 +18,16 @@
                 $scope.fn.makeTableConfigs = makeTableConfigs;  //  �뾽臾� 怨듦컙�뿉 李몄뿬�븯�뒗 �쟾泥� �궗�슜�옄 紐⑸줉 �뀒�씠釉� �꽕�젙
                 $scope.fn.initSearch = initSearch;  //  寃��깋 議곌굔 珥덇린�솕
                 $scope.fn.changePageRowCount = changePageRowCount;  //  �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃�
-
+                $scope.fn.getLevels = getLevels; // �벑湲� 紐⑸줉 媛��졇�삤湲�
+                $scope.fn.getDepartments = getDepartments; // 遺��꽌 紐⑸줉 媛��졇�삤湲�
 
                 /*  $scope.vm �긽�냽 以�  */
                 $scope.vm.search = {
                     name : "",  //  �씠由�
                     account : "",   //  �씠硫붿씪
                     statuses : [],   //  �긽�깭 - Y, N
-                    level : [],   //  �벑湲�
-                    departs : []   //  遺��꽌
+                    levels  :   [], //  �벑湲�
+                    departments: []  //  遺��꽌
                 };
 
                 $scope.vm.options = {
@@ -35,46 +36,17 @@
                         fieldValue : $filter("translate")("managementWorkspace.participation") // "李몄뿬"
                     }, {
                         fieldKey : "N",
-                        //fieldValue : $filter("translate")("managementWorkspace.waitForParticipation") // "李몄뿬��湲�"
                         fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "�깉�눜"
-                    }],
-                    levels : [{
-                        fieldKey : "S",
-                        //fieldValue : $filter("translate")("managementWorkspace.participation") // "李몄뿬"
-                        fieldValue : "�뒋�띁 愿�由ъ옄"
-                    }, {
-                        fieldKey : "U",
-                        //fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "�깉�눜"
-                        fieldValue : "�궗�슜�옄"
-                    }],
-                    departs : [{
-                        fieldKey : "A",
-                        //fieldValue : $filter("translate")("managementWorkspace.participation") // "李몄뿬"
-                        fieldValue : "媛쒕컻遺�"
-                    }, {
-                        fieldKey : "B",
-                        //fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "�깉�눜"
-                        fieldValue : "寃쎌쁺吏��썝遺�"
                     }]
                 };
-
-                /*$scope.vm.options = {
-                    levels : [{
-                        fieldKey : "S",
-                        //fieldValue : $filter("translate")("managementWorkspace.participation") // "李몄뿬"
-                        fieldValue : "�뒋�띁 愿�由ъ옄"
-                    }, {
-                        fieldKey : "U",                        
-                        //fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "�깉�눜"
-                        fieldValue : "�궗�슜�옄"
-                    }]
-                };*/
 
                 $scope.vm.page = {
                     selectedPage : 0,
                     selectedPageRowCount : String(10)
                 };
 
+                $scope.vm.levels = [];
+                $scope.vm.departments = [];
                 $scope.vm.tableConfigs = [];
                 $scope.vm.responseData = {
                     data : []
@@ -82,36 +54,27 @@
 
                 //  �뀒�씠釉� �씠踰ㅽ듃
                 $scope.vm.tableEvent = {
-                    modifyUserWorkspace : modifyUserWorkspace   //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
+                    modifyUserWorkspace : modifyUserWorkspace,   //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
+                    modifyUserDepartments : modifyUserDepartments //�궗�슜�옄 遺��꽌 蹂�寃�
                 };
 
-                //  寃곗젣 �긽�꽭 �젙蹂�
+                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
+
+                //  �긽�꽭 �젙蹂�
                 $scope.$on("getUserWorkspaceList", function () {
+                    $scope.fn.getLevels();
+                    $scope.fn.getDepartments();
+
                     $scope.fn.getUserWorkspaceList(0);
                 });
-
-                //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
-                function modifyUserWorkspace(userWorkspace) {
-                    UserWorkspace.modify($resourceProvider.getContent(
-                        userWorkspace,
-                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
-                        if (result.data.message.status === "success") {
-                            //  �궡媛� 愿�由ы븯�뒗 �뾽臾� 怨듦컙 �젙蹂대�� 議고쉶�븳�떎.
-                            $scope.fn.findMyWorkspace();
-                        }
-                        else {
-                            userWorkspace.useYn = false;
-                            SweetAlert.error($filter("translate")("managementWorkspace.failedToParticipationStatusChange"), result.data.message.message); // "李몄뿬 �긽�깭 蹂�寃� �떎�뙣"
-                        }
-                    });
-                }
 
                 //  寃��깋 議곌굔 珥덇린�솕
                 function initSearch() {
                     $scope.vm.search.name = "";
                     $scope.vm.search.account = "";
                     $scope.vm.search.statuses = [];
-                    $scope.vm.search.level = [];
+                    $scope.vm.search.levels = [];
+                    $scope.vm.search.departments = [];
                     $scope.fn.getUserWorkspaceList(0);
                 }
 
@@ -138,16 +101,19 @@
                         .setHName("common.department")
                         .setHWidth("width-120-p")
                         .setDAlign("text-center")
-                        .setDName("department"));
+                        .setDType("renderer")
+                        .setDRenderer("USE_DEPARTMENT_LIST"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
                         .setHName("common.level")
                         .setHWidth("width-120-p")
                         .setDAlign("text-center")
-                        .setDName("level"));
+                        .setDType("renderer")
+                        .setDName("level")
+                        .setDRenderer("LEVEL_OPTION"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
                         .setHName("managementWorkspace.joinStatus")
                         .setHWidth("width-140-p")
-                         .setDType("renderer")
+                        .setDType("renderer")
                         .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
                         .setDName("userYn")
                         .setDRenderer("WORKSPACE_USE_YN"));
@@ -181,6 +147,24 @@
 
                             return statuses;
                         })(),
+                        levelIds : (function () {
+                            var levels = [];
+
+                            angular.forEach($scope.vm.search.levels, function (level) {
+                                levels.push(level.fieldKey);
+                            });
+
+                            return levels;
+                        })(),
+                        departmentIds : (function () {
+                            var departments = [];
+
+                            angular.forEach($scope.vm.search.departments, function (department) {
+                                departments.push(department.fieldKey);
+                            });
+
+                            return departments;
+                        })(),
                     };
 
                     UserWorkspace.find($resourceProvider.getContent(conditions,
@@ -189,6 +173,28 @@
                         if (result.data.message.status === "success") {
                             $scope.vm.page.selectedPage = currentPage + 1;
                             $scope.vm.responseData = result.data;
+
+                            var idx = 0;
+                            angular.forEach($scope.vm.responseData.data, function (data) {
+                                // data.levelId = $scope.vm.levels[idx].fieldKey;
+                                //data.department = $scope.vm.departments[idx];
+
+                                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++;
+                            });
                         }
                         else {
                             SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣"
@@ -196,6 +202,92 @@
                     });
                 }
 
+                //  �벑湲� 紐⑸줉
+                function getLevels() {
+                    var deferred = $q.defer();
+                    $scope.vm.levels = [];
+
+                    UserWorkspace.levelFind($resourceProvider.getContent({},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            angular.forEach(result.data.data, function (level) {
+                                $scope.vm.levels.push({
+                                    fieldKey : level.id,
+                                    fieldValue : level.levelName
+                                });
+                            });
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullLevelList"), result.data.message.message, "error"); // �슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
+
+                    return deferred.promise;
+                }
+
+                // 遺��꽌 紐⑸줉
+                function getDepartments() {
+                    var deferred = $q.defer();
+                    $scope.vm.departments = [];
+
+                    UserWorkspace.departmentFind($resourceProvider.getContent({},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            angular.forEach(result.data.data, function (department) {
+                                $scope.vm.departments.push({
+                                    fieldKey : department.id,
+                                    fieldValue : department.departmentName
+                                });
+                            });
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message, "error"); // 遺��꽌 紐⑸줉 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
+
+                    return deferred.promise;
+                }
+
+                //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
+                function modifyUserWorkspace(userWorkspace) {
+                    UserWorkspace.modify($resourceProvider.getContent(
+                        userWorkspace,
+                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            //  �궡媛� 愿�由ы븯�뒗 �뾽臾� 怨듦컙 �젙蹂대�� 議고쉶�븳�떎.
+                            $scope.fn.findMyWorkspace();
+                        }
+                        else {
+                            userWorkspace.useYn = false;
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedToParticipationStatusChange"), result.data.message.message); // "李몄뿬 �긽�깭 蹂�寃� �떎�뙣"
+                        }
+                    });
+                }
+
+                //  �궗�슜�옄媛� �냽�빐�엳�뒗 遺��꽌 �닔�젙 �뙘�뾽
+                function modifyUserDepartments(id) {
+                    $uibModal.open({
+                        templateUrl : 'views/workspace/workspaceDepartmentModify.html',
+                        size : "xlg",
+                        controller : 'workspaceDepartmentModifyController',
+                        backdrop : 'static',
+                        windowClass : 'workflow-window',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    id : id
+                                };
+                            }
+                        }
+                    });
+                }
+
                 $scope.fn.makeTableConfigs();
             }
         ]);

--
Gitblit v1.8.0