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

main
jjh 6 months ago
parent 346e7cb099
commit 7f2be98d34

@ -56,6 +56,7 @@ public class LevyQuery extends CmmnQuery {
private String fyr; // 회계연도
private String acntgSeCd; // 회계 구분 코드
private String txitmCd; // 세목 코드
private String operItemCd; // 운영 항목 코드
private String levyYmd; // 부과 일자
private String dudtYmd; // 납기 일자
private String crdnSttsCd; // 단속 상태 코드
@ -377,6 +378,15 @@ public class LevyQuery extends CmmnQuery {
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() {
return ifEmpty(levyYmd, () -> null);
}

@ -111,7 +111,7 @@ public class LevyBean extends AbstractComponent {
return levyMapper.selectMaxLevyNo(req);
}
/** .
/** .
* @param levy
* @return
* <ul><li> true</li>
@ -133,6 +133,8 @@ public class LevyBean extends AbstractComponent {
for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) {
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.setLevyYmd(req.getLevyYmd()); // 부과 일자
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
@ -149,7 +151,7 @@ public class LevyBean extends AbstractComponent {
return rtnMsg;
}
/** .
/** .
* @param levy
* @return
* <ul><li> true</li>
@ -185,27 +187,24 @@ public class LevyBean extends AbstractComponent {
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.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.setTxitmCd(crdnInfo.string("TXITM_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.setLevySeCd("02"); // 부과 구분 코드 FIM040
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
@ -214,6 +213,9 @@ public class LevyBean extends AbstractComponent {
} else {
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.setInspyInt(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.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목
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);
if (!rtnScs) {
@ -270,10 +272,9 @@ public class LevyBean extends AbstractComponent {
*/
public String updateRductLevyYmd(Levy levy) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = levyMapper.updateRductLevyYmd(levy);
boolean rtnScs = levyMapper.updateRductLevyYmd(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다.");
@ -293,10 +294,9 @@ public class LevyBean extends AbstractComponent {
*/
public String updateRcvmt(Levy levy) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지
rtnScs = levyMapper.updateRcvmt(levy);
boolean rtnScs = levyMapper.updateRcvmt(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");
@ -316,10 +316,9 @@ public class LevyBean extends AbstractComponent {
*/
public String updateRdcamt(Levy levy) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지
rtnScs = levyMapper.updateRdcamt(levy);
boolean rtnScs = levyMapper.updateRdcamt(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");

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

@ -7,7 +7,7 @@
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="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
@ -115,7 +115,10 @@
, C.CRDN_ID <!-- 단속 ID -->
, C.SGG_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 <!-- 단속 입력 구분 코드 -->
, (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.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
@ -124,16 +127,13 @@
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.ADVNTCE_AMT <!-- 사전통지 금액 -->
, 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.REG_DT <!-- 등록 일시 -->
, C.MDFCN_DT <!-- 수정 일시 -->
, (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 <!-- 업무 구분 명 -->
, (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 <!-- 등록자 명 -->
, C.MDFCN_DT <!-- 수정 일시 -->
, (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 <!-- 단속 일시 마스크 -->
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, V.VLTN_ID <!-- 위반 ID -->
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
@ -143,21 +143,20 @@
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 -->
, 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_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 <!-- 민원 전송 명 -->
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ZIP <!-- 우편번호 -->
, P.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 -->
<include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" />
@ -281,6 +280,8 @@
<select id="selectRductLevyTrgtIds" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtIds) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
<include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" />
</select>
@ -289,18 +290,26 @@
SELECT L.LEVY_ID <!-- 부과 ID -->
, L.SGG_CD <!-- 시군구 코드 -->
, L.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', L.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, L.INST_CD <!-- 기관 코드 -->
, L.DEPT_CD <!-- 부서 코드 -->
, L.FYR <!-- 회계 연도 -->
, L.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, (SELECT GET_CODE_NM('FIM074', L.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM <!-- 회계 구분 명 -->
, L.TXITM_CD <!-- 세목 코드 -->
, (SELECT GET_CODE_NM('FIM075', L.TXITM_CD) FROM DUAL) AS TXITM_NM <!-- 세목 명 -->
, L.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, (SELECT GET_CODE_NM('FIM076', L.TXITM_CD+L.OPER_ITEM_CD) FROM DUAL) AS OPER_ITEM_NM <!-- 운영 항목 명 -->
, L.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, (SELECT GET_CODE_NM('FIM077', L.SPCL_BIZ_CD) FROM DUAL) AS SPCL_BIZ_NM <!-- 특별회계 사업 명 -->
, L.LEVY_NO <!-- 부과 번호 -->
, L.INSPY_SN <!-- 분납 일련번호 -->
, L.LEVY_SE_CD <!-- 부과 구분 코드 -->
, (SELECT GET_CODE_NM('FIM040', L.LEVY_SE_CD) FROM DUAL) AS LEVY_SE_NM <!-- 부과 구분 코드 -->
, L.UNTY_SE_CD <!-- 통합 구분 코드 -->
, (SELECT GET_CODE_NM('FIM072', L.UNTY_SE_CD) FROM DUAL) AS UNTY_SE_NM <!-- 통합 구분 코드 -->
, L.RDUCT_SE_CD <!-- 감경 구분 코드 -->
, (SELECT GET_CODE_NM('FIM046', L.RDUCT_SE_CD) FROM DUAL) AS RDUCT_SE_NM <!-- 감경 구분 코드 -->
, L.INSPY_SE_NM <!-- 분납 구분 명 -->
, L.LEVY_YMD <!-- 부과 일자 -->
, L.FRST_DUDT_YMD <!-- 최초 납기 일자 -->
@ -324,8 +333,10 @@
, L.MNG_ITEM5 <!-- 관리 아이템5 -->
, L.MNG_ITEM6 <!-- 관리 아이템6 -->
, L.NPMNT_RSN_CD <!-- 체납 사유 코드 -->
, (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 <!-- 납부 방법 구분 명 -->
, L.SZR_YMD <!-- 압류 일자 -->
, L.SZR_THING <!-- 압류 물건 -->
, L.RPM_SZR_VHRNO <!-- 대체 압류 자동차등록번호 -->
@ -333,6 +344,7 @@
, L.SZR_RMV_RSN <!-- 압류 해제 사유 -->
, L.ETC_CN <!-- 기타 내용 -->
, L.EPAYNO <!-- 전자납부번호 -->
, (SELECT GET_MASK_EPAYNO(L.EPAYNO) FROM DUAL) AS EPAYNO_MASK <!-- 전자납부번호 마스크 -->
, L.BANK_NM <!-- 은행 명 -->
, L.VR_ACTNO <!-- 가상 계좌번호 -->
, L.BANK_NM2 <!-- 은행 명 2 -->
@ -376,48 +388,31 @@
, 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('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.MDFCN_DT <!-- 수정 일시 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, (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 <!-- 업무 구분 명 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, V.VLTN_ID <!-- 위반 ID -->
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ZIP <!-- 우편번호 -->
, P.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 <!-- 납부자 생년월일 마스크 -->
FROM TB_LEVY L
INNER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
@ -563,6 +558,7 @@
AND FYR = #{fyr}
AND ACNTG_SE_CD = #{acntgSeCd}
AND TXITM_CD = #{txitmCd}
AND OPER_ITEM_CD = #{operItemCd}
</select>
<select id="selectLevyAmt" parameterType="map" resultType="dataobject">/* 부과 금액 가져오기(levyMapper.selectLevyAmt) */
@ -610,9 +606,9 @@
<insert id="insertLevy" parameterType="map">/* 부과 대장 등록(levyMapper.insertLevy) */
<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
WHERE LEVY_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
WHERE LEVY_ID LIKE CONCAT(#{levy.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey>
INSERT
INTO TB_LEVY (
@ -963,35 +959,20 @@
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (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 <!-- 단속 일시 마스크 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, 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_RDUCT_RT
, C.FFNLG_AMT
, C.ADVNTCE_BGNG_YMD
, C.ADVNTCE_DUDT_YMD
, 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.ADTN_AMT
, C.MINUS_AMT
, C.RCVMT_AMT
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
, V.VLTN_LAW_NM <!-- 위반 법 명 -->
@ -1005,10 +986,7 @@
, 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
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)

@ -65,13 +65,13 @@
, (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM <!-- 주차 가능 결과 명 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.ZIP <!-- 우편번호 -->
, P.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 <!-- 납부자 생년월일 마스크 -->
, (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
, L.LEVY_ID <!-- 부과 ID -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->

@ -1,20 +1,21 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">납부자 정보</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">납부자 정보</c:set>
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- 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="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="rtpyrInptSeCd--${pageName}" name="rtpyrInptSeCd" data-map="RTPYR_INPT_SE_CD" />
@ -28,7 +29,7 @@
<div class="col-md-6">
<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 />
<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>
</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>
<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 />
<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>
</div>
@ -90,7 +91,7 @@
<div class="col-md-12">
<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" />
<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>
</div>
@ -138,15 +139,22 @@
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/payer";
pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
$P.control = new DatasetControl({
prefix: "payer"
, prefixName: "납부자"
, keymapper: info => info ? info.RTPYR_ID : ""
@ -156,63 +164,66 @@
}
});
${pageName}Control.onCurrentChange = item => {
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => {
if (!item) return;
${pageName}Fields.set(${pageName}Control,item);
// 업무구분에 따른 url 변경
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/createCrdnPayer.do");
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/update.do");
// Dataset 셋팅
$P.formFields.set($P.control, item);
// 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD);
}
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 저장 callback
${pageName}Control.onSave = (resp) => {
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력
dialog.alert({
content: showMessage
, onOK: () => { }
});
if (resp.saved) {
dialog.alert("납부자정보 수정 작업이 정상 처리되었습니다.");
dialog.close(${pageName}Control.prefix + "Dialog");
dialog.close($P.control.prefix + "Dialog");
}
}
// 저장
${pageName}Control.save = (info) => {
$P.control.save = (info) => {
if (!info) return;
let create = false;
let bfrVhrno = ${pageName}Control.getValue("VHRNO");
let bfrRtpyrNo = ${pageName}Control.getValue("RTPYR_NO");
if (bfrVhrno == info.vhrno && bfrRtpyrNo == info.rtpyrNo) {
create = false;
} else {
create = true;
}
if ($("#rtpyrInptSeCd--${pageName}").val() == "") {
info.rtpyrInptSeCd = "01"; // 납부자 입력 구분 코드
}
if (info.rtpyrSeCd == "01") {
info.rtpyrBrdt = info.rtpyrNo.substr(0, 6); // 생년월일
}
info.wholAddr = info.addr + ", " + info.dtlAddr; // 전체 주소
info.wholAddr = info.addr + ", " + info.dtlAddr // 전체 주소
ajax.post({
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
, data : info
, success : resp => ${pageName}Control.onSave(resp)
url: $P.control.urls.create
, data: info || {}
, success: resp => $P.control.onSave(resp)
});
}
/**************************************************************************
* function
* 사용자 함수(function)
**************************************************************************/
// 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + "/payer" + "/createCrdnPayer.do"); // 등록
}
//
callbackVehicle${pageName} = (info) => {
$P.callbackVehicle = (info) => {
let pyrSeCd = "";
switch (info.mber_se_code) {
case "11": pyrSeCd = "01"; break;
case "12": pyrSeCd = "02"; break;
@ -221,9 +232,9 @@
case "15": pyrSeCd = "05"; break;
}
$("#rtpyrSeCd--${pageName}").val(pyrSeCd); //
$("#rtpyrNm--${pageName}").val(info.mber_nm); //
$("#rtpyrNo--${pageName}").val(info.mber_se_no); //
$("#rtpyrSeCd--${pageName}").val(pyrSeCd); // 납부자 구분 코드
$("#rtpyrNm--${pageName}").val(info.mber_nm); // 납부자 성명
$("#rtpyrNo--${pageName}").val(info.mber_se_no); // 납부자 번호
$("#addr--${pageName}").val(info.road_nm_adres); // 주소
$("#zip--${pageName}").val(info.zip_code); // 우편번호
$("#dtlAddr--${pageName}").val(info.use_strnghld_adres_nm); // 사용본거지 상세주소
@ -233,66 +244,41 @@
$("#bsno--${pageName}").val(info.use_strnghld_buld_sub_no); // 사용본거지 건물 부번
$("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호
$("#stdgCd--${pageName}").val(info.use_strnghld_legaldong_code); // 사용본거지 법정동 코드
$("#dongCd--${pageName}").val(info.use_strnghld_adstrd_code); // 사용본거지 행정동 코드
$("#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); // 사용본거지 행정동 코드
}
// 차적 조회
getVehicle${pageName} = (params) => {
if (!params) return;
json.post({
url : wctx.url("/payer/vehicle.do")
, data : params || {}
, success : resp => {
if (!resp.found) {
dialog.alert("차량 정보가 없습니다.");
$("#rtpyrId--${pageName}").val("");
$("#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("");
$("#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);
}
}
});
// 우편번호 검색 결과
$P.callbackSearchAddr = (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); // 행정동
}
/**************************************************************************
* function
* 버튼 clickEvent
**************************************************************************/
// 차적 검색
fnVehicle${pageName} = () => {
let crdnYmd = ${pageName}Control.getValue("CRDN_YMD");
$P.fnGetVehicle = () => {
let crdnYmd = $P.control.getValue("CRDN_YMD");
let vhrno = $("#vhrno--${pageName}").val();
if (crdnYmd == "") {
dialog.alert({
content: "단속일자를 입력하세요."
});
return;
}
if (vhrno == "") {
@ -302,7 +288,6 @@
$("#vhrno--${pageName}").focus();
}
});
return;
}
@ -313,61 +298,82 @@
, vhrno: vhrno
}
getVehicle${pageName}(params);
json.post({
url: wctx.url("/payer/vehicle.do")
, 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);
}
}
});
}
// 우편번호 검색
fnZip${pageName} = async() => {
var resp = await fetch(wctx.url("/resources/html/searchAddr.html"));
var template = await resp.text();
$P.fnZipCode = async() => {
let resp = await fetch(wctx.url("/resources/html/searchAddr.html"));
let template = await resp.text();
dialog.open({
id : "searchAddrDialog",
title: "주소검색",
size : "lg",
content: template,
init : () => {
$("#searchAddrCallback").val("fnZipReturn${pageName}");
id: "searchAddrDialog"
, title: "주소검색"
, size: "lg"
, content: template
, init: () => {
$("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr");
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} = () => {
$P.fnEditAddr = () => {
$("#rtpyrInptSeCd--${pageName}").val("01"); // 입력 구분
$("#addr--${pageName}").prop("readonly", false); // 주소
$("#zip--${pageName}").prop("readonly", false); // 우편번호
$("#dtlAddr--${pageName}").prop("readonly", false); // 상세 주소
}
// 저장
fnSave${pageName} = () => {
// 저장 버튼 클릭 이벤트
$P.fnSave = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, onOK: () => {
${pageName}Control.save(${pageName}Fields.get());
$P.control.save($P.formFields.get()); // formFields
}
});
}
@ -376,30 +382,34 @@
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
//
$P.setEvent = () => {
$("#btnVehicle--${pageName}").on("click", () => $P.fnGetVehicle()); // 차적 검색 버튼 이벤트
$("#btnZipCode--${pageName}").on("click", () => $P.fnZipCode()); // 우편번호 검색 버튼 이벤트
$("#btnEditAddr--${pageName}").on("click", () => $P.fnEditAddr()); // 주소 수정 버튼 이벤트
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 버튼 이벤트
}
// 검색조건 초기값 셋팅
initForm${pageName} = () => {
//
// 초기 화면 설정
$P.initForm = () => {
// Dialog 마우스로 드래그 할 수 있도록 설정.
fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog"));
$("#addr--${pageName}").prop("readonly", true); // 주소
$("#zip--${pageName}").prop("readonly", true); // 우편번호
$("#dtlAddr--${pageName}").prop("readonly", true); // 상세 주소
}
/**************************************************************************
* script 진입
* 최초 실행 함수
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 1. 이벤트 설정
$P.setEvent();
// 화면 초기 설정
initForm${pageName}();
// 2. 초기 화면 설정
$P.initForm();
// Dataset 셋팅 - 단건일 경우 setData
${pageName}Control.setData([${payerInfo}]);
// 3. Dataset 설정
$P.control.setData([${payerInfo}]);
});
</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-45" id="txitmNm--${pageName}" name="txitmNm" data-map="TXITM_NM" readonly />
</div>
<!-- 특별회계 사업 코드 -->
<!-- 운영 항목 코드 -->
<div class="col-md-4">
<label for="spclBizCd--${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-45" id="spclBizNm--${pageName}" name="spclBizNm" data-map="SPCL_BIZ_NM" readonly />
<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="operItemCd--${pageName}" name="operItemCd" data-map="OPER_ITEM_CD" readonly />
<input type="text" class="form-control w-45" id="operItemNm--${pageName}" name="operItemNm" data-map="OPER_ITEM_NM" readonly />
</div>
<!-- 회계 연도 -->
<div class="col-md-4">
@ -54,7 +54,6 @@
<div class="col-md-4">
<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-10" id="inspyNo--${pageName}" name="inspyNo" data-map="INSPY_NO" readonly />
</div>
<!-- 과세 물건 -->
<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="hidden" id="untySeCd--${pageName}" name="untySeCd" data-map="UNTY_SE_CD" />
</div>
<!-- -->
<div class="col-md-4">
</div>
<!-- 감경 구분 명 -->
<div class="col-md-4">
<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 />
</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">
<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 />
</div>
<!-- 부과 상태 명 -->
<!-- 분납 이자 -->
<div class="col-md-4">
<label for="levySttsNm--${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 />
<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 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>
<input type="text" class="form-control w-30 text-end" id="rdcamtAdamt--${pageName}" name="rdcamtAdamt" data-map="RDCAMT_ADAMT" readonly />
</div>
<!-- 분납 이자 -->
<!-- -->
<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 class="col-md-4">

Loading…
Cancel
Save