From 3369b56c9fc7b0079e653fdd88b792f24757d5ce Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 금, 05 11월 2021 15:45:38 +0900 Subject: [PATCH] 부서관리 백엔드 수정 --- src/main/webapp/scripts/app/workspace/workspaceDepartmentAdd.controller.js | 12 +- src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java | 10 -- src/main/java/kr/wisestone/owl/service/DepartmentManageService.java | 7 + src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java | 2 src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java | 49 ++++++++---- src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java | 19 ++++ src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java | 50 ++++++----- src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java | 14 ++ src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java | 11 ++ src/main/java/kr/wisestone/owl/service/UserLevelService.java | 5 - src/main/resources/mybatis/query-template/departmentManage-template.xml | 6 + src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js | 3 12 files changed, 119 insertions(+), 69 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java b/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java index 4a53c54..fede74a 100644 --- a/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java +++ b/src/main/java/kr/wisestone/owl/service/DepartmentManageService.java @@ -6,7 +6,10 @@ import kr.wisestone.owl.web.form.DepartmentManageForm; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.ui.Model; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -17,4 +20,8 @@ List<DepartmentManageVo> findDepartment(Map<String, Object> resJsonData, DepartmentManageCondition make, Pageable pageable); + + ModelAndView downloadExcel(HttpServletRequest request, Model model); + + void removeUserLevel(DepartmentManageForm departmentManageForm); } diff --git a/src/main/java/kr/wisestone/owl/service/UserLevelService.java b/src/main/java/kr/wisestone/owl/service/UserLevelService.java index dd2c965..c40b3b6 100644 --- a/src/main/java/kr/wisestone/owl/service/UserLevelService.java +++ b/src/main/java/kr/wisestone/owl/service/UserLevelService.java @@ -1,17 +1,12 @@ package kr.wisestone.owl.service; -import kr.wisestone.owl.domain.Qna; import kr.wisestone.owl.domain.UserLevel; import kr.wisestone.owl.vo.UserLevelVo; -import kr.wisestone.owl.web.condition.UserCondition; import kr.wisestone.owl.web.condition.UserLevelCondition; -import kr.wisestone.owl.web.form.ManageUserForm; -import kr.wisestone.owl.web.form.UserForm; import kr.wisestone.owl.web.form.UserLevelForm; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.ui.Model; -import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java index 77eb812..5a51f55 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/DepartmentManageServiceImpl.java @@ -1,5 +1,7 @@ package kr.wisestone.owl.service.impl; +import kr.wisestone.owl.web.form.UserLevelForm; +import org.springframework.ui.Model; import com.google.common.collect.Lists; import kr.wisestone.owl.common.ExcelConditionCheck; import kr.wisestone.owl.constant.Constants; @@ -19,7 +21,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Service; -import org.springframework.ui.Model; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; @@ -50,6 +51,7 @@ return this.departmentManageRepository; } + // 遺��꽌 異붽� @Override public DepartmentManage addDepartmentManage(DepartmentManageForm departmentManageForm) { DepartmentManage departmentManage = ConvertUtil.copyProperties(departmentManageForm, DepartmentManage.class); @@ -57,6 +59,23 @@ return departmentManage; } + // 遺��꽌 紐⑸줉�쓣 媛��졇�삩�떎. + @Override + public List<DepartmentManageVo> findDepartment(Map<String, Object> resJsonData, + DepartmentManageCondition condition, Pageable pageable) { + + condition.setPage(pageable.getPageNumber() * pageable.getPageSize()); + condition.setPageSize(pageable.getPageSize()); + + List<Map<String, Object>> results = this.departmentManageMapper.find(condition); + Long totalDepartmentCount = this.departmentManageMapper.count(condition); + + return this.convertDepartmentManageVoToMap(results, totalDepartmentCount, pageable, resJsonData); + } + + + + // �궗�슜�옄 遺��꽌 ID濡� 議고쉶�븳�떎. @Override public DepartmentManage getDepartment(Long id) { if (id == null) { @@ -74,40 +93,38 @@ return departmentManage; } + // 遺��꽌瑜� �궘�젣�븳�떎. @Override - public List<DepartmentManageVo> findDepartment(Map<String, Object> resJsonData, - DepartmentManageCondition condition, Pageable pageable) { - - condition.setPage(pageable.getPageNumber() * pageable.getPageSize()); - condition.setPageSize(pageable.getPageSize()); - - List<Map<String, Object>> results = this.departmentManageMapper.find(condition); - Long totalDepartmentCount = this.departmentManageMapper.count(condition); - - return this.convertDepartmentManageVoToMap(results, totalDepartmentCount, pageable, resJsonData); + public void removeUserLevel(DepartmentManageForm departmentManageForm) { + if (departmentManageForm.getRemoveIds().size() < 1) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.PROJECT_REMOVE_NOT_SELECT)); + } + this.departmentManageRepository.flush(); } + // 寃��깋 寃곌낵瑜� DepartmentManageVo 濡� 蹂��솚�븳�떎. - private List<DepartmentManageVo> convertDepartmentManageVoToMap(List<Map<String, Object>> results, Long totalDepartmentCount, Pageable pageable, Map<String, Object> resJsonData) { + private List<DepartmentManageVo> convertDepartmentManageVoToMap(List<Map<String, Object>> results, Long totalDepartmentsCount, Pageable pageable, Map<String, Object> resJsonData) { List<DepartmentManageVo> departmentManageVos = Lists.newArrayList(); for (Map<String, Object> result : results) { DepartmentManageVo departmentManageVo = ConvertUtil.convertMapToClass(result, DepartmentManageVo.class); - // 遺��꽌紐낅쭔 蹂��솚 �븯硫� �릺�뒗嫄닿� ? departmentManageVos.add(departmentManageVo); } - int totalPage = (int) Math.ceil((totalDepartmentCount - 1) / pageable.getPageSize()) + 1; + int totalPage = (int) Math.ceil((totalDepartmentsCount - 1) / pageable.getPageSize()) + 1; resJsonData.put(Constants.RES_KEY_CONTENTS, departmentManageVos); resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(), - totalPage, totalDepartmentCount)); + totalPage, totalDepartmentsCount)); return departmentManageVos; } - // 遺��꽌 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. + @Override public ModelAndView downloadExcel(HttpServletRequest request, Model model) { + ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model); if (modelAndView != null) { return modelAndView; diff --git a/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java b/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java index bdc4ed4..6798acc 100644 --- a/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java +++ b/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java @@ -1,7 +1,7 @@ package kr.wisestone.owl.vo; /** - * Created by jeong on 2017-08-02. + * Created by wyu on 2021-11-05. */ public class DepartmentManageVo extends BaseVo{ @@ -9,8 +9,8 @@ private String departmentName; private String departmentDescription; - public DepartmentManageVo() { - } + private Long departmentCount; + public DepartmentManageVo() {} public DepartmentManageVo(Long id, String departmentName, String departmentDescription) { this.id = id; @@ -41,4 +41,12 @@ public void setDepartmentDescription(String departmentDescription) { this.departmentDescription = departmentDescription; } + + public Long getDepartmentCount() { + return departmentCount; + } + + public void setDepartmentCount(Long departmentCount) { + this.departmentCount = departmentCount; + } } diff --git a/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java b/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java index 3bdb9e8..811d9f4 100644 --- a/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java +++ b/src/main/java/kr/wisestone/owl/web/condition/DepartmentManageCondition.java @@ -5,12 +5,13 @@ import java.util.Map; /** - * Created by jeong on 2018-01-01. + * Created by wyu on 2021-11-05. */ public class DepartmentManageCondition { private Long id; private String departmentName; private String departmentDescription; + private Long departmentCount; private Integer Page; private Integer PageSize; @@ -43,6 +44,14 @@ this.departmentDescription = departmentDescription; } + public Long getDepartmentCount() { + return departmentCount; + } + + public void setDepartmentCount(Long departmentCount) { + this.departmentCount = departmentCount; + } + public Integer getPage() { return Page; } diff --git a/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java b/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java index 374f569..e71abed 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/DepartmentManageController.java @@ -12,7 +12,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.ui.Model; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; @@ -37,7 +40,7 @@ return this.setSuccessMessage(resJsonData); } - // �궗�슜�옄�벑湲� 議고쉶 + // 遺��꽌 議고쉶 @RequestMapping(value = "/departmentManage/find", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody @@ -49,8 +52,9 @@ return this.setSuccessMessage(resJsonData); } -// -// // �궗�슜�옄�벑湲� �긽�꽭 議고쉶 + + // +// // 遺��꽌 �긽�꽭 議고쉶 // @RequestMapping(value = "/userLevel/detail", produces = MediaType.APPLICATION_JSON_VALUE) // public // @ResponseBody @@ -61,7 +65,7 @@ // return this.setSuccessMessage(resJsonData); // } // -// // �궗�슜�옄�벑湲� �닔�젙 +// // 遺��꽌 �닔�젙 // @RequestMapping(value = "/userLevel/modify", produces = MediaType.APPLICATION_JSON_VALUE) // public // @ResponseBody @@ -73,26 +77,26 @@ // return this.setSuccessMessage(resJsonData); // } // -// // �궗�슜�옄�벑湲� �궘�젣 -// @RequestMapping(value = "/userLevel/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) -// public -// @ResponseBody -// Map<String, Object> remove(@RequestBody Map<String, Map<String, Object>> params) { -// Map<String, Object> resJsonData = new HashMap<>(); -// Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT); -// -// this.userLevelService.removeUserLevel(UserLevelForm.make(content)); -// -// return this.setSuccessMessage(resJsonData); -// } -// -// -// // �궗�슜�옄 �벑湲� �뿊�� �떎�슫濡쒕뱶 -// @RequestMapping(value = "/userLevel/downloadExcel", method = RequestMethod.POST) -// public ModelAndView downloadExcel(HttpServletRequest request, Model model) { -// return this.userLevelService.downloadExcel(request, model); -} +// // 遺��꽌 �궘�젣 + @RequestMapping(value = "/departmentManage/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public + @ResponseBody + Map<String, Object> remove(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> resJsonData = new HashMap<>(); + Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT); + this.departmentManageService.removeUserLevel(DepartmentManageForm.make(content)); + + return this.setSuccessMessage(resJsonData); + } + + + // 遺��꽌 �뿊�� �떎�슫濡쒕뱶 + @RequestMapping(value = "/departmentManage/downloadExcel", method = RequestMethod.POST) + public ModelAndView downloadExcel(HttpServletRequest request, Model model) { + return this.departmentManageService.downloadExcel(request, model); + } +} diff --git a/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java b/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java index 93bedf9..547e2f0 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/UserLevelController.java @@ -1,15 +1,8 @@ package kr.wisestone.owl.web.controller; import kr.wisestone.owl.constant.Constants; -import kr.wisestone.owl.domain.enumType.SocialType; import kr.wisestone.owl.service.UserLevelService; -import kr.wisestone.owl.service.UserService; -import kr.wisestone.owl.util.ConvertUtil; -import kr.wisestone.owl.web.condition.NoticeCondition; -import kr.wisestone.owl.web.condition.UserCondition; import kr.wisestone.owl.web.condition.UserLevelCondition; -import kr.wisestone.owl.web.form.ManageUserForm; -import kr.wisestone.owl.web.form.UserForm; import kr.wisestone.owl.web.form.UserLevelForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; @@ -17,7 +10,6 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; @@ -25,7 +17,7 @@ import java.util.Map; /** - * Created by jeong on 2017-08-02. + * Created by jeong on 2021-11-05. */ @Controller public class UserLevelController extends BaseController { diff --git a/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java b/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java index e75a8ff..d06a373 100644 --- a/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/DepartmentManageForm.java @@ -1,7 +1,10 @@ package kr.wisestone.owl.web.form; +import com.google.common.collect.Lists; import kr.wisestone.owl.util.ConvertUtil; +import kr.wisestone.owl.util.MapUtil; +import java.util.List; import java.util.Map; /** @@ -11,12 +14,18 @@ private Long id; private String departmentName; private String departmentDescription; + private List<Long> removeIds = Lists.newArrayList(); public DepartmentManageForm() { } public static DepartmentManageForm make(Map<String, Object> params) { - return ConvertUtil.convertMapToClass(params, DepartmentManageForm.class); + DepartmentManageForm form = ConvertUtil.convertMapToClass(params, DepartmentManageForm.class); + + if (MapUtil.getLongs(params,"removeIds") != null) { + form.setRemoveIds(MapUtil.getLongs(params, "removeIds")); + } + return form; } public Long getId() { @@ -42,4 +51,12 @@ public void setDepartmentDescription(String departmentDescription) { this.departmentDescription = departmentDescription; } + + public List<Long> getRemoveIds() { + return removeIds; + } + + public void setRemoveIds(List<Long> removeIds) { + this.removeIds = removeIds; + } } diff --git a/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java b/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java index b8e4dce..62f3bb1 100644 --- a/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/UserLevelForm.java @@ -2,8 +2,6 @@ import com.google.common.collect.Lists; import kr.wisestone.owl.constant.MngPermission; -import kr.wisestone.owl.domain.User; -import kr.wisestone.owl.domain.UserLevel; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.MapUtil; diff --git a/src/main/resources/mybatis/query-template/departmentManage-template.xml b/src/main/resources/mybatis/query-template/departmentManage-template.xml index 9f2981a..23e2cc4 100644 --- a/src/main/resources/mybatis/query-template/departmentManage-template.xml +++ b/src/main/resources/mybatis/query-template/departmentManage-template.xml @@ -7,10 +7,12 @@ SELECT dm.id as id, dm.department_name as departmentName, - dm.department_description as departmentDescription + dm.department_description as departmentDescription, + count(u.department_id) as departmentCount FROM department_manage dm - WHERE id != 1 AND 1=1 + OUTER JOIN user u on dm.id = u.department_id + WHERE 1=1 <if test="departmentName != '' and departmentName != null"> AND ul.department_name like CONCAT('%',#{departmentName},'%') </if> diff --git a/src/main/webapp/scripts/app/workspace/workspaceDepartmentAdd.controller.js b/src/main/webapp/scripts/app/workspace/workspaceDepartmentAdd.controller.js index af3e40d..874e4b9 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceDepartmentAdd.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceDepartmentAdd.controller.js @@ -7,8 +7,8 @@ 'app' ], function (app) { - app.controller('workspaceDepartmentAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'Workspace', '$filter', 'parameter', '$timeout', - function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, Workspace, $filter, parameter) { + app.controller('workspaceDepartmentAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'Workspace', 'UserWorkspace', '$filter', + function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, Workspace, UserWorkspace, $filter) { $scope.fn = { cancel : cancel, // �뙘�뾽 李� �떕湲� @@ -18,8 +18,8 @@ $scope.vm = { form : { - title : "", - description : "" + departmentName : "", // �젣紐� + departmentDescription : "" // �궡�슜 }, options : { callbacks : { @@ -87,8 +87,8 @@ $rootScope.spinner = true; var content = { - title : $rootScope.preventXss($scope.vm.form.title), - description : $rootScope.preventXss($scope.vm.form.description) + departmentName : $rootScope.preventXss($scope.vm.form.title), + departmentDescription : $rootScope.preventXss($scope.vm.form.description) }; UserWorkspace.departmentAdd($resourceProvider.getContent( diff --git a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js index b56f44d..f3e4d98 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js @@ -65,7 +65,7 @@ .setDType("renderer") .setDRenderer("DEPARTMENT_MODIFY")); $scope.vm.tableConfigs2.push($tableProvider.config() - .setHName("manageDepartment.departmentDescription") + .setHName("manageDepartment.departmentEx") .setHWidth("width-120-p") .setDAlign("text-center") .setDName("departmentDescription")); @@ -103,6 +103,7 @@ if (result.data.message.status === "success") { $scope.vm.page.selectedPage = currentPage + 1; $scope.vm.responseData = result.data; + } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣" -- Gitblit v1.8.0