감경(사전) 부과 등록 수정.

main
jjh 6 months ago
parent 346e7cb099
commit 7f2be98d34

@ -47,18 +47,19 @@ public class LevyQuery extends CmmnQuery {
// 상세 검색 조건 // 상세 검색 조건
// ETC // ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String delRsn; // 삭제 사유 private String delRsn; // 삭제 사유
private String tnocs; // 총 건수 private String tnocs; // 총 건수
private String gramtFfnlgAmt; // 총 금액 private String gramtFfnlgAmt; // 총 금액
private String gramtAdvntceAmt; // 총 감경부과 금액 private String gramtAdvntceAmt; // 총 감경부과 금액
// 부과 등록 // 부과 등록
private String fyr; // 회계연도 private String fyr; // 회계연도
private String acntgSeCd; // 회계 구분 코드 private String acntgSeCd; // 회계 구분 코드
private String txitmCd; // 세목 코드 private String txitmCd; // 세목 코드
private String levyYmd; // 부과 일자 private String operItemCd; // 운영 항목 코드
private String dudtYmd; // 납기 일자 private String levyYmd; // 부과 일자
private String crdnSttsCd; // 단속 상태 코드 private String dudtYmd; // 납기 일자
private String crdnSttsCd; // 단속 상태 코드
// ID // ID
public String[] getCrdnIds() { public String[] getCrdnIds() {
@ -377,6 +378,15 @@ public class LevyQuery extends CmmnQuery {
return self(); return self();
} }
public String getOperItemCd() {
return ifEmpty(operItemCd, () -> null);
}
public <T extends LevyQuery> T setOperItemCd(String operItemCd) {
this.operItemCd = operItemCd;
return self();
}
public String getLevyYmd() { public String getLevyYmd() {
return ifEmpty(levyYmd, () -> null); return ifEmpty(levyYmd, () -> null);
} }

@ -111,7 +111,7 @@ public class LevyBean extends AbstractComponent {
return levyMapper.selectMaxLevyNo(req); return levyMapper.selectMaxLevyNo(req);
} }
/** . /** .
* @param levy * @param levy
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
@ -133,6 +133,8 @@ public class LevyBean extends AbstractComponent {
for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) { for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) {
Levy levy = new Levy(); Levy levy = new Levy();
levy.setSggCd(trgtList.get(iLoop).string("SGG_CD")); // 시군구 코드
levy.setTaskSeCd(trgtList.get(iLoop).string("TASK_SE_CD")); // 업무 구분 코드
levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID
levy.setLevyYmd(req.getLevyYmd()); // 부과 일자 levy.setLevyYmd(req.getLevyYmd()); // 부과 일자
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
@ -149,7 +151,7 @@ public class LevyBean extends AbstractComponent {
return rtnMsg; return rtnMsg;
} }
/** . /** .
* @param levy * @param levy
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
@ -185,27 +187,24 @@ public class LevyBean extends AbstractComponent {
return rtnMsg; return rtnMsg;
} }
// 고지번호 // 부과 정보
LevyQuery selectLevyNo = new LevyQuery();
selectLevyNo.setSggCd(crdnInfo.string("SGG_CD"));
selectLevyNo.setTaskSeCd(crdnInfo.string("TASK_SE_CD"));
selectLevyNo.setFyr(crdnInfo.string("TODAY").substring(0, 4));
selectLevyNo.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD"));
selectLevyNo.setTxitmCd(crdnInfo.string("TXITM_CD"));
levy.setFyr(levy.getLevyYmd().substring(0, 4)); // 회계연도
levy.setLevyNo(levyMapper.selectMaxLevyNo(selectLevyNo)); // 부과 번호 (최종 부과번호+1 을 조회 한다.)
levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세
levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
levy.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
levy.setInstCd(managedUser.getInstitute()); // 기관 코드 levy.setInstCd(managedUser.getInstitute()); // 기관 코드
levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드 levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드
levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드
levy.setFyr(levy.getLevyYmd().substring(0, 4)); // 회계연도
levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분 코드 levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분 코드
levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드 levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드
levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드 levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드
levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드 // MAX+1 부과 번호
LevyQuery selectLevyNo = new LevyQuery();
selectLevyNo.setSggCd(levy.getSggCd());
selectLevyNo.setTaskSeCd(levy.getTaskSeCd());
selectLevyNo.setFyr(levy.getFyr());
selectLevyNo.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD"));
selectLevyNo.setTxitmCd(crdnInfo.string("TXITM_CD"));
selectLevyNo.setOperItemCd(crdnInfo.string("OPER_ITEM_CD"));
levy.setLevyNo(levyMapper.selectMaxLevyNo(selectLevyNo)); // 부과 번호 (최종 부과번호+1 을 조회 한다.)
levy.setInspySn("00"); // 분납 일련번호 levy.setInspySn("00"); // 분납 일련번호
levy.setLevySeCd("02"); // 부과 구분 코드 FIM040 levy.setLevySeCd("02"); // 부과 구분 코드 FIM040
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072 levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
@ -214,6 +213,9 @@ public class LevyBean extends AbstractComponent {
} else { } else {
levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경 levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경
} }
levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세
levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
levy.setLevyAdamt(0); // 부과 가산금 levy.setLevyAdamt(0); // 부과 가산금
levy.setInspyInt(0); // 분납 이자 levy.setInspyInt(0); // 분납 이자
levy.setRcvmtPcptax(0); // 수납 본세 levy.setRcvmtPcptax(0); // 수납 본세
@ -226,7 +228,7 @@ public class LevyBean extends AbstractComponent {
levy.setMngItem3(crdnInfo.string("VLTN_LAW_NM") + " " + crdnInfo.string("VLTN_LAW1") + " " + crdnInfo.string("VLTN_LAW2")); // 관리 아이템3 - 법령 levy.setMngItem3(crdnInfo.string("VLTN_LAW_NM") + " " + crdnInfo.string("VLTN_LAW1") + " " + crdnInfo.string("VLTN_LAW2")); // 관리 아이템3 - 법령
levy.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목 levy.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목
levy.setMngItem5(""); // 관리 아이템5 levy.setMngItem5(""); // 관리 아이템5
levy.setMngItem6(crdnInfo.string("SGG_CD") + "_" + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID levy.setMngItem6(crdnInfo.string("SGG_CD") + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID
rtnScs = levyMapper.insert(levy); rtnScs = levyMapper.insert(levy);
if (!rtnScs) { if (!rtnScs) {
@ -270,10 +272,9 @@ public class LevyBean extends AbstractComponent {
*/ */
public String updateRductLevyYmd(Levy levy) { public String updateRductLevyYmd(Levy levy) {
// 변수 선언 // 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = levyMapper.updateRductLevyYmd(levy); boolean rtnScs = levyMapper.updateRductLevyYmd(levy);
if (!rtnScs) { if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다."); throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다.");
@ -293,10 +294,9 @@ public class LevyBean extends AbstractComponent {
*/ */
public String updateRcvmt(Levy levy) { public String updateRcvmt(Levy levy) {
// 변수 선언 // 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
rtnScs = levyMapper.updateRcvmt(levy); boolean rtnScs = levyMapper.updateRcvmt(levy);
if (!rtnScs) { if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");
@ -316,10 +316,9 @@ public class LevyBean extends AbstractComponent {
*/ */
public String updateRdcamt(Levy levy) { public String updateRdcamt(Levy levy) {
// 변수 선언 // 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
rtnScs = levyMapper.updateRdcamt(levy); boolean rtnScs = levyMapper.updateRdcamt(levy);
if (!rtnScs) { if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");

@ -185,11 +185,8 @@ public class PayerBean extends AbstractComponent {
payer.setDtlAddr(basicInfo.getUse_strnghld_adres_nm()); payer.setDtlAddr(basicInfo.getUse_strnghld_adres_nm());
payer.setWholAddr(basicInfo.getRoad_nm_adres() + ", " + basicInfo.getUse_strnghld_adres_nm()); payer.setWholAddr(basicInfo.getRoad_nm_adres() + ", " + basicInfo.getUse_strnghld_adres_nm());
// Payer result = create(payer) ? payer : getPayer(vhrno, rtpyrNo); Payer result = create(payer) ? payer : getPayer(vhrno, rtpyrNo);
// 납부자 정보를 등록한다. -> 차적 조회된 납부자 정보를 return 한다.
//Payer result = create(payer) ? payer : payer;
create(payer);
Payer result = payer;
if (result != null) if (result != null)
result.setVehicleInfo(basicInfo); result.setVehicleInfo(basicInfo);
@ -209,7 +206,7 @@ public class PayerBean extends AbstractComponent {
* @return * @return
*/ */
public DataObject getCrdnInfo(PayerQuery req) { public DataObject getCrdnInfo(PayerQuery req) {
return payerMapper.selectCrdn(req); // 단속 조회 return payerMapper.selectCrdn(req); // 단속 조회
} }
/** , ID . /** , ID .
@ -221,64 +218,43 @@ public class PayerBean extends AbstractComponent {
*/ */
public String createCrdnPayer(Payer payer) { public String createCrdnPayer(Payer payer) {
// 변수 선언 // 변수 선언
boolean rtnScs = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
String strTemp = "";
// 단속 ID로 단속 정보 조회
DataObject crdnInfo = payerMapper.selectCrdnInfo(payer.getCrdnId());
// 납부자 조회 조건
PayerQuery req = new PayerQuery();
req.setVhrno(payer.getVhrno());
req.setRtpyrNo(payer.getRtpyrNo());
req.setOrderBy("RTPYR_ID DESC");
Payer payerInfo = getPayer(payer.getVhrno(), payer.getRtpyrNo());
// // 지하 구분 코드
payer.setWholAddr(payer.getAddr() + ", " + payer.getDtlAddr()); // 전체 주소 strTemp = payer.getUdgdSeCd();
if (strTemp.equals("")) {
if (payerInfo == null) { payer.setUdgdSeCd("0");
// 납부자가 신규 등록 }
rtnScs = payerMapper.insert(payer); // 전체 주소
if (!rtnScs) { strTemp = payer.getWholAddr();
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback if (strTemp.equals("")) {
throw new RuntimeException("납부자 등록에 실패하였습니다."); payer.setWholAddr(payer.getAddr() + ", " + payer.getDtlAddr());
} }
// 단속 대장의 납부자 ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. // 납부자 대장(TB_PAYER)에 납부자 정보를 수정한다.
CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); rtnScs = payerMapper.update(payer);
crdnPayerHstry.setCrdnId(payer.getCrdnId()); if (!rtnScs) {
crdnPayerHstry.setRtpyrId(payer.getRtpyrId()); throw new RuntimeException("납부자 수정에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
}
rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); // 단속 ID로 단속 정보 조회
if (!rtnScs) { DataObject crdnInfo = payerMapper.selectCrdnInfo(payer.getCrdnId());
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자ID 등록에 실패하였습니다.");
}
} else {
// 수정할 납부자ID 와 조회한 납부자 ID 확인
if (!crdnInfo.string("RTPYR_ID").equals(payerInfo.getRtpyrId())) {
payer.setRtpyrId(payerInfo.getRtpyrId());
// 단속 대장의 납부자 ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다.
CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry();
crdnPayerHstry.setCrdnId(payer.getCrdnId());
crdnPayerHstry.setRtpyrId(payer.getRtpyrId());
rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자ID 등록에 실패하였습니다.");
}
}
// 현재 조회된 납부자 정보에서 주소가 다르다면 update 필요 // 단속 대장의 납부자 ID와 납부자 대장의 납부자 ID가 다르다면..
rtnScs = payerMapper.update(payer); if (!crdnInfo.string("RTPYR_ID").equals(payer.getRtpyrId())) {
if (!rtnScs) { CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry();
throw new RuntimeException("납부자 수정에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback crdnPayerHstry.setCrdnId(payer.getCrdnId());
} crdnPayerHstry.setRtpyrId(payer.getRtpyrId());
}
// 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다.
rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자ID 등록에 실패하였습니다.");
}
}
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
if (crdnInfo.number("CRDN_STTS_CD").intValue() < 21) { // 납부자 등록 완료 if (crdnInfo.number("CRDN_STTS_CD").intValue() < 21) { // 납부자 등록 완료

@ -7,7 +7,7 @@
2023-08-30 JoJH 최초 작성 2023-08-30 JoJH 최초 작성
============================ --> ============================ -->
<resultMap id="levyRow" type="cokr.xit.fims.levy.Levy"> <resultMap id="levyRow" type="cokr.xit.fims.levy.Levy"> <!-- 부과 대장 -->
<result property="levyId" column="LEVY_ID" /> <!-- 부과 ID --> <result property="levyId" column="LEVY_ID" /> <!-- 부과 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 --> <result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 --> <result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
@ -109,13 +109,16 @@
<select id="selectRductLevyTrgtList" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtList) */ <select id="selectRductLevyTrgtList" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtList) */
<include refid="utility.paging-prefix" /> <include refid="utility.paging-prefix" />
SELECT COUNT(*) OVER() AS TNOCS SELECT COUNT(*) OVER() AS TNOCS
, SUM(C.FFNLG_AMT) OVER() AS GRAMT_FFNLG_AMT , SUM(C.FFNLG_AMT) OVER() AS GRAMT_FFNLG_AMT
, SUM(C.ADVNTCE_AMT) OVER() AS GRAMT_ADVNTCE_AMT , SUM(C.ADVNTCE_AMT) OVER() AS GRAMT_ADVNTCE_AMT
, C.CRDN_ID <!-- 단속 ID --> , C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 --> , C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 --> , C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 --> , C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 --> , C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 --> , C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 --> , C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
@ -124,16 +127,13 @@
, C.FFNLG_AMT <!-- 과태료 금액 --> , C.FFNLG_AMT <!-- 과태료 금액 -->
, C.ADVNTCE_AMT <!-- 사전통지 금액 --> , C.ADVNTCE_AMT <!-- 사전통지 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 --> , C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 --> , C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, C.REG_DT <!-- 등록 일시 --> , C.REG_DT <!-- 등록 일시 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, C.MDFCN_DT <!-- 수정 일시 --> , C.MDFCN_DT <!-- 수정 일시 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 --> , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, V.VLTN_ID <!-- 위반 ID --> , V.VLTN_ID <!-- 위반 ID -->
, V.VLTN_CD <!-- 위반 코드 --> , V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 --> , V.VLTN_ARTCL <!-- 위반 항목 -->
@ -143,21 +143,20 @@
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 --> , CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 --> , CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 -->
, CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 --> , CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 -->
, (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL) AS CVLCPT_PRCS_NM <!-- 민원 처리 명 -->
, CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 --> , CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 -->
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 --> , CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
, (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL) AS CVLCPT_PRCS_NM <!-- 민원 처리 명 -->
, (SELECT GET_CODE_NM('FIM018', CC.CVLCPT_TRSM_CD) FROM DUAL) AS CVLCPT_TRSM_NM <!-- 민원 전송 명 --> , (SELECT GET_CODE_NM('FIM018', CC.CVLCPT_TRSM_CD) FROM DUAL) AS CVLCPT_TRSM_NM <!-- 민원 전송 명 -->
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
, P.RTPYR_ID <!-- 납부자 ID --> , P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 --> , P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NO <!-- 납부자 번호 --> , P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 --> , P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 --> , P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ZIP <!-- 우편번호 --> , P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 --> , P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 --> , P.DTL_ADDR <!-- 상세 주소 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
, L.LEVY_ID <!-- 부과 ID --> , L.LEVY_ID <!-- 부과 ID -->
<include refid="fromRductLevyTrgt" /> <include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
@ -200,10 +199,10 @@
AND CC.CVLCPT_RCPT_YMD <![CDATA[<=]]> #{schCvlcptRcptYmdTo} <!-- 민원 접수 일자 종료 --> AND CC.CVLCPT_RCPT_YMD <![CDATA[<=]]> #{schCvlcptRcptYmdTo} <!-- 민원 접수 일자 종료 -->
</if> </if>
<if test="schCvlcptPrcsCmptnDtFrom != null"> <if test="schCvlcptPrcsCmptnDtFrom != null">
AND CC.CVLCPT_PRCS_CMPTN_DT <![CDATA[>=]]> CONCAT(#{schCvlcptPrcsCmptnDtFrom},'000000') <!-- 민원 처리 완료 일시 시작 --> AND CC.CVLCPT_PRCS_CMPTN_DT <![CDATA[>=]]> CONCAT(#{schCvlcptPrcsCmptnDtFrom},'000000') <!-- 민원 처리 완료 일시 시작 -->
</if> </if>
<if test="schCvlcptPrcsCmptnDtTo != null"> <if test="schCvlcptPrcsCmptnDtTo != null">
AND CC.CVLCPT_PRCS_CMPTN_DT <![CDATA[<=]]> CONCAT(#{schCvlcptPrcsCmptnDtTo},'235959') <!-- 민원 처리 완료 일시 종료 --> AND CC.CVLCPT_PRCS_CMPTN_DT <![CDATA[<=]]> CONCAT(#{schCvlcptPrcsCmptnDtTo},'235959') <!-- 민원 처리 완료 일시 종료 -->
</if> </if>
<if test="schCvlcptPrcsPic != null"> <if test="schCvlcptPrcsPic != null">
AND CC.CVLCPT_PRCS_PIC = #{schCvlcptPrcsPic} <!-- 민원 처리 담당자 --> AND CC.CVLCPT_PRCS_PIC = #{schCvlcptPrcsPic} <!-- 민원 처리 담당자 -->
@ -280,144 +279,140 @@
</sql> </sql>
<select id="selectRductLevyTrgtIds" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtIds) */ <select id="selectRductLevyTrgtIds" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtIds) */
SELECT C.CRDN_ID <!-- 단속 ID --> SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
<include refid="fromRductLevyTrgt" /> <include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>
<sql id="select"> <sql id="select">
SELECT L.LEVY_ID <!-- 부과 ID --> SELECT L.LEVY_ID <!-- 부과 ID -->
, L.SGG_CD <!-- 시군구 코드 --> , L.SGG_CD <!-- 시군구 코드 -->
, L.TASK_SE_CD <!-- 업무 구분 코드 --> , L.TASK_SE_CD <!-- 업무 구분 코드 -->
, L.INST_CD <!-- 기관 코드 --> , (SELECT GET_CODE_NM('FIM054', L.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, L.DEPT_CD <!-- 부서 코드 --> , L.INST_CD <!-- 기관 코드 -->
, L.FYR <!-- 회계 연도 --> , L.DEPT_CD <!-- 부서 코드 -->
, L.ACNTG_SE_CD <!-- 회계 구분 코드 --> , L.FYR <!-- 회계 연도 -->
, L.TXITM_CD <!-- 세목 코드 --> , L.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, L.OPER_ITEM_CD <!-- 운영 항목 코드 --> , (SELECT GET_CODE_NM('FIM074', L.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM <!-- 회계 구분 명 -->
, L.SPCL_BIZ_CD <!-- 특별회계 사업 코드 --> , L.TXITM_CD <!-- 세목 코드 -->
, L.LEVY_NO <!-- 부과 번호 --> , (SELECT GET_CODE_NM('FIM075', L.TXITM_CD) FROM DUAL) AS TXITM_NM <!-- 세목 명 -->
, L.INSPY_SN <!-- 분납 일련번호 --> , L.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, L.LEVY_SE_CD <!-- 부과 구분 코드 --> , (SELECT GET_CODE_NM('FIM076', L.TXITM_CD+L.OPER_ITEM_CD) FROM DUAL) AS OPER_ITEM_NM <!-- 운영 항목 명 -->
, L.UNTY_SE_CD <!-- 통합 구분 코드 --> , L.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, L.RDUCT_SE_CD <!-- 감경 구분 코드 --> , (SELECT GET_CODE_NM('FIM077', L.SPCL_BIZ_CD) FROM DUAL) AS SPCL_BIZ_NM <!-- 특별회계 사업 명 -->
, L.INSPY_SE_NM <!-- 분납 구분 명 --> , L.LEVY_NO <!-- 부과 번호 -->
, L.LEVY_YMD <!-- 부과 일자 --> , L.INSPY_SN <!-- 분납 일련번호 -->
, L.FRST_DUDT_YMD <!-- 최초 납기 일자 --> , L.LEVY_SE_CD <!-- 부과 구분 코드 -->
, L.DUDT_YMD <!-- 납기 일자 --> , (SELECT GET_CODE_NM('FIM040', L.LEVY_SE_CD) FROM DUAL) AS LEVY_SE_NM <!-- 부과 구분 코드 -->
, L.DUDT_AFTR_YMD <!-- 납기 후 일자 --> , L.UNTY_SE_CD <!-- 통합 구분 코드 -->
, L.FFNLG_AMT <!-- 과태료 금액 --> , (SELECT GET_CODE_NM('FIM072', L.UNTY_SE_CD) FROM DUAL) AS UNTY_SE_NM <!-- 통합 구분 코드 -->
, L.LEVY_PCPTAX <!-- 부과 본세 --> , L.RDUCT_SE_CD <!-- 감경 구분 코드 -->
, L.LEVY_ADAMT <!-- 부과 가산금 --> , (SELECT GET_CODE_NM('FIM046', L.RDUCT_SE_CD) FROM DUAL) AS RDUCT_SE_NM <!-- 감경 구분 코드 -->
, L.INSPY_INT <!-- 분납 이자 --> , L.INSPY_SE_NM <!-- 분납 구분 명 -->
, L.RCVMT_PCPTAX <!-- 수납 본세 --> , L.LEVY_YMD <!-- 부과 일자 -->
, L.RCVMT_ADAMT <!-- 수납 가산금 --> , L.FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, L.RDCAMT_PCPTAX <!-- 감액 본세 --> , L.DUDT_YMD <!-- 납기 일자 -->
, L.RDCAMT_ADAMT <!-- 감액 가산금 --> , L.DUDT_AFTR_YMD <!-- 납기 후 일자 -->
, L.SUM_AMT <!-- 합계 금액 --> , L.FFNLG_AMT <!-- 과태료 금액 -->
, L.DUDT_AFTR_AMT <!-- 납기 후 금액 --> , L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.TXTN_THING <!-- 과세 물건 --> , L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.MNG_ITEM1 <!-- 관리 아이템1 --> , L.INSPY_INT <!-- 분납 이자 -->
, L.MNG_ITEM2 <!-- 관리 아이템2 --> , L.RCVMT_PCPTAX <!-- 수납 본세 -->
, L.MNG_ITEM3 <!-- 관리 아이템3 --> , L.RCVMT_ADAMT <!-- 수납 가산금 -->
, L.MNG_ITEM4 <!-- 관리 아이템4 --> , L.RDCAMT_PCPTAX <!-- 감액 본세 -->
, L.MNG_ITEM5 <!-- 관리 아이템5 --> , L.RDCAMT_ADAMT <!-- 감액 가산금 -->
, L.MNG_ITEM6 <!-- 관리 아이템6 --> , L.SUM_AMT <!-- 합계 금액 -->
, L.NPMNT_RSN_CD <!-- 체납 사유 코드 --> , L.DUDT_AFTR_AMT <!-- 납기 후 금액 -->
, L.RCVMT_YMD <!-- 수납 일자 --> , L.TXTN_THING <!-- 과세 물건 -->
, L.PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 --> , L.MNG_ITEM1 <!-- 관리 아이템1 -->
, L.SZR_YMD <!-- 압류 일자 --> , L.MNG_ITEM2 <!-- 관리 아이템2 -->
, L.SZR_THING <!-- 압류 물건 --> , L.MNG_ITEM3 <!-- 관리 아이템3 -->
, L.RPM_SZR_VHRNO <!-- 대체 압류 자동차등록번호 --> , L.MNG_ITEM4 <!-- 관리 아이템4 -->
, L.SZR_RMV_YMD <!-- 압류 해제 일자 --> , L.MNG_ITEM5 <!-- 관리 아이템5 -->
, L.SZR_RMV_RSN <!-- 압류 해제 사유 --> , L.MNG_ITEM6 <!-- 관리 아이템6 -->
, L.ETC_CN <!-- 기타 내용 --> , L.NPMNT_RSN_CD <!-- 체납 사유 코드 -->
, L.EPAYNO <!-- 전자납부번호 -->
, L.BANK_NM <!-- 은행 명 -->
, L.VR_ACTNO <!-- 가상 계좌번호 -->
, L.BANK_NM2 <!-- 은행 명 2 -->
, L.VR_ACTNO2 <!-- 가상 계좌번호 2 -->
, L.BANK_NM3 <!-- 은행 명 3 -->
, L.VR_ACTNO3 <!-- 가상 계좌번호 3 -->
, L.BANK_NM4 <!-- 은행 명 4 -->
, L.VR_ACTNO4 <!-- 가상 계좌번호 4 -->
, L.BANK_NM5 <!-- 은행 명 5 -->
, L.VR_ACTNO5 <!-- 가상 계좌번호 5 -->
, L.BANK_NM6 <!-- 은행 명 6 -->
, L.VR_ACTNO6 <!-- 가상 계좌번호 6 -->
, L.BANK_NM7 <!-- 은행 명 7 -->
, L.VR_ACTNO7 <!-- 가상 계좌번호 7 -->
, L.BANK_NM8 <!-- 은행 명 8 -->
, L.VR_ACTNO8 <!-- 가상 계좌번호 8 -->
, L.BANK_NM9 <!-- 은행 명 9 -->
, L.VR_ACTNO9 <!-- 가상 계좌번호 9 -->
, L.BANK_NM10 <!-- 은행 명 10 -->
, L.VR_ACTNO10 <!-- 가상 계좌번호 10 -->
, L.BANK_NM11 <!-- 은행 명 11 -->
, L.VR_ACTNO11 <!-- 가상 계좌번호 11 -->
, L.BANK_NM12 <!-- 은행 명 12 -->
, L.VR_ACTNO12 <!-- 가상 계좌번호 12 -->
, L.BANK_NM13 <!-- 은행 명 13 -->
, L.VR_ACTNO13 <!-- 가상 계좌번호 13 -->
, L.BANK_NM14 <!-- 은행 명 14 -->
, L.VR_ACTNO14 <!-- 가상 계좌번호 14 -->
, L.BANK_NM15 <!-- 은행 명 15 -->
, L.VR_ACTNO15 <!-- 가상 계좌번호 15 -->
, L.BANK_NM16 <!-- 은행 명 16 -->
, L.VR_ACTNO16 <!-- 가상 계좌번호 16 -->
, L.BANK_NM17 <!-- 은행 명 17 -->
, L.VR_ACTNO17 <!-- 가상 계좌번호 17 -->
, L.BANK_NM18 <!-- 은행 명 18 -->
, L.VR_ACTNO18 <!-- 가상 계좌번호 18 -->
, L.BANK_NM19 <!-- 은행 명 19 -->
, L.VR_ACTNO19 <!-- 가상 계좌번호 19 -->
, L.BANK_NM20 <!-- 은행 명 20 -->
, L.VR_ACTNO20 <!-- 가상 계좌번호 20 -->
, L.NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, L.DEL_YN <!-- 삭제 여부 -->
, L.REG_DT <!-- 등록 일시 -->
, L.RGTR <!-- 등록자 -->
, L.MDFCN_DT <!-- 수정 일시 -->
, L.MDFR <!-- 수정자 -->
, L.DEL_DT <!-- 삭제 일시 -->
, L.DLTR <!-- 삭제자 -->
, (SELECT GET_CODE_NM('FIM074', L.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM <!-- 회계 구분 명 -->
, (SELECT GET_CODE_NM('FIM075', L.TXITM_CD) FROM DUAL) AS TXITM_NM <!-- 세목 코드 명 -->
, (SELECT GET_CODE_NM('FIM077', L.SPCL_BIZ_CD) FROM DUAL) AS SPCL_BIZ_NM <!-- 특별회계 사업 코드 명 -->
, (SELECT GET_CODE_NM('FIM040', L.LEVY_SE_CD) FROM DUAL) AS LEVY_SE_NM <!-- 부과 구분 코드 -->
, (SELECT GET_CODE_NM('FIM072', L.UNTY_SE_CD) FROM DUAL) AS UNTY_SE_NM <!-- 통합 구분 코드 -->
, (SELECT GET_CODE_NM('FIM046', L.RDUCT_SE_CD) FROM DUAL) AS RDUCT_SE_NM <!-- 감경 구분 코드 -->
, (SELECT GET_MASK_EPAYNO(L.EPAYNO) FROM DUAL) AS EPAYNO_MASK <!-- 전자납부번호 마스크 -->
, (SELECT GET_CODE_NM('FIM043', L.NPMNT_RSN_CD) FROM DUAL) AS NPMNT_RSN_NM <!-- 체납 사유 명 --> , (SELECT GET_CODE_NM('FIM043', L.NPMNT_RSN_CD) FROM DUAL) AS NPMNT_RSN_NM <!-- 체납 사유 명 -->
, L.RCVMT_YMD <!-- 수납 일자 -->
, L.PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 -->
, (SELECT GET_CODE_NM('FIM045', L.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM <!-- 납부 방법 구분 명 --> , (SELECT GET_CODE_NM('FIM045', L.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM <!-- 납부 방법 구분 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.RGTR) AS RGTR_NM <!-- 등록자 명 --> , L.SZR_YMD <!-- 압류 일자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.MDFR) AS MDFR_NM <!-- 수정자 명 --> , L.SZR_THING <!-- 압류 물건 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.DLTR) AS DLTR_NM <!-- 삭제자 명 --> , L.RPM_SZR_VHRNO <!-- 대체 압류 자동차등록번호 -->
, C.CRDN_ID <!-- 단속 ID --> , L.SZR_RMV_YMD <!-- 압류 해제 일자 -->
, C.VHRNO <!-- 차량번호 --> , L.SZR_RMV_RSN <!-- 압류 해제 사유 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 --> , L.ETC_CN <!-- 기타 내용 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 --> , L.EPAYNO <!-- 전자납부번호 -->
, C.CRDN_PLC <!-- 단속 장소 --> , (SELECT GET_MASK_EPAYNO(L.EPAYNO) FROM DUAL) AS EPAYNO_MASK <!-- 전자납부번호 마스크 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 --> , L.BANK_NM <!-- 은행 명 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 --> , L.VR_ACTNO <!-- 가상 계좌번호 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 --> , L.BANK_NM2 <!-- 은행 명 2 -->
, L.VR_ACTNO2 <!-- 가상 계좌번호 2 -->
, L.BANK_NM3 <!-- 은행 명 3 -->
, L.VR_ACTNO3 <!-- 가상 계좌번호 3 -->
, L.BANK_NM4 <!-- 은행 명 4 -->
, L.VR_ACTNO4 <!-- 가상 계좌번호 4 -->
, L.BANK_NM5 <!-- 은행 명 5 -->
, L.VR_ACTNO5 <!-- 가상 계좌번호 5 -->
, L.BANK_NM6 <!-- 은행 명 6 -->
, L.VR_ACTNO6 <!-- 가상 계좌번호 6 -->
, L.BANK_NM7 <!-- 은행 명 7 -->
, L.VR_ACTNO7 <!-- 가상 계좌번호 7 -->
, L.BANK_NM8 <!-- 은행 명 8 -->
, L.VR_ACTNO8 <!-- 가상 계좌번호 8 -->
, L.BANK_NM9 <!-- 은행 명 9 -->
, L.VR_ACTNO9 <!-- 가상 계좌번호 9 -->
, L.BANK_NM10 <!-- 은행 명 10 -->
, L.VR_ACTNO10 <!-- 가상 계좌번호 10 -->
, L.BANK_NM11 <!-- 은행 명 11 -->
, L.VR_ACTNO11 <!-- 가상 계좌번호 11 -->
, L.BANK_NM12 <!-- 은행 명 12 -->
, L.VR_ACTNO12 <!-- 가상 계좌번호 12 -->
, L.BANK_NM13 <!-- 은행 명 13 -->
, L.VR_ACTNO13 <!-- 가상 계좌번호 13 -->
, L.BANK_NM14 <!-- 은행 명 14 -->
, L.VR_ACTNO14 <!-- 가상 계좌번호 14 -->
, L.BANK_NM15 <!-- 은행 명 15 -->
, L.VR_ACTNO15 <!-- 가상 계좌번호 15 -->
, L.BANK_NM16 <!-- 은행 명 16 -->
, L.VR_ACTNO16 <!-- 가상 계좌번호 16 -->
, L.BANK_NM17 <!-- 은행 명 17 -->
, L.VR_ACTNO17 <!-- 가상 계좌번호 17 -->
, L.BANK_NM18 <!-- 은행 명 18 -->
, L.VR_ACTNO18 <!-- 가상 계좌번호 18 -->
, L.BANK_NM19 <!-- 은행 명 19 -->
, L.VR_ACTNO19 <!-- 가상 계좌번호 19 -->
, L.BANK_NM20 <!-- 은행 명 20 -->
, L.VR_ACTNO20 <!-- 가상 계좌번호 20 -->
, L.NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, L.DEL_YN <!-- 삭제 여부 -->
, L.REG_DT <!-- 등록 일시 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, L.MDFCN_DT <!-- 수정 일시 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 --> , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 --> , (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 --> , C.VHRNO <!-- 차량번호 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 --> , C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, V.VLTN_ID <!-- 위반 ID --> , C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, V.VLTN_CD <!-- 위반 코드 --> , C.CRDN_PLC <!-- 단속 장소 -->
, V.VLTN_ARTCL <!-- 위반 항목 --> , C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, P.RTPYR_ID <!-- 납부자 ID --> , C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 --> , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, P.RTPYR_NO <!-- 납부자 번호 --> , C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, P.RTPYR_NM <!-- 납부자 명 --> , V.VLTN_ID <!-- 위반 ID -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 --> , V.VLTN_CD <!-- 위반 코드 -->
, P.ZIP <!-- 우편번호 --> , V.VLTN_ARTCL <!-- 위반 항목 -->
, P.ADDR <!-- 주소 --> , P.RTPYR_ID <!-- 납부자 ID -->
, P.DTL_ADDR <!-- 상세 주소 --> , P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 --> , (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 --> , P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
FROM TB_LEVY L FROM TB_LEVY L
INNER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID) INNER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID) INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
@ -563,6 +558,7 @@
AND FYR = #{fyr} AND FYR = #{fyr}
AND ACNTG_SE_CD = #{acntgSeCd} AND ACNTG_SE_CD = #{acntgSeCd}
AND TXITM_CD = #{txitmCd} AND TXITM_CD = #{txitmCd}
AND OPER_ITEM_CD = #{operItemCd}
</select> </select>
<select id="selectLevyAmt" parameterType="map" resultType="dataobject">/* 부과 금액 가져오기(levyMapper.selectLevyAmt) */ <select id="selectLevyAmt" parameterType="map" resultType="dataobject">/* 부과 금액 가져오기(levyMapper.selectLevyAmt) */
@ -610,202 +606,202 @@
<insert id="insertLevy" parameterType="map">/* 부과 대장 등록(levyMapper.insertLevy) */ <insert id="insertLevy" parameterType="map">/* 부과 대장 등록(levyMapper.insertLevy) */
<selectKey resultType="string" keyProperty="levy.levyId" keyColumn="NEW_ID" order="BEFORE"> <selectKey resultType="string" keyProperty="levy.levyId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(LEVY_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID SELECT CONCAT(#{levy.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(LEVY_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID
FROM TB_LEVY FROM TB_LEVY
WHERE LEVY_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') WHERE LEVY_ID LIKE CONCAT(#{levy.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey> </selectKey>
INSERT INSERT
INTO TB_LEVY ( INTO TB_LEVY (
LEVY_ID <!-- 부과 ID --> LEVY_ID <!-- 부과 ID -->
, SGG_CD <!-- 시군구 코드 --> , SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 --> , TASK_SE_CD <!-- 업무 구분 코드 -->
, CRDN_ID <!-- 단속 ID --> , CRDN_ID <!-- 단속 ID -->
, INST_CD <!-- 기관 코드 --> , INST_CD <!-- 기관 코드 -->
, DEPT_CD <!-- 부서 코드 --> , DEPT_CD <!-- 부서 코드 -->
, FYR <!-- 회계 연도 --> , FYR <!-- 회계 연도 -->
, ACNTG_SE_CD <!-- 회계 구분 --> , ACNTG_SE_CD <!-- 회계 구분 -->
, TXITM_CD <!-- 세목 코드 --> , TXITM_CD <!-- 세목 코드 -->
, OPER_ITEM_CD <!-- 운영 항목 코드 --> , OPER_ITEM_CD <!-- 운영 항목 코드 -->
, SPCL_BIZ_CD <!-- 특별회계 사업 코드 --> , SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, LEVY_NO <!-- 부과 번호 --> , LEVY_NO <!-- 부과 번호 -->
, INSPY_SN <!-- 분납 일련번호 --> , INSPY_SN <!-- 분납 일련번호 -->
, LEVY_SE_CD <!-- 부과 구분 코드 --> , LEVY_SE_CD <!-- 부과 구분 코드 -->
, UNTY_SE_CD <!-- 통합 구분 코드 --> , UNTY_SE_CD <!-- 통합 구분 코드 -->
, RDUCT_SE_CD <!-- 감경 구분 코드 --> , RDUCT_SE_CD <!-- 감경 구분 코드 -->
, INSPY_SE_NM <!-- 분납 구분 명 --> , INSPY_SE_NM <!-- 분납 구분 명 -->
, LEVY_YMD <!-- 부과 일자 --> , LEVY_YMD <!-- 부과 일자 -->
, FRST_DUDT_YMD <!-- 최초 납기 일자 --> , FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, DUDT_YMD <!-- 납기 일자 --> , DUDT_YMD <!-- 납기 일자 -->
, DUDT_AFTR_YMD <!-- 납기 후 일자 --> , DUDT_AFTR_YMD <!-- 납기 후 일자 -->
, FFNLG_AMT <!-- 과태료 금액 --> , FFNLG_AMT <!-- 과태료 금액 -->
, LEVY_PCPTAX <!-- 부과 본세 --> , LEVY_PCPTAX <!-- 부과 본세 -->
, LEVY_ADAMT <!-- 부과 가산금 --> , LEVY_ADAMT <!-- 부과 가산금 -->
, INSPY_INT <!-- 분납 이자 --> , INSPY_INT <!-- 분납 이자 -->
, RCVMT_PCPTAX <!-- 수납 본세 --> , RCVMT_PCPTAX <!-- 수납 본세 -->
, RCVMT_ADAMT <!-- 수납 가산금 --> , RCVMT_ADAMT <!-- 수납 가산금 -->
, RDCAMT_PCPTAX <!-- 감액 본세 --> , RDCAMT_PCPTAX <!-- 감액 본세 -->
, RDCAMT_ADAMT <!-- 감액 가산금 --> , RDCAMT_ADAMT <!-- 감액 가산금 -->
, SUM_AMT <!-- 합계 금액 --> , SUM_AMT <!-- 합계 금액 -->
, DUDT_AFTR_AMT <!-- 납기 후 금액 --> , DUDT_AFTR_AMT <!-- 납기 후 금액 -->
, TXTN_THING <!-- 과세 물건 --> , TXTN_THING <!-- 과세 물건 -->
, MNG_ITEM1 <!-- 관리 아이템1 --> , MNG_ITEM1 <!-- 관리 아이템1 -->
, MNG_ITEM2 <!-- 관리 아이템2 --> , MNG_ITEM2 <!-- 관리 아이템2 -->
, MNG_ITEM3 <!-- 관리 아이템3 --> , MNG_ITEM3 <!-- 관리 아이템3 -->
, MNG_ITEM4 <!-- 관리 아이템4 --> , MNG_ITEM4 <!-- 관리 아이템4 -->
, MNG_ITEM5 <!-- 관리 아이템5 --> , MNG_ITEM5 <!-- 관리 아이템5 -->
, MNG_ITEM6 <!-- 관리 아이템6 --> , MNG_ITEM6 <!-- 관리 아이템6 -->
, NPMNT_RSN_CD <!-- 체납 사유 코드 --> , NPMNT_RSN_CD <!-- 체납 사유 코드 -->
, RCVMT_YMD <!-- 수납 일자 --> , RCVMT_YMD <!-- 수납 일자 -->
, PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 --> , PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 -->
, SZR_YMD <!-- 압류 일자 --> , SZR_YMD <!-- 압류 일자 -->
, SZR_THING <!-- 압류 물건 --> , SZR_THING <!-- 압류 물건 -->
, RPM_SZR_VHRNO <!-- 대체 압류 자동차등록번호 --> , RPM_SZR_VHRNO <!-- 대체 압류 자동차등록번호 -->
, SZR_RMV_YMD <!-- 압류 해제 일자 --> , SZR_RMV_YMD <!-- 압류 해제 일자 -->
, SZR_RMV_RSN <!-- 압류 해제 사유 --> , SZR_RMV_RSN <!-- 압류 해제 사유 -->
, ETC_CN <!-- 기타 내용 --> , ETC_CN <!-- 기타 내용 -->
, EPAYNO <!-- 전자납부번호 --> , EPAYNO <!-- 전자납부번호 -->
, BANK_NM <!-- 은행 명 --> , BANK_NM <!-- 은행 명 -->
, VR_ACTNO <!-- 가상 계좌번호 --> , VR_ACTNO <!-- 가상 계좌번호 -->
, BANK_NM2 <!-- 은행 명2 --> , BANK_NM2 <!-- 은행 명2 -->
, VR_ACTNO2 <!-- 가상 계좌번호2 --> , VR_ACTNO2 <!-- 가상 계좌번호2 -->
, BANK_NM3 <!-- 은행 명3 --> , BANK_NM3 <!-- 은행 명3 -->
, VR_ACTNO3 <!-- 가상 계좌번호3 --> , VR_ACTNO3 <!-- 가상 계좌번호3 -->
, BANK_NM4 <!-- 은행 명4 --> , BANK_NM4 <!-- 은행 명4 -->
, VR_ACTNO4 <!-- 가상 계좌번호4 --> , VR_ACTNO4 <!-- 가상 계좌번호4 -->
, BANK_NM5 <!-- 은행 명5 --> , BANK_NM5 <!-- 은행 명5 -->
, VR_ACTNO5 <!-- 가상 계좌번호5 --> , VR_ACTNO5 <!-- 가상 계좌번호5 -->
, BANK_NM6 <!-- 은행 명6 --> , BANK_NM6 <!-- 은행 명6 -->
, VR_ACTNO6 <!-- 가상 계좌번호6 --> , VR_ACTNO6 <!-- 가상 계좌번호6 -->
, BANK_NM7 <!-- 은행 명7 --> , BANK_NM7 <!-- 은행 명7 -->
, VR_ACTNO7 <!-- 가상 계좌번호7 --> , VR_ACTNO7 <!-- 가상 계좌번호7 -->
, BANK_NM8 <!-- 은행 명8 --> , BANK_NM8 <!-- 은행 명8 -->
, VR_ACTNO8 <!-- 가상 계좌번호8 --> , VR_ACTNO8 <!-- 가상 계좌번호8 -->
, BANK_NM9 <!-- 은행 명9 --> , BANK_NM9 <!-- 은행 명9 -->
, VR_ACTNO9 <!-- 가상 계좌번호9 --> , VR_ACTNO9 <!-- 가상 계좌번호9 -->
, BANK_NM10 <!-- 은행 명10 --> , BANK_NM10 <!-- 은행 명10 -->
, VR_ACTNO10 <!-- 가상 계좌번호10 --> , VR_ACTNO10 <!-- 가상 계좌번호10 -->
, BANK_NM11 <!-- 은행 명11 --> , BANK_NM11 <!-- 은행 명11 -->
, VR_ACTNO11 <!-- 가상 계좌번호11 --> , VR_ACTNO11 <!-- 가상 계좌번호11 -->
, BANK_NM12 <!-- 은행 명 12 --> , BANK_NM12 <!-- 은행 명 12 -->
, VR_ACTNO12 <!-- 가상 계좌번호 12 --> , VR_ACTNO12 <!-- 가상 계좌번호 12 -->
, BANK_NM13 <!-- 은행 명 13 --> , BANK_NM13 <!-- 은행 명 13 -->
, VR_ACTNO13 <!-- 가상 계좌번호 13 --> , VR_ACTNO13 <!-- 가상 계좌번호 13 -->
, BANK_NM14 <!-- 은행 명 14 --> , BANK_NM14 <!-- 은행 명 14 -->
, VR_ACTNO14 <!-- 가상 계좌번호 14 --> , VR_ACTNO14 <!-- 가상 계좌번호 14 -->
, BANK_NM15 <!-- 은행 명 15 --> , BANK_NM15 <!-- 은행 명 15 -->
, VR_ACTNO15 <!-- 가상 계좌번호 15 --> , VR_ACTNO15 <!-- 가상 계좌번호 15 -->
, BANK_NM16 <!-- 은행 명 16 --> , BANK_NM16 <!-- 은행 명 16 -->
, VR_ACTNO16 <!-- 가상 계좌번호 16 --> , VR_ACTNO16 <!-- 가상 계좌번호 16 -->
, BANK_NM17 <!-- 은행 명 17 --> , BANK_NM17 <!-- 은행 명 17 -->
, VR_ACTNO17 <!-- 가상 계좌번호 17 --> , VR_ACTNO17 <!-- 가상 계좌번호 17 -->
, BANK_NM18 <!-- 은행 명 18 --> , BANK_NM18 <!-- 은행 명 18 -->
, VR_ACTNO18 <!-- 가상 계좌번호 18 --> , VR_ACTNO18 <!-- 가상 계좌번호 18 -->
, BANK_NM19 <!-- 은행 명 19 --> , BANK_NM19 <!-- 은행 명 19 -->
, VR_ACTNO19 <!-- 가상 계좌번호 19 --> , VR_ACTNO19 <!-- 가상 계좌번호 19 -->
, BANK_NM20 <!-- 은행 명 20 --> , BANK_NM20 <!-- 은행 명 20 -->
, VR_ACTNO20 <!-- 가상 계좌번호 20 --> , VR_ACTNO20 <!-- 가상 계좌번호 20 -->
, NXRP_LEVY_KEY <!-- 세외수입 부과 키 --> , NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, DEL_YN <!-- 삭제 여부 --> , DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 --> , REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 --> , RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 --> , MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 --> , MDFR <!-- 수정자 -->
) )
VALUES ( VALUES (
#{levy.levyId} <!-- 부과 ID --> #{levy.levyId} <!-- 부과 ID -->
, #{levy.sggCd} <!-- 시군구 코드 --> , #{levy.sggCd} <!-- 시군구 코드 -->
, #{levy.taskSeCd} <!-- 업무 구분 코드 --> , #{levy.taskSeCd} <!-- 업무 구분 코드 -->
, #{levy.crdnId} <!-- 단속 ID --> , #{levy.crdnId} <!-- 단속 ID -->
, #{levy.instCd} <!-- 기관 코드 --> , #{levy.instCd} <!-- 기관 코드 -->
, #{levy.deptCd} <!-- 부서 코드 --> , #{levy.deptCd} <!-- 부서 코드 -->
, #{levy.fyr} <!-- 회계 연도 --> , #{levy.fyr} <!-- 회계 연도 -->
, #{levy.acntgSeCd} <!-- 회계 구분 --> , #{levy.acntgSeCd} <!-- 회계 구분 -->
, #{levy.txitmCd} <!-- 세목 코드 --> , #{levy.txitmCd} <!-- 세목 코드 -->
, #{levy.operItemCd} <!-- 운영 항목 코드 --> , #{levy.operItemCd} <!-- 운영 항목 코드 -->
, #{levy.spclBizCd} <!-- 특별회계 사업 코드 --> , #{levy.spclBizCd} <!-- 특별회계 사업 코드 -->
, #{levy.levyNo} <!-- 부과 번호 --> , #{levy.levyNo} <!-- 부과 번호 -->
, #{levy.inspySn} <!-- 분납 일련번호 --> , #{levy.inspySn} <!-- 분납 일련번호 -->
, #{levy.levySeCd} <!-- 부과 구분 코드 --> , #{levy.levySeCd} <!-- 부과 구분 코드 -->
, #{levy.untySeCd} <!-- 통합 구분 코드 --> , #{levy.untySeCd} <!-- 통합 구분 코드 -->
, #{levy.rductSeCd} <!-- 감경 구분 코드 --> , #{levy.rductSeCd} <!-- 감경 구분 코드 -->
, #{levy.inspySeNm} <!-- 분납 구분 명 --> , #{levy.inspySeNm} <!-- 분납 구분 명 -->
, #{levy.levyYmd} <!-- 부과 일자 --> , #{levy.levyYmd} <!-- 부과 일자 -->
, #{levy.frstDudtYmd} <!-- 최초 납기 일자 --> , #{levy.frstDudtYmd} <!-- 최초 납기 일자 -->
, #{levy.dudtYmd} <!-- 납기 일자 --> , #{levy.dudtYmd} <!-- 납기 일자 -->
, #{levy.dudtAftrYmd} <!-- 납기 후 일자 --> , #{levy.dudtAftrYmd} <!-- 납기 후 일자 -->
, #{levy.ffnlgAmt} <!-- 과태료 금액 --> , #{levy.ffnlgAmt} <!-- 과태료 금액 -->
, #{levy.levyPcptax} <!-- 부과 본세 --> , #{levy.levyPcptax} <!-- 부과 본세 -->
, #{levy.levyAdamt} <!-- 부과 가산금 --> , #{levy.levyAdamt} <!-- 부과 가산금 -->
, #{levy.inspyInt} <!-- 분납 이자 --> , #{levy.inspyInt} <!-- 분납 이자 -->
, #{levy.rcvmtPcptax} <!-- 수납 본세 --> , #{levy.rcvmtPcptax} <!-- 수납 본세 -->
, #{levy.rcvmtAdamt} <!-- 수납 가산금 --> , #{levy.rcvmtAdamt} <!-- 수납 가산금 -->
, #{levy.rdcamtPcptax} <!-- 감액 본세 --> , #{levy.rdcamtPcptax} <!-- 감액 본세 -->
, #{levy.rdcamtAdamt} <!-- 감액 가산금 --> , #{levy.rdcamtAdamt} <!-- 감액 가산금 -->
, #{levy.sumAmt} <!-- 합계 금액 --> , #{levy.sumAmt} <!-- 합계 금액 -->
, #{levy.dudtAftrAmt} <!-- 납기 후 금액 --> , #{levy.dudtAftrAmt} <!-- 납기 후 금액 -->
, #{levy.txtnThing} <!-- 과세 물건 --> , #{levy.txtnThing} <!-- 과세 물건 -->
, #{levy.mngItem1} <!-- 관리 아이템1 --> , #{levy.mngItem1} <!-- 관리 아이템1 -->
, #{levy.mngItem2} <!-- 관리 아이템2 --> , #{levy.mngItem2} <!-- 관리 아이템2 -->
, #{levy.mngItem3} <!-- 관리 아이템3 --> , #{levy.mngItem3} <!-- 관리 아이템3 -->
, #{levy.mngItem4} <!-- 관리 아이템4 --> , #{levy.mngItem4} <!-- 관리 아이템4 -->
, #{levy.mngItem5} <!-- 관리 아이템5 --> , #{levy.mngItem5} <!-- 관리 아이템5 -->
, #{levy.mngItem6} <!-- 관리 아이템6 --> , #{levy.mngItem6} <!-- 관리 아이템6 -->
, #{levy.npmntRsnCd} <!-- 체납 사유 코드 --> , #{levy.npmntRsnCd} <!-- 체납 사유 코드 -->
, #{levy.rcvmtYmd} <!-- 수납 일자 --> , #{levy.rcvmtYmd} <!-- 수납 일자 -->
, #{levy.payMthdSeCd} <!-- 납부 방법 구분 코드 --> , #{levy.payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, #{levy.szrYmd} <!-- 압류 일자 --> , #{levy.szrYmd} <!-- 압류 일자 -->
, #{levy.szrThing} <!-- 압류 물건 --> , #{levy.szrThing} <!-- 압류 물건 -->
, #{levy.rpmSzrVhrno} <!-- 대체 압류 자동차등록번호 --> , #{levy.rpmSzrVhrno} <!-- 대체 압류 자동차등록번호 -->
, #{levy.szrRmvYmd} <!-- 압류 해제 일자 --> , #{levy.szrRmvYmd} <!-- 압류 해제 일자 -->
, #{levy.szrRmvRsn} <!-- 압류 해제 사유 --> , #{levy.szrRmvRsn} <!-- 압류 해제 사유 -->
, #{levy.etcCn} <!-- 기타 내용 --> , #{levy.etcCn} <!-- 기타 내용 -->
, #{levy.epayno} <!-- 전자납부번호 --> , #{levy.epayno} <!-- 전자납부번호 -->
, #{levy.bankNm} <!-- 은행 명 --> , #{levy.bankNm} <!-- 은행 명 -->
, #{levy.vrActno} <!-- 가상 계좌번호 --> , #{levy.vrActno} <!-- 가상 계좌번호 -->
, #{levy.bankNm2} <!-- 은행 명2 --> , #{levy.bankNm2} <!-- 은행 명2 -->
, #{levy.vrActno2} <!-- 가상 계좌번호2 --> , #{levy.vrActno2} <!-- 가상 계좌번호2 -->
, #{levy.bankNm3} <!-- 은행 명3 --> , #{levy.bankNm3} <!-- 은행 명3 -->
, #{levy.vrActno3} <!-- 가상 계좌번호3 --> , #{levy.vrActno3} <!-- 가상 계좌번호3 -->
, #{levy.bankNm4} <!-- 은행 명4 --> , #{levy.bankNm4} <!-- 은행 명4 -->
, #{levy.vrActno4} <!-- 가상 계좌번호4 --> , #{levy.vrActno4} <!-- 가상 계좌번호4 -->
, #{levy.bankNm5} <!-- 은행 명5 --> , #{levy.bankNm5} <!-- 은행 명5 -->
, #{levy.vrActno5} <!-- 가상 계좌번호5 --> , #{levy.vrActno5} <!-- 가상 계좌번호5 -->
, #{levy.bankNm6} <!-- 은행 명6 --> , #{levy.bankNm6} <!-- 은행 명6 -->
, #{levy.vrActno6} <!-- 가상 계좌번호6 --> , #{levy.vrActno6} <!-- 가상 계좌번호6 -->
, #{levy.bankNm7} <!-- 은행 명7 --> , #{levy.bankNm7} <!-- 은행 명7 -->
, #{levy.vrActno7} <!-- 가상 계좌번호7 --> , #{levy.vrActno7} <!-- 가상 계좌번호7 -->
, #{levy.bankNm8} <!-- 은행 명8 --> , #{levy.bankNm8} <!-- 은행 명8 -->
, #{levy.vrActno8} <!-- 가상 계좌번호8 --> , #{levy.vrActno8} <!-- 가상 계좌번호8 -->
, #{levy.bankNm9} <!-- 은행 명9 --> , #{levy.bankNm9} <!-- 은행 명9 -->
, #{levy.vrActno9} <!-- 가상 계좌번호9 --> , #{levy.vrActno9} <!-- 가상 계좌번호9 -->
, #{levy.bankNm10} <!-- 은행 명10 --> , #{levy.bankNm10} <!-- 은행 명10 -->
, #{levy.vrActno10} <!-- 가상 계좌번호10 --> , #{levy.vrActno10} <!-- 가상 계좌번호10 -->
, #{levy.bankNm11} <!-- 은행 명11 --> , #{levy.bankNm11} <!-- 은행 명11 -->
, #{levy.vrActno11} <!-- 가상 계좌번호11 --> , #{levy.vrActno11} <!-- 가상 계좌번호11 -->
, #{levy.bankNm12} <!-- 은행 명12 --> , #{levy.bankNm12} <!-- 은행 명12 -->
, #{levy.vrActno12} <!-- 가상 계좌번호12 --> , #{levy.vrActno12} <!-- 가상 계좌번호12 -->
, #{levy.bankNm13} <!-- 은행 명13 --> , #{levy.bankNm13} <!-- 은행 명13 -->
, #{levy.vrActno13} <!-- 가상 계좌번호13 --> , #{levy.vrActno13} <!-- 가상 계좌번호13 -->
, #{levy.bankNm14} <!-- 은행 명14 --> , #{levy.bankNm14} <!-- 은행 명14 -->
, #{levy.vrActno14} <!-- 가상 계좌번호14 --> , #{levy.vrActno14} <!-- 가상 계좌번호14 -->
, #{levy.bankNm15} <!-- 은행 명15 --> , #{levy.bankNm15} <!-- 은행 명15 -->
, #{levy.vrActno15} <!-- 가상 계좌번호15 --> , #{levy.vrActno15} <!-- 가상 계좌번호15 -->
, #{levy.bankNm16} <!-- 은행 명16 --> , #{levy.bankNm16} <!-- 은행 명16 -->
, #{levy.vrActno16} <!-- 가상 계좌번호16 --> , #{levy.vrActno16} <!-- 가상 계좌번호16 -->
, #{levy.bankNm17} <!-- 은행 명17 --> , #{levy.bankNm17} <!-- 은행 명17 -->
, #{levy.vrActno17} <!-- 가상 계좌번호17 --> , #{levy.vrActno17} <!-- 가상 계좌번호17 -->
, #{levy.bankNm18} <!-- 은행 명18 --> , #{levy.bankNm18} <!-- 은행 명18 -->
, #{levy.vrActno18} <!-- 가상 계좌번호18 --> , #{levy.vrActno18} <!-- 가상 계좌번호18 -->
, #{levy.bankNm19} <!-- 은행 명19 --> , #{levy.bankNm19} <!-- 은행 명19 -->
, #{levy.vrActno19} <!-- 가상 계좌번호19 --> , #{levy.vrActno19} <!-- 가상 계좌번호19 -->
, #{levy.bankNm20} <!-- 은행 명20 --> , #{levy.bankNm20} <!-- 은행 명20 -->
, #{levy.vrActno20} <!-- 가상 계좌번호20 --> , #{levy.vrActno20} <!-- 가상 계좌번호20 -->
, #{levy.nxrpLevyKey} <!-- 세외수입 부과 키 --> , #{levy.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, 'N' <!-- 삭제 여부 --> , 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 --> , <include refid="utility.now" /> <!-- 등록 일시 -->
, #{levy.createdBy} <!-- 등록자 --> , #{levy.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 --> , <include refid="utility.now" /> <!-- 수정 일시 -->
, #{levy.modifiedBy} <!-- 수정자 --> , #{levy.modifiedBy} <!-- 수정자 -->
) )
</insert> </insert>
@ -963,52 +959,34 @@
, C.SGG_CD <!-- 시군구 코드 --> , C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 --> , C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 --> , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CVLCPT_LINK_YN
, C.LINK_TBL_NM
, C.LINK_ID
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 --> , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, C.VHRNO <!-- 차량번호 --> , C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 --> , C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 --> , C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 --> , C.CRDN_PLC <!-- 단속 장소 -->
, C.VLTN_ID <!-- 위반 ID --> , C.VLTN_ID <!-- 위반 ID -->
, C.GPS_X
, C.GPS_Y
, C.ATCH_FILE_CNT
, C.VIN
, C.VHCL_NM
, C.VHCL_COLOR
, C.FFNLG_CRDN_AMT , C.FFNLG_CRDN_AMT
, C.FFNLG_RDUCT_RT , C.FFNLG_RDUCT_RT
, C.FFNLG_AMT , C.FFNLG_AMT
, C.ADVNTCE_BGNG_YMD , C.ADVNTCE_BGNG_YMD
, C.ADVNTCE_DUDT_YMD , C.ADVNTCE_DUDT_YMD
, C.ADVNTCE_AMT , C.ADVNTCE_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_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.CRDN_STTS_CHG_DT , V.VLTN_CD <!-- 위반 코드 -->
, C.ADTN_AMT , V.VLTN_ARTCL <!-- 위반 항목 -->
, C.MINUS_AMT , V.VLTN_LAW_NM <!-- 위반 법 명 -->
, C.RCVMT_AMT , V.VLTN_LAW1 <!-- 위반 법1 -->
, V.VLTN_CD <!-- 위반 코드 --> , V.VLTN_LAW2 <!-- 위반 법2 -->
, V.VLTN_ARTCL <!-- 위반 항목 --> , V.VLTN_LAW_ETC <!-- 위반 법 기타 -->
, V.VLTN_LAW_NM <!-- 위반 법 명 --> , V.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, V.VLTN_LAW1 <!-- 위반 법1 --> , V.TXITM_CD <!-- 세목 코드 -->
, V.VLTN_LAW2 <!-- 위반 법2 --> , V.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, V.VLTN_LAW_ETC <!-- 위반 법 기타 --> , V.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, V.ACNTG_SE_CD <!-- 회계 구분 코드 --> , P.RTPYR_ID <!-- 납부자 ID -->
, V.TXITM_CD <!-- 세목 코드 --> , P.RTPYR_NO <!-- 납부자 번호 -->
, V.OPER_ITEM_CD <!-- 운영 항목 코드 --> , P.RTPYR_NM <!-- 납부자 명 -->
, V.SPCL_BIZ_CD <!-- 특별회계 사업 코드 --> , L.LEVY_ID <!-- 부과 ID -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_STTS_CD <!-- 납부자 상태 코드 -->
, (SELECT GET_CODE_NM('FIM014', P.RTPYR_STTS_CD) FROM DUAL) AS RTPYR_STTS_NM <!-- 납부자 상태 명 -->
, L.LEVY_ID <!-- 부과 ID -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
FROM TB_CRDN C FROM TB_CRDN C
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID) INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)

@ -61,17 +61,17 @@
, CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 --> , CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
, CA.PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 --> , CA.PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 -->
, (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM <!-- 단속 구분 명 --> , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM <!-- 단속 구분 명 -->
, (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM <!-- 단속 특별구역 명 --> , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM <!-- 단속 특별구역 명 -->
, (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM <!-- 주차 가능 결과 명 --> , (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM <!-- 주차 가능 결과 명 -->
, P.RTPYR_ID <!-- 납부자 ID --> , P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 --> , P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NO <!-- 납부자 번호 --> , P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 --> , P.RTPYR_NM <!-- 납부자 명 -->
, P.ZIP <!-- 우편번호 --> , P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 --> , P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 --> , P.DTL_ADDR <!-- 상세 주소 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 --> , (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
, (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
, L.LEVY_ID <!-- 부과 ID --> , L.LEVY_ID <!-- 부과 ID -->
, L.LEVY_PCPTAX <!-- 부과 본세 --> , L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 --> , L.LEVY_ADAMT <!-- 부과 가산금 -->

@ -1,20 +1,21 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">납부자 정보</c:set>
<!-- inner page html --> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">납부자 정보</c:set>
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" /> <input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" /> <input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" />
<input type="hidden" id="rtpyrInptSeCd--${pageName}" name="rtpyrInptSeCd" data-map="RTPYR_INPT_SE_CD" /> <input type="hidden" id="rtpyrInptSeCd--${pageName}" name="rtpyrInptSeCd" data-map="RTPYR_INPT_SE_CD" />
@ -28,7 +29,7 @@
<div class="col-md-6"> <div class="col-md-6">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-25" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly /> <input type="text" class="form-control w-25" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnVehicle--${pageName}" title="차량 검색" onclick="fnVehicle${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnVehicle--${pageName}" title="차량 검색"">
검색 검색
</button> </button>
</div> </div>
@ -82,7 +83,7 @@
<label for="addr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">주소</label> <label for="addr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">주소</label>
<input type="text" class="form-control w-70" id="addr--${pageName}" name="addr" data-map="ADDR" required /> <input type="text" class="form-control w-70" id="addr--${pageName}" name="addr" data-map="ADDR" required />
<input type="text" class="form-control w-px-75" id="zip--${pageName}" name="zip" data-map="ZIP" required /> <input type="text" class="form-control w-px-75" id="zip--${pageName}" name="zip" data-map="ZIP" required />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnZip--${pageName}" title="우편번호검색" onclick="fnZip${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnZipCode--${pageName}" title="우편번호검색">
검색 검색
</button> </button>
</div> </div>
@ -90,7 +91,7 @@
<div class="col-md-12"> <div class="col-md-12">
<label for="dtlAddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세주소</label> <label for="dtlAddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세주소</label>
<input type="text" class="form-control w-78" id="dtlAddr--${pageName}" name="dtlAddr" data-map="DTL_ADDR" /> <input type="text" class="form-control w-78" id="dtlAddr--${pageName}" name="dtlAddr" data-map="DTL_ADDR" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnEdit--${pageName}" title="주소수정" onclick="fnEdit${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnEditAddr--${pageName}" title="주소수정">
주소수정 주소수정
</button> </button>
</div> </div>
@ -138,268 +139,277 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL pageObject["${pageName}"] = {};
var ${pageName}PrefixUrl = "/payer";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * script 진입
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ $(document).ready(function() {
prefix : "payer" // pageObject
, prefixName : "납부자" let $P = pageObject["${pageName}"];
, keymapper : info => info ? info.RTPYR_ID : ""
, dataGetter : obj => obj.payerInfo // FormFields
, formats : { $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
CRDN_YMD_TM : datetimeFormat
} /**************************************************************************
}); * DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
prefix: "payer"
, prefixName: "납부자"
, keymapper: info => info ? info.RTPYR_ID : ""
, dataGetter: obj => obj.payerInfo
, formats: {
CRDN_YMD_TM: datetimeFormat
}
});
${pageName}Control.onCurrentChange = item => { /**************************************************************************
if (!item) return; * DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control, item);
// 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD);
}
${pageName}Fields.set(${pageName}Control,item); // 저장 callback
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 업무구분에 따른 url 변경 // 메시지 출력
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/createCrdnPayer.do"); dialog.alert({
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/update.do"); content: showMessage
} , onOK: () => { }
});
/************************************************************************** if (resp.saved) {
* DatasetControl 이벤트 dialog.close($P.control.prefix + "Dialog");
**************************************************************************/ }
// 저장 callback
${pageName}Control.onSave = (resp) => {
if (resp.saved) {
dialog.alert("납부자정보 수정 작업이 정상 처리되었습니다.");
dialog.close(${pageName}Control.prefix + "Dialog");
} }
}
// 저장 // 저장
${pageName}Control.save = (info) => { $P.control.save = (info) => {
if (!info) return; if (!info) return;
let create = false; if ($("#rtpyrInptSeCd--${pageName}").val() == "") {
let bfrVhrno = ${pageName}Control.getValue("VHRNO"); info.rtpyrInptSeCd = "01"; // 납부자 입력 구분 코드
let bfrRtpyrNo = ${pageName}Control.getValue("RTPYR_NO"); }
if (info.rtpyrSeCd == "01") {
info.rtpyrBrdt = info.rtpyrNo.substr(0, 6); // 생년월일
}
if (bfrVhrno == info.vhrno && bfrRtpyrNo == info.rtpyrNo) { info.wholAddr = info.addr + ", " + info.dtlAddr // 전체 주소
create = false;
} else {
create = true;
}
if ($("#rtpyrInptSeCd--${pageName}").val() == "") { ajax.post({
info.rtpyrInptSeCd = "01"; // 납부자 입력 구분 코드 url: $P.control.urls.create
, data: info || {}
, success: resp => $P.control.onSave(resp)
});
} }
if (info.rtpyrSeCd == "01") {
info.rtpyrBrdt = info.rtpyrNo.substr(0, 6); // 생년월일 /**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + "/payer" + "/createCrdnPayer.do"); // 등록
} }
info.wholAddr = info.addr + ", " + info.dtlAddr; // 전체 주소
ajax.post({ //
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create $P.callbackVehicle = (info) => {
, data : info let pyrSeCd = "";
, success : resp => ${pageName}Control.onSave(resp) switch (info.mber_se_code) {
}); case "11": pyrSeCd = "01"; break;
} case "12": pyrSeCd = "02"; break;
case "13": pyrSeCd = "03"; break;
case "14": pyrSeCd = "04"; break;
case "15": pyrSeCd = "05"; break;
}
/************************************************************************** $("#rtpyrSeCd--${pageName}").val(pyrSeCd); // 납부자 구분 코드
* function $("#rtpyrNm--${pageName}").val(info.mber_nm); // 납부자 성명
**************************************************************************/ $("#rtpyrNo--${pageName}").val(info.mber_se_no); // 납부자 번호
// $("#addr--${pageName}").val(info.road_nm_adres); // 주소
callbackVehicle${pageName} = (info) => { $("#zip--${pageName}").val(info.zip_code); // 우편번호
let pyrSeCd = ""; $("#dtlAddr--${pageName}").val(info.use_strnghld_adres_nm); // 사용본거지 상세주소
$("#roadNmCd--${pageName}").val(info.use_strnghld_road_nm_code); // 사용본거지 도로명 코드
switch (info.mber_se_code) { $("#udgdSeCd--${pageName}").val(info.usgsrhld_undgrnd_buld_se_code); // 사용본거지 지하 구분 코드
case "11" : pyrSeCd = "01"; break; $("#bmno--${pageName}").val(info.use_strnghld_buld_main_no); // 사용본거지 건물 본번
case "12" : pyrSeCd = "02"; break; $("#bsno--${pageName}").val(info.use_strnghld_buld_sub_no); // 사용본거지 건물 부번
case "13" : pyrSeCd = "03"; break; $("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호
case "14" : pyrSeCd = "04"; break; $("#stdgCd--${pageName}").val(info.use_strnghld_legaldong_code); // 사용본거지 법정동 코드
case "15" : pyrSeCd = "05"; break; $("#mtnSeCd--${pageName}").val(info.use_strnghld_mntn); // 사용본거지 산
$("#mno--${pageName}").val(info.use_strnghld_lnbr); // 사용본거지 번지
$("#sno--${pageName}").val(info.use_strnghld_ho); // 사용본거지 호
$("#dongCd--${pageName}").val(info.use_strnghld_adstrd_code); // 사용본거지 행정동 코드
} }
$("#rtpyrSeCd--${pageName}").val(pyrSeCd); // // 우편번호 검색 결과
$("#rtpyrNm--${pageName}").val(info.mber_nm); // $P.callbackSearchAddr = (obj) => {
$("#rtpyrNo--${pageName}").val(info.mber_se_no); // $("#addr--${pageName}").val(obj.ADDR); // 주소
$("#addr--${pageName}").val(info.road_nm_adres); // 주소 $("#zip--${pageName}").val(obj.ZIP); // 우편번호
$("#zip--${pageName}").val(info.zip_code); // 우편번호 $("#dtlAddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소
$("#dtlAddr--${pageName}").val(info.use_strnghld_adres_nm); // 사용본거지 상세주소 $("#roadNmCd--${pageName}").val(obj.ROAD_NM_CD); // 도로명 코드
$("#roadNmCd--${pageName}").val(info.use_strnghld_road_nm_code); // 사용본거지 도로 명 코드 $("#udgdSeCd--${pageName}").val(obj.UDGD_SE_CD); // 지하 구분 코드
$("#udgdSeCd--${pageName}").val(info.usgsrhld_undgrnd_buld_se_code); // 사용본거지 지하 구분 코드 $("#bmno--${pageName}").val(obj.BMNO); // 건물 본번
$("#bmno--${pageName}").val(info.use_strnghld_buld_main_no); // 사용본거지 건물본번 $("#bsno--${pageName}").val(obj.BSNO); // 건물 부번
$("#bsno--${pageName}").val(info.use_strnghld_buld_sub_no); // 사용본거지 건물부번 $("#bldgMngNo--${pageName}").val(obj.BLDG_MNG_NO); // 건물 관리 번호
$("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호 $("#stdgCd--${pageName}").val(obj.STDG_CD); // 법정동 코드
$("#stdgCd--${pageName}").val(info.use_strnghld_legaldong_code); // 사용본거지 법정동 코드 $("#mtnSeCd--${pageName}").val(obj.MTN_SE_CD); // 산
$("#dongCd--${pageName}").val(info.use_strnghld_adstrd_code); // 사용본거지 행정동 코드 $("#mno--${pageName}").val(obj.MNO); // 번지
$("#mtnSeCd--${pageName}").val(info.use_strnghld_mntn); // 사용본거지 산 $("#sno--${pageName}").val(obj.SNO); // 호
$("#mno--${pageName}").val(info.use_strnghld_lnbr); // 사용본거지 번지 $("#dongCd--${pageName}").val(obj.DONG_CD); // 행정동
$("#sno--${pageName}").val(info.use_strnghld_ho); // 사용본거지 호 }
}
/**************************************************************************
// 차적 조회 * 버튼 clickEvent
getVehicle${pageName} = (params) => { **************************************************************************/
if (!params) return; // 차적 검색
$P.fnGetVehicle = () => {
json.post({ let crdnYmd = $P.control.getValue("CRDN_YMD");
url : wctx.url("/payer/vehicle.do") let vhrno = $("#vhrno--${pageName}").val();
, data : params || {}
, success : resp => { if (crdnYmd == "") {
if (!resp.found) { dialog.alert({
dialog.alert("차량 정보가 없습니다."); content: "단속일자를 입력하세요."
});
$("#rtpyrId--${pageName}").val(""); return;
$("#rtpyrSeCd--${pageName}").val(""); }
$("#rtpyrNm--${pageName}").val(""); if (vhrno == "") {
$("#rtpyrNo--${pageName}").val(""); dialog.alert({
$("#rtpyrTelno--${pageName}").val(""); content: "차량번호를 입력하세요.",
$("#rtpyrMblTelno--${pageName}").val(""); onClose: function() {
$("#rtpyrEml--${pageName}").val(""); $("#vhrno--${pageName}").focus();
$("#zip--${pageName}").val(""); }
$("#addr--${pageName}").val(""); });
$("#dtlAddr--${pageName}").val(""); return;
$("#roadNmCd--${pageName}").val("");
$("#udgdSeCd--${pageName}").val("");
$("#bmno--${pageName}").val("");
$("#bsno--${pageName}").val("");
$("#bldgMngNo--${pageName}").val("");
$("#stdgCd--${pageName}").val("");
$("#dongCd--${pageName}").val("");
} else {
$("#rtpyrId--${pageName}").val(resp.rtpyrId); // 납부자 ID
$("#rtpyrInptSeCd--${pageName}").val("02"); // 납부자 입력 구분 코드
$("#addr--${pageName}").attr("readonly", true); // 주소
$("#zip--${pageName}").attr("readonly", true); // 우편번호
$("#dtlAddr--${pageName}").attr("readonly", true); // 상세 주소
callbackVehicle${pageName}(resp.vehicle);
}
} }
});
}
/************************************************************************** let params = {
* function inqire_se_code: "3"
**************************************************************************/ , sggCd: $("#sggCd--${pageName}").val()
// 차적 검색 , levy_stdde: crdnYmd
fnVehicle${pageName} = () => { , vhrno: vhrno
let crdnYmd = ${pageName}Control.getValue("CRDN_YMD"); }
let vhrno = $("#vhrno--${pageName}").val();
if (crdnYmd == "") { json.post({
dialog.alert({ url: wctx.url("/payer/vehicle.do")
content : "단속일자를 입력하세요." , data: params || {}
, success: resp => {
if (!resp.found) {
$("#rtpyrId--${pageName}").val(""); // 납부자 ID
$("#rtpyrSeCd--${pageName}").val(""); // 납부자 입력 구분 코드
$("#rtpyrNm--${pageName}").val(""); // 납부자 성명
$("#rtpyrNo--${pageName}").val(""); // 납부자 번호
$("#rtpyrTelno--${pageName}").val(""); // 납부자 전화번호
$("#rtpyrMblTelno--${pageName}").val(""); // 납부자 휴대 전화번호
$("#rtpyrEml--${pageName}").val(""); // 납부자 이메일
$("#zip--${pageName}").val(""); // 우편번호
$("#addr--${pageName}").val(""); // 주소
$("#dtlAddr--${pageName}").val(""); // 상세 주소
$("#roadNmCd--${pageName}").val(""); // 도로명 코드
$("#udgdSeCd--${pageName}").val(""); // 지하 구분 코드
$("#bmno--${pageName}").val(""); // 건물 본번
$("#bsno--${pageName}").val(""); // 건물 부번
$("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호
$("#stdgCd--${pageName}").val(""); // 법정동 코드
$("#mtnSeCd--${pageName}").val(""); // 산
$("#mno--${pageName}").val(""); // 번지
$("#sno--${pageName}").val(""); // 호
$("#dongCd--${pageName}").val(""); // 행정동 코드
dialog.alert("차량 정보가 없습니다.");
} else {
$("#rtpyrId--${pageName}").val(resp.rtpyrId); // 납부자 ID
$("#rtpyrInptSeCd--${pageName}").val("02"); // 납부자 입력 구분 코드
$("#addr--${pageName}").attr("readonly", true); // 주소
$("#zip--${pageName}").attr("readonly", true); // 우편번호
$("#dtlAddr--${pageName}").attr("readonly", true); // 상세 주소
$P.callbackVehicle(resp.vehicle);
}
}
}); });
return;
} }
if (vhrno == "") {
dialog.alert({ // 우편번호 검색
content : "차량번호를 입력하세요.", $P.fnZipCode = async() => {
onClose : function() { let resp = await fetch(wctx.url("/resources/html/searchAddr.html"));
$("#vhrno--${pageName}").focus(); let template = await resp.text();
dialog.open({
id: "searchAddrDialog"
, title: "주소검색"
, size: "lg"
, content: template
, init: () => {
$("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr");
setDialogZindex();
} }
}); });
}
return; // 화면에서 보여주는 주소입력 부분 수정
$P.fnEditAddr = () => {
$("#rtpyrInptSeCd--${pageName}").val("01"); // 입력 구분
$("#addr--${pageName}").prop("readonly", false); // 주소
$("#zip--${pageName}").prop("readonly", false); // 우편번호
$("#dtlAddr--${pageName}").prop("readonly", false); // 상세 주소
} }
let params = { // 저장 버튼 클릭 이벤트
inqire_se_code : "3" $P.fnSave = () => {
, sggCd : $("#sggCd--${pageName}").val() // validate 확인
, levy_stdde : crdnYmd if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
, vhrno : vhrno
dialog.alert({
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, onOK: () => {
$P.control.save($P.formFields.get()); // formFields
}
});
} }
getVehicle${pageName}(params); /**************************************************************************
} * 초기 셋팅
**************************************************************************/
// 우편번호 검색 // 이벤트 설정
fnZip${pageName} = async() => { $P.setEvent = () => {
$("#btnVehicle--${pageName}").on("click", () => $P.fnGetVehicle()); // 차적 검색 버튼 이벤트
var resp = await fetch(wctx.url("/resources/html/searchAddr.html")); $("#btnZipCode--${pageName}").on("click", () => $P.fnZipCode()); // 우편번호 검색 버튼 이벤트
var template = await resp.text(); $("#btnEditAddr--${pageName}").on("click", () => $P.fnEditAddr()); // 주소 수정 버튼 이벤트
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 버튼 이벤트
dialog.open({ }
id : "searchAddrDialog",
title: "주소검색",
size : "lg",
content: template,
init : () => {
$("#searchAddrCallback").val("fnZipReturn${pageName}");
setDialogZindex();
}
});
}
// 우편번호 검색 결과
fnZipReturn${pageName} = (obj) => {
$("#addr--${pageName}").val(obj.ADDR); // 주소
$("#zip--${pageName}").val(obj.ZIP); // 우편번호
$("#dtlAddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소
$("#roadNmCd--${pageName}").val(obj.ROAD_NM_CD); //
$("#udgdSeCd--${pageName}").val(obj.UDGD_SE_CD); //
$("#bmno--${pageName}").val(obj.BMNO); //
$("#bsno--${pageName}").val(obj.BSNO); //
$("#bldgMngNo--${pageName}").val(obj.BLDG_MNG_NO); //
$("#stdgCd--${pageName}").val(obj.STDG_CD); //
$("#mtnSeCd--${pageName}").val(obj.MTN_SE_CD); //
$("#mno--${pageName}").val(obj.MNO); //
$("#sno--${pageName}").val(obj.SNO); //
$("#dongCd--${pageName}").val(obj.DONG_CD); //
}
// 화면에서 보여주는 주소입력 부분 수정
fnEdit${pageName} = () => {
$("#rtpyrInptSeCd--${pageName}").val("01"); // 입력 구분
$("#addr--${pageName}").prop("readonly", false); // 주소
$("#zip--${pageName}").prop("readonly", false); // 우편번호
$("#dtlAddr--${pageName}").prop("readonly", false); // 상세 주소
}
// 저장
fnSave${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => {
${pageName}Control.save(${pageName}Fields.get());
}
});
}
/************************************************************************** // 초기 화면 설정
* 초기 셋팅 $P.initForm = () => {
**************************************************************************/ // Dialog 마우스로 드래그 할 수 있도록 설정.
// 이벤트 설정 fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog"));
setEvent${pageName} = () => {
//
}
// 검색조건 초기값 셋팅 $("#addr--${pageName}").prop("readonly", true); // 주소
initForm${pageName} = () => { $("#zip--${pageName}").prop("readonly", true); // 우편번호
// $("#dtlAddr--${pageName}").prop("readonly", true); // 상세 주소
$("#addr--${pageName}").prop("readonly", true); // 주소 }
$("#zip--${pageName}").prop("readonly", true); // 우편번호
$("#dtlAddr--${pageName}").prop("readonly", true); // 상세 주소
}
/************************************************************************** /**************************************************************************
* script 진입 * 최초 실행 함수
**************************************************************************/ **************************************************************************/
$(document).ready(function() { // 1. 이벤트 설정
// 이벤트 설정 $P.setEvent();
setEvent${pageName}();
// 화면 초기 설정 // 2. 초기 화면 설정
initForm${pageName}(); $P.initForm();
// Dataset 셋팅 - 단건일 경우 setData // 3. Dataset 설정
${pageName}Control.setData([${payerInfo}]); $P.control.setData([${payerInfo}]);
}); });
</script> </script>

@ -39,11 +39,11 @@
<input type="text" class="form-control w-20" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly /> <input type="text" class="form-control w-20" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly />
<input type="text" class="form-control w-45" id="txitmNm--${pageName}" name="txitmNm" data-map="TXITM_NM" readonly /> <input type="text" class="form-control w-45" id="txitmNm--${pageName}" name="txitmNm" data-map="TXITM_NM" readonly />
</div> </div>
<!-- 특별회계 사업 코드 --> <!-- 운영 항목 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="spclBizCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">특별회계사업</label> <label for="operItemCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">운영항목</label>
<input type="text" class="form-control w-15" id="spclBizCd--${pageName}" name="spclBizCd" data-map="SPCL_BIZ_CD" readonly /> <input type="text" class="form-control w-15" id="operItemCd--${pageName}" name="operItemCd" data-map="OPER_ITEM_CD" readonly />
<input type="text" class="form-control w-45" id="spclBizNm--${pageName}" name="spclBizNm" data-map="SPCL_BIZ_NM" readonly /> <input type="text" class="form-control w-45" id="operItemNm--${pageName}" name="operItemNm" data-map="OPER_ITEM_NM" readonly />
</div> </div>
<!-- 회계 연도 --> <!-- 회계 연도 -->
<div class="col-md-4"> <div class="col-md-4">
@ -54,7 +54,6 @@
<div class="col-md-4"> <div class="col-md-4">
<label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과번호</label> <label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과번호</label>
<input type="text" class="form-control w-20" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly /> <input type="text" class="form-control w-20" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly />
<input type="text" class="form-control w-10" id="inspyNo--${pageName}" name="inspyNo" data-map="INSPY_NO" readonly />
</div> </div>
<!-- 과세 물건 --> <!-- 과세 물건 -->
<div class="col-md-4"> <div class="col-md-4">
@ -73,23 +72,25 @@
<input type="text" class="form-control w-30" id="untySeNm--${pageName}" name="untySeNm" data-map="UNTY_SE_NM" readonly /> <input type="text" class="form-control w-30" id="untySeNm--${pageName}" name="untySeNm" data-map="UNTY_SE_NM" readonly />
<input type="hidden" id="untySeCd--${pageName}" name="untySeCd" data-map="UNTY_SE_CD" /> <input type="hidden" id="untySeCd--${pageName}" name="untySeCd" data-map="UNTY_SE_CD" />
</div> </div>
<!-- -->
<div class="col-md-4">
</div>
<!-- 감경 구분 명 --> <!-- 감경 구분 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rductSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경구분</label> <label for="rductSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경구분</label>
<input type="text" class="form-control w-30" id="rductSeNm--${pageName}" name="rductSeNm" data-map="RDUCT_SE_NM" readonly /> <input type="text" class="form-control w-30" id="rductSeNm--${pageName}" name="rductSeNm" data-map="RDUCT_SE_NM" readonly />
</div> </div>
<!-- 분납 일련번호 -->
<div class="col-md-4">
<label for="inspySeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납일련번호</label>
<input type="text" class="form-control w-10" id="inspySn--${pageName}" name="inspySn" data-map="INSPY_SN" readonly />
</div>
<!-- 분납 구분 명 --> <!-- 분납 구분 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="inspySeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납구분</label> <label for="inspySeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납구분</label>
<input type="text" class="form-control w-30" id="inspySeNm--${pageName}" name="inspySeNm" data-map="INSPY_SE_NM" readonly /> <input type="text" class="form-control w-30" id="inspySeNm--${pageName}" name="inspySeNm" data-map="INSPY_SE_NM" readonly />
</div> </div>
<!-- 부과 상태 명 --> <!-- 분납 이자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="levySttsNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과상태</label> <label for="inspyInt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납이자</label>
<input type="text" class="form-control w-30" id="levySttsNm--${pageName}" name="levySttsNm" data-map="LEVY_STTS_NM" readonly /> <input type="text" class="form-control w-30 text-end" id="inspyInt--${pageName}" name="inspyInt" data-map="INSPY_INT" readonly />
</div> </div>
<!-- 부과 일자 --> <!-- 부과 일자 -->
<div class="col-md-4"> <div class="col-md-4">
@ -136,10 +137,8 @@
<label for="rdcamtAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감액가산금</label> <label for="rdcamtAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감액가산금</label>
<input type="text" class="form-control w-30 text-end" id="rdcamtAdamt--${pageName}" name="rdcamtAdamt" data-map="RDCAMT_ADAMT" readonly /> <input type="text" class="form-control w-30 text-end" id="rdcamtAdamt--${pageName}" name="rdcamtAdamt" data-map="RDCAMT_ADAMT" readonly />
</div> </div>
<!-- 분납 이자 --> <!-- -->
<div class="col-md-4"> <div class="col-md-4">
<label for="inspyInt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납이자</label>
<input type="text" class="form-control w-30 text-end" id="inspyInt--${pageName}" name="inspyInt" data-map="INSPY_INT" readonly />
</div> </div>
<!-- --> <!-- -->
<div class="col-md-4"> <div class="col-md-4">

@ -229,7 +229,7 @@ function fnReturn(){
addrObj.SNO = addrObj.lnbrSlno; addrObj.SNO = addrObj.lnbrSlno;
addrObj.DONG_CD = ""; addrObj.DONG_CD = "";
var callbackFuncName = $("#searchAddrCallback").val(); var callbackFuncName = $("#searchAddrCallback").val();
if(callbackFuncName.startsWith("pageObject")){ if(callbackFuncName.startsWith("pageObject")){
@ -238,7 +238,7 @@ function fnReturn(){
var page = callbackFuncName.substring(i1+2,i2-1); var page = callbackFuncName.substring(i1+2,i2-1);
var func = callbackFuncName.substring(i2+2); var func = callbackFuncName.substring(i2+2);
pageObject[page][func](addrObj); pageObject[page][func](addrObj);
} else { } else {
window[callbackFuncName](addrObj); window[callbackFuncName](addrObj);

Loading…
Cancel
Save