|
|
|
@ -25,10 +25,8 @@ import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper;
|
|
|
|
|
import cokr.xit.fims.sndb.SndbQuery;
|
|
|
|
|
import cokr.xit.fims.sndb.Sndng;
|
|
|
|
|
import cokr.xit.fims.sndb.SndngDtl;
|
|
|
|
|
import cokr.xit.fims.sndb.Svbtc;
|
|
|
|
|
import cokr.xit.fims.sndb.dao.SndngDtlMapper;
|
|
|
|
|
import cokr.xit.fims.sndb.dao.SndngMapper;
|
|
|
|
|
import cokr.xit.fims.sndb.dao.SvbtcMapper;
|
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
|
|
|
|
|
@ -53,10 +51,6 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
@Resource(name = "sndngDtlMapper")
|
|
|
|
|
private SndngDtlMapper sndngDtlMapper;
|
|
|
|
|
|
|
|
|
|
/** 공시송달 대장 정보 DAO */
|
|
|
|
|
@Resource(name = "svbtcMapper")
|
|
|
|
|
private SvbtcMapper svbtcMapper;
|
|
|
|
|
|
|
|
|
|
/** 세외수입 매칭 내역 정보 DAO */
|
|
|
|
|
@Resource(name = "nxrpMtchgMapper")
|
|
|
|
|
private NxrpMtchgMapper nxrpMtchgMapper;
|
|
|
|
@ -180,7 +174,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
List<DataObject> wrngTrgtList = sndngMapper.selectWrngTrgtCrdnIDs(req);;
|
|
|
|
|
List<DataObject> wrngTrgtList = sndngMapper.selectWrngTrgtCrdnIDs(req);
|
|
|
|
|
|
|
|
|
|
// 조회 건수 확인
|
|
|
|
|
if (wrngTrgtList == null || wrngTrgtList.size() < 1) {
|
|
|
|
@ -624,242 +618,6 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 반송 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 발송 대장 조회 조건
|
|
|
|
|
* @return 반송 목록
|
|
|
|
|
*/
|
|
|
|
|
public List<DataObject> getSndbkList(SndbQuery req) {
|
|
|
|
|
return sndngMapper.selectSndbkList(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 대장 정보를 등록한다.
|
|
|
|
|
* @param sndng 발송 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createSndng(Sndng sndng) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
String newCrdnSttsCd = ""; // 단속 상태 코드
|
|
|
|
|
int ffnlgAmt = 0; // 과태료 금액
|
|
|
|
|
int pcptax = 0; // 본세
|
|
|
|
|
int adamt = 0; // 가산금
|
|
|
|
|
int sumAmt = 0; // 합계 금액
|
|
|
|
|
|
|
|
|
|
// 사용자 정보
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
|
|
|
|
|
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
|
|
|
|
|
|
|
|
|
|
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장
|
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
|
sndng.setSndngEndYmd(null); // 발송 종료 일자
|
|
|
|
|
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지
|
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
|
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
|
|
|
|
|
} else {
|
|
|
|
|
newCrdnSttsCd = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sndng.getTnocs() == 1) {
|
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
|
} else {
|
|
|
|
|
sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sndng.getResndYN() == null) {
|
|
|
|
|
sndng.setResndYN("N"); // 재발송 여부
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sndng.getDelYN() == null) {
|
|
|
|
|
sndng.setDelYN("N"); // 삭제 여부
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
|
|
|
|
|
|
// 발송 등록
|
|
|
|
|
rtnScs = sndngMapper.insert(sndng);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int iLoop = 0; iLoop < sndng.getCrdnIDs().length; iLoop++) {
|
|
|
|
|
// 단속, 납부자 정보 조회
|
|
|
|
|
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(sndng.getCrdnIDs()[iLoop]);
|
|
|
|
|
|
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
|
throw new RuntimeException("발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." + "<p>단속ID : " + sndng.getCrdnIDs()[iLoop]); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
|
|
|
|
|
throw new RuntimeException("발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "<p>차량번호 : " + crdnPayerInfo.string("VHRNO")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장
|
|
|
|
|
ffnlgAmt = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액
|
|
|
|
|
pcptax = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액
|
|
|
|
|
adamt = 0;
|
|
|
|
|
sumAmt = 0;
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지
|
|
|
|
|
// 부과 ID가 없다면 부과대장 등록
|
|
|
|
|
if (crdnPayerInfo.string("LEVY_ID").equals("")) {
|
|
|
|
|
Levy levy = new Levy();
|
|
|
|
|
|
|
|
|
|
levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
|
|
|
|
|
levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자
|
|
|
|
|
levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
|
|
|
|
|
|
|
|
|
|
rtnMsg = levyBean.createRductLevy(levy);
|
|
|
|
|
if (rtnMsg.contains("[F]")) {
|
|
|
|
|
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속, 납부자 정보 재조회 /////////////////////////////////////////
|
|
|
|
|
crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(sndng.getCrdnIDs()[iLoop]);
|
|
|
|
|
} else {
|
|
|
|
|
if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) {
|
|
|
|
|
// 부과일자, 최초납기일자, 납기일자를 변경한다.
|
|
|
|
|
Levy levy = new Levy();
|
|
|
|
|
|
|
|
|
|
levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID
|
|
|
|
|
levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
|
|
|
|
|
levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자
|
|
|
|
|
levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
|
|
|
|
|
levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
|
|
|
|
|
levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액
|
|
|
|
|
levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
|
|
|
|
|
|
|
|
|
|
rtnMsg = levyBean.updateRductLevyYmd(levy);
|
|
|
|
|
if (rtnMsg.contains("[F]")) {
|
|
|
|
|
throw new RuntimeException("발송 상세 등록 작업중 부과대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
|
pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과 본세
|
|
|
|
|
adamt = 0; // 부과 가산금
|
|
|
|
|
sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 부과 합계 금액
|
|
|
|
|
} else {
|
|
|
|
|
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
|
pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과본세 - 수납본세 - 감액본세
|
|
|
|
|
adamt = crdnPayerInfo.number("ADAMT").intValue(); // 부과가산금 - 수납가산금 - 감액가산금
|
|
|
|
|
sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 합계 금액
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장에 등록한다.
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
|
|
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.setRtpyrNm(crdnPayerInfo.string("RTPYR_NM")); // 납부자 명
|
|
|
|
|
sndngDtl.setRtpyrBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 납부자 생년월일
|
|
|
|
|
sndngDtl.setRtpyrAddr(crdnPayerInfo.string("ADDR")); // 납부자 주소
|
|
|
|
|
sndngDtl.setRtpyrDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 납부자 상세 주소
|
|
|
|
|
sndngDtl.setRtpyrZip(crdnPayerInfo.string("ZIP")); // 납부자 우편번호
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
|
|
|
|
|
sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호
|
|
|
|
|
sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
|
|
|
|
|
sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
|
|
|
|
|
sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
|
|
|
|
|
sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도
|
|
|
|
|
sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호
|
|
|
|
|
sndngDtl.setLevyYmd(crdnPayerInfo.string("LEVY_YMD")); // 부과 일자
|
|
|
|
|
sndngDtl.setDudtYmd(crdnPayerInfo.string("DUDT_YMD")); // 납기 일자
|
|
|
|
|
sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액
|
|
|
|
|
sndngDtl.setPcptax(pcptax); // 본세
|
|
|
|
|
sndngDtl.setAdamt(adamt); // 가산금
|
|
|
|
|
sndngDtl.setSumAmt(sumAmt); // 합계 금액
|
|
|
|
|
sndngDtl.setDudtAftrAmt(crdnPayerInfo.number("DUDT_AFTR_AMT").intValue()); // 납기 후 금액
|
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호
|
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호
|
|
|
|
|
sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명
|
|
|
|
|
sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호
|
|
|
|
|
sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2
|
|
|
|
|
sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2
|
|
|
|
|
sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3
|
|
|
|
|
sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3
|
|
|
|
|
sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4
|
|
|
|
|
sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4
|
|
|
|
|
sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5
|
|
|
|
|
sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5
|
|
|
|
|
sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6
|
|
|
|
|
sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6
|
|
|
|
|
sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7
|
|
|
|
|
sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7
|
|
|
|
|
sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8
|
|
|
|
|
sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8
|
|
|
|
|
sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9
|
|
|
|
|
sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9
|
|
|
|
|
sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10
|
|
|
|
|
sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10
|
|
|
|
|
sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11
|
|
|
|
|
sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11
|
|
|
|
|
sndngDtl.setDelYN("N"); // 삭제 여부
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속 상태 코드를 수정한다.
|
|
|
|
|
if (!newCrdnSttsCd.equals("")) {
|
|
|
|
|
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(newCrdnSttsCd);
|
|
|
|
|
crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId());
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송 상세 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 대장 정보를 등록한다.
|
|
|
|
|
* @param sndng 발송 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public boolean create(Sndng sndng) {
|
|
|
|
|
return sndngMapper.insert(sndng);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 대장 정보를 수정한다.
|
|
|
|
|
* @param sndng 발송 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
@ -1727,292 +1485,4 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
return retCode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정한 발송 상세 ID의 미배달 정보를 반환한다.<br />
|
|
|
|
|
* @param sndngDtlId 발송 상세 ID
|
|
|
|
|
* @return 발송상세 미배달 정보
|
|
|
|
|
*/
|
|
|
|
|
public DataObject getSndbkInfo(SndbQuery req) {
|
|
|
|
|
return sndngMapper.selectSndbkInfo(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 상세의 반송 정보를 등록한다.
|
|
|
|
|
* @param sndngDtl 발송 상세
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createSndbk(SndngDtl sndngDtl) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 반송 내역 조회
|
|
|
|
|
DataObject sndbkInfo = sndngMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtl.getSndngDtlId())
|
|
|
|
|
.setDelYN("N"));
|
|
|
|
|
|
|
|
|
|
// 반송 등록이 가능한지 확인.
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("05"); // 발송 상세 상태 코드 FIM050 - 05:반송
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
|
|
|
|
|
rtnScs = sndngMapper.createSndbk(sndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
throw new RuntimeException("발송상세의 반송 정보 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 상세의 반송 정보를 수정한다.
|
|
|
|
|
* @param sndngDtl 발송 상세
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String updateSndbk(SndngDtl sndngDtl) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
|
|
|
|
|
rtnScs = sndngMapper.updateSndbk(sndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
throw new RuntimeException("발송상세의 반송 정보 수정에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 상세의 반송 정보를 삭제한다.
|
|
|
|
|
* @param sndngDtl 발송 상세
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String deleteSndbk(SndngDtl sndngDtl) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 반송 내역 조회
|
|
|
|
|
DataObject sndbkInfo = sndngMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtl.getSndngDtlId())
|
|
|
|
|
.setDelYN("N"));
|
|
|
|
|
|
|
|
|
|
// 반송 삭제가 가능한지 확인.
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드 <- 발송 상세 상태 코드
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd(sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD")); // 발송 상세 상태 코드 <- 전 발송 상세 상태 코드
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
|
|
|
|
|
rtnScs = sndngMapper.deleteSndbk(sndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
throw new RuntimeException("발송상세의 반송 정보 삭제에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 공시송달 대장 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 공시송달 대장 조회 조건
|
|
|
|
|
* @return 공시송달 대장 목록
|
|
|
|
|
*/
|
|
|
|
|
public List<DataObject> getSvbtcList(SndbQuery req) {
|
|
|
|
|
return svbtcMapper.selectSvbtcList(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 공시송달 대장 객체들을 반환한다.
|
|
|
|
|
* @param req 공시송달 대장 조회 조건
|
|
|
|
|
* @return 공시송달 대장 객체 목록
|
|
|
|
|
*/
|
|
|
|
|
public List<DataObject> getSvbtcs(SndbQuery req) {
|
|
|
|
|
return svbtcMapper.selectSvbtcs(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 공시송달 대장 객체들을 반환한다.
|
|
|
|
|
* @param req 공시송달 대장 조회 조건
|
|
|
|
|
* @return 공시송달 대장 객체 목록
|
|
|
|
|
*/
|
|
|
|
|
public DataObject getSvbtcInfo(SndbQuery req) {
|
|
|
|
|
return svbtcMapper.selectSvbtcInfo(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 공시송달 상세 객체들을 반환한다.
|
|
|
|
|
* @param req 공시송달 대장 조회 조건
|
|
|
|
|
* @return 공시송달 대장 객체 목록
|
|
|
|
|
*/
|
|
|
|
|
public List<DataObject> getSvbtcDtls(SndbQuery req) {
|
|
|
|
|
return svbtcMapper.selectSvbtcDtls(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**공시송달 대장 정보를 등록한다.
|
|
|
|
|
* @param svbtc 공시송달 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String createSvbtc(Svbtc svbtc) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록 한다.
|
|
|
|
|
rtnScs = svbtcMapper.insert(svbtc);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
throw new RuntimeException("공시송달 정보 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세 대장에 공시송달 정보 수정
|
|
|
|
|
for (int iLoop = 0; iLoop < svbtc.getSndngDtlIDs().length; iLoop++) {
|
|
|
|
|
// 발송 상세
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
|
|
sndngDtl.setSvbtcId(svbtc.getSvbtcId());
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("06");
|
|
|
|
|
sndngDtl.setSndngDtlId(svbtc.getSndngDtlIDs()[iLoop]);
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngMapper.updateSndngDtlSvbtc(sndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**공시송달 대장 정보를 수정한다.
|
|
|
|
|
* @param svbtc 공시송달 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String updateSvbtc(Svbtc svbtc) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 수정 한다.
|
|
|
|
|
rtnScs = svbtcMapper.update(svbtc);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
throw new RuntimeException("공시송달 정보 수정에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**공시송달 대장 정보를 삭제한다.
|
|
|
|
|
* @param svbtc 공시송달 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String removeSvbtc(Svbtc svbtc) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 공시송달(TB_SVBTC) 대장을 삭제 한다.
|
|
|
|
|
rtnScs = svbtcMapper.delete(svbtc);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("공시송달 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**공시송달ID 조건에 따라 발송상세 대장의 총 건수를 조회한다.
|
|
|
|
|
* @param req 발송 대장 조회 조건
|
|
|
|
|
* @return 계도장 발송 대상 목록
|
|
|
|
|
*/
|
|
|
|
|
public int selectTnocsSndngDtlSvbtc(String svbtcId) {
|
|
|
|
|
return sndngMapper.selectTnocsSndngDtlSvbtc(svbtcId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**발송 상세 대장의 공시송달 정보를 삭제한다.
|
|
|
|
|
* @param sndngDtl 발송 상세
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String removeSndngDtlSvbtc(SndngDtl sndngDtl) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 삭제 한다.
|
|
|
|
|
rtnScs = sndngMapper.deleteSndngDtlSvbtc(sndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
throw new RuntimeException("발송상세의 공시송달 정보 삭제에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**공시송달 대장 정보를 삭제하고 발송 상세 대장의 공시송달 정보를 삭제한다.
|
|
|
|
|
* @param svbtc 공시송달 대장
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String removeSvbtcSndngDtl(Svbtc svbtc) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 공시송달(TB_SVBTC) 대장을 삭제 한다.
|
|
|
|
|
rtnScs = svbtcMapper.delete(svbtc);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("공시송달 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제 한다.
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
|
|
sndngDtl.setSvbtcId(svbtc.getSvbtcId());
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("05");
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngMapper.deleteSndngDtlSvbtc(sndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|