diff --git a/src/main/java/com/dbnt/kcgfilemanager/BaseController.java b/src/main/java/com/dbnt/kcgfilemanager/BaseController.java index 017272d..e5ff686 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/BaseController.java +++ b/src/main/java/com/dbnt/kcgfilemanager/BaseController.java @@ -43,4 +43,11 @@ public class BaseController { ModelAndView mav = new ModelAndView("main"); return mav; } + + @GetMapping("/refreshSession") + public void getSession(HttpSession session){ + session.setAttribute("positionList", commonCodeService.selectCommonCodeValue("POSITION")); + session.setAttribute("departmentList", commonCodeService.selectCommonCodeValue("DEPARTMENT")); + session.setAttribute("categoryList", boardCategoryService.selectBoardCategoryAll(null, 1)); + } } diff --git a/src/main/java/com/dbnt/kcgfilemanager/controller/adminController.java b/src/main/java/com/dbnt/kcgfilemanager/controller/adminController.java index 3d5b771..9afeb94 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/controller/adminController.java +++ b/src/main/java/com/dbnt/kcgfilemanager/controller/adminController.java @@ -15,7 +15,6 @@ import org.springframework.web.servlet.ModelAndView; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; -import java.util.Optional; @RestController @RequiredArgsConstructor @@ -96,9 +95,9 @@ public class adminController { } @GetMapping("/selectCategoryRole") - public ModelAndView selectUserCategoryRole(CategoryRole categoryRole){ + public ModelAndView selectCategorySeqListToUser(CategoryRole categoryRole){ ModelAndView mav = new ModelAndView("admin/userCategoryRole"); - /*mav.addObject("userCategoryRole", userInfoService.selectUserCategoryRole(categoryRole));*/ + mav.addObject("categorySeqList", categoryRoleService.selectCategorySeqListToUser(categoryRole)); return mav; } diff --git a/src/main/java/com/dbnt/kcgfilemanager/mapper/BoardCategoryMapper.java b/src/main/java/com/dbnt/kcgfilemanager/mapper/BoardCategoryMapper.java deleted file mode 100644 index 50af817..0000000 --- a/src/main/java/com/dbnt/kcgfilemanager/mapper/BoardCategoryMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.dbnt.kcgfilemanager.mapper; - -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface BoardCategoryMapper { - -} diff --git a/src/main/java/com/dbnt/kcgfilemanager/mapper/CategoryRoleMapper.java b/src/main/java/com/dbnt/kcgfilemanager/mapper/CategoryRoleMapper.java new file mode 100644 index 0000000..1731a81 --- /dev/null +++ b/src/main/java/com/dbnt/kcgfilemanager/mapper/CategoryRoleMapper.java @@ -0,0 +1,12 @@ +package com.dbnt.kcgfilemanager.mapper; + +import com.dbnt.kcgfilemanager.model.BoardCategory; +import com.dbnt.kcgfilemanager.model.CategoryRole; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface CategoryRoleMapper { + List selectCategoryListToUser(CategoryRole categoryRole); +} diff --git a/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRole.java b/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRole.java index 8c3da10..0636717 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRole.java +++ b/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRole.java @@ -1,12 +1,11 @@ package com.dbnt.kcgfilemanager.model; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; +import lombok.*; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; +import java.io.Serializable; @Getter @Setter @@ -15,7 +14,7 @@ import javax.persistence.*; @DynamicInsert @DynamicUpdate @Table(name = "CATEGORY_ROLE") -@IdClass(CategoryRoleId.class) +@IdClass(CategoryRole.CategoryRoleId.class) public class CategoryRole { @Id @Column(name = "USER_SEQ", nullable = false) @@ -23,7 +22,17 @@ public class CategoryRole { @Id @Column(name = "CATEGORY_SEQ", nullable = false) private Integer categorySeq; + @Column(name = "CATEGORY_ROLE") private String categoryRole; + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class CategoryRoleId implements Serializable { + private Integer userSeq; + private Integer categorySeq; + } + } diff --git a/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRoleId.java b/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRoleId.java deleted file mode 100644 index 1cb3028..0000000 --- a/src/main/java/com/dbnt/kcgfilemanager/model/CategoryRoleId.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.dbnt.kcgfilemanager.model; - -import lombok.*; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.IdClass; -import javax.persistence.Table; -import java.io.Serializable; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CategoryRoleId implements Serializable { - private Integer userSeq; - private Integer categorySeq; -} diff --git a/src/main/java/com/dbnt/kcgfilemanager/repository/CategoryRoleRepository.java b/src/main/java/com/dbnt/kcgfilemanager/repository/CategoryRoleRepository.java index 8c58825..3748a04 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/repository/CategoryRoleRepository.java +++ b/src/main/java/com/dbnt/kcgfilemanager/repository/CategoryRoleRepository.java @@ -1,13 +1,13 @@ package com.dbnt.kcgfilemanager.repository; import com.dbnt.kcgfilemanager.model.CategoryRole; -import com.dbnt.kcgfilemanager.model.CategoryRoleId; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface CategoryRoleRepository extends JpaRepository { +public interface CategoryRoleRepository extends JpaRepository { List findByUserSeq(Integer userSeq); void deleteByUserSeq(Integer userSeq); + List findByCategorySeq(Integer categorySeq); } diff --git a/src/main/java/com/dbnt/kcgfilemanager/service/BoardCategoryService.java b/src/main/java/com/dbnt/kcgfilemanager/service/BoardCategoryService.java index 2aad0e0..359573f 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/service/BoardCategoryService.java +++ b/src/main/java/com/dbnt/kcgfilemanager/service/BoardCategoryService.java @@ -1,18 +1,22 @@ package com.dbnt.kcgfilemanager.service; -import com.dbnt.kcgfilemanager.mapper.BoardCategoryMapper; import com.dbnt.kcgfilemanager.model.BoardCategory; +import com.dbnt.kcgfilemanager.model.CategoryRole; import com.dbnt.kcgfilemanager.repository.BoardCategoryRepository; +import com.dbnt.kcgfilemanager.repository.CategoryRoleRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; @Service @RequiredArgsConstructor public class BoardCategoryService { - private final BoardCategoryMapper boardCategoryMapper; + private final BoardCategoryRepository boardCategoryRepository; + private final CategoryRoleRepository categoryRoleRepository; public List selectBoardCategory(Integer parentCategory, Integer depth) { @@ -26,8 +30,22 @@ public class BoardCategoryService { return categoryList; } + @Transactional public void insertBoardCategory(List categoryList){ boardCategoryRepository.saveAll(categoryList); + Integer parentCategory = categoryList.get(0).getParentCategory(); + List categoryRoleList = categoryRoleRepository.findByCategorySeq(parentCategory); + List addRoleList = new ArrayList<>(); + for(CategoryRole role: categoryRoleList){ + for(BoardCategory category: categoryList){ + CategoryRole categoryRole = new CategoryRole(); + categoryRole.setUserSeq(role.getUserSeq()); + categoryRole.setCategorySeq(category.getCategorySeq()); + categoryRole.setCategoryRole("T"); + addRoleList.add(categoryRole); + } + } + categoryRoleRepository.saveAll(addRoleList); } public void deleteBoardCategory(Integer categorySeq, Integer depth) { diff --git a/src/main/java/com/dbnt/kcgfilemanager/service/CategoryRoleService.java b/src/main/java/com/dbnt/kcgfilemanager/service/CategoryRoleService.java index d04e761..ffd3aea 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/service/CategoryRoleService.java +++ b/src/main/java/com/dbnt/kcgfilemanager/service/CategoryRoleService.java @@ -1,8 +1,11 @@ package com.dbnt.kcgfilemanager.service; +import com.dbnt.kcgfilemanager.mapper.CategoryRoleMapper; +import com.dbnt.kcgfilemanager.model.BoardCategory; import com.dbnt.kcgfilemanager.model.CategoryRole; import com.dbnt.kcgfilemanager.repository.CategoryRoleRepository; import lombok.RequiredArgsConstructor; +import org.apache.logging.log4j.util.StringBuilders; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,11 +17,10 @@ import java.util.List; @RequiredArgsConstructor public class CategoryRoleService { private final CategoryRoleRepository categoryRoleRepository; + private final CategoryRoleMapper categoryRoleMapper; @Transactional public void insertCategoryRole(Integer userSeq, List mapList) { -// List categoryRoleList = categoryRoleRepository.findByUserSeq(userSeq); -// categoryRoleRepository.deleteAll(categoryRoleList); categoryRoleRepository.deleteByUserSeq(userSeq); List categoryRoleList = new ArrayList<>(); for(LinkedHashMap map: mapList){ @@ -30,4 +32,14 @@ public class CategoryRoleService { } categoryRoleRepository.saveAll(categoryRoleList); } + + public List selectCategorySeqListToUser(CategoryRole categoryRole) { + List categoryRoleList = categoryRoleRepository.findByUserSeq(categoryRole.getUserSeq()); + List roleList = new ArrayList<>(); + for(CategoryRole userRole: categoryRoleList){ + roleList.add(userRole.getCategorySeq()); + } + return roleList; + } + } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 95fdb96..c9b4900 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,7 +4,7 @@ spring.devtools.livereload.enabled=true spring.thymeleaf.prefix=classpath:templates/ spring.thymeleaf.check-template-location=true spring.thymeleaf.suffix=.html -spring.thymeleaf.mode=HTML5 +spring.thymeleaf.mode=HTML spring.thymeleaf.cache=false #mariaDB diff --git a/src/main/resources/mybatisMapper/CategoryRoleMapper.xml b/src/main/resources/mybatisMapper/CategoryRoleMapper.xml new file mode 100644 index 0000000..5d97bee --- /dev/null +++ b/src/main/resources/mybatisMapper/CategoryRoleMapper.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/css/common.css b/src/main/resources/static/css/common.css index a00a45d..61e6831 100644 --- a/src/main/resources/static/css/common.css +++ b/src/main/resources/static/css/common.css @@ -11,6 +11,9 @@ transform: translate(-50%, -50%); } +.centerDiv{ + max-height: fit-content; +} /*사이드바 카테고리 트리*/ .btn-toggle:hover, .btn-toggle:focus { color: rgba(0, 0, 0, .85); diff --git a/src/main/resources/static/js/admin/userMgt.js b/src/main/resources/static/js/admin/userMgt.js index ddd78a9..498b199 100644 --- a/src/main/resources/static/js/admin/userMgt.js +++ b/src/main/resources/static/js/admin/userMgt.js @@ -1,11 +1,6 @@ $(function(){ setSearchCondition(); - const categorySelectModal = document.getElementById('categorySelectModal'); - categorySelectModal.addEventListener('shown.bs.modal', function () { - - }) - $("#dateSelectorDiv").datepicker({ format: "yyyy-mm-dd", language: "ko" @@ -117,9 +112,7 @@ $(document).on('click', '#saveCategoryRoleBtn', function (){ xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); }, success : function(data) { - getCategoryRole($(".userInfoCheckBox:checked").val()); alert("저장되었습니다."); - $("#categorySelectModal").find(".btn-close").click(); }, error : function(xhr, status) { diff --git a/src/main/resources/templates/admin/userCategoryRole.html b/src/main/resources/templates/admin/userCategoryRole.html index 1a9513a..153b366 100644 --- a/src/main/resources/templates/admin/userCategoryRole.html +++ b/src/main/resources/templates/admin/userCategoryRole.html @@ -1,12 +1,69 @@
-
- 권한 목록 +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
연도중분류소분류
+ +
+ +
+ +
+
+
- +
diff --git a/src/main/resources/templates/admin/userMgt.html b/src/main/resources/templates/admin/userMgt.html index 753af81..0e7d9d8 100644 --- a/src/main/resources/templates/admin/userMgt.html +++ b/src/main/resources/templates/admin/userMgt.html @@ -222,79 +222,5 @@
- - \ No newline at end of file diff --git a/src/main/resources/templates/layout/layout.html b/src/main/resources/templates/layout/layout.html index 6277d3c..2528645 100644 --- a/src/main/resources/templates/layout/layout.html +++ b/src/main/resources/templates/layout/layout.html @@ -29,15 +29,33 @@ + + +
-
+
-
+