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 @@ +
+ +
+ +
+