From ce5ca5369198753cc84cc6df3ca55cb9cc921c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Fri, 24 Dec 2021 13:54:33 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95=EC=9A=94=EC=B2=AD=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1,=20=EC=A1=B0=ED=9A=8C=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InfoController.java | 29 +++ .../kcgfilemanager/model/ModifyRequest.java | 46 +++++ .../repository/ModifyRequestRepository.java | 8 + .../service/ModifyRequestService.java | 18 ++ src/main/resources/static/js/admin/userMgt.js | 11 -- src/main/resources/static/js/common.js | 12 ++ src/main/resources/static/js/user/info.js | 11 -- .../static/js/user/modifyRequestWrite.js | 53 +++++ .../templates/user/modifyRequestWrite.html | 184 ++++++++++++++++++ src/main/resources/templates/user/myInfo.html | 4 +- 10 files changed, 352 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/dbnt/kcgfilemanager/model/ModifyRequest.java create mode 100644 src/main/java/com/dbnt/kcgfilemanager/repository/ModifyRequestRepository.java create mode 100644 src/main/java/com/dbnt/kcgfilemanager/service/ModifyRequestService.java create mode 100644 src/main/resources/static/js/user/modifyRequestWrite.js create mode 100644 src/main/resources/templates/user/modifyRequestWrite.html diff --git a/src/main/java/com/dbnt/kcgfilemanager/controller/InfoController.java b/src/main/java/com/dbnt/kcgfilemanager/controller/InfoController.java index afd3770..b61a9ac 100644 --- a/src/main/java/com/dbnt/kcgfilemanager/controller/InfoController.java +++ b/src/main/java/com/dbnt/kcgfilemanager/controller/InfoController.java @@ -1,14 +1,18 @@ package com.dbnt.kcgfilemanager.controller; import com.dbnt.kcgfilemanager.model.CategoryRole; +import com.dbnt.kcgfilemanager.model.ModifyRequest; import com.dbnt.kcgfilemanager.model.UserInfo; import com.dbnt.kcgfilemanager.service.CategoryRoleService; +import com.dbnt.kcgfilemanager.service.ModifyRequestService; import com.dbnt.kcgfilemanager.service.UserInfoService; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; +import java.util.ArrayList; + @RestController @RequiredArgsConstructor @RequestMapping("/info") @@ -16,6 +20,7 @@ public class InfoController { private final CategoryRoleService categoryRoleService; private final UserInfoService userInfoService; + private final ModifyRequestService modifyRequestService; @GetMapping("/myInfo") public ModelAndView myInfo(@AuthenticationPrincipal UserInfo loginUser) { @@ -33,4 +38,28 @@ public class InfoController { public String passwordModify(@AuthenticationPrincipal UserInfo loginUser, UserInfo modifyInfo){ return userInfoService.updatePassword(loginUser, modifyInfo); } + + @GetMapping("/modifyRequestWrite") + public ModelAndView modifyRequestWrite(@AuthenticationPrincipal UserInfo loginUser, ModifyRequest modifyRequest){ + ModelAndView mav = new ModelAndView("user/modifyRequestWrite"); + mav.addObject("loginUser", loginUser); + if(modifyRequest.getRequestSeq()==null){ + mav.addObject("type", "new"); + mav.addObject("modifyRequest", modifyRequest); + CategoryRole categoryRole = new CategoryRole(); + categoryRole.setUserSeq(loginUser.getUserSeq()); + mav.addObject("categorySeqList", categoryRoleService.selectCategorySeqListToUser(categoryRole)); + }else{ + mav.addObject("type", "modify"); + // 이하 수정기능 추가시 작업 필요. + mav.addObject("modifyRequest", modifyRequest); + mav.addObject("categorySeqList", new ArrayList<>()); + } + return mav; + } + + @PostMapping("/saveModifyRequest") + public Integer saveModifyRequest(ModifyRequest modifyRequest){ + return modifyRequestService.saveModifyRequest(modifyRequest); + } } diff --git a/src/main/java/com/dbnt/kcgfilemanager/model/ModifyRequest.java b/src/main/java/com/dbnt/kcgfilemanager/model/ModifyRequest.java new file mode 100644 index 0000000..ba7a3d1 --- /dev/null +++ b/src/main/java/com/dbnt/kcgfilemanager/model/ModifyRequest.java @@ -0,0 +1,46 @@ +package com.dbnt.kcgfilemanager.model; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.web.multipart.MultipartFile; + +import javax.persistence.*; +import java.time.LocalDateTime; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "MODIFY_REQUEST") +public class ModifyRequest extends BaseModel{ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "REQUEST_SEQ") + private Integer requestSeq; + @Column(name = "REQUEST_TYPE") + private String requestType; + @Column(name = "TITLE") + private String title; + @Column(name = "STATUS") + private String status; + @Column(name = "REQUEST_NAME") + private String requestName; + @Column(name = "REQUEST_POSITION") + private Integer requestPosition; + @Column(name = "REQUEST_DEPARTMENT") + private Integer requestDepartment; + @Column(name = "REQUEST_CATEGORY_ARY") + private String requestCategoryAry; + @Column(name = "DESCRIPTION") + private String description; + @Column(name = "CREATE_ID") + private String createId; + @Column(name = "CREATE_DATE") + private LocalDateTime createDate; +} diff --git a/src/main/java/com/dbnt/kcgfilemanager/repository/ModifyRequestRepository.java b/src/main/java/com/dbnt/kcgfilemanager/repository/ModifyRequestRepository.java new file mode 100644 index 0000000..f4845bf --- /dev/null +++ b/src/main/java/com/dbnt/kcgfilemanager/repository/ModifyRequestRepository.java @@ -0,0 +1,8 @@ +package com.dbnt.kcgfilemanager.repository; + +import com.dbnt.kcgfilemanager.model.ModifyRequest; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ModifyRequestRepository extends JpaRepository { + +} diff --git a/src/main/java/com/dbnt/kcgfilemanager/service/ModifyRequestService.java b/src/main/java/com/dbnt/kcgfilemanager/service/ModifyRequestService.java new file mode 100644 index 0000000..e250358 --- /dev/null +++ b/src/main/java/com/dbnt/kcgfilemanager/service/ModifyRequestService.java @@ -0,0 +1,18 @@ +package com.dbnt.kcgfilemanager.service; + +import com.dbnt.kcgfilemanager.model.ModifyRequest; +import com.dbnt.kcgfilemanager.repository.ModifyRequestRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + + +@Service +@RequiredArgsConstructor +public class ModifyRequestService { + + private final ModifyRequestRepository modifyRequestRepository; + + public Integer saveModifyRequest(ModifyRequest modifyRequest) { + return modifyRequestRepository.save(modifyRequest).getRequestSeq(); + } +} diff --git a/src/main/resources/static/js/admin/userMgt.js b/src/main/resources/static/js/admin/userMgt.js index 09581f8..a4573e8 100644 --- a/src/main/resources/static/js/admin/userMgt.js +++ b/src/main/resources/static/js/admin/userMgt.js @@ -120,17 +120,6 @@ $(document).on('click', '#saveCategoryRoleBtn', function (){ }) }) -$(document).on('click', '#moveRightBtn', function (){ - moveCategorySelectBody(1); -}) -$(document).on('click', '#moveLeftBtn', function (){ - moveCategorySelectBody(-1); -}) -function moveCategorySelectBody(direction){ - const categorySelectBody = $("#categorySelectBody"); - const nowX = categorySelectBody.scrollLeft(); - categorySelectBody.animate({scrollLeft:(direction*200+nowX)},200); -} function valueCheck(form){ const targetForm = $("#"+form); const userId = targetForm.find("#userId").val(); diff --git a/src/main/resources/static/js/common.js b/src/main/resources/static/js/common.js index e69de29..aeb163c 100644 --- a/src/main/resources/static/js/common.js +++ b/src/main/resources/static/js/common.js @@ -0,0 +1,12 @@ +$(document).on('click', '#moveRightBtn', function (){ + moveCategorySelectBody(1); +}) +$(document).on('click', '#moveLeftBtn', function (){ + moveCategorySelectBody(-1); +}) + +function moveCategorySelectBody(direction){ + const categorySelectBody = $("#categorySelectBody"); + const nowX = categorySelectBody.scrollLeft(); + categorySelectBody.animate({scrollLeft:(direction*200+nowX)},200); +} \ No newline at end of file diff --git a/src/main/resources/static/js/user/info.js b/src/main/resources/static/js/user/info.js index 487df97..3b24d44 100644 --- a/src/main/resources/static/js/user/info.js +++ b/src/main/resources/static/js/user/info.js @@ -2,12 +2,6 @@ $(function (){ tableSort(); }) -$(document).on('click', '#moveRightBtn', function (){ - moveCategorySelectBody(1); -}) -$(document).on('click', '#moveLeftBtn', function (){ - moveCategorySelectBody(-1); -}) $(document).on('click', '#savePasswordBtn', function (){ if(passwordCheck()){ const formData = new FormData($("#modifyPasswordForm")[0]); @@ -65,11 +59,6 @@ function passwordCheck(){ } -function moveCategorySelectBody(direction){ - const categorySelectBody = $("#categorySelectBody"); - const nowX = categorySelectBody.scrollLeft(); - categorySelectBody.animate({scrollLeft:(direction*200+nowX)},200); -} function tableSort(){ $("#categorySelectBody").find("tbody").each(function (idx, tbody){ let lastCategorySeq = 0 diff --git a/src/main/resources/static/js/user/modifyRequestWrite.js b/src/main/resources/static/js/user/modifyRequestWrite.js new file mode 100644 index 0000000..cd15150 --- /dev/null +++ b/src/main/resources/static/js/user/modifyRequestWrite.js @@ -0,0 +1,53 @@ +$(function (){ + $("#description").summernote({ + lang:'ko-KR', + height: 120, + disableDragAndDrop: true, + toolbar: [ + ['style', ['style']], + ['font', ['bold', 'underline', 'clear']], + ['color', ['color']], + ['para', ['ul', 'ol', 'paragraph']], + ['table', ['table']] + ] + }) +}) +$(document).on('change', '#categorySelector', function (){ + $("#modifyInfoDiv").empty().append($("#"+this.value+"Div").children().clone()); +}) +$(document).on('click', '#saveBtn', function (){ + if(contentCheck()){ + if(confirm("저장하시겠습니까?")){ + const formData = new FormData($("#requestForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : pageType==='modify'?"/info/updateModifyRequest":"/info/saveModifyRequest", + processData: false, + contentType: false, + success : function(result) { + if(result>0){ + alert("저장되었습니다."); + // location.href = "/board/contentList?categorySeq="+$("#categorySeq").val(); + } + }, + error : function(xhr, status) { + + } + }) + } + } +}) + +function contentCheck(){ + let flag = true; + if(!$("#categorySelector").val()){ + alert("분류 선택이 되지 않았습니다.") + flag = false; + } + if(!$("#title").val()){ + alert("제목을 입력해주세요.") + flag = false; + } + return flag; +} diff --git a/src/main/resources/templates/user/modifyRequestWrite.html b/src/main/resources/templates/user/modifyRequestWrite.html new file mode 100644 index 0000000..64f427a --- /dev/null +++ b/src/main/resources/templates/user/modifyRequestWrite.html @@ -0,0 +1,184 @@ + + + + + + + + + +
+
+

+
+
+
+
+
+ +
+
+
+ + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + +
+ +
+ +
+
+
+ +
+
분류를 선택해주세요.
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
연도중분류소분류
+ +
+ +
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/user/myInfo.html b/src/main/resources/templates/user/myInfo.html index b4175cb..e1a27e5 100644 --- a/src/main/resources/templates/user/myInfo.html +++ b/src/main/resources/templates/user/myInfo.html @@ -11,8 +11,8 @@

개인정보

- - + 요청 현황 + 수정 요청