From 29a088eabaabc6538e7418a624c1955874f0b88b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 29 Aug 2022 16:00:08 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B6=8C=ED=95=9C=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=9E=91=EC=97=85=EC=99=84=EB=A3=8C.=20?= =?UTF-8?q?=EB=A9=94=EB=89=B4=EA=B4=80=EB=A6=AC=20=EA=B2=B0=EC=A0=9C?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=EC=97=AC=EB=B6=80=20=EC=B2=B4=ED=81=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbnt/faisp/authMgt/AuthMgtService.java | 6 + .../com/dbnt/faisp/authMgt/model/AuthMgt.java | 13 ++ .../faisp/controller/AuthMgtController.java | 12 ++ .../com/dbnt/faisp/menuMgt/model/MenuMgt.java | 2 + .../resources/mybatisMapper/menuMgtMapper.xml | 3 +- .../resources/static/js/authMgt/authMgt.js | 51 +++++ .../resources/static/js/menuMgt/menuMgt.js | 3 +- .../adminPage/authMgt/authEditModal.html | 183 ++++++++++-------- .../adminPage/menuMgt/menuEditModal.html | 6 + .../templates/adminPage/menuMgt/menuMgt.html | 1 + 10 files changed, 192 insertions(+), 88 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/authMgt/model/AuthMgt.java diff --git a/src/main/java/com/dbnt/faisp/authMgt/AuthMgtService.java b/src/main/java/com/dbnt/faisp/authMgt/AuthMgtService.java index ce702977..cb00586e 100644 --- a/src/main/java/com/dbnt/faisp/authMgt/AuthMgtService.java +++ b/src/main/java/com/dbnt/faisp/authMgt/AuthMgtService.java @@ -3,6 +3,7 @@ package com.dbnt.faisp.authMgt; import com.dbnt.faisp.authMgt.mapper.AuthMgtMapper; import com.dbnt.faisp.authMgt.model.AccessConfig; import com.dbnt.faisp.authMgt.model.ApprovalConfig; +import com.dbnt.faisp.authMgt.model.AuthMgt; import com.dbnt.faisp.authMgt.repository.AccessConfigRepository; import com.dbnt.faisp.authMgt.repository.ApprovalConfigRepository; import com.dbnt.faisp.userInfo.model.UserInfo; @@ -27,4 +28,9 @@ public class AuthMgtService { public List selectApprovalConfigList(UserInfo userInfo) { return authMgtMapper.selectApprovalConfigList(userInfo); } + + public void saveAuth(AuthMgt authMgt) { + accessConfigRepository.saveAll(authMgt.getAccessConfigList()); + approvalConfigRepository.saveAll(authMgt.getApprovalConfigList()); + } } diff --git a/src/main/java/com/dbnt/faisp/authMgt/model/AuthMgt.java b/src/main/java/com/dbnt/faisp/authMgt/model/AuthMgt.java new file mode 100644 index 00000000..813349f1 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/authMgt/model/AuthMgt.java @@ -0,0 +1,13 @@ +package com.dbnt.faisp.authMgt.model; + +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class AuthMgt { + List accessConfigList; + List approvalConfigList; +} diff --git a/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java b/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java index 1c8dd5b2..0f3457e8 100644 --- a/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java +++ b/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java @@ -1,6 +1,9 @@ package com.dbnt.faisp.controller; import com.dbnt.faisp.authMgt.AuthMgtService; +import com.dbnt.faisp.authMgt.model.AccessConfig; +import com.dbnt.faisp.authMgt.model.ApprovalConfig; +import com.dbnt.faisp.authMgt.model.AuthMgt; import com.dbnt.faisp.menuMgt.MenuMgtService; import com.dbnt.faisp.userInfo.UserInfoService; import com.dbnt.faisp.userInfo.model.UserInfo; @@ -8,6 +11,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; +import java.util.List; + @RestController @RequiredArgsConstructor @@ -38,6 +43,13 @@ public class AuthMgtController { return mav; } + @PostMapping("/saveAuth") + @ResponseBody + public String saveAuth(@RequestBody AuthMgt authMgt){ + authMgtService.saveAuth(authMgt); + return ""; + } + /*@GetMapping("/menuEditModal") public ModelAndView menuEditModal(MenuMgt menuMgt){ ModelAndView mav = new ModelAndView("/adminPage/menuMgt/menuEditModal"); diff --git a/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java b/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java index f9ffaef8..81cb89df 100644 --- a/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java +++ b/src/main/java/com/dbnt/faisp/menuMgt/model/MenuMgt.java @@ -29,6 +29,8 @@ public class MenuMgt extends BaseModel { private String cat3Cd; @Column(name = "menu_url", nullable = false) private String menuUrl; + @Column(name = "approval_chk") + private String approvalChk; @Transient private Integer cat1RowspanCnt; diff --git a/src/main/resources/mybatisMapper/menuMgtMapper.xml b/src/main/resources/mybatisMapper/menuMgtMapper.xml index e1f6e64a..1ae796b0 100644 --- a/src/main/resources/mybatisMapper/menuMgtMapper.xml +++ b/src/main/resources/mybatisMapper/menuMgtMapper.xml @@ -9,7 +9,8 @@ cat1_cd as cat1Cd, cat2_cd as cat2Cd, cat3_cd as cat3Cd, - menu_url as menuUrl + menu_url as menuUrl, + approval_chk as approvalChk from menu_mgt diff --git a/src/main/resources/static/js/authMgt/authMgt.js b/src/main/resources/static/js/authMgt/authMgt.js index 0e0df23b..306f52bc 100644 --- a/src/main/resources/static/js/authMgt/authMgt.js +++ b/src/main/resources/static/js/authMgt/authMgt.js @@ -13,4 +13,55 @@ $(document).on('click', '.userInfoTr', function (){ } }); +}) + +$(document).on('click', '.radioTd', function (){ + $(this).find('input').prop('checked', true); +}) + +$(document).on('click', '#saveAuthBtn', function (){ + if(confirm("저장하시겠습니까?")){ + contentFade("in"); + const userSeq = Number($("#userSeq").val()); + const accessConfigList = [] + $("#accessEditTable").find('tbody').children().each(function (idx, tr){ + accessConfigList.push( + { + userSeq: userSeq, + menuKey: Number($(this).find('.menuKey').val()), + accessAuth: $(this).find('input:checked').val() + } + ) + }) + const approvalConfigList = [] + $("#approvalEditTable").find('input:checked').each(function (idx, tr){ + approvalConfigList.push( + { + userSeq: userSeq, + menuKey: Number($(this).parents('tbody').find('.menuKey').val()), + approvalAuth: $(this).val() + } + ) + }) + const authList = {}; + authList.accessConfigList = accessConfigList; + authList.approvalConfigList = approvalConfigList; + $.ajax({ + type : 'POST', + url : "/authMgt/saveAuth", + data : JSON.stringify(authList), + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + alert("저장되었습니다."); + contentFade("out"); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다.") + contentFade("out"); + } + }) + } }) \ No newline at end of file diff --git a/src/main/resources/static/js/menuMgt/menuMgt.js b/src/main/resources/static/js/menuMgt/menuMgt.js index 42c2f8db..d0409618 100644 --- a/src/main/resources/static/js/menuMgt/menuMgt.js +++ b/src/main/resources/static/js/menuMgt/menuMgt.js @@ -13,7 +13,8 @@ $(document).on('click', '.menuTr', function (event){ cat1Cd: row.find(".cat1Cd").val(), cat2Cd: row.find(".cat2Cd").val(), cat3Cd: row.find(".cat3Cd").val(), - menuUrl: row.find(".menuUrl").val() + menuUrl: row.find(".menuUrl").val(), + approvalChk: row.find(".approvalChk").val() }) } } diff --git a/src/main/resources/templates/adminPage/authMgt/authEditModal.html b/src/main/resources/templates/adminPage/authMgt/authEditModal.html index ebb9d4c1..ac2ae0b0 100644 --- a/src/main/resources/templates/adminPage/authMgt/authEditModal.html +++ b/src/main/resources/templates/adminPage/authMgt/authEditModal.html @@ -1,89 +1,100 @@ -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
대분류중분류소분류관리작성조회
- - - - - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
대분류중분류계장대행계장과장대행과장
...
-
-
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
대분류중분류소분류관리작성조회
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
대분류중분류소분류계장대행계장과장대행과장
.. + + + + + + + +
+
\ No newline at end of file diff --git a/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html b/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html index 36b8d97a..4ff7190f 100644 --- a/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html +++ b/src/main/resources/templates/adminPage/menuMgt/menuEditModal.html @@ -55,6 +55,12 @@ +
+ +
+ +
+