From 332fc298fce518a598c8e19a987621d0093f5f9d 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 18:40:38 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EC=84=9C=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbnt/faisp/codeMgt/CodeMgtService.java | 5 +- .../codeMgt/repository/CodeMgtRepository.java | 2 + src/main/java/com/dbnt/faisp/config/Role.java | 7 +- .../com/dbnt/faisp/config/SecurityConfig.java | 15 ++- .../faisp/controller/AuthMgtController.java | 23 +---- .../controller/OrganConfigController.java | 23 +++++ .../faisp/organMgt/OrganConfigService.java | 10 ++ .../faisp/organMgt/model/OrganConfig.java | 30 ++++++ .../repository/OrganConfigRepository.java | 9 ++ .../resources/static/js/organMgt/organMgt.js | 21 ++++ .../adminPage/organMgt/organMgt.html | 95 +++++++++++++++++++ .../resources/templates/fragments/header.html | 7 ++ 12 files changed, 218 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/controller/OrganConfigController.java create mode 100644 src/main/java/com/dbnt/faisp/organMgt/OrganConfigService.java create mode 100644 src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java create mode 100644 src/main/java/com/dbnt/faisp/organMgt/repository/OrganConfigRepository.java create mode 100644 src/main/resources/static/js/organMgt/organMgt.js create mode 100644 src/main/resources/templates/adminPage/organMgt/organMgt.html diff --git a/src/main/java/com/dbnt/faisp/codeMgt/CodeMgtService.java b/src/main/java/com/dbnt/faisp/codeMgt/CodeMgtService.java index 179d5c16..94be0287 100644 --- a/src/main/java/com/dbnt/faisp/codeMgt/CodeMgtService.java +++ b/src/main/java/com/dbnt/faisp/codeMgt/CodeMgtService.java @@ -41,10 +41,11 @@ public class CodeMgtService{ } public List selectCommonCodeList() { - return codeMgtRepository.findByUseChkOrderByItemCdAsc("T"); + //return codeMgtRepository.findByUseChkOrderByItemCdAsc("T"); + return codeMgtRepository.findByOrderByItemCdAsc(); } public List selectCodeMgtList(String categoryCd) { - return codeMgtRepository.findByCategoryCdOrderByItemCdAsc(categoryCd); + return codeMgtRepository.findByCategoryCdAndUseChkOrderByItemCdAsc(categoryCd, "T"); } } diff --git a/src/main/java/com/dbnt/faisp/codeMgt/repository/CodeMgtRepository.java b/src/main/java/com/dbnt/faisp/codeMgt/repository/CodeMgtRepository.java index b3c10ed0..c34bb062 100644 --- a/src/main/java/com/dbnt/faisp/codeMgt/repository/CodeMgtRepository.java +++ b/src/main/java/com/dbnt/faisp/codeMgt/repository/CodeMgtRepository.java @@ -9,5 +9,7 @@ import java.util.List; public interface CodeMgtRepository extends JpaRepository { List findByCategoryCdOrderByItemCdAsc(String categoryCd); + List findByCategoryCdAndUseChkOrderByItemCdAsc(String categoryCd, String useChk); List findByUseChkOrderByItemCdAsc(String useChk); + List findByOrderByItemCdAsc(); } diff --git a/src/main/java/com/dbnt/faisp/config/Role.java b/src/main/java/com/dbnt/faisp/config/Role.java index ed1a5d36..30cd6296 100644 --- a/src/main/java/com/dbnt/faisp/config/Role.java +++ b/src/main/java/com/dbnt/faisp/config/Role.java @@ -6,8 +6,9 @@ import lombok.Getter; @AllArgsConstructor @Getter public enum Role { - ADMIN("ROLE_ADMIN"), - USER("ROLE_USER"); + ADMIN("ROLE_ADMIN"), + SUB_ADMIN("ROLE_SUB_ADMIN"), + USER("ROLE_USER"); - private String value; + private String value; } diff --git a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java index 1e3f5382..bee49691 100644 --- a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java +++ b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java @@ -59,8 +59,19 @@ public class SecurityConfig{ @Bean protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.authorizeRequests() // 페이지 권한 설정 - .antMatchers("/dashboard", "/refreshSession").hasRole(Role.USER.name()) // USER, ADMIN 접근 허용 - .antMatchers("/codeMgt/**", "/menuMgt/**", "/authMgt/**").hasRole(Role.ADMIN.name()) // ADMIN만 접근 허용 + .antMatchers( + "/dashboard", + "/refreshSession" + ).hasRole(Role.USER.name()) // USER 접근 허용 + .antMatchers( + "/codeMgt/**", + "/menuMgt/**", + "/authMgt/**", + "/organMgt/**" + ).hasRole(Role.ADMIN.name()) // ADMIN 접근 허용 + .antMatchers( + "/authMgt/**" + ).hasRole(Role.SUB_ADMIN.name()) // SUB_ADMIN 접근 허용 .antMatchers("/login").permitAll() // 로그인 페이지는 권한 없이 접근 허용 .and() // 로그인 설정 .formLogin() .loginPage("/login") // Custom login form 사용 diff --git a/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java b/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java index 0f3457e8..5c31aac7 100644 --- a/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java +++ b/src/main/java/com/dbnt/faisp/controller/AuthMgtController.java @@ -19,12 +19,11 @@ import java.util.List; @RequestMapping("/authMgt") public class AuthMgtController { - private final MenuMgtService menuMgtService; private final UserInfoService userInfoService; private final AuthMgtService authMgtService; @GetMapping("/authMgtPage") - public ModelAndView menuMgtPage(UserInfo userInfo) { + public ModelAndView authMgtPage(UserInfo userInfo) { ModelAndView mav = new ModelAndView("adminPage/authMgt/authMgt"); userInfo.setQueryInfo(); mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo)); @@ -44,29 +43,9 @@ public class AuthMgtController { } @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"); - mav.addObject("menuMgt", menuMgt); - return mav; - } - - @PostMapping("/saveMenuMgt") - public String saveMenuMgt(MenuMgt menuMgt){ - return menuMgtService.saveMenuMgt(menuMgt); - } - - @PostMapping("/deleteMenuMgt") - @ResponseBody - public String deleteMenuMgt(@RequestBody List menuMgt){ - menuMgtService.deleteMenuMgt(menuMgt); - return ""; - }*/ - } diff --git a/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java b/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java new file mode 100644 index 00000000..7390de5c --- /dev/null +++ b/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java @@ -0,0 +1,23 @@ +package com.dbnt.faisp.controller; + +import com.dbnt.faisp.organMgt.OrganConfigService; +import com.dbnt.faisp.userInfo.model.UserInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + + +@RestController +@RequiredArgsConstructor +@RequestMapping("/organMgt") +public class OrganConfigController { + private final OrganConfigService organConfigService; + + @GetMapping("/organMgtPage") + public ModelAndView organMgtPage(UserInfo userInfo) { + ModelAndView mav = new ModelAndView("adminPage/organMgt/organMgt"); + mav.addObject("searchParams", userInfo); + return mav; + } + +} diff --git a/src/main/java/com/dbnt/faisp/organMgt/OrganConfigService.java b/src/main/java/com/dbnt/faisp/organMgt/OrganConfigService.java new file mode 100644 index 00000000..ed8d027c --- /dev/null +++ b/src/main/java/com/dbnt/faisp/organMgt/OrganConfigService.java @@ -0,0 +1,10 @@ +package com.dbnt.faisp.organMgt; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class OrganConfigService { + +} diff --git a/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java b/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java new file mode 100644 index 00000000..25099d99 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java @@ -0,0 +1,30 @@ +package com.dbnt.faisp.organMgt.model; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "organ_config") +public class OrganConfig { + @Id + @Column(name = "organ_cd") + private String organCd; + @Column(name = "organ_type") + private String organType; + @Column(name = "parent_organ") + private String parentOrgan; + + @Transient + private List organConfigList; +} diff --git a/src/main/java/com/dbnt/faisp/organMgt/repository/OrganConfigRepository.java b/src/main/java/com/dbnt/faisp/organMgt/repository/OrganConfigRepository.java new file mode 100644 index 00000000..e3fbd3b4 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/organMgt/repository/OrganConfigRepository.java @@ -0,0 +1,9 @@ +package com.dbnt.faisp.organMgt.repository; + +import com.dbnt.faisp.organMgt.model.OrganConfig; +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface OrganConfigRepository extends JpaRepository { + +} diff --git a/src/main/resources/static/js/organMgt/organMgt.js b/src/main/resources/static/js/organMgt/organMgt.js new file mode 100644 index 00000000..d43df30f --- /dev/null +++ b/src/main/resources/static/js/organMgt/organMgt.js @@ -0,0 +1,21 @@ +const organConfigList = [] + +$(document).on('click', '#middleAddBtn', function (){ + addTr('middleTbody') +}) + +$(document).on('click', '#bottomAddBtn', function (){ + addTr('bottomTbody') +}) + +$(document).on('click', '.rowDeleteBtn', function (){ + $(this).parents('tr').remove(); +}) +function addTr(tbody){ + $('#'+tbody).append( + '' + + '' + + '' + + '' + ) +} \ No newline at end of file diff --git a/src/main/resources/templates/adminPage/organMgt/organMgt.html b/src/main/resources/templates/adminPage/organMgt/organMgt.html new file mode 100644 index 00000000..ae20bee0 --- /dev/null +++ b/src/main/resources/templates/adminPage/organMgt/organMgt.html @@ -0,0 +1,95 @@ + + + + + +
+
+

관서 설정

+ + +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ + + + + + + + + + +
지방청
+
+
+ +
+
+
+
+
+
+
+
+ + + + + + + + + + + + + +
관할서
지방청을 선택해주세요.
+
+ +
+
+
+
+
+
+
+
+ + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/fragments/header.html b/src/main/resources/templates/fragments/header.html index bca6a31e..105dd336 100644 --- a/src/main/resources/templates/fragments/header.html +++ b/src/main/resources/templates/fragments/header.html @@ -12,12 +12,19 @@