발송 상세 정보 - 세외수입 등록 수정.

main
jjh 11 months ago
parent 432b99025f
commit bb2830072d

@ -27,7 +27,7 @@ public class NxrpMtchgQuery extends QueryRequest {
private String sndngDtlId; // 발송 상세 ID private String sndngDtlId; // 발송 상세 ID
// ETC // ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String delYn; // 삭제 여부 private String delYN; // 삭제 여부
private String delRsn; // 삭제 사유 private String delRsn; // 삭제 사유
private String crdnDelYn; // 단속 삭제 여부 private String crdnDelYn; // 단속 삭제 여부
@ -113,12 +113,12 @@ public class NxrpMtchgQuery extends QueryRequest {
return self(); return self();
} }
public String getDelYn() { public String getDelYN() {
return ifEmpty(delYn, () -> null); return ifEmpty(delYN, () -> null);
} }
public <T extends NxrpMtchgQuery> T setDelYn(String delYn) { public <T extends NxrpMtchgQuery> T setDelYN(String delYN) {
this.delYn = delYn; this.delYN = delYN;
return self(); return self();
} }

@ -41,6 +41,9 @@ public interface NxrpMtchgMapper extends AbstractMapper {
*/ */
default DataObject selectNxrpMtchgInfo(NxrpMtchgQuery req) { default DataObject selectNxrpMtchgInfo(NxrpMtchgQuery req) {
// 기본 정렬 // 기본 정렬
if (req.getDelYN() == null) {
req.setDelYN("N");
}
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("NM.MTCHG_ID DESC"); req.setOrderBy("NM.MTCHG_ID DESC");
} }

@ -11,6 +11,7 @@ import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper; import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper;
import cokr.xit.fims.nxrp.NxrpMtchg; import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery; import cokr.xit.fims.nxrp.NxrpMtchgQuery;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.SndngDtl; import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.fims.sndb.dao.SndngDtlMapper; import cokr.xit.fims.sndb.dao.SndngDtlMapper;
import cokr.xit.fims.sndb.dao.SndngMapper; import cokr.xit.fims.sndb.dao.SndngMapper;
@ -73,53 +74,61 @@ public class NxrpMtchgBean extends AbstractComponent {
*/ */
public String createNxrpLink(NxrpMtchgQuery req) { public String createNxrpLink(NxrpMtchgQuery req) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
// 2023.02.01 KDH 용인 밤샘주차는 세외수입 전송시 본고지 공문번호로 변경하여 전송해야됨 // 2023.02.01 KDH 용인 밤샘주차는 세외수입 전송시 본고지 공문번호로 변경하여 전송해야됨
// 20200327 UIJIN 서울시 세외수입 엑셀 양식 // 20200327 UIJIN 서울시 세외수입 엑셀 양식
// if () { // if () {
// retMessage = "[S] 작업이 정상 처리 되었습니다."; // rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
// return retMessage; // return rtnMsg;
// } // }
// 세외수입 연계관련 정보 확인 // 세외수입 연계관련 정보 확인
//
// 세외수입 연계관련 정보 확인
// 발송상세 대상를 조회
List<DataObject> sndngDtlIDs = sndngDtlMapper.selectSndngTrgtDtlIDs(new SndbQuery().setSndngId(req.getSndngId())
.setDelYN("N"));
for (int iLoop = 0; iLoop < req.getSndngDtlIDs().length; iLoop++) { // 발송상세 대상 자료로 세외수입 매핑 내역 등록한다.
for (int iLoop = 0; iLoop < sndngDtlIDs.size(); iLoop++) {
// 단속 자료 조회 // 단속 자료 조회
DataObject crdnLevyInfo = nxrpMtchgMapper.selectCrdnLevy(req.getCrdnIDs()[iLoop]); DataObject sndngDtlLevyInfo = sndngDtlMapper.selectSndngDtlLevyInfo(sndngDtlIDs.get(iLoop).string("SNDNG_DTL_ID"));
if (crdnLevyInfo == null) { if (sndngDtlLevyInfo == null) {
throw new RuntimeException("세외수입 매칭 내역 등록중 단속자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 매칭 내역 등록 작업중 단속자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 세외수입 연계 등록 서비스 호출 ////////////////////////////////////////////// // 세외수입 연계 등록 서비스 호출 //////////////////////////////////////////////
String linkRsltId = "0000000000"; String linkRsltId = "0000000000";
// 세외수입 매칭 내역 정보 조회 // 세외수입 매칭 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(crdnLevyInfo.string("CRDN_ID")) DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(sndngDtlLevyInfo.string("CRDN_ID"))
.setDelYn("N")); .setDelYN("N"));
NxrpMtchg nxrpMtchg = new NxrpMtchg(); NxrpMtchg nxrpMtchg = new NxrpMtchg();
if (nxrpMtchgInfo == null) { if (nxrpMtchgInfo == null) {
nxrpMtchg.setCrdnId(crdnLevyInfo.string("CRDN_ID")); nxrpMtchg.setCrdnId(sndngDtlLevyInfo.string("CRDN_ID")); // 단속 ID
nxrpMtchg.setCrdnDt(crdnLevyInfo.string("CRDN_YMD_TM_MASK")); nxrpMtchg.setCrdnDt(sndngDtlLevyInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
nxrpMtchg.setStdgNm(crdnLevyInfo.string("CRDN_STDG_NM")); nxrpMtchg.setStdgNm(sndngDtlLevyInfo.string("CRDN_STDG_NM")); // 법정동 명
nxrpMtchg.setCrdnPlc(crdnLevyInfo.string("CRDN_PLC")); nxrpMtchg.setCrdnPlc(sndngDtlLevyInfo.string("CRDN_PLC")); // 단속 장소
nxrpMtchg.setLinkRsltId(linkRsltId); nxrpMtchg.setLinkRsltId(linkRsltId); // 연계 결과 ID
nxrpMtchg.setAcntgYr(crdnLevyInfo.string("FYR")); nxrpMtchg.setAcntgYr(sndngDtlLevyInfo.string("FYR")); // 회계 연도
nxrpMtchg.setLevyNo(crdnLevyInfo.string("LEVY_NO")); nxrpMtchg.setLevyNo(sndngDtlLevyInfo.string("LEVY_NO")); // 부과 번호
nxrpMtchg.setLevyAmt(crdnLevyInfo.number("PCPTAX").intValue()); nxrpMtchg.setLevyAmt(sndngDtlLevyInfo.number("PCPTAX").intValue()); // 부과 금액
nxrpMtchg.setAdtnAmt(crdnLevyInfo.number("ADAMT").intValue()); nxrpMtchg.setAdtnAmt(sndngDtlLevyInfo.number("ADAMT").intValue()); // 가산 금액
nxrpMtchg.setSumAmt(crdnLevyInfo.number("SUM_AMT").intValue()); nxrpMtchg.setSumAmt(sndngDtlLevyInfo.number("SUM_AMT").intValue()); // 합계 금액
nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전 nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전
retSuccess = nxrpMtchgMapper.insert(nxrpMtchg); rtnScs = nxrpMtchgMapper.insert(nxrpMtchg); // 세외수입 매칭 내역 등록
} else { } else {
nxrpMtchg.setMtchgId(nxrpMtchgInfo.string("MTCHG_ID")); nxrpMtchg.setMtchgId(nxrpMtchgInfo.string("MTCHG_ID")); // 매칭 ID
nxrpMtchg.setLinkRsltId(linkRsltId); nxrpMtchg.setLinkRsltId(linkRsltId); // 연계 결과 ID
nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전
retSuccess = nxrpMtchgMapper.updateLinkRsltId(nxrpMtchg); rtnScs = nxrpMtchgMapper.updateLinkRsltId(nxrpMtchg); // 세외수입 매칭 내역 수정
} }
// 발송 상세 상태 코드 수정. // 발송 상세 상태 코드 수정.
@ -127,17 +136,17 @@ public class NxrpMtchgBean extends AbstractComponent {
sndngDtl.setMtchgId(nxrpMtchg.getMtchgId()); // 매칭 ID sndngDtl.setMtchgId(nxrpMtchg.getMtchgId()); // 매칭 ID
sndngDtl.setSndngDtlSttsCd("01"); // FIM050(발송 상세 상태 코드) - 01 세외수입부과 sndngDtl.setSndngDtlSttsCd("01"); // FIM050(발송 상세 상태 코드) - 01 세외수입부과
sndngDtl.setSndngDtlId(req.getSndngDtlIDs()[iLoop]); sndngDtl.setSndngDtlId(sndngDtlIDs.get(iLoop).string("SNDNG_DTL_ID")); // 발송 상세 ID
retSuccess = sndngDtlMapper.updateSndngDtlSttsCd(sndngDtl); rtnScs = sndngDtlMapper.updateSndngDtlSttsCd(sndngDtl);
if (!retSuccess) { if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 매칭 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
} }
retMessage = "[S] 작업이 정상 처리 되었습니다."; rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage; return rtnMsg;
} }
/** . /** .
@ -149,13 +158,13 @@ public class NxrpMtchgBean extends AbstractComponent {
*/ */
public String updateNxrpLink(NxrpMtchgQuery req) { public String updateNxrpLink(NxrpMtchgQuery req) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
for (int iLoop = 0; iLoop < req.getSndngDtlIDs().length; iLoop++) { for (int iLoop = 0; iLoop < req.getSndngDtlIDs().length; iLoop++) {
// 세외수입 매칭 내역 정보 조회 // 세외수입 매칭 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(req.getCrdnIDs()[iLoop]) DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(req.getCrdnIDs()[iLoop])
.setDelYn("N")); .setDelYN("N"));
// 세외수입 조회 연계 호출 ////////////////////////////////////////////////// // 세외수입 조회 연계 호출 //////////////////////////////////////////////////
@ -170,8 +179,8 @@ public class NxrpMtchgBean extends AbstractComponent {
// nxrpMtchg.setSumAmt(0); // nxrpMtchg.setSumAmt(0);
// nxrpMtchg.setNxrpMtchgSttsCd("02"); // FIM073(세외수입 매칭 상태 코드) - 02 처리완료 // nxrpMtchg.setNxrpMtchgSttsCd("02"); // FIM073(세외수입 매칭 상태 코드) - 02 처리완료
// //
// retSuccess = nxrpMtchgMapper.updateNxrpLink(nxrpMtchg); // rtnScs = nxrpMtchgMapper.updateNxrpLink(nxrpMtchg);
// if (!retSuccess) { // if (!rtnScs) {
// throw new RuntimeException("세외수입매칭 대장에 세외수입연계 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback // throw new RuntimeException("세외수입매칭 대장에 세외수입연계 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
// } // }
@ -214,9 +223,9 @@ public class NxrpMtchgBean extends AbstractComponent {
// sndngDtl.setSndngDtlSttsCd("02"); // FIM050(발송 상세 상태 코드) - 02 가상계좌취득 // sndngDtl.setSndngDtlSttsCd("02"); // FIM050(발송 상세 상태 코드) - 02 가상계좌취득
} }
retMessage = "[S] 작업이 정상 처리 되었습니다."; rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage; return rtnMsg;
} }
/** . /** .
@ -228,17 +237,17 @@ public class NxrpMtchgBean extends AbstractComponent {
*/ */
public String createNxrpMtchg(NxrpMtchg nxrpMtchg) { public String createNxrpMtchg(NxrpMtchg nxrpMtchg) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = nxrpMtchgMapper.insert(nxrpMtchg); rtnScs = nxrpMtchgMapper.insert(nxrpMtchg);
if (!retSuccess) { if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 매칭 내역 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
retMessage = "[S] 작업이 정상 처리 되었습니다."; rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage; return rtnMsg;
} }
/** . /** .
@ -250,17 +259,17 @@ public class NxrpMtchgBean extends AbstractComponent {
*/ */
public String updateNxrpMtchg(NxrpMtchg nxrpMtchg) { public String updateNxrpMtchg(NxrpMtchg nxrpMtchg) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = nxrpMtchgMapper.update(nxrpMtchg); rtnScs = nxrpMtchgMapper.update(nxrpMtchg);
if (!retSuccess) { if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 매칭 내역 정보를 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
retMessage = "[S] 작업이 정상 처리 되었습니다."; rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage; return rtnMsg;
} }
/** . /** .
@ -272,17 +281,17 @@ public class NxrpMtchgBean extends AbstractComponent {
*/ */
public String removeNxrpMtchg(NxrpMtchg nxrpMtchg) { public String removeNxrpMtchg(NxrpMtchg nxrpMtchg) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = nxrpMtchgMapper.delete(nxrpMtchg); rtnScs = nxrpMtchgMapper.delete(nxrpMtchg);
if (!retSuccess) { if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
retMessage = "[S] 작업이 정상 처리 되었습니다."; rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage; return rtnMsg;
} }
/** ID . /** ID .
@ -294,17 +303,17 @@ public class NxrpMtchgBean extends AbstractComponent {
*/ */
public String removeCrdnNxrpMtchg(NxrpMtchg delNxrpMtchg) { public String removeCrdnNxrpMtchg(NxrpMtchg delNxrpMtchg) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg); rtnScs = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg);
if (!retSuccess) { if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
retMessage = "[S] 작업이 정상 처리 되었습니다."; rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage; return rtnMsg;
} }

@ -46,9 +46,9 @@ public class Nxrp01Controller extends AbstractController {
*/ */
public ModelAndView createNonTaxReceiptLink(NxrpMtchgQuery req) { public ModelAndView createNonTaxReceiptLink(NxrpMtchgQuery req) {
boolean saved = false; boolean saved = false;
String retMessage = nxrpMtchgService.createNxrpLink(req); String rtnMsg = nxrpMtchgService.createNxrpLink(req);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -56,7 +56,7 @@ public class Nxrp01Controller extends AbstractController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -68,9 +68,9 @@ public class Nxrp01Controller extends AbstractController {
*/ */
public ModelAndView updateNonTaxReceiptLink(NxrpMtchgQuery req) { public ModelAndView updateNonTaxReceiptLink(NxrpMtchgQuery req) {
boolean saved = false; boolean saved = false;
String retMessage = nxrpMtchgService.updateNxrpLink(req); String rtnMsg = nxrpMtchgService.updateNxrpLink(req);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -78,7 +78,7 @@ public class Nxrp01Controller extends AbstractController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -90,9 +90,9 @@ public class Nxrp01Controller extends AbstractController {
*/ */
public ModelAndView createNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) { public ModelAndView createNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false; boolean saved = false;
String retMessage = nxrpMtchgService.createNxrpMtchg(nxrpMtchg); String rtnMsg = nxrpMtchgService.createNxrpMtchg(nxrpMtchg);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -100,7 +100,7 @@ public class Nxrp01Controller extends AbstractController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -112,9 +112,9 @@ public class Nxrp01Controller extends AbstractController {
*/ */
public ModelAndView updateNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) { public ModelAndView updateNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false; boolean saved = false;
String retMessage = nxrpMtchgService.updateNxrpMtchg(nxrpMtchg); String rtnMsg = nxrpMtchgService.updateNxrpMtchg(nxrpMtchg);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -122,7 +122,7 @@ public class Nxrp01Controller extends AbstractController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -135,9 +135,9 @@ public class Nxrp01Controller extends AbstractController {
*/ */
public ModelAndView removeNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) { public ModelAndView removeNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false; boolean saved = false;
String retMessage = nxrpMtchgService.removeNxrpMtchg(nxrpMtchg); String rtnMsg = nxrpMtchgService.removeNxrpMtchg(nxrpMtchg);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -145,7 +145,7 @@ public class Nxrp01Controller extends AbstractController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** (enisMtchg/enisMtchg-main) . /** (enisMtchg/enisMtchg-main) .

@ -17,7 +17,7 @@ import cokr.xit.fims.sndb.SndbQuery;
* *
* <pre> * <pre>
* ============ ============ * ============ ============
* 2023-12-27 mjkhan * 2023-12-27 JoJH
* ================================ * ================================
* </pre> * </pre>
*/ */
@ -35,14 +35,26 @@ public interface SndngDtlMapper extends AbstractMapper {
*/ */
List<DataObject> selectSndngDtls(SndbQuery req); List<DataObject> selectSndngDtls(SndbQuery req);
default DataObject selectSndngDtlInfo(String sndngDtlId) { default DataObject selectSndngDtlInfo(SndbQuery req) {
List<DataObject> sndngDtlInfo = selectSndngDtls(new SndbQuery().setSndngDtlId(sndngDtlId) // 기본 정렬
.setDelYN("N") if (req.getDelYN() == null) {
.setOrderBy("SD.SNDNG_DTL_ID DESC")); req.setDelYN("N");
}
if (req.getOrderBy() == null) {
req.setOrderBy("SD.SNDNG_DTL_ID DESC");
}
List<DataObject> sndngDtlInfo = selectSndngDtls(req);
return !sndngDtlInfo.isEmpty() ? sndngDtlInfo.get(0) : null; return !sndngDtlInfo.isEmpty() ? sndngDtlInfo.get(0) : null;
} }
/** ID ID .
* @param req
* @return
*/
List<DataObject> selectSndngTrgtDtlIDs(SndbQuery req);
/** /**
* @param req * @param req
* @return * @return

@ -24,6 +24,32 @@ import cokr.xit.fims.sndb.SndbQuery;
@Mapper("sndngMapper") @Mapper("sndngMapper")
public interface SndngMapper extends AbstractMapper { public interface SndngMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectSndngList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> selectSndngs(SndbQuery req);
default DataObject selectSndngInfo(SndbQuery req) {
// 기본 정렬
if (req.getDelYN() == null) {
req.setDelYN("N");
}
if (req.getOrderBy() == null) {
req.setOrderBy("S.SNDNG_ID DESC");
}
List<DataObject> sndngInfo = selectSndngs(req);
return !sndngInfo.isEmpty() ? sndngInfo.get(0) : null;
}
/** .<br /> /** .<br />
* @param req * @param req
* @return * @return
@ -37,7 +63,8 @@ public interface SndngMapper extends AbstractMapper {
List<DataObject> selectWrngTrgts(SndbQuery req); List<DataObject> selectWrngTrgts(SndbQuery req);
default DataObject selectWrngTrgtInfo(String crdnId) { default DataObject selectWrngTrgtInfo(String crdnId) {
List<DataObject> wrngTrgtInfo = selectWrngTrgts(new SndbQuery().setCrdnId(crdnId)); List<DataObject> wrngTrgtInfo = selectWrngTrgts(new SndbQuery().setCrdnId(crdnId)
.setDelYN("N"));
return !wrngTrgtInfo.isEmpty() ? wrngTrgtInfo.get(0) : null; return !wrngTrgtInfo.isEmpty() ? wrngTrgtInfo.get(0) : null;
} }
@ -61,7 +88,8 @@ public interface SndngMapper extends AbstractMapper {
List<DataObject> selectAdvntceTrgts(SndbQuery req); List<DataObject> selectAdvntceTrgts(SndbQuery req);
default DataObject selectAdvntceTrgtInfo(String crdnId) { default DataObject selectAdvntceTrgtInfo(String crdnId) {
List<DataObject> InfoSndngTrgt = selectAdvntceTrgts(new SndbQuery().setCrdnId(crdnId)); List<DataObject> InfoSndngTrgt = selectAdvntceTrgts(new SndbQuery().setCrdnId(crdnId)
.setDelYN("N"));
return !InfoSndngTrgt.isEmpty() ? InfoSndngTrgt.get(0) : null; return !InfoSndngTrgt.isEmpty() ? InfoSndngTrgt.get(0) : null;
} }
@ -75,26 +103,6 @@ public interface SndngMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectSndngList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> selectSndngs(SndbQuery req);
default DataObject selectSndngInfo(String sndngId) {
List<DataObject> InfoSndng = selectSndngs(new SndbQuery().setSndngId(sndngId)
.setDelYN("N")
.setOrderBy("S.SNDNG_ID DESC"));
return !InfoSndng.isEmpty() ? InfoSndng.get(0) : null;
}
/** . /** .
* @param params * @param params
* <ul><li>"sndng" - </li> * <ul><li>"sndng" - </li>

@ -31,6 +31,18 @@ public interface SndngDtlService {
*/ */
List<DataObject> getSndngDtls(SndbQuery req); List<DataObject> getSndngDtls(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngDtlList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngDtls(SndbQuery req);
/** . /** .
* @param sndngDtl * @param sndngDtl
* @return * @return

@ -80,11 +80,6 @@ public interface SndngService {
*/ */
List<DataObject> getAdvntceSndngList(SndbQuery req); List<DataObject> getAdvntceSndngList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngDtlList(SndbQuery req);

@ -89,6 +89,48 @@ public class SndngBean extends AbstractComponent {
@Resource(name="fileBean") @Resource(name="fileBean")
private FileBean fileBean; private FileBean fileBean;
/** .
* @param req
* @return
*/
public List<DataObject> getSndngList(SndbQuery req) {
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return sndngMapper.selectSndngList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getSndngs(SndbQuery req) {
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return sndngMapper.selectSndngs(req);
}
/** . /** .
* @param req * @param req
* @return * @return
@ -587,49 +629,6 @@ public class SndngBean extends AbstractComponent {
/** .
* @param req
* @return
*/
public List<DataObject> getSndngList(SndbQuery req) {
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return sndngMapper.selectSndngList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getSndngs(SndbQuery req) {
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return sndngMapper.selectSndngs(req);
}
@ -923,7 +922,7 @@ public class SndngBean extends AbstractComponent {
String conKey = ""; // 외부연계식별키 String conKey = ""; // 외부연계식별키
// 1. 발송 대장 조회 // 1. 발송 대장 조회
DataObject sndngInfo = sndngMapper.selectSndngInfo(sndng.getSndngId()); DataObject sndngInfo = sndngMapper.selectSndngInfo(new SndbQuery().setSndngId(sndng.getSndngId()));
/* /*
// 전자우편 발송 등록 전 오류 자료가 존재하는지 체크 // 전자우편 발송 등록 전 오류 자료가 존재하는지 체크
//사진파일 체크 //사진파일 체크

@ -40,6 +40,16 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl
return sndngDtlBean.getSndngDtls(req); return sndngDtlBean.getSndngDtls(req);
} }
@Override
public List<DataObject> getAdvntceSndngDtlList(SndbQuery req) {
return sndngDtlBean.getSndngDtlList(req);
}
@Override
public List<DataObject> getAdvntceSndngDtls(SndbQuery req) {
return sndngDtlBean.getSndngDtls(req);
}
@Override @Override
public boolean create(SndngDtl sndngDtl) { public boolean create(SndngDtl sndngDtl) {
return sndngDtlBean.create(sndngDtl); return sndngDtlBean.create(sndngDtl);

@ -80,11 +80,6 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
return sndngBean.getSndngList(req); return sndngBean.getSndngList(req);
} }
@Override
public List<DataObject> getAdvntceSndngDtlList(SndbQuery req) {
return sndngDtlBean.getSndngDtlList(req);
}

@ -635,7 +635,7 @@ public class Sndb01Controller extends ApplicationController {
*/ */
public ModelAndView getAdvanceNoticeSendingDetailsList(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingDetailsList(SndbQuery req) {
if (!"xls".equals(req.getDownload())) { if (!"xls".equals(req.getDownload())) {
List<?> result = sndngService.getAdvntceSndngDtlList(setFetchSize(req)); List<?> result = sndngDtlService.getAdvntceSndngDtlList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngDtl"); return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngDtl");
} else { } else {
// 현재 날짜 구하기 // 현재 날짜 구하기
@ -654,7 +654,7 @@ public class Sndb01Controller extends ApplicationController {
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일 CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간 CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
List<DataObject> list = sndngService.getAdvntceSndngDtlList(req.setFetchSize(0)); List<DataObject> list = sndngDtlService.getAdvntceSndngDtlList(req.setFetchSize(0));
CellDef.setValues(cellDefs, Map.ofEntries( CellDef.setValues(cellDefs, Map.ofEntries(
Map.entry("발송상태", xlsx.style("SNDNG_DTL_STTS_NM", center)) Map.entry("발송상태", xlsx.style("SNDNG_DTL_STTS_NM", center))

@ -43,7 +43,7 @@
<result property="vractno10" column="VRACTNO10" /> <!-- 가상계좌번호10 --> <result property="vractno10" column="VRACTNO10" /> <!-- 가상계좌번호10 -->
<result property="bankNm11" column="BANK_NM11" /> <!-- 은행 명11 --> <result property="bankNm11" column="BANK_NM11" /> <!-- 은행 명11 -->
<result property="vractno11" column="VRACTNO11" /> <!-- 가상계좌번호11 --> <result property="vractno11" column="VRACTNO11" /> <!-- 가상계좌번호11 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 --> <result property="delYN" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 --> <result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 --> <result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 --> <result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
@ -117,8 +117,8 @@
<if test="lvyKey != null"> <if test="lvyKey != null">
AND NM.LVY_KEY = #{lvyKey} <!-- 부과키 --> AND NM.LVY_KEY = #{lvyKey} <!-- 부과키 -->
</if> </if>
<if test="delYn != null"> <if test="delYN != null">
AND NM.DEL_YN = #{delYn} <!-- 삭제 여부 --> AND NM.DEL_YN = #{delYN} <!-- 삭제 여부 -->
</if> </if>
</where> </where>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
@ -327,6 +327,7 @@
<update id="updateLinkRsltId" parameterType="map">/* 세외수입매칭 내역에서 연계결과ID 정보를 수정 (nxrpMtchgMapper.updateLinkRsltId) */ <update id="updateLinkRsltId" parameterType="map">/* 세외수입매칭 내역에서 연계결과ID 정보를 수정 (nxrpMtchgMapper.updateLinkRsltId) */
UPDATE TB_NXRP_MTCHG UPDATE TB_NXRP_MTCHG
SET LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID --> SET LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 --> , MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 --> , MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId} WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}

@ -230,7 +230,7 @@
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>
<select id="selectSndngTrgts" parameterType="String" resultType="dataobject">/* 발송 대상 ID로 발송상세 객체 가져오기(sndngDtlMapper.selectSndngTrgts) */ <select id="selectSndngTrgtDtlIDs" parameterType="String" resultType="dataobject">/* 발송ID로 발송상세ID를 가져오기(sndngDtlMapper.selectSndngTrgtDtlIDs) */
SELECT SNDNG_DTL_ID /* 발송 상세 ID */ SELECT SNDNG_DTL_ID /* 발송 상세 ID */
FROM TB_SNDNG_DTL FROM TB_SNDNG_DTL
WHERE SNDNG_ID = #{sndngId} /* 발송 ID */ WHERE SNDNG_ID = #{sndngId} /* 발송 ID */
@ -255,6 +255,8 @@
, C.CRDN_PLC /* 단속 장소 */ , C.CRDN_PLC /* 단속 장소 */
, C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */ , C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */ , C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK /* 단속 일시 마스크 */
, P.RTPYR_ID /* 납부자 ID */ , P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_NO /* 납부자 번호 */ , P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */ , P.RTPYR_NM /* 납부자 명 */
@ -319,8 +321,6 @@
, (SELECT GET_MASK_DATE(L.DUDT_AFTR_YMD, '.') FROM DUAL) AS DUDT_AFTR_YMD_MASK /* 납기 후 일자 마스크 */ , (SELECT GET_MASK_DATE(L.DUDT_AFTR_YMD, '.') FROM DUAL) AS DUDT_AFTR_YMD_MASK /* 납기 후 일자 마스크 */
, (SELECT GET_CODE_NM('FIM050', SD.SNDNG_DTL_STTS_CD) FROM DUAL) AS SNDNG_DTL_STTS_NM /* 발송 상세 상태 명 */ , (SELECT GET_CODE_NM('FIM050', SD.SNDNG_DTL_STTS_CD) FROM DUAL) AS SNDNG_DTL_STTS_NM /* 발송 상세 상태 명 */
, (SELECT GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM /* 발송 수납 명 */ , (SELECT GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM /* 발송 수납 명 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK /* 단속 일시 마스크 */
FROM TB_SNDNG_DTL SD FROM TB_SNDNG_DTL SD
INNER JOIN TB_CRDN C ON (SD.CRDN_ID = C.CRDN_ID) INNER JOIN TB_CRDN C ON (SD.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) INNER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)

@ -273,7 +273,6 @@
if (typeof sndngId == "undefined" || sndngId == null || sndngId == "") return; if (typeof sndngId == "undefined" || sndngId == null || sndngId == "") return;
let params = ${pageName}Control.query; let params = ${pageName}Control.query;
params.callPurpose = "view"; params.callPurpose = "view";
params.sndngId = sndngId; params.sndngId = sndngId;

@ -265,22 +265,14 @@
// 세외수입 등록 // 세외수입 등록
createNxrpLink${pageName} = (params) => { createNxrpLink${pageName} = (params) => {
// 선택된 자료의 ID 추가 if (!params) return;
let selected = ${pageName}Control.dataset.getKeys("selected"); // 발송 상세 ID
let crdnKeys = getCrdnKeys("selected"); // 단속 ID
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.crdnIDs = crdnKeys.join(","); // 단속 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + "/nxrp/nxrp01/010/createNxrpLink.do") url : wctx.url(params.taskSeCd + "/nxrp/nxrp01/010/createNxrpLink.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
let btnTitle = $("#btnCreateNxrpLink--${pageName}").attr("title"); // S 또는 F 를 버튼 title 로 변경하여 메시지 출력
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, $("#btnCreateNxrpLink--${pageName}").attr("title"));
dialog.alert(showMessage); dialog.alert(showMessage);
} }
@ -321,10 +313,10 @@
}; };
ajax.post({ ajax.post({
url : wctx.url("/" + info.taskSeCd + ${pageName}PrefixUrl + "/080/createSndngLink.do") url : wctx.url(info.taskSeCd + ${pageName}PrefixUrl + "/080/createSndngLink.do")
, data : info || {} , data : info || {}
, success : resp => { , success : resp => {
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
} }
}); });
@ -334,8 +326,6 @@
printAdvntce${pageName} = (params) => { printAdvntce${pageName} = (params) => {
if (!params) return; if (!params) return;
params.delYN = "N"; // 삭제 여부
// ajax.post({ // ajax.post({
// url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create // url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
// , data : params // , data : params
@ -395,7 +385,6 @@
${pageName}Control.load(1); ${pageName}Control.load(1);
} }
// 엑셀 저장 // 엑셀 저장
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) { if (${pageName}Control.dataset.empty) {
@ -420,10 +409,11 @@
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// main에서 받아온 조건(Query)을 파라미터로 넘긴다.
dialog.alert({ dialog.alert({
content : "세외수입 과태료 대장에 등록하시겠습니까?" content : "세외수입시스템의 과태료 대장에 등록하시겠습니까?"
, onOK : () => { , onOK : () => {
createNxrpLink${pageName}(${pageName}Fields.get()); createNxrpLink${pageName}(${pageName}Query);
} }
}); });
} }
@ -433,7 +423,7 @@
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
updateNxrpMtchg${pageName}(${pageName}Fields.get()); updateNxrpMtchg${pageName}(${pageName}Query);
} }
// 우편통합 발송 // 우편통합 발송

Loading…
Cancel
Save