From 599de65262636eb666ab8ad19d474649dec86e78 Mon Sep 17 00:00:00 2001 From: jjh Date: Tue, 14 May 2024 16:40:58 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=A0=EC=A7=80=EC=84=9C=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=20=EC=82=AD=EC=A0=9C=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/excl/web/Excl01Controller.java | 2 +- src/main/java/cokr/xit/fims/sndb/Sndng.java | 5 +++ .../xit/fims/sndb/service/SndngService.java | 2 +- .../xit/fims/sndb/service/bean/SndngBean.java | 16 +++++++- .../sndb/service/bean/SndngServiceBean.java | 2 +- .../xit/fims/sndb/web/Sndb01Controller.java | 41 +++++++++++++++++++ .../WEB-INF/jsp/fims/sndb/sndb01110-main.jsp | 6 +++ 7 files changed, 69 insertions(+), 5 deletions(-) diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java index 7427081a..f893e72d 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -48,10 +48,10 @@ public class Excl01Controller extends ApplicationController { public static final String levyExclusionMain = "/010/main.do" // 부과 제외 관리 메인 화면 , getLevyExclusionList = "/010/list.do" // 부과 제외 대장 목록 조회 + , removeLevyExclusion = "/010/remove.do" // 부과 제외 대장 삭제 , getLevyExclusionInfo = "/020/info.do" // 부과 제외 대장 조회 , createLevyExclusion = "/020/create.do" // 부과 제외 대장 등록 , updateLevyExclusion = "/020/update.do" // 부과 제외 대장 수정 - , removeLevyExclusion = "/010/remove.do" // 부과 제외 대장 삭제 ; } diff --git a/src/main/java/cokr/xit/fims/sndb/Sndng.java b/src/main/java/cokr/xit/fims/sndb/Sndng.java index 0124de00..b5e0bcff 100644 --- a/src/main/java/cokr/xit/fims/sndb/Sndng.java +++ b/src/main/java/cokr/xit/fims/sndb/Sndng.java @@ -132,6 +132,11 @@ public class Sndng extends AbstractEntity { */ private String delRsn; + /** + * 발송 IDs + */ + private String[] sndngIds; + /** * 단속 IDs */ diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngService.java index 8a0f9ee7..f315e82c 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java +++ b/src/main/java/cokr/xit/fims/sndb/service/SndngService.java @@ -145,7 +145,7 @@ public interface SndngService { *
  • 그렇지 않으면 false
  • * */ - boolean removeSndng(Sndng sndng); + String removeSndng(Sndng sndng); diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java index b2e23dc1..ee1233ee 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java @@ -860,8 +860,20 @@ public class SndngBean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean removeSndng(Sndng sndng) { - return sndngMapper.delete(sndng); + public String removeSndng(Sndng sndng) { + // 변수 선언 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 + + // 발송(TB_SNDNG) 대장을 삭제 한다. + rtnScs = sndngMapper.delete(sndng); + if (!rtnScs) { + throw new RuntimeException("발송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; + + return rtnMsg; } /**발송 대장 정보의 발송 상태 코드를 수정한다. diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java index 363aed7c..c9c696a0 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java @@ -119,7 +119,7 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic } @Override - public boolean removeSndng(Sndng sndng) { + public String removeSndng(Sndng sndng) { return sndngBean.removeSndng(sndng); } diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index 9be40ce2..74681558 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -98,6 +98,7 @@ public class Sndb01Controller extends ApplicationController { , createNoticeSheetSendingList = "/100/createList.do" // 고지서 발송 대상 목록의 발송 등록 , noticeSheetSendingMain = "/110/main.do" // 고지서 발송 현황 메인 화면 , getNoticeSheetSendingList = "/110/list.do" // 고지서 발송 현황 상세 목록 조회 + , removeNoticeSheetSending = "/110/remove.do" // 고지서 발송 현황 삭제 , getNoticeSheetSendingDetailInfo = "/120/info.do" // 고지서 발송 현황 화면 , getNoticeSheetSendingDetailList = "/120/list.do" // 고지서 발송 현황 상세 목록 조회 @@ -1069,6 +1070,46 @@ public class Sndb01Controller extends ApplicationController { } } + /**지정한 부과제외 ID에 해당하는 부과제외 대장를 제거한다. + * @param levyExclID 부과제외 대장 아이디 + * @return jsonView + *
     {
    +	 *     "affected": 저장된 정보수
    +	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    +	 * }
    + */ + @Task + @RequestMapping(name="발송 대장 삭제", value=METHOD_URL.removeNoticeSheetSending) + public ModelAndView removeNoticeSheetSending(Sndng sndng) { + boolean saved = false; + String rtnMsg = ""; + + if (sndng.getSndngIds().length > 0) { // 발송 IDs + // 부과제외 IDs 만큼 반복.. + for (int iLoop = 0; iLoop < sndng.getSndngIds().length; iLoop++) { + // 부과제외 ID 설정 + sndng.setSndngId(sndng.getSndngIds()[iLoop]); + + // 발송 삭제 호출 + rtnMsg = sndngService.removeSndng(sndng); + if (rtnMsg.contains("[F]")) // 오류가 발생하였으면 종료.. + break; + } + } else { + rtnMsg = sndngService.removeSndng(sndng); + } + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + /**고지서 발송 현황 - 발송상세 화면(sndb/sndb01/120-info)을 연다. * @param sndngId 발송 ID * @return fims/sndb/sndb01120-info 또는 jsonView diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp index 83efea07..d8502341 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp @@ -465,8 +465,14 @@ // 삭제 사유 callback $P.callbackRsn = (obj) => { + // 선택 자료 + let selected = $P.control.dataset.getKeys("selected"); + + if (selected.length < 1) return; + // 서버에 전송할 data(파라미터) 생성 let params = {}; + params.sndngIds = selected.join(","); // Ids params.delRsn = obj.reason; // 삭제 사유