|
|
|
@ -124,146 +124,194 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
return sndngMapper.selectWrngTrgts(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**계도장 발송 대상을 조회하여 발송 대장에 등록한다.
|
|
|
|
|
* @param req 계도장 발송 대상 조회, sndng 발송 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createWrngSndngList(SndbQuery req, Sndng sndng) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
int rtnNocs = -1; // 처리 결과 건수
|
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 단속 Ids로 계도장 발송 대상 정보 조회
|
|
|
|
|
List<DataObject> trgtList = sndngMapper.selectWrngTrgtCrdnIds(req);
|
|
|
|
|
|
|
|
|
|
// 조회 건수 확인
|
|
|
|
|
if (trgtList == null || trgtList.size() < 1) {
|
|
|
|
|
rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다.";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getTnocs() != trgtList.size()) {
|
|
|
|
|
rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다.";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 사용자 정보를 조회한다.
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
/**계도장 발송 상세 정보를 등록한다.
|
|
|
|
|
* @param sndngDtl 발송 상세
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createWrngSndngDtl(Sndng sndng, String crdnId) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // 처리 결과 여부
|
|
|
|
|
int rtnNocs = -1; // 처리 결과 건수
|
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 단속, 납부자 대장을 조회 한다.
|
|
|
|
|
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
|
|
|
|
|
|
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
|
rtnMsg = "[F] 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다."
|
|
|
|
|
+ "<p>" + "단속 ID : " + crdnId + "</p>";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
|
|
|
|
|
rtnMsg = "[F] 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다."
|
|
|
|
|
+ "<p>" + "단속ID : " + crdnId
|
|
|
|
|
+ "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
|
+ "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
|
+ "</p>";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송(TB_SNDNG) 대장에 등록한다.
|
|
|
|
|
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
|
|
|
|
|
sndng.setVltnId(trgtList.get(0).string("VLTN_ID")); // 위반 ID
|
|
|
|
|
sndng.setSndngEndYmd(null); // 발송 종료 일자
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL)
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
sndngDtl.setSggCd(sndng.getSggCd()); // 시군구 코드
|
|
|
|
|
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
|
|
|
|
|
sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드
|
|
|
|
|
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
|
|
|
|
|
sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자
|
|
|
|
|
sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명
|
|
|
|
|
sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일
|
|
|
|
|
sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소
|
|
|
|
|
sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소
|
|
|
|
|
sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
|
|
|
|
|
sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
|
|
|
|
|
sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호
|
|
|
|
|
sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
|
|
|
|
|
sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
|
|
|
|
|
sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue());// 과태료 금액
|
|
|
|
|
sndngDtl.setPcptax(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue()); // 본세
|
|
|
|
|
sndngDtl.setAdamt(0); // 가산금
|
|
|
|
|
sndngDtl.setSumAmt(0); // 합계 금액
|
|
|
|
|
sndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
|
sndngDtl.setDelYn("N"); // 삭제 여부
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장을 등록한다.
|
|
|
|
|
rtnNocs = sndngDtlMapper.insertSndngDtl(sndngDtl);
|
|
|
|
|
if (rtnNocs != 1) {
|
|
|
|
|
throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sndng.getSndngRegSeCd() == null) {
|
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getRsndYn() == null) {
|
|
|
|
|
sndng.setRsndYn("N"); // 재발송 여부
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getDelYn() == null) {
|
|
|
|
|
sndng.setDelYn("N"); // 삭제 여부
|
|
|
|
|
}
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
|
// 단속 상태 코드를 수정한다.
|
|
|
|
|
if (crdnPayerInfo.string("CRDN_STTS_CD").equals("83")) {
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID"));
|
|
|
|
|
crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD"));
|
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT"));
|
|
|
|
|
crdnSttsHstry.setCrdnSttsCd("84");
|
|
|
|
|
crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId());
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송상세 등록 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송(TB_SNDNG) 대장을 등록한다.
|
|
|
|
|
rtnNocs = sndngMapper.insertSndng(sndng);
|
|
|
|
|
if (rtnNocs != 1) {
|
|
|
|
|
throw new RuntimeException("계도장 발송 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**계도장 발송 대상을 조회하여 발송 대장에 등록한다.
|
|
|
|
|
* @param req 계도장 발송 대상 조회, sndng 발송 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createWrngSndngList(SndbQuery req, Sndng sndng) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
int rtnNocs = -1; // 처리 결과 건수
|
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 단속 IDs로 계도장 발송 대상 정보 조회
|
|
|
|
|
List<DataObject> trgtList = sndngMapper.selectWrngTrgtCrdnIds(req);
|
|
|
|
|
|
|
|
|
|
// 조회 건수 확인
|
|
|
|
|
if (trgtList == null || trgtList.size() < 1) {
|
|
|
|
|
rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다.";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getTnocs() != trgtList.size()) {
|
|
|
|
|
rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다.";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세 대장을 등록한다.
|
|
|
|
|
for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) {
|
|
|
|
|
rtnMsg = createWrngSndngDtl(sndng, trgtList.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료..
|
|
|
|
|
throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 사용자 정보를 조회한다.
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
// 발송(TB_SNDNG) 대장에 등록한다.
|
|
|
|
|
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
|
|
|
|
|
sndng.setVltnId(trgtList.get(0).string("VLTN_ID")); // 위반 ID
|
|
|
|
|
sndng.setSndngEndYmd(null); // 발송 종료 일자
|
|
|
|
|
|
|
|
|
|
/**계도장 발송 상세 정보를 등록한다.
|
|
|
|
|
* @param sndngDtl 발송 상세
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createWrngSndngDtl(Sndng sndng, String crdnId) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // 처리 결과 여부
|
|
|
|
|
int rtnNocs = -1; // 처리 결과 건수
|
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
if (sndng.getSndngRegSeCd() == null) {
|
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getRsndYn() == null) {
|
|
|
|
|
sndng.setRsndYn("N"); // 재발송 여부
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getDelYn() == null) {
|
|
|
|
|
sndng.setDelYn("N"); // 삭제 여부
|
|
|
|
|
}
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
|
|
|
|
|
|
// 단속, 납부자 대장을 조회 한다.
|
|
|
|
|
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
|
|
|
|
|
// 발송(TB_SNDNG) 대장을 등록한다.
|
|
|
|
|
rtnNocs = sndngMapper.insertSndng(sndng);
|
|
|
|
|
if (rtnNocs != 1) {
|
|
|
|
|
throw new RuntimeException("계도장 발송 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
|
rtnMsg = "[F] 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다."
|
|
|
|
|
+ "<p>" + "단속 ID : " + crdnId + "</p>";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
|
|
|
|
|
rtnMsg = "[F] 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다."
|
|
|
|
|
+ "<p>" + "단속ID : " + crdnId
|
|
|
|
|
+ "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
|
+ "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
|
+ "</p>";
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장을 등록한다.
|
|
|
|
|
for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) {
|
|
|
|
|
rtnMsg = createWrngSndngDtl(sndng, trgtList.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료..
|
|
|
|
|
throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL)
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
sndngDtl.setSggCd(sndng.getSggCd()); // 시군구 코드
|
|
|
|
|
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
|
|
|
|
|
sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드
|
|
|
|
|
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
|
|
|
|
|
sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자
|
|
|
|
|
sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명
|
|
|
|
|
sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일
|
|
|
|
|
sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소
|
|
|
|
|
sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소
|
|
|
|
|
sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
|
|
|
|
|
sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
|
|
|
|
|
sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호
|
|
|
|
|
sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
|
|
|
|
|
sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
|
|
|
|
|
sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue());// 과태료 금액
|
|
|
|
|
sndngDtl.setPcptax(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue()); // 본세
|
|
|
|
|
sndngDtl.setAdamt(0); // 가산금
|
|
|
|
|
sndngDtl.setSumAmt(0); // 합계 금액
|
|
|
|
|
sndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
|
sndngDtl.setDelYn("N"); // 삭제 여부
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**계도장 발송 대장 정보를 삭제한다.
|
|
|
|
|
* @param sndng 발송 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String removeWrngSndng(Sndng sndng) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // 처리 결과 여부
|
|
|
|
|
String rtnMsg = ""; // 처리 메세지
|
|
|
|
|
|
|
|
|
|
// 발송 상세 대장 조회
|
|
|
|
|
SndbQuery req = new SndbQuery();
|
|
|
|
|
req.setSndngId(sndng.getSndngId());
|
|
|
|
|
req.setDelYn("N");
|
|
|
|
|
|
|
|
|
|
List<DataObject> sndngDtlList = sndngDtlMapper.selectSndngDtls(req);
|
|
|
|
|
|
|
|
|
|
// 발송 상세 상태 코드 검증 - 00(처리전)
|
|
|
|
|
for (DataObject info : sndngDtlList) {
|
|
|
|
|
if (!info.string("SNDNG_DTL_STTS_CD").equals("00")) {
|
|
|
|
|
throw new RuntimeException("[F] 발송 상세 자료중 상태코드가 '처리전'이 아닌 자료가 있습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장을 등록한다.
|
|
|
|
|
rtnNocs = sndngDtlMapper.insertSndngDtl(sndngDtl);
|
|
|
|
|
if (rtnNocs != 1) {
|
|
|
|
|
throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
crdnSttsHstry.setCrdnId(info.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(info.string("CRDN_STTS_CD")); // 단속 상태 코드
|
|
|
|
|
crdnSttsHstry.setEtcCn("계고장 발송 현황 메뉴에서 발송 삭제 처리"); // 기타 내용
|
|
|
|
|
crdnSttsHstry.setUseYn("N");
|
|
|
|
|
|
|
|
|
|
// 단속 상태 코드를 수정한다.
|
|
|
|
|
if (crdnPayerInfo.string("CRDN_STTS_CD").equals("83")) {
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID"));
|
|
|
|
|
crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD"));
|
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT"));
|
|
|
|
|
crdnSttsHstry.setCrdnSttsCd("84");
|
|
|
|
|
crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId());
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장의 사용 여부를 "N"으로 처리하고, 단속(TB_CRDN) 대장의 단속 상태 코드를 수정한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("[F] 발송상세 삭제 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송상세 등록 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 발송(TB_SNDNG), 발송 상세(TB_SNDNG_DTL) 대장을 삭제한다.
|
|
|
|
|
rtnMsg = removeSndng(sndng);
|
|
|
|
|
// 메시지 확인
|
|
|
|
|
if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료..
|
|
|
|
|
throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 사전통지 발송 대상 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 발송 대장 조회 조건
|
|
|
|
@ -870,9 +918,10 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
int rtnNocs = -1;
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL)
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL)
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
|
|
|
|
|
sndngDtl.setDelRsn(sndng.getDelRsn()); // 삭제 사유
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장을 삭제한다.
|
|
|
|
|
rtnNocs = sndngDtlMapper.deleteSndngDtl(sndngDtl);
|
|
|
|
|