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");