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 8bb86a10..a5f9a48e 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -273,6 +273,7 @@ public class Excl01Controller extends ApplicationController { boolean saved = false; String rtnMsg = ""; + // 부과제외(levyExclId) 단건 삭제 if (levyExcl.getLevyExclIds() == null || levyExcl.getLevyExclIds().length < 1) { rtnMsg = levyExclService.removeLevyExcl(levyExcl); } else { @@ -282,7 +283,7 @@ public class Excl01Controller extends ApplicationController { deltLevyExcl.setLevyExclId(levyExclId); deltLevyExcl.setDelRsn(levyExcl.getDelRsn()); - // 공시송달 삭제 호출 + // 부과제외 삭제 호출 rtnMsg = levyExclService.removeLevyExcl(deltLevyExcl); if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. break; diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index fcc57863..0c1e7e89 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -31,7 +31,6 @@ import cokr.xit.fims.cmmn.hwp.format.DlbrDecsnList; import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.cmmn.xls.FormatMaker; import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.OpnnDlbrMbr; import cokr.xit.fims.excl.OpnnSbmsn; 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 9cbef0ad..865b08e1 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 @@ -848,10 +848,23 @@ public class SndngBean extends AbstractBean { * */ public String removeSndng(Sndng sndng) { + // 변수 선언 + int rtnNocs = -1; + + // 발송 상세(TB_SNDNG_DTL) + SndngDtl sndngDtl = new SndngDtl(); + sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID + + // 발송 상세(TB_SNDNG_DTL) 대장을 삭제한다. + rtnNocs = sndngDtlMapper.deleteSndngDtl(sndngDtl); + if (rtnNocs < 1) { + throw new RuntimeException("발송상세 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + // 발송(TB_SNDNG) 대장을 삭제한다. - int rtnNocs = sndngMapper.deleteSndng(sndng); + rtnNocs = sndngMapper.deleteSndng(sndng); if (rtnNocs != 1) { - throw new RuntimeException("발송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("발송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } return "[S] 작업이 정상 처리 되었습니다."; @@ -870,10 +883,10 @@ public class SndngBean extends AbstractBean { int rtnNocs = -1; // 처리 결과 건수 String rtnMsg = "[F] "; // 처리 결과 메시지 - String ctpvCode = ""; // 시도 코드 - String sealCd3 = ""; // 내용문 상세 종류 3번째(마지막) 자리 + String ctpvCode = ""; // 시도 코드 + String sealCd3 = ""; // 내용문 상세 종류 3번째(마지막) 자리 String jobCd = ""; - String conKey = ""; // 외부연계식별키 + String conKey = ""; // 외부연계식별키 // 1. 발송 대장 조회 DataObject sndngInfo = sndngMapper.selectSndngInfo(new SndbQuery().setSndngId(sndng.getSndngId())); 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 d1b61116..ae829c07 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -1016,19 +1016,21 @@ public class Sndb01Controller extends ApplicationController { 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]); + // 발송(sndngId) 단건 삭제 + if (sndng.getSndngIds() == null || sndng.getSndngIds().length < 1) { + rtnMsg = sndngService.removeSndng(sndng); + } else { + // 발송 Ids 만큼 삭제 반복.. + for (String sndngId : sndng.getSndngIds()) { + Sndng deltSndng = new Sndng(); + deltSndng.setSndngId(sndngId); + deltSndng.setDelRsn(sndng.getDelRsn()); // 발송 삭제 호출 - rtnMsg = sndngService.removeSndng(sndng); + rtnMsg = sndngService.removeSndng(deltSndng); if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. break; } - } else { - rtnMsg = sndngService.removeSndng(sndng); } if (rtnMsg.contains("[S]")) { diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml index 1ebf9104..9255c392 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml @@ -621,7 +621,18 @@ , DEL_DT = , DLTR = #{modifiedBy} , DEL_RSN = #{delRsn} + + + WHERE SNDNG_ID = #{sndngId} + + + WHERE SNDNG_DTL_ID IN + ( #{sndngDtlId} ) + + WHERE SNDNG_DTL_ID = #{sndngDtlId} + + AND DEL_YN = 'N' diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp index 5dd3d361..9dc9b16b 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp @@ -445,9 +445,9 @@ let params = {}; let selected = $P.control.dataset.getKeys("selected"); - params[$P.control.prefixed("Ids")] = selected.join(","); // IDs params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드 + params.sndngIds = selected.join(","); // 발송 Ids params.delRsn = obj.reason; // 삭제 사유 $P.control.remove(params); 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 082e4cd0..eb771dbe 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 @@ -480,9 +480,9 @@ let params = {}; let selected = $P.control.dataset.getKeys("selected"); - params[$P.control.prefixed("Ids")] = selected.join(","); // IDs params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드 + params.sndngIds = selected.join(","); // 발송 Ids params.delRsn = obj.reason; // 삭제 사유 $P.control.remove(params); @@ -576,7 +576,7 @@ $P.getNhtSndngInfo(params); } - // 삭제 버튼 이벤트 + // 발송 삭제 버튼 이벤트 $P.fnRemove = (title) => { // 선택 자료 let selected = $P.control.dataset.getKeys("selected");