From de2abff4377c9ee83161c954a51de4c9390fff76 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 15 12월 2021 18:34:21 +0900 Subject: [PATCH] 프로필에 내 사용자 등급/부서 표시 --- src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java | 10 ++++ src/main/webapp/scripts/app/user/userDetail.controller.js | 27 +++++++++++-- src/main/java/kr/wisestone/owl/mapper/UserMapper.java | 2 + src/main/java/kr/wisestone/owl/web/controller/UserController.java | 10 +++++ src/main/resources/mybatis/query-template/user-template.xml | 16 ++++++++ src/main/webapp/i18n/ko/global.json | 2 + src/main/webapp/views/user/userDetail.html | 6 +++ src/main/java/kr/wisestone/owl/service/UserService.java | 2 + src/main/webapp/scripts/components/user/user.service.js | 6 +++ 9 files changed, 76 insertions(+), 5 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/mapper/UserMapper.java b/src/main/java/kr/wisestone/owl/mapper/UserMapper.java index 28e4818..13a0e5f 100644 --- a/src/main/java/kr/wisestone/owl/mapper/UserMapper.java +++ b/src/main/java/kr/wisestone/owl/mapper/UserMapper.java @@ -33,4 +33,6 @@ List<Map<String, Object>> findEvent(); Long findByLevelId(Long levelId); + + Map<String, Object> findByMyLevelAndDepartment(Long id); } diff --git a/src/main/java/kr/wisestone/owl/service/UserService.java b/src/main/java/kr/wisestone/owl/service/UserService.java index cefe199..ca9922e 100644 --- a/src/main/java/kr/wisestone/owl/service/UserService.java +++ b/src/main/java/kr/wisestone/owl/service/UserService.java @@ -32,6 +32,8 @@ void detailUser(Map<String, Object> resJsonData, UserCondition userCondition); + void findMyLevelAndDepartment(Map<String, Object> resJsonData); + void modifyUser(UserForm userForm, MultipartFile profile); void modifyPassword(UserForm userForm); diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java index 96bcc28..f209240 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java @@ -18,7 +18,6 @@ import kr.wisestone.owl.util.*; import kr.wisestone.owl.vo.*; import kr.wisestone.owl.web.condition.UserCondition; -import kr.wisestone.owl.web.form.DepartmentForm; import kr.wisestone.owl.web.form.UserForm; import kr.wisestone.owl.web.view.ExcelView; import org.apache.commons.validator.routines.EmailValidator; @@ -959,6 +958,15 @@ return this.convertUserVoToMap(results, totalUsersCount, pageable, resJsonData); } + // �궗�슜�옄 �젙蹂대�� 媛��졇�삩�떎. + @Override + @Transactional(readOnly = true) + public void findMyLevelAndDepartment(Map<String, Object> resJsonData) { + Long loginId = this.webAppUtil.getLoginId(); + Map<String, Object> result = this.userMapper.findByMyLevelAndDepartment(loginId); + resJsonData.put(Constants.RES_KEY_CONTENTS, result); + } + // �궗�슜�옄 �븘�씠�뵒濡� �궗�슜�옄瑜� 議고쉶�븳�떎. @Override @Transactional(readOnly = true) diff --git a/src/main/java/kr/wisestone/owl/web/controller/UserController.java b/src/main/java/kr/wisestone/owl/web/controller/UserController.java index 0cefa21..259fe5d 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/UserController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/UserController.java @@ -113,6 +113,16 @@ return this.setSuccessMessage(resJsonData); } + // �궗�슜�옄 議고쉶 + @RequestMapping(value = "/user/findMyLevelAndDepartment", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public + @ResponseBody + Map<String, Object> findMyLevelAndDepartment(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> resJsonData = new HashMap<>(); + this.userService.findMyLevelAndDepartment(resJsonData); + return this.setSuccessMessage(resJsonData); + } + // �궗�슜�옄 �닔�젙 @RequestMapping(value = "/user/modify", produces = MediaType.APPLICATION_JSON_VALUE) public diff --git a/src/main/resources/mybatis/query-template/user-template.xml b/src/main/resources/mybatis/query-template/user-template.xml index d335214..e16010d 100644 --- a/src/main/resources/mybatis/query-template/user-template.xml +++ b/src/main/resources/mybatis/query-template/user-template.xml @@ -182,4 +182,20 @@ WHERE u.level_id = #{id} </select> + <select id="findByMyLevelAndDepartment" resultType="java.util.HashMap" parameterType="java.lang.Long"> + SELECT + DISTINCT u.id as id, + ul.level_name AS levelName, + GROUP_CONCAT(d.department_name) AS departmentName, + u.name as name, + u.account as account, + u.profile as profile, + u.status as STATUS + FROM user u + LEFT OUTER JOIN user_level ul ON u.level_id = ul.id + LEFT OUTER JOIN user_department ud ON ud.user_id = u.id + LEFT OUTER JOIN department d ON d.id = ud.department_id + WHERE u.id = #{id} + </select> + </mapper> \ No newline at end of file diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index b509df9..f9d846b 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -481,6 +481,8 @@ "guidanceTemporaryPassword": "�엫�떆 鍮꾨�踰덊샇 諛쒓툒 �븞�궡", "pleaseMakeSureChangeYourPassword": "怨좉컼�떂�쓽 OWL ITS 怨꾩젙 鍮꾨�踰덊샇 蹂�寃쎌쓣 �쐞�빐 �엫�떆 鍮꾨�踰덊샇瑜� 諛쒓툒�빐 �뱶由쎈땲�떎.濡쒓렇�씤 �썑 瑗� 鍮꾨�踰덊샇瑜� 蹂�寃쏀븯�떆湲� 諛붾엻�땲�떎.", "phoneNumber": "�뿰�씫泥�", + "myLevel": "�벑湲�", + "myDepartments": "�떞�떦遺��꽌", "modifyInformation": "�젙蹂� �닔�젙", "updatePassword": "鍮꾨�踰덊샇 蹂�寃�", "setEmailNotificationTime": "�씠硫붿씪 �븣由� �떆媛� �꽕�젙", diff --git a/src/main/webapp/scripts/app/user/userDetail.controller.js b/src/main/webapp/scripts/app/user/userDetail.controller.js index 11714a5..227b6d8 100644 --- a/src/main/webapp/scripts/app/user/userDetail.controller.js +++ b/src/main/webapp/scripts/app/user/userDetail.controller.js @@ -7,11 +7,12 @@ 'app' ], function (app) { - app.controller('userDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', 'IssueHistory', '$uibModal', 'SweetAlert', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, IssueHistory, $uibModal, SweetAlert, $filter) { + app.controller('userDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', 'IssueHistory', '$uibModal', 'SweetAlert', '$filter', 'User', + function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, IssueHistory, $uibModal, SweetAlert, $filter, User) { // �븿�닔 $scope.fn = { + getMyInfo : getMyInfo, //�굹�쓽 �젙蹂� 議고쉶(�벑湲�, �떞�떦遺��꽌) getIssueHistoryList : getIssueHistoryList, // �씠�뒋 湲곕줉 �젙蹂� 議고쉶 modify : modify, // �궗�슜�옄 �닔�젙 changeSearchPeriod : changeSearchPeriod, // �씠�젰 議고쉶 寃��깋 議곌굔 蹂�寃� @@ -25,7 +26,9 @@ startEndDateRange : "" // �씠�뒋 湲곕줉 議고쉶 �궇吏� }, issueHistoryVos : [], // �씠�뒋 湲곕줉 �젙蹂� - issueHistoryDates : [] // �씠�뒋 湲곕줉 �젙蹂� �궇吏� + issueHistoryDates : [], // �씠�뒋 湲곕줉 �젙蹂� �궇吏� + myLevel : "", + myDepartments : [] }; // 吏곸젒 �엯�젰�뿉�꽌 �궇吏� �꽑�깮�떆 �씠�뒋 湲곕줉 �젙蹂� 議고쉶 @@ -65,6 +68,22 @@ id : id }; } + } + }); + } + + // �굹�쓽 �젙蹂� 議고쉶(�벑湲�, �떞�떦遺��꽌) + function getMyInfo() { + + User.findMyLevelAndDepartment($resourceProvider.getContent( + $resourceProvider.getPageContent(0, 0))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.vm.myLevel = result.data.data.levelName; + $scope.vm.myDepartments = result.data.data.departmentName; + } + else { + SweetAlert.swal($filter("translate")("users.failedToRetrieveIssueHistory"), result.data.message.message, "error"); // "�씠�뒋 湲곕줉 �젙蹂� 議고쉶 �떎�뙣" } }); } @@ -118,7 +137,7 @@ // �씠�뒋 湲곕줉 �젙蹂� 議고쉶 $scope.fn.getIssueHistoryList(); - + $scope.fn.getMyInfo(); } ]); } diff --git a/src/main/webapp/scripts/components/user/user.service.js b/src/main/webapp/scripts/components/user/user.service.js index f6f321b..f88a99e 100644 --- a/src/main/webapp/scripts/components/user/user.service.js +++ b/src/main/webapp/scripts/components/user/user.service.js @@ -64,6 +64,12 @@ return response; }); }, + findMyLevelAndDepartment : function (conditions) { + return $http.post("user/findMyLevelAndDepartment", conditions).then(function (response) { + $log.debug("�궡 �젙蹂� �뜲�씠�꽣 : ", response); + return response; + }); + }, modify : function (conditions) { conditions.url = "user/modify"; return $upload.upload(conditions).then(function (response) { diff --git a/src/main/webapp/views/user/userDetail.html b/src/main/webapp/views/user/userDetail.html index eaed8e9..e481ab9 100644 --- a/src/main/webapp/views/user/userDetail.html +++ b/src/main/webapp/views/user/userDetail.html @@ -17,6 +17,12 @@ <div class="user-sub" ng-if="$root.isDefined($root.user.phone)"> <span translate="users.phoneNumber">�뿰�씫泥�</span> : {{$root.user.phone}} </div> + <div class="user-sub" ng-if="vm.myLevel != null"> + <span translate="users.myLevel">�벑湲�</span> : {{vm.myLevel}} + </div> + <div class="user-sub" ng-if="vm.myDepartments != null"> + <span translate="users.myDepartments">�떞�떦遺��꽌</span> : {{vm.myDepartments}} + </div> <div class="mt-30"> <a class="btn btn-primary btn-sm" href="" ng-click="fn.modify($root.user.id)"> <i class="os-icon os-icon-edit-1"></i> -- Gitblit v1.8.0