From 9455c8e8cb804e524726c33100c25e9ffb562b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 8 May 2023 14:41:43 +0900 Subject: [PATCH] =?UTF-8?q?=EC=99=B8=EC=82=AC=EB=B0=A9=EC=B2=A9=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20>=20=EC=99=B8=EC=82=AC=ED=99=9C=EB=8F=99=20>=20?= =?UTF-8?q?=EB=8B=B4=EB=8B=B9=EC=82=AC=EA=B1=B4=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activityCase/ActivityCaseController.java | 18 ++++++++------- .../ActivityCaseInfoRepository.java | 8 +++++++ .../service/ActivityCaseService.java | 12 ++++------ .../mybatisMapper/ActivityCaseMapper.xml | 2 ++ .../js/counterIntelligence/activityCase.js | 23 +++++++++++-------- .../activityCaseSummaryModal.html | 11 ++++++--- .../activityCase/activityCaseViewModal.html | 12 ++++++---- 7 files changed, 54 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java index 2894e30b..1c1a8f00 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/ActivityCaseController.java @@ -86,6 +86,7 @@ public class ActivityCaseController { ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseSummaryModal"); mav.addObject("modalType", activityCase.getModalType()); List activityCaseList = activityCaseService.selectActivityCaseInfoList(activityCase.getReceiptKey()); + mav.addObject("viewUserSeq", loginUser.getUserSeq()); mav.addObject("wrtUserSeq", activityCaseList.get(activityCaseList.size()-1).getWrtUserSeq()); mav.addObject("lastCaseType", activityCaseList.get(activityCaseList.size()-1).getCaseType()); @@ -125,14 +126,15 @@ public class ActivityCaseController { } @PostMapping("/deleteActivityCase") - public Integer deleteActivityCase(@AuthenticationPrincipal UserInfo loginUser, ActivityCase activityCase){ - String accessAuth = authMgtService.selectAccessConfigList - (loginUser.getUserSeq(), "/counterIntelligence/activityCaseList").get(0).getAccessAuth(); - if(accessAuth.equals("ACC003")){ - return activityCaseService.deleteActivityCase(activityCase.getReceiptKey()); - }else{ - return 0; - } + @ResponseBody + public void deleteActivityCase(@AuthenticationPrincipal UserInfo loginUser, @RequestBody ActivityCase activityCase){ + activityCaseService.deleteActivityCase(activityCase.getReceiptKey()); + } + + @PostMapping("/deleteActivityCaseInfo") + @ResponseBody + public void deleteActivityCaseInfo(@AuthenticationPrincipal UserInfo loginUser, @RequestBody ActivityCaseInfo acInfo) { + activityCaseService.deleteActivityCaseInfo(acInfo.getCaseKey()); } @GetMapping("/activityCaseMgt") diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/repository/ActivityCaseInfoRepository.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/repository/ActivityCaseInfoRepository.java index aa8393aa..03cc96e2 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/repository/ActivityCaseInfoRepository.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/repository/ActivityCaseInfoRepository.java @@ -2,8 +2,16 @@ package com.dbnt.faisp.main.counterIntelligence.activityCase.repository; import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseInfo; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; public interface ActivityCaseInfoRepository extends JpaRepository { + @Modifying(clearAutomatically = true) + @Query("update ActivityCaseInfo set status = :status where receiptKey = :receiptKey") + void bulkModifyingByReceiptKeyToStatus(Integer receiptKey, String status); + @Modifying(clearAutomatically = true) + @Query("update ActivityCaseInfo set status = :status where caseKey = :caseKey") + void bulkModifyingByCaseKeyToStatus(Integer caseKey, String status); } diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/service/ActivityCaseService.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/service/ActivityCaseService.java index 12c104ee..576382a2 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/service/ActivityCaseService.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/activityCase/service/ActivityCaseService.java @@ -124,16 +124,12 @@ public class ActivityCaseService extends BaseService { } @Transactional - public Integer deleteActivityCase(Integer receiptKey) { - ActivityCase activityCase = acRepository.findById(receiptKey).orElse(null); - - return receiptKey; + public void deleteActivityCase(Integer receiptKey) { + aciRepository.bulkModifyingByReceiptKeyToStatus(receiptKey, "DST008"); } @Transactional - public Integer deleteActivityCaseInfo(Integer caseKey) { - ActivityCaseInfo activityCaseInfo = aciRepository.findById(caseKey).orElse(null); - - return caseKey; + public void deleteActivityCaseInfo(Integer caseKey) { + aciRepository.bulkModifyingByCaseKeyToStatus(caseKey, "DST008"); } private String makeReceiptNum(int year){ diff --git a/src/main/resources/mybatisMapper/ActivityCaseMapper.xml b/src/main/resources/mybatisMapper/ActivityCaseMapper.xml index b7a11837..dfe1cf8a 100644 --- a/src/main/resources/mybatisMapper/ActivityCaseMapper.xml +++ b/src/main/resources/mybatisMapper/ActivityCaseMapper.xml @@ -6,6 +6,7 @@ + c.status <> 'DST008' and a.receipt_key = #{receiptKey} @@ -172,6 +173,7 @@ group by case_key ) d on b.case_key = d.case_key where a.receipt_key = #{receiptKey} + and b.status <> 'DST008' order by b.wrt_dt asc diff --git a/src/main/resources/static/js/counterIntelligence/activityCase.js b/src/main/resources/static/js/counterIntelligence/activityCase.js index 824b62fe..b2e8654d 100644 --- a/src/main/resources/static/js/counterIntelligence/activityCase.js +++ b/src/main/resources/static/js/counterIntelligence/activityCase.js @@ -75,6 +75,13 @@ $(document).on('click', '#editInfoBtn', function (){ getActivityCaseEditModal(modalBody.find('#receiptKey').val(), modalBody.find('#caseKey').val(), modalBody.find('#caseType').val()) }) +$(document).on('click', '#deleteAllBtn', function (){ + deleteActivityCase("/counterIntelligence/deleteActivityCase", "receiptKey", $(this).attr('data-receiptkey')); +}) +$(document).on('click', '#deleteInfoBtn', function (){ + deleteActivityCase("/counterIntelligence/deleteActivityCaseInfo", "caseKey", $("#caseKey").val()); +}) + $(document).on('click', '.apprvBtn', function (){ const apprvValue = $(this).attr('data-apprvvalue'); if (confirm((apprvValue==="Y"?"승인":"반려")+"하시겠습니까?")){ @@ -257,23 +264,21 @@ function setApprvResult(caseKey, userSeq, instructions, apprvValue){ }) } -function deleteActivityCase(caseKey){ - if(confirm("삭제하시겠습니까?")){ +function deleteActivityCase(url, keyName, keyValue){ + if(confirm("삭제하시겠습니까?\n되돌릴 수 없습니다.")){ contentFade("in"); - const formData = new FormData(); - formData.append('caseKey', caseKey); + const param = {}; + param[keyName] = keyValue; $.ajax({ type : 'POST', - data : formData, - url : "/counterIntelligence/deleteActivityCase", - processData: false, - contentType: false, + data : JSON.stringify(param), + url : url, + contentType: 'application/json', beforeSend: function (xhr){ xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); }, success : function(result) { alert("삭제되었습니다."); - contentFade("out"); location.reload(); }, error : function(xhr, status) { diff --git a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html index b7834feb..8e691c7c 100644 --- a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html +++ b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html @@ -45,8 +45,13 @@ - - + \ No newline at end of file