From 2ab3c285875ab503b2a4767ac506ecf5401693a0 Mon Sep 17 00:00:00 2001 From: TaehunPark Date: Fri, 18 Nov 2022 17:20:20 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20SRI=20=EC=9E=91=EC=97=85=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dbnt/faisp/config/SecurityConfig.java | 3 +- .../faisp/main/fpiMgt/sri/SriController.java | 37 ++--- .../dbnt/faisp/main/fpiMgt/sri/model/Sri.java | 2 + .../main/fpiMgt/sri/service/SriService.java | 39 ++--- src/main/resources/application-dev.properties | 1 + .../static/js/igActivities/fpiMgt/sri/sri.js | 142 +++++++++++++----- .../resources/templates/sri/sriBoard.html | 10 +- .../resources/templates/sri/sriEditModal.html | 18 ++- .../resources/templates/sri/sriViewModal.html | 15 +- 9 files changed, 181 insertions(+), 86 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java index 022bfe00..b747fd93 100644 --- a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java +++ b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java @@ -88,7 +88,8 @@ public class SecurityConfig{ "/affairResult/**", "/faStatistics/**", "/translator/**", - "/faisp/**" + "/faisp/**", + "/sri/**" ).hasRole(Role.USER.name()) // USER 접근 허용 .antMatchers( "/authMgt/**", diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java index 2005c0bb..15f252e1 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java @@ -2,10 +2,9 @@ package com.dbnt.faisp.main.fpiMgt.sri; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; -import com.dbnt.faisp.main.faRpt.model.FaRptBoard; import com.dbnt.faisp.main.faRpt.model.FaRptReadUser; -import com.dbnt.faisp.main.faRpt.service.FaRptService; import com.dbnt.faisp.main.fpiMgt.sri.model.Sri; +import com.dbnt.faisp.main.fpiMgt.sri.model.SriReadUser; import com.dbnt.faisp.main.fpiMgt.sri.service.SriService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; @@ -22,7 +21,7 @@ import java.util.List; @RequiredArgsConstructor @RequestMapping("/sri") public class SriController { - private final FaRptService faRptService; + private final SriService sriService; private final AuthMgtService authMgtService; private final CodeMgtService codeMgtService; @@ -34,7 +33,7 @@ public class SriController { if(sri.getActiveTab()==null){ sri.setActiveTab("send"); } - mav.addObject("searchUrl", "/faRpt/faRptBoard"); + mav.addObject("searchUrl", "/sri/sriBoard"); String accessAuth = authMgtService.selectAccessConfigList (loginUser.getUserSeq(), "/sri/sriBoard").get(0).getAccessAuth(); mav.addObject("accessAuth", accessAuth); @@ -67,20 +66,19 @@ public class SriController { public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, Sri sri){ ModelAndView mav = new ModelAndView("sri/sriEditModal"); if(sri.getFaSriKey()!=null){ - //faRptBoard = faRptService.selectFaRptBoard(faRptBoard.getFaRptKey(), null); + sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null); }else{ - /* - if(faRptBoard.getRefKey()!=null){ - FaRptReadUser readUser = new FaRptReadUser(); - readUser.setUserSeq(faRptBoard.getWrtUserSeq()); - readUser.setOgCd(faRptBoard.getWrtOrgan()); - readUser.setOfcCd(faRptBoard.getWrtPart()); - readUser.setTitleCd(faRptBoard.getWrtUserGrd()); - readUser.setUserNm(faRptBoard.getWrtUserNm()); - faRptBoard.setReadUserList(new ArrayList<>()); - faRptBoard.getReadUserList().add(readUser); - } - */ + if(sri.getRefKey()!=null){ + SriReadUser readUser = new SriReadUser(); + readUser.setUserSeq(sri.getWrtUserSeq()); + readUser.setOgCd(sri.getWrtOrgan()); + readUser.setOfcCd(sri.getWrtPart()); + readUser.setTitleCd(sri.getWrtTitle()); + readUser.setUserNm(sri.getWrtUserNm()); + sri.setReadUserList(new ArrayList<>()); + sri.getReadUserList().add(readUser); + } + sri.setWrtUserSeq(loginUser.getUserSeq()); sri.setWrtOrgan(loginUser.getOgCd()); sri.setWrtPart(loginUser.getOfcCd()); @@ -119,6 +117,11 @@ public class SriController { (loginUser.getUserSeq(), "/sri/sriBoard").get(0).getAccessAuth()); return mav; } + + @PostMapping("/sriDelete") + public void sriDelete(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List sri){ + sriService.sriDelete(sri); + } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java index c8121704..f230e826 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java @@ -51,6 +51,8 @@ public class Sri extends BaseModel { @Column(name = "wrt_dt") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime wrtDt; + @Column(name = "ref_key") + private Integer refKey; @Transient private Integer receiveUserSeq; diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java index 3ca90d10..a7d2b655 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java @@ -2,15 +2,6 @@ package com.dbnt.faisp.main.fpiMgt.sri.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.FileInfo; -import com.dbnt.faisp.main.faRpt.mapper.FaRptMapper; -import com.dbnt.faisp.main.faRpt.model.FaRptBoard; -import com.dbnt.faisp.main.faRpt.model.FaRptFile; -import com.dbnt.faisp.main.faRpt.model.FaRptReadUser; -import com.dbnt.faisp.main.faRpt.model.HashTagLinkFaRpt; -import com.dbnt.faisp.main.faRpt.repository.FaRptBoardRepository; -import com.dbnt.faisp.main.faRpt.repository.FaRptFileRepository; -import com.dbnt.faisp.main.faRpt.repository.FaRptReadUserRepository; -import com.dbnt.faisp.main.faRpt.repository.HashTagLinkFaRptRepository; import com.dbnt.faisp.main.fpiMgt.sri.mapper.SriMapper; import com.dbnt.faisp.main.fpiMgt.sri.model.Sri; import com.dbnt.faisp.main.fpiMgt.sri.model.SriFile; @@ -18,8 +9,9 @@ import com.dbnt.faisp.main.fpiMgt.sri.model.SriReadUser; import com.dbnt.faisp.main.fpiMgt.sri.repository.SriFileRepository; import com.dbnt.faisp.main.fpiMgt.sri.repository.SriReadUserRepository; import com.dbnt.faisp.main.fpiMgt.sri.repository.SriRepository; -import com.dbnt.faisp.main.hashTag.service.HashTagService; import lombok.RequiredArgsConstructor; + +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -32,17 +24,17 @@ import java.util.UUID; @Service @RequiredArgsConstructor public class SriService extends BaseService { - private final HashTagService hashTagService; - private final FaRptBoardRepository faRptBoardRepository; - private final FaRptFileRepository faRptFileRepository; - private final FaRptReadUserRepository faRptReadUserRepository; - private final HashTagLinkFaRptRepository hashTagLinkFaRptRepository; - private final FaRptMapper faRptMapper; + private final SriRepository sriRepository; private final SriReadUserRepository sriReadUserRepository; private final SriFileRepository sriFileRepository; private final SriMapper sriMapper; + @Value("${file.dir}") + protected String fileDir; + @Value("${file.dir.sri}") + protected String sriDir; + public List selectSriList(Sri sri) { return sriMapper.selectSriList(sri); @@ -62,7 +54,7 @@ public class SriService extends BaseService { saveUploadFiles(faSriKey, sri.getMultipartFileList()); } if(sri.getReadUserList() != null){ - saveFaRptReadUser(faSriKey, sri.getReadUserList()); + saveSriReadUser(faSriKey, sri.getReadUserList()); } return faSriKey; @@ -88,7 +80,7 @@ public class SriService extends BaseService { - private void saveFaRptReadUser(Integer faSriKey, List readUserList) { + private void saveSriReadUser(Integer faSriKey, List readUserList) { sriReadUserRepository.deleteByFaSriKey(faSriKey); for(SriReadUser readUser: readUserList){ readUser.setFaSriKey(faSriKey); @@ -101,7 +93,7 @@ public class SriService extends BaseService { int fileSeq = lastFile==null?1:(lastFile.getFileSeq()+1); for(MultipartFile file: multipartFileList){ String saveName = UUID.randomUUID().toString(); - String path = locationPath+File.separator+"faRpt"+File.separator; + String path = fileDir+sriDir; saveFile(file, new File(path+File.separator+saveName)); String originalFilename = file.getOriginalFilename(); @@ -131,6 +123,15 @@ public class SriService extends BaseService { public FileInfo selectFaSriFile(Integer faSriKey, Integer fileSeq) { return sriFileRepository.findById(new SriFile.SriFileId(faSriKey, fileSeq)).orElse(null); } + + @Transactional + public void sriDelete(List sri) { + for(Sri sriData : sri) { + Sri dbSri = sriRepository.findById(sriData.getFaSriKey()).orElse(null); + dbSri.setStatus("DST008"); + sriRepository.save(dbSri); + } + } diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 12e5fefb..c1b1614d 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -16,6 +16,7 @@ file.dir.equip=/equip file.dir.sailor=sailor file.dir.affair=affair file.dir.editor=editor +file.dir.sri=/sri editor.img.view=/file/editorFileDisplay?fileNm= diff --git a/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js b/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js index c01129e3..cf9f8b66 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js @@ -12,7 +12,6 @@ function getSriEditModal(faSriKey){ dataType:"html", success: function(html){ $("#sriEditModalContent").empty().append(html) - $("#sriEditModal").modal('show'); $("#faSriEdate").datepicker({ format: "yyyy-mm-dd", language: "ko", @@ -31,6 +30,7 @@ function getSriEditModal(faSriKey){ })*/ CrossEditor.EditorStart(); setUploadDiv(); + $("#sriEditModal").modal('show'); }, error:function(){ @@ -69,9 +69,22 @@ $(document).on('click', '#saveSriBtn', function (){ }) function saveSri(faSriState){ - if(contentCheck()){ - if(confirm("저장하시겠습니까?")){ - $("#status").val(faSriState); + if(faSriState == 'DST001'){ + if(confirm("임시저장하시겠습니까?")){ + save(faSriState); + } + + }else{ + if(contentCheck()){ + if(confirm("저장하시겠습니까?")){ + save(faSriState); + } + } + } +} + +function save(faSriState){ + $("#status").val(faSriState); contentFade("in"); const formData = new FormData($("#sriEditForm")[0]); for(const file of files) { @@ -96,27 +109,31 @@ function saveSri(faSriState){ processData: false, contentType: false, success : function(result) { - alert("저장되었습니다."); + if(faSriState == 'DST001'){ + alert("임시저장되었습니다."); + }else{ + alert("저장되었습니다."); + } contentFade("out"); $("#sriEditModal").modal('hide'); - //getFaRptViewModal(result); + getSriViewModal(result); }, error : function(xhr, status) { - alert("저장에 실패하였습니다.") + if(faSriState == 'DST001'){ + alert("임시저장에 실패하였습니다.") + }else{ + alert("저장에 실패하였습니다.") + } contentFade("out"); } - }) - } - } + }) } -$(document).on('click', '.faSriTr', function (){ - const chkBox = $(this).find(".rowChkBox"); - if(chkBox.length>0){ - $(".trChkBox").prop("checked", false); - chkBox[0].checked = !chkBox[0].checked; - } - getSriViewModal(Number($(this).find(".faSriKey").val())); +$(document).on('click', '.faSriTr', function (event){ + const target = event.target; + if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){ + getSriViewModal(Number($(this).find(".faSriKey").val())); + } }) function getSriViewModal(faSriKey){ @@ -145,8 +162,77 @@ $(document).on('click', '#allTab', function (){ location.href = "/sri/sriBoard?activeTab=all"; }) -// +$(document).on('click', '#editFaSriBtn', function (){ + $("#sriViewModal").modal('hide'); + getSriEditModal({faSriKey: Number($(this).attr("data-fasrikey"))}); +}) +function OnInitCompleted(e){ + e.editorTarget.SetBodyValue(document.getElementById("content").value); + +} + +$(document).on('click', '#reSendBtn', function (){ + $("#sriViewModal").modal('hide'); + const faSri = { + refKey: Number($(this).attr("data-fasrikey")), + wrtUserSeq: $("#wrtUserSeq").val(), + wrtOrgan: $("#wrtOrgan").val(), + wrtPart: $("#wrtPart").val(), + wrtTitle: $("#wrtTitle").val(), + wrtUserNm: $("#wrtUserNm").val() + } + getSriEditModal(faSri); +}) + +$(document).on('click', '#saveTempBtn', function (){ + saveSri('DST001') +}) + +$(document).on('click', '#sriDeleteBtn', function (){ + if($('input:checkbox[name=sriChk]:checked').length < 1){ + alert("게시물을 선택해주세요"); + return false; + } + if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ + const checkArr = []; + $('input:checkbox[name=sriChk]:checked').each(function (idx, el){ + checkArr.push({}); + const target = $(el); + checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val()); + }) + deleteSri(checkArr); + + } +}) + +$(document).on('click', '#deleteSri', function (){ + if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ + const checkArr = []; + checkArr.push({}); + checkArr[0].faSriKey = Number($(this).attr("data-fasrikey")); + deleteSri(checkArr); + } +}) + +function deleteSri(checkArr){ + $.ajax({ + type : 'POST', + url : "/sri/sriDelete", + data : JSON.stringify(checkArr), + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function() { + alert("삭제처리 되었습니다."); + location.reload(); + }, + error : function(xhr, status) { + alert("삭제처리에 실패하였습니다"); + } + }) +} $(function(){ $("#dateSelectorDiv").datepicker({ @@ -156,10 +242,6 @@ $(function(){ }); }) -$(document).on('click', '#editFaRptBtn', function (){ - $("#faRptViewModal").modal('hide'); - getFaRptEditModal({faRptKey: Number($(this).attr("data-farptkey"))}); -}) $(document).on('click', '.rowDeleteBtn', function (){ $(this).parents(".readUserRow").remove() @@ -167,22 +249,6 @@ $(document).on('click', '.rowDeleteBtn', function (){ }) -$(document).on('click', '#saveTempBtn', function (){ - saveFaRpt('DST001') -}) - -$(document).on('click', '#reSendBtn', function (){ - $("#faRptViewModal").modal('hide'); - const faRpt = { - refKey: Number($(this).attr("data-farptkey")), - wrtUserSeq: $("#wrtUserSeq").val(), - wrtOrgan: $("#wrtOrgan").val(), - wrtPart: $("#wrtPart").val(), - wrtUserGrd: $("#wrtUserGrd").val(), - wrtUserNm: $("#wrtUserNm").val() - } - getFaRptEditModal(faRpt); -}) function setReadUserRowNum(){ diff --git a/src/main/resources/templates/sri/sriBoard.html b/src/main/resources/templates/sri/sriBoard.html index 1d0ff855..a307ebb4 100644 --- a/src/main/resources/templates/sri/sriBoard.html +++ b/src/main/resources/templates/sri/sriBoard.html @@ -87,12 +87,13 @@ 작성일시 - + - + + @@ -114,12 +115,15 @@ +
-
+
+ +