From c27b6565602ef479b7b19f4159a03deb649d68b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 9 Mar 2023 18:19:42 +0900 Subject: [PATCH] =?UTF-8?q?=EC=99=B8=EC=82=AC=ED=99=9C=EB=8F=99=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EA=B8=B0=EC=A4=80=20=EB=B3=80=EA=B2=BD.?= =?UTF-8?q?=20=EC=97=B4=EB=9E=8C=20=EC=96=91=EC=8B=9D=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?.=20=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1.=20=EA=B2=B0=EC=9E=AC=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activityCase/ActivityCaseController.java | 15 ++- .../service/ActivityCaseService.java | 11 ++ .../mybatisMapper/ActivityCaseMapper.xml | 14 ++- .../js/counterIntelligence/activityCase.js | 92 +++++++------- .../activityCase/activityCaseEditModal.html | 32 ++--- .../activityCaseSummaryModal.html | 6 +- .../activityCase/activityCaseViewModal.html | 118 ++++++++++++++++-- .../activityCase/apprvDiv.html | 2 +- .../activityCase/suspectDiv.html | 12 +- 9 files changed, 219 insertions(+), 83 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 7732e083..d6c40eab 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 @@ -30,9 +30,12 @@ public class ActivityCaseController { mav.addObject("accessAuth", accessAuth); mav.addObject("ogCd", loginUser.getOgCd()); - activityCase.setWrtOrgan(loginUser.getOgCd()); + if(accessAuth.equals("ACC003")){ + activityCase.setWrtOrgan(loginUser.getOgCd()); + activityCase.setDownOrganCdList(loginUser.getDownOrganCdList()); + } + activityCase.setWrtUserSeq(loginUser.getUserSeq()); activityCase.setQueryInfo(); - activityCase.setDownOrganCdList(loginUser.getDownOrganCdList()); mav.addObject("activityCaseList", activityCaseService.selectActivityCaseList(activityCase)); activityCase.setContentCnt(activityCaseService.selectActivityCaseCnt(activityCase)); activityCase.setPaginationInfo(); @@ -81,7 +84,10 @@ public class ActivityCaseController { public ModelAndView activityCaseSummaryModal(@AuthenticationPrincipal UserInfo loginUser, ActivityCaseSummary activityCase){ ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseSummaryModal"); 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()); + mav.addObject("lastStatus", activityCaseList.get(activityCaseList.size()-1).getStatus()); mav.addObject("receiptKey", activityCase.getReceiptKey()); mav.addObject("activityCaseList", activityCaseList); return mav; @@ -110,6 +116,11 @@ public class ActivityCaseController { return activityCaseService.saveActivityCase(activityCase, activityCaseInfo, deleteFileSeq); } + @PostMapping("/saveActivityCaseApprv") + public void saveActivityCaseApprv(@RequestBody ActivityCaseApprv apprv){ + activityCaseService.saveActivityCaseApprv(apprv); + } + @PostMapping("/deleteActivityCase") public Integer deleteActivityCase(@AuthenticationPrincipal UserInfo loginUser, ActivityCase activityCase){ String accessAuth = authMgtService.selectAccessConfigList 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 91a48e04..e9c1b3a3 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 @@ -149,4 +149,15 @@ public class ActivityCaseService extends BaseService { public List selectActivityCaseInfoList(Integer receiptKey) { return acMapper.selectActivityCaseInfoList(receiptKey); } + + @Transactional + public void saveActivityCaseApprv(ActivityCaseApprv apprv) { + ActivityCaseApprv savedApprv = acaRepository.findById(new ActivityCaseApprv.ActivityCaseApprvId(apprv.getCaseKey(), apprv.getUserSeq())).orElse(null); + if(savedApprv!=null){ + savedApprv.setInstructions(apprv.getInstructions()); + savedApprv.setApprvYn(apprv.getApprvYn()); + savedApprv.setApprvDt(LocalDateTime.now()); + acaRepository.save(savedApprv); + } + } } diff --git a/src/main/resources/mybatisMapper/ActivityCaseMapper.xml b/src/main/resources/mybatisMapper/ActivityCaseMapper.xml index 5421f71e..c56f881b 100644 --- a/src/main/resources/mybatisMapper/ActivityCaseMapper.xml +++ b/src/main/resources/mybatisMapper/ActivityCaseMapper.xml @@ -6,6 +6,14 @@ + + and (a.wrt_user_seq = #{wrtUserSeq} + or a.receipt_key in (select a.receipt_key + from activity_case_info a + inner join activity_case_apprv b + on a.case_key = b.case_key + where b.user_seq = #{wrtUserSeq})) + and a.receipt_key = #{receiptKey} @@ -15,9 +23,6 @@ and a.wrt_user_nm like '%'||#{wrtUserNm}||'%' - - and a.wrt_organ = #{wrtOrgan} - and c.report_date >= #{startDate}::date @@ -34,6 +39,9 @@ and c.wrt_dt <= #{endDate}::date+1 + + and a.wrt_organ = #{wrtOrgan} + and a.wrt_organ in diff --git a/src/main/resources/static/js/counterIntelligence/activityCase.js b/src/main/resources/static/js/counterIntelligence/activityCase.js index b7675f4d..3804fb43 100644 --- a/src/main/resources/static/js/counterIntelligence/activityCase.js +++ b/src/main/resources/static/js/counterIntelligence/activityCase.js @@ -40,7 +40,11 @@ $(document).on('click', '.saveBtn', function(){ $(document).on('click', '.addInfoBtn', function (){ const target = $(this); - getActivityCaseEditModal(target.attr('data-receiptkey'), null, target.attr('data-casetype')) + if(target.attr('data-laststatus')==="DST001"){ + alert('임시저장 문서 작성을 마쳐주세요.') + }else{ + getActivityCaseEditModal(target.attr('data-receiptkey'), null, target.attr('data-casetype')) + } }) $(document).on('click', '.activityCaseTr', function (){ @@ -51,6 +55,18 @@ $(document).on('click', '.summaryTr', function (){ getActivityCaseViewModal($(this).find(".receiptKey").val(), $(this).find(".caseKey").val()); }) +$(document).on('click', '#editInfoBtn', function (){ + const modalBody = $("#activityCaseViewModalBody"); + getActivityCaseEditModal(modalBody.find('#receiptKey').val(), modalBody.find('#caseKey').val(), modalBody.find('#caseType').val()) +}) + +$(document).on('click', '.apprvBtn', function (){ + const apprvValue = $(this).attr('data-apprvvalue'); + if (confirm((apprvValue==="Y"?"승인":"반려")+"하시겠습니까?")){ + const apprvRow = $(this).parents(".apprvRow"); + setApprvResult($("#activityCaseViewModalBody").find("#caseKey").val(), apprvRow.find(".apprvUserSeq").val(), apprvRow.find(".instructions").val(), apprvValue); + } +}) function getActivityCaseEditModal(receiptKey, caseKey, caseType){ $.ajax({ url: '/counterIntelligence/activityCaseEditModal', @@ -204,6 +220,27 @@ function saveActivityCase(status){ } } +function setApprvResult(caseKey, userSeq, instructions, apprvValue){ + $.ajax({ + type : 'POST', + data : JSON.stringify({caseKey: caseKey, userSeq: userSeq, instructions: instructions, apprvYn: apprvValue}), + url : "/counterIntelligence/saveActivityCaseApprv", + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(result) { + alert((apprvValue==="Y"?'승인':'반려')+"되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("실패하였습니다.") + contentFade("out"); + } + }) +} + function deleteActivityCase(caseKey){ if(confirm("삭제하시겠습니까?")){ contentFade("in"); @@ -252,50 +289,15 @@ function contentCheck(){ }else{ } - switch ($("#caseType").val()) { - case "ACT001": - if(!$("#caseProgress").val()){ - alert("외사활동 사항을 입력해주세요.") - return false; - } - if(!$("#description").val()){ - alert("외사활동이 필요한 이유를 입력해주세요.") - return false; - } - break; - case "ACT002": - if(!$("#caseProgress").val()){ - alert("외사활동 사항을 입력해주세요.") - return false; - } - if(!$("#description").val()){ - alert("조치 및 건의를 입력해주세요.") - return false; - } - break; - case "ACT003": - if(!$("#allegations").val()){ - alert("혐의요지를 입력해주세요.") - return false; - } - if(!$("#applicableLaw").val()){ - alert("적용법조를 입력해주세요.") - return false; - } - if(!$("#caseProgress").val()){ - alert("내사진행상황을 입력해주세요.") - return false; - } - if(!$("#description").val()){ - alert("조치 및 건의를 입력해주세요.") - return false; - } - if(!$("#activityResult").val()){ - alert("결과를 선택해주세요.") - return false; - } - break; - + if(!CrossEditor.GetTextValue()){ + alert("외사활동사항을 입력해주세요.") + return false; + } + if($("#caseType").val() === "ACT003"){ + if(!$("#activityResult").val()){ + alert("결과를 선택해주세요.") + return false; + } } return true; } diff --git a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseEditModal.html b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseEditModal.html index 12dd0acc..9c3c327d 100644 --- a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseEditModal.html +++ b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseEditModal.html @@ -56,29 +56,29 @@
-
+
- -
-
- +
-
+
+
+ +
+ +
+
+
@@ -173,9 +177,9 @@
-
diff --git a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html index 8215511d..f0d9dbaa 100644 --- a/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html +++ b/src/main/resources/templates/counterIntelligence/activityCase/activityCaseSummaryModal.html @@ -44,7 +44,7 @@ - +
- + + + + + + +

+
+ +
+ + + + + + + + +
+
+ + + + + + +
+
+ + +
+
+ + +
+
+
+
+
+
+
- + +
+
+ + + + + +
+ +
+ + + + +
+ +
+
+ + +
+ +
+ + + + + +
+
+
-
-
@@ -83,8 +180,7 @@
- diff --git a/src/main/resources/templates/counterIntelligence/activityCase/suspectDiv.html b/src/main/resources/templates/counterIntelligence/activityCase/suspectDiv.html index 8f6f1340..1bb6ff62 100644 --- a/src/main/resources/templates/counterIntelligence/activityCase/suspectDiv.html +++ b/src/main/resources/templates/counterIntelligence/activityCase/suspectDiv.html @@ -38,10 +38,6 @@
- -
- -
@@ -52,6 +48,14 @@
+
+
+ +
+ +
+
+