diff --git a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java index 1b4034fe..6f6533a8 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java @@ -5,8 +5,8 @@ import java.util.List; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExcl; +import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.data.DataObject; diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java index cd406ff8..4fde96a6 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java @@ -10,8 +10,8 @@ import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExcl; +import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.dao.LevyExclMapper; import cokr.xit.fims.levy.dao.LevyMapper; import cokr.xit.fims.rdca.Rdcamt; diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java index 5b7678c3..28adac0c 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -83,7 +83,7 @@ public class Excl01Controller extends ApplicationController { return mav .addObject("pageName", "excl01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "levyExcl") // prefix - .addObject("infoPrefixUrl", "/excl/excl01") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) @@ -201,7 +201,7 @@ public class Excl01Controller extends ApplicationController { .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "excl01020") // jsp pageName .addObject("infoPrefix", "levyExcl") // prefix - .addObject("infoPrefixUrl", "/excl/excl01") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) .addObject("levyExclInfo", json ? info : toJson(info)) // 부과제외 정보 diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index 298ad770..2fef7d28 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -110,7 +110,7 @@ public class Excl02Controller extends ApplicationController { return mav .addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD) @@ -232,7 +232,7 @@ public class Excl02Controller extends ApplicationController { .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "excl02020") // jsp pageName .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) .addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD) .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) @@ -331,7 +331,7 @@ public class Excl02Controller extends ApplicationController { .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "excl02030") // jsp pageName .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 상태 코드(OPNN_SBMSN_STTS_CD) @@ -454,7 +454,7 @@ public class Excl02Controller extends ApplicationController { .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "excl02040") // jsp pageName .addObject("infoPrefix", "opnnDlbrMbr") // prefix - .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("opnnDlbrMbrInfo", json ? info : toJson(info)) ; } diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java index 1210bf76..d8a082a0 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java @@ -78,7 +78,7 @@ public class Excl03Controller extends ApplicationController { return mav .addObject("pageName", "excl03010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "crdnReReg") // prefix - .addObject("infoPrefixUrl", "/excl/excl03") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) ; diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java index d516d040..d5eb2ce6 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java @@ -87,7 +87,7 @@ public class Levy01Controller extends ApplicationController { return mav .addObject("pageName", "levy01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "rductLevyTrgt") // prefix - .addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) ; @@ -190,7 +190,7 @@ public class Levy01Controller extends ApplicationController { .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "levy01020") // jsp pageName .addObject("infoPrefix", "rductLevyTrgt") // prefix - .addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("mainQuery", json ? req : toJson(req)) // 검색 조건 .addObject("rductLevyTrgtInfo", json ? info : toJson(info)) ; @@ -233,9 +233,10 @@ public class Levy01Controller extends ApplicationController { // View(jsp)에서 사용할 공통코드를 조회 Map> commonCodes = getCodesOf("FIM010", "FIM046", "FIM054"); - return mav.addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + return mav + .addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "levy") // prefix - .addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM010List", commonCodes.get("FIM010")) // 단속 상태 코드(CRDN_STTS_CD) diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java index 4ac77ed9..344ef178 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java @@ -85,7 +85,7 @@ public class Levy02Controller extends ApplicationController { return mav .addObject("pageName", "levy02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "rduct") // prefix - .addObject("infoPrefixUrl", "/levy/levy02") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) @@ -195,7 +195,7 @@ public class Levy02Controller extends ApplicationController { .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "levy02020") // jsp pageName .addObject("infoPrefix", "rduct") // prefix - .addObject("infoPrefixUrl", "/levy/levy02") // prefixUrl + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) .addObject("rductInfo", json ? info : toJson(info)) ; diff --git a/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java b/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java index eab83ed4..46e434e5 100644 --- a/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java +++ b/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java @@ -87,11 +87,26 @@ public class Rcvmt extends AbstractEntity { */ private String rcvmtSn; + /** + * 수납 구분 코드 + */ + private String rcvmtSeCd; + /** * 수납 일자 */ private String rcvmtYmd; + /** + * 회계 일자 + */ + private String acntgYmd; + + /** + * 이체 일자 + */ + private String tsfYmd; + /** * 수납 금액 */ @@ -122,16 +137,6 @@ public class Rcvmt extends AbstractEntity { */ private String payMthdSeCd; - /** - * 소인 일자 - */ - private String pstmrkYmd; - - /** - * 회계 일자 - */ - private String acntgYmd; - /** * 가상계좌번호 */ @@ -142,16 +147,6 @@ public class Rcvmt extends AbstractEntity { */ private String epayno; - /** - * 수납 구분 코드 - */ - private String rcvmtSeCd; - - /** - * 세외수입 부과 키 - */ - private String nxrpLevyKey; - /** * 수납 취소 여부 */ diff --git a/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java b/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java index 3e8dbeae..41bdca2c 100644 --- a/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java +++ b/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java @@ -18,67 +18,72 @@ public class RcvmtQuery extends CmmnQuery { private static final long serialVersionUID = 1L; // ID - private String crdnId; // 단속 ID - private String levyId; // 부과 ID - private String[] rcvmtIDs; // 수납 IDs - private String rcvmtId; // 수납 ID + private String crdnId; // 단속 ID + private String levyId; // 부과 ID + private String[] rcvmtIds; // 수납 IDs + private String rcvmtId; // 수납 ID // 검색 조건 - private String schPstmrkYmdFrom; // 수납(TB_RCVMT)_소인 일자 시작 - private String schPstmrkYmdTo; // 수납(TB_RCVMT)_소인 일자 종료 - private String schRcvmtYmdFrom; // 수납(TB_RCVMT)_수납 일자 시작 - private String schRcvmtYmdTo; // 수납(TB_RCVMT)_수납 일자 종료 - private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작 - private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료 - private String schVhrno; // 단속(TB_CRDN)_차량번호 - private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명 + private String schAcntgYmdFrom; // 수납(TB_RCVMT)_회계 일자 시작 + private String schAcntgYmdTo; // 수납(TB_RCVMT)_회계 일자 종료 + private String schRcvmtYmdFrom; // 수납(TB_RCVMT)_수납 일자 시작 + private String schRcvmtYmdTo; // 수납(TB_RCVMT)_수납 일자 종료 + private String schTsfYmdFrom; // 수납(TB_RCVMT)_이체 일자 시작 + private String schTsfYmdTo; // 수납(TB_RCVMT)_이체 일자 종료 + private String schRcvmtSeCd; // 수납(TB_RCVMT)_수납 구분 코드 + private String schPayMthdSeCd; // 수납(TB_RCVMT)_납부 방법 구분 코드 + private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작 + private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료 + private String schVhrno; // 단속(TB_CRDN)_차량번호 + private String schRtpyrNo; // 납부자(TB_PAYER)_납부자 번호 + private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명 // 상세 검색 조건 // 동적 검색 조건 - private String rcvmtInptSeCd; // 수납(TB_RCVMT)_수납 입력 구분 코드 - private String rcvmtRtrcnYn; // 수납(TB_RCVMT)_수납 취소 여부 - private String spclBizCd; // 수납(TB_RCVMT)_특별회계 사업 코드 - private String fyr; // 수납(TB_RCVMT)_회계연도 - private String acntgSeCd; // 수납(TB_RCVMT)_회계 구분 코드 - private String txitmCd; // 수납(TB_RCVMT)_세목 코드 - private String operItemCd; // 수납(TB_RCVMT)_운영 항목 코드 - private String levyNo; // 수납(TB_RCVMT)_부과 번호 - private String inspyNo; // 수납(TB_RCVMT)_분납 번호 - private String rcvmtSn; // 수납(TB_RCVMT)_수납 일련번호 - private String pstmrkYmd; // 수납(TB_RCVMT)_소인 일자 - private String acntgYmd; // 수납(TB_RCVMT)_회계 일자 - private String rcvmtYmd; // 수납(TB_RCVMT)_수납 일자 - private String rcvmtAmt; // 수납(TB_RCVMT)_수납 금액 - private String rcvmtPcptax; // 수납(TB_RCVMT)_수납 본세 - private String rcvmtAdamt; // 수납(TB_RCVMT)_수납 가산금 - private String rcvmtInt; // 수납(TB_RCVMT)_수납 이자 - private String rcvmtBankNm; // 수납(TB_RCVMT)_수납 은행 명 - private String payMthdSeCd; // 수납(TB_RCVMT)_납부 방법 구분 코드 - private String rcvmtSeCd; // 수납(TB_RCVMT)_수납 구분 코드 - private String rcvmtSttsCd; // 수납(TB_RCVMT)_수납 상태 코드 - private String levyYmd; // 부과(TB_LEVY)_부과 일자 - private String frstDudtYmd; // 부과(TB_LEVY)_최초 납기 일자 - private String dudtYmd; // 부과(TB_LEVY)_납기 일자 - private String levyPcptax; // 부과(TB_LEVY)_부과 본세 - private String levyAdamt; // 부과(TB_LEVY)_부과 가산금 - private String inspyInt; // 부과(TB_LEVY)_분납 이자 - private String szrYmd; // 부과(TB_LEVY)_압류 일자 - private String szrThing; // 부과(TB_LEVY)_압류 물건 - private String rpmSzrVhrno; // 부과(TB_LEVY)_대체 압류 자동차등록번호 - private String szrRmvYmd; // 부과(TB_LEVY)_압류 해제 일자 - private String crdnYmd; // 단속(TB_CRDN)_단속 일자 - private String vhrno; // 단속(TB_CRDN)_차량번호 - private String crdnStdgNm; // 단속(TB_CRDN)_단속 법정동 명 - private String crdnPlc; // 단속(TB_CRDN)_단속 장소 - private String crdnSttsCd; // 단속(TB_CRDN)_단속 상태 코드 - private String rtpyrSeCd; // 납부자(TB_PAYER)_납부자 구분 코드 - private String rtpyrNo; // 납부자(TB_PAYER)_납부자 번호 - private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명 - private String rtpyrBrdt; // 납부자(TB_PAYER)_납부자 생년월일 - private String rtpyrSttsCd; // 납부자(TB_PAYER)_납부자 상태 코드 + private String rcvmtInptSeCd; // 수납(TB_RCVMT)_수납 입력 구분 코드 + private String rcvmtRtrcnYn; // 수납(TB_RCVMT)_수납 취소 여부 + private String spclBizCd; // 수납(TB_RCVMT)_특별회계 사업 코드 + private String fyr; // 수납(TB_RCVMT)_회계연도 + private String acntgSeCd; // 수납(TB_RCVMT)_회계 구분 코드 + private String txitmCd; // 수납(TB_RCVMT)_세목 코드 + private String operItemCd; // 수납(TB_RCVMT)_운영 항목 코드 + private String levyNo; // 수납(TB_RCVMT)_부과 번호 + private String inspyNo; // 수납(TB_RCVMT)_분납 번호 + private String rcvmtSn; // 수납(TB_RCVMT)_수납 일련번호 + private String tsfYmd; // 수납(TB_RCVMT)_이체 일자 + private String acntgYmd; // 수납(TB_RCVMT)_회계 일자 + private String rcvmtYmd; // 수납(TB_RCVMT)_수납 일자 + private String rcvmtAmt; // 수납(TB_RCVMT)_수납 금액 + private String rcvmtPcptax; // 수납(TB_RCVMT)_수납 본세 + private String rcvmtAdamt; // 수납(TB_RCVMT)_수납 가산금 + private String rcvmtInt; // 수납(TB_RCVMT)_수납 이자 + private String rcvmtBankNm; // 수납(TB_RCVMT)_수납 은행 명 + private String payMthdSeCd; // 수납(TB_RCVMT)_납부 방법 구분 코드 + private String rcvmtSeCd; // 수납(TB_RCVMT)_수납 구분 코드 + private String rcvmtSttsCd; // 수납(TB_RCVMT)_수납 상태 코드 + private String levyYmd; // 부과(TB_LEVY)_부과 일자 + private String frstDudtYmd; // 부과(TB_LEVY)_최초 납기 일자 + private String dudtYmd; // 부과(TB_LEVY)_납기 일자 + private String levyPcptax; // 부과(TB_LEVY)_부과 본세 + private String levyAdamt; // 부과(TB_LEVY)_부과 가산금 + private String inspyInt; // 부과(TB_LEVY)_분납 이자 + private String szrYmd; // 부과(TB_LEVY)_압류 일자 + private String szrThing; // 부과(TB_LEVY)_압류 물건 + private String rpmSzrVhrno; // 부과(TB_LEVY)_대체 압류 자동차등록번호 + private String szrRmvYmd; // 부과(TB_LEVY)_압류 해제 일자 + private String crdnYmd; // 단속(TB_CRDN)_단속 일자 + private String vhrno; // 단속(TB_CRDN)_차량번호 + private String crdnStdgNm; // 단속(TB_CRDN)_단속 법정동 명 + private String crdnPlc; // 단속(TB_CRDN)_단속 장소 + private String crdnSttsCd; // 단속(TB_CRDN)_단속 상태 코드 + private String rtpyrSeCd; // 납부자(TB_PAYER)_납부자 구분 코드 + private String rtpyrNo; // 납부자(TB_PAYER)_납부자 번호 + private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명 + private String rtpyrBrdt; // 납부자(TB_PAYER)_납부자 생년월일 + private String rtpyrSttsCd; // 납부자(TB_PAYER)_납부자 상태 코드 // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회, create 등록, update 수정, remove 삭제, refresh 재조회). - private String delRsn; // 삭제 사유 - private String crdnDelYn; // 단속 삭제 여부 + private String callPurpose; // infoDialog 호출 용도(view 조회, create 등록, update 수정, remove 삭제, refresh 재조회). + private String delRsn; // 삭제 사유 + private String crdnDelYn; // 단속 삭제 여부 public String getCrdnId() { return ifEmpty(crdnId, () -> null); @@ -98,12 +103,12 @@ public class RcvmtQuery extends CmmnQuery { return self(); } - public String[] getRcvmtIDs() { - return ifEmpty(rcvmtIDs, () -> null); + public String[] getRcvmtIds() { + return ifEmpty(rcvmtIds, () -> null); } - public T setRcvmtIDs(String... rcvmtIDs) { - this.rcvmtIDs = rcvmtIDs; + public T setRcvmtIds(String... rcvmtIds) { + this.rcvmtIds = rcvmtIds; return self(); } @@ -116,22 +121,21 @@ public class RcvmtQuery extends CmmnQuery { return self(); } - // - public String getSchPstmrkYmdFrom() { - return ifEmpty(schPstmrkYmdFrom, () -> null); + public String getSchAcntgYmdFrom() { + return ifEmpty(schAcntgYmdFrom, () -> null); } - public T setSchPstmrkYmdFrom(String schPstmrkYmdFrom) { - this.schPstmrkYmdFrom = schPstmrkYmdFrom; + public T setSchAcntgYmdFrom(String schAcntgYmdFrom) { + this.schAcntgYmdFrom = schAcntgYmdFrom; return self(); } - public String getSchPstmrkYmdTo() { - return ifEmpty(schPstmrkYmdTo, () -> null); + public String getSchAcntgYmdTo() { + return ifEmpty(schAcntgYmdTo, () -> null); } - public T setSchPstmrkYmdTo(String schPstmrkYmdTo) { - this.schPstmrkYmdTo = schPstmrkYmdTo; + public T setSchAcntgYmdTo(String schAcntgYmdTo) { + this.schAcntgYmdTo = schAcntgYmdTo; return self(); } @@ -153,6 +157,42 @@ public class RcvmtQuery extends CmmnQuery { return self(); } + public String getSchTsfYmdFrom() { + return ifEmpty(schTsfYmdFrom, () -> null); + } + + public T setSchTsfYmdFrom(String schTsfYmdFrom) { + this.schTsfYmdFrom = schTsfYmdFrom; + return self(); + } + + public String getSchTsfYmdTo() { + return ifEmpty(schTsfYmdTo, () -> null); + } + + public T setSchTsfYmdTo(String schTsfYmdTo) { + this.schTsfYmdTo = schTsfYmdTo; + return self(); + } + + public String getSchRcvmtSeCd() { + return ifEmpty(schRcvmtSeCd, () -> null); + } + + public T setSchRcvmtSeCd(String schRcvmtSeCd) { + this.schRcvmtSeCd = schRcvmtSeCd; + return self(); + } + + public String getSchPayMthdSeCd() { + return ifEmpty(schPayMthdSeCd, () -> null); + } + + public T setSchPayMthdSeCd(String schPayMthdSeCd) { + this.schPayMthdSeCd = schPayMthdSeCd; + return self(); + } + public String getSchCrdnYmdFrom() { return ifEmpty(schCrdnYmdFrom, () -> null); } @@ -180,6 +220,15 @@ public class RcvmtQuery extends CmmnQuery { return self(); } + public String getSchRtpyrNo() { + return ifEmpty(schRtpyrNo, () -> null); + } + + public T setSchRtpyrNo(String schRtpyrNo) { + this.schRtpyrNo = schRtpyrNo; + return self(); + } + public String getSchRtpyrNm() { return ifEmpty(schRtpyrNm, () -> null); } @@ -284,12 +333,12 @@ public class RcvmtQuery extends CmmnQuery { return self(); } - public String getPstmrkYmd() { - return ifEmpty(pstmrkYmd, () -> null); + public String getTsfYmd() { + return ifEmpty(tsfYmd, () -> null); } - public T setPstmrkYmd(String pstmrkYmd) { - this.pstmrkYmd = pstmrkYmd; + public T setTsfYmd(String tsfYmd) { + this.tsfYmd = tsfYmd; return self(); } diff --git a/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java b/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java index 921818e9..f7643282 100644 --- a/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java +++ b/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java @@ -1,15 +1,13 @@ package cokr.xit.fims.rcvm.dao; import java.util.List; -import java.util.Map; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - import cokr.xit.fims.rcvm.Rcvmt; import cokr.xit.fims.rcvm.RcvmtQuery; +import cokr.xit.foundation.component.AbstractMapper; +import cokr.xit.foundation.data.DataObject; /** 수납 대장 정보 DAO * @@ -41,24 +39,20 @@ public interface RcvmtMapper extends AbstractMapper { * @return 수납 대장 객체 */ default DataObject selectRcvmtInfo(RcvmtQuery req) { + // 삭제 여부 확인 + if (req.getDelYn() == null) { + req.setDelYn("N"); + } + // 기본 정렬 + if (req.getOrderBy() == null) { + req.setOrderBy("R.RCVMT_ID DESC"); + } + List rcvmts = selectRcvmts(req); return !rcvmts.isEmpty() ? rcvmts.get(0) : null; } - /**수납 취소 정보를 수정한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - int updateRcvmtRtrcn(Map params); - - default boolean updateRcvmtRtrcn(Rcvmt rcvmt) { - return rcvmt != null && updateRcvmtRtrcn(params().set("rcvmt", rcvmt)) == 1; - } - /**수납 대장 정보를 등록한다. * @param params 파라미터 *
  • "rcvmt" - 수납 대장
  • @@ -66,18 +60,7 @@ public interface RcvmtMapper extends AbstractMapper { *
* @return 저장된 정보수 */ - int insertRcvmt(Map params); - - /**수납 대장 정보를 등록한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean insert(Rcvmt rcvmt) { - return rcvmt != null && insertRcvmt(params().set("rcvmt", rcvmt)) == 1; - } + int insertRcvmt(Rcvmt rcvmt); /**수납 대장 정보를 수정한다. * @param params 파라미터 @@ -86,18 +69,16 @@ public interface RcvmtMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int updateRcvmt(Map params); + int updateRcvmt(Rcvmt rcvmt); - /**수납 대장 정보를 수정한다. + /**수납 취소 정보를 수정한다. * @param rcvmt 수납 대장 * @return 저장 여부 *
  • 저장됐으면 true
  • *
  • 그렇지 않으면 false
  • *
*/ - default boolean update(Rcvmt rcvmt) { - return rcvmt != null && updateRcvmt(params().set("rcvmt", rcvmt)) == 1; - } + int updateRcvmtRtrcn(Rcvmt rcvmt); /**지정한 수납 대장을 삭제한다. * @param params 파라미터 @@ -106,18 +87,7 @@ public interface RcvmtMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int deleteRcvmt(Map params); - - /**수납 대장 정보를 삭제한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean delete(Rcvmt rcvmt) { - return rcvmt != null && deleteRcvmt(params().set("rcvmt", rcvmt)) == 1; - } + int deleteRcvmt(Rcvmt rcvmt); /**지정한 조건에 따라 부과 대장 객체를 반환한다. * @param req 수납 대장 조회 조건 diff --git a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java b/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java index 3ec58514..aa5ae3d2 100644 --- a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java +++ b/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java @@ -78,20 +78,20 @@ public class RcvmtBean extends AbstractBean { return rcvmtMapper.selectRcvmts(req); } - /**지정한 ID의 부과 정보를 반환한다.
+ /**지정한 ID의 수납 정보를 반환한다.
* @param req 수납 대장 조회 조건 * @return 수납 정보 */ - public DataObject getLevyInfo(RcvmtQuery req) { - return rcvmtMapper.selectLevyInfo(req); + public DataObject getRcvmtInfo(RcvmtQuery req) { + return rcvmtMapper.selectRcvmtInfo(req); } - /**지정한 ID의 수납 정보를 반환한다.
+ /**지정한 ID의 부과 정보를 반환한다.
* @param req 수납 대장 조회 조건 * @return 수납 정보 */ - public DataObject getRcvmtInfo(RcvmtQuery req) { - return rcvmtMapper.selectRcvmtInfo(req); + public DataObject getLevyInfo(RcvmtQuery req) { + return rcvmtMapper.selectLevyInfo(req); } /**수납 대장 정보를 등록한다. @@ -103,9 +103,8 @@ public class RcvmtBean extends AbstractBean { */ public String createRcvmt(Rcvmt rcvmt) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 + int rtnNocs = -1; // 처리 결과 건수 + String rtnMsg = ""; // 처리 결과 메시지 // 부과 ID로 부과 정보 조회 DataObject levyInfo = levyMapper.selectLevyAmt(new LevyQuery().setLevyId(rcvmt.getLevyId())); @@ -137,9 +136,10 @@ public class RcvmtBean extends AbstractBean { rcvmt.setRcvmtPcptax(rcvmt.getRcvmtAmt()); // 수납 본세 rcvmt.setRcvmtAdamt(0); // 수납 가산금 } - rcvmtSeCd = "06"; // 수납 구분 코드 = 일부수납 + rcvmtSeCd = "06"; // 수납 구분 코드 = 일부수납 } else { - throw new RuntimeException("수납 등록 중 수납금액 계산에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + rtnMsg = "[F] 수납 등록 중 수납금액 계산에 실패하였습니다."; // 예외를 발생시켜서 DB Rollback + return rtnMsg; } // 수납 구분 코드가 입력 되지 않았다면.. @@ -147,23 +147,23 @@ public class RcvmtBean extends AbstractBean { rcvmt.setRcvmtSeCd(rcvmtSeCd); } - rtnScs = rcvmtMapper.insert(rcvmt); // 수납 대장 등록 - if (!rtnScs) { - throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + // 수납(TB_RCVMT) 대장을 등록 한다. + rtnNocs = rcvmtMapper.insertRcvmt(rcvmt); + if (rtnNocs != 1) { + throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - // 부과(TB_LEVY) 대장을 수정한다. if (!rcvmtSeCd.equals("02")) { // 이중 수납이 아니라면.. Levy levy = new Levy(); - - levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID - levy.setRcvmtPcptax(rcvmt.getRcvmtPcptax()); // 수납 본세 - levy.setRcvmtAdamt(rcvmt.getRcvmtAdamt()); // 수납 가산금 + levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID + levy.setRcvmtPcptax(rcvmt.getRcvmtPcptax()); // 수납 본세 + levy.setRcvmtAdamt(rcvmt.getRcvmtAdamt()); // 수납 가산금 levy.setSumAmt(rcvmt.getLastPcptax() + rcvmt.getLastAdamt() - rcvmt.getRcvmtPcptax() - rcvmt.getRcvmtAdamt()); // 합계 금액 - levy.setRcvmtYmd(rcvmt.getRcvmtYmd()); // 수납 일자 - levy.setPayMthdSeCd(rcvmt.getPayMthdSeCd()); // 납부 방법 구분 코드 + levy.setRcvmtYmd(rcvmt.getRcvmtYmd()); // 수납 일자 + levy.setPayMthdSeCd(rcvmt.getPayMthdSeCd()); // 납부 방법 구분 코드 - rtnNocs = levyMapper.updateRcvmt(levy); // 부과 대장 수정 + // 부과(TB_LEVY) 대장에 수납금액을 수정한다. + rtnNocs = levyMapper.updateRcvmt(levy); if (rtnNocs != 1) { throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -171,9 +171,7 @@ public class RcvmtBean extends AbstractBean { // 합계 금액이 0이면서 완납(01) 또는 과납(04)이라면 단속 상태 코드를 수정한다. if (levy.getSumAmt() == 0 && (rcvmtSeCd.equals("01") || rcvmtSeCd.equals("04"))) { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); String newCrdnSttsCd = ""; - if (levyInfo.number("CRDN_STTS_CD").intValue() >= 11 && levyInfo.number("CRDN_STTS_CD").intValue() <= 45) { newCrdnSttsCd = "71"; // 사전통보수납 } else if (levyInfo.string("CRDN_STTS_CD").equals("51")) { @@ -188,6 +186,7 @@ public class RcvmtBean extends AbstractBean { newCrdnSttsCd = "75"; // 압류수납 } + CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(levyInfo.string("CRDN_ID")); // 단속 ID crdnSttsHstry.setBfrSttsCd(levyInfo.string("CRDN_STTS_CD")); // 단속 상태 코드 crdnSttsHstry.setBfrSttsChgDt(levyInfo.string("CRDN_STTS_CHG_DT")); // 단소 상태 변경 일시 @@ -195,7 +194,7 @@ public class RcvmtBean extends AbstractBean { crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); + boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!rtnScs) { throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -214,45 +213,18 @@ public class RcvmtBean extends AbstractBean { */ public String updateRcvmtRtrcn(Rcvmt rcvmt) { // 변수 선언 -// boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + String rtnMsg = ""; // 수납 취소 rtnMsg = updateRcvmtCancle(rcvmt); if (rtnMsg.contains("[F]")) { - throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback } - return "[S] 작업이 정상 처리 되었습니다."; - } + // 과오납 등록 - /**수납 대장에 수납취소 정보를 등록하고, 수납 대장 정보를 삭제한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public String removeRcvmt(Rcvmt rcvmt) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - // 수납 취소 - rtnMsg = updateRcvmtCancle(rcvmt); - if (rtnMsg.contains("[F]")) { - throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback - } - - // 수납 삭제 - rtnScs = rcvmtMapper.delete(rcvmt); - if (!rtnScs) { - throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; + return "[S] 작업이 정상 처리 되었습니다."; } /**수납 대장에 수납취소 정보를 등록한다. @@ -264,16 +236,15 @@ public class RcvmtBean extends AbstractBean { */ public String updateRcvmtCancle(Rcvmt rcvmt) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 + int rtnNocs = -1; // 처리 결과 건수 // 수납 ID로 수납 정보 조회 DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N")); - rtnScs = rcvmtMapper.updateRcvmtRtrcn(rcvmt); - if (!rtnScs) { - throw new RuntimeException("수납 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + // 수납(TB_RCVMT) 대장에 수납취소 정보를 수정 한다. + rtnNocs = rcvmtMapper.updateRcvmtRtrcn(rcvmt); + if (rtnNocs != 1) { + throw new RuntimeException("수납 대장에 수납취소 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } // 수납구분코드(RCVMT_SE_CD)가 이중 수납이 아니라면.. @@ -287,22 +258,22 @@ public class RcvmtBean extends AbstractBean { + rcvmtInfo.number("RCVMT_PCPTAX").intValue() + rcvmtInfo.number("RCVMT_ADAMT").intValue(); // 합계 금액 Levy levy = new Levy(); - - levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID - levy.setRcvmtPcptax(rcvmtPcptax); // 수납 본세 - levy.setRcvmtAdamt(rcvmtAdamt); // 수납 가산금 - levy.setSumAmt(sumAmt); // 합계 금액 + levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID + levy.setRcvmtPcptax(rcvmtPcptax); // 수납 본세 + levy.setRcvmtAdamt(rcvmtAdamt); // 수납 가산금 + levy.setSumAmt(sumAmt); // 합계 금액 // 수납 금액이 0이면서.. 완납(01) 또는 과납(04)이라면 수납 일자를 NULL로 수정한다. if (rcvmtPcptax + rcvmtAdamt == 0 && "01,04".contains(rcvmtInfo.string("RCVMT_SE_CD"))) { - levy.setRcvmtYmd(null); // 수납 일자 - levy.setPayMthdSeCd(null); // 납부 방법 구분 코드 + levy.setRcvmtYmd(null); // 수납 일자 + levy.setPayMthdSeCd(null); // 납부 방법 구분 코드 } else { - levy.setRcvmtYmd(levyInfo.string("RCVMT_YMD")); // 수납 일자 - levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드 + levy.setRcvmtYmd(levyInfo.string("RCVMT_YMD")); // 수납 일자 + levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드 } - rtnNocs = levyMapper.updateRcvmt(levy); // 부과 대장 수정 + // 부과(TB_LEVY) 대장에 수납금액 정보를 수정 한다. + rtnNocs = levyMapper.updateRcvmt(levy); if (rtnNocs != 1) { throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -333,7 +304,7 @@ public class RcvmtBean extends AbstractBean { crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); + boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!rtnScs) { throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -343,4 +314,27 @@ public class RcvmtBean extends AbstractBean { return "[S] 작업이 정상 처리 되었습니다."; } + /**수납 대장 정보를 삭제한다. + * @param rcvmt 수납 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public String removeRcvmt(Rcvmt rcvmt) { + // 수납 ID로 수납 정보 조회 + DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId())); + + if (rcvmtInfo.string("RCVMT_INPT_SE_CD").equals("03")) { + throw new RuntimeException("수납입력구분이 수기등록 자료만 삭제가 가능합니다."); // 예외를 발생시켜서 DB Rollback + } + // 수납(TB_RCVMT) 대장을 삭제 한다. + int rtnNocs = rcvmtMapper.deleteRcvmt(rcvmt); + if (rtnNocs != 1) { + throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + return "[S] 작업이 정상 처리 되었습니다."; + } + } diff --git a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java index 79078246..eacc5c50 100644 --- a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java +++ b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.usermodel.CellStyle; import org.springframework.stereotype.Controller; @@ -76,14 +77,16 @@ public class Rcvm01Controller extends ApplicationController { ManagedUser managedUser = (ManagedUser)currentUser().getUser(); // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054"); + Map> commonCodes = getCodesOf("FIM041", "FIM045", "FIM054"); return mav - .addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "rcvmt") // prefix - .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "rcvmt") // prefix + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl + .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + .addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD) + .addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD) ; } @@ -129,24 +132,24 @@ public class Rcvm01Controller extends ApplicationController { valueMap.put("세목코드", format.of("TXITM_CD").style(center)); valueMap.put("세목명", format.of("TXITM_NM")); valueMap.put("부과번호", format.of("LEVY_NO").style(center)); + valueMap.put("분납일련번호", format.of("INSPY_SN").style(center)); + valueMap.put("최종본세", format.of("LAST_PCPTAX").style(numeric)); + valueMap.put("최종가산금", format.of("LAST_ADAMT").style(numeric)); valueMap.put("수납일련번호", format.of("RCVMT_SN").style(center)); - valueMap.put("회계일자", FormatMaker.yyyy_mm_dd(format, "ACNTG_YMD").style(dateYMD)); - valueMap.put("소인일자", FormatMaker.yyyy_mm_dd(format, "PSTMRK_YMD").style(dateYMD)); + valueMap.put("수납구분", format.of("RCVMT_SE_NM").style(center)); valueMap.put("수납일자", FormatMaker.yyyy_mm_dd(format, "RCVMT_YMD").style(dateYMD)); + valueMap.put("회계일자", FormatMaker.yyyy_mm_dd(format, "ACNTG_YMD").style(dateYMD)); + valueMap.put("이체일자", FormatMaker.yyyy_mm_dd(format, "TSF_YMD").style(dateYMD)); valueMap.put("수납금액", format.of("RCVMT_AMT").style(numeric)); valueMap.put("수납본세", format.of("RCVMT_PCPTAX").style(numeric)); valueMap.put("수납가산금", format.of("RCVMT_ADAMT").style(numeric)); valueMap.put("수납이자", format.of("RCVMT_INT").style(numeric)); valueMap.put("수납은행", format.of("RCVMT_BANK_NM")); valueMap.put("납부방법", format.of("PAY_MTHD_SE_NM")); - valueMap.put("수납구분", format.of("RCVMT_SE_NM").style(center)); valueMap.put("수납상태", format.of("RCVMT_STTS_NM").style(center)); valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); valueMap.put("최초납기일자", FormatMaker.yyyy_mm_dd(format, "FRST_DUDT_YMD").style(dateYMD)); valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("부과본세", format.of("LEVY_PCPTAX").style(numeric)); - valueMap.put("부과가산금", format.of("LEVY_ADAMT").style(numeric)); - valueMap.put("분납이자", format.of("INSPY_INT").style(numeric)); valueMap.put("압류일자", FormatMaker.yyyy_mm_dd(format, "SZR_YMD").style(dateYMD)); valueMap.put("압류물건", format.of("SZR_THING")); valueMap.put("대체압류차량", format.of("RPM_SZR_VHRNO")); @@ -184,8 +187,7 @@ public class Rcvm01Controller extends ApplicationController { */ @Task @RequestMapping(name="수납 정보 조회", value=METHOD_URL.getReceivingMoneyInfo) - public ModelAndView getReceivingMoneyInfo(RcvmtQuery req) { - // 수납 정보 조회 + public ModelAndView getReceivingMoneyInfo(HttpServletRequest hReq, RcvmtQuery req) { DataObject info = rcvmtService.getRcvmtInfo(req); boolean json = jsonResponse(); @@ -196,12 +198,15 @@ public class Rcvm01Controller extends ApplicationController { Map> commonCodes = getCodesOf("FIM041", "FIM045", "FIM054"); return mav - .addObject("pageName", "rcvm01020") - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD) - .addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("rcvmtInfo", json ? info : toJson(info)) // 수납 정보 + .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("pageName", "rcvm01020") // jsp pageName + .addObject("infoPrefix", "rcvmt") // prefix + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl + .addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD) + .addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD) + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + .addObject("rcvmtInfo", json ? info : toJson(info)) // 수납 정보 ; } diff --git a/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml b/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml index 0f24fda8..45892043 100644 --- a/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml @@ -123,18 +123,18 @@ - AND LE.REG_DT =]]> CONCAT(#{schRegDateFrom},'000000') + AND LE.REG_DT =]]> CONCAT(#{schRegDateFrom},'000000') - AND LE.REG_DT CONCAT(#{schRegDateTo},'235959') + AND LE.REG_DT CONCAT(#{schRegDateTo},'235959') - AND LE.MDFCN_DT =]]> CONCAT(#{schRegDateFrom},'000000') + AND LE.MDFCN_DT =]]> CONCAT(#{schRegDateFrom},'000000') - AND LE.MDFCN_DT CONCAT(#{schRegDateTo},'235959') + AND LE.MDFCN_DT CONCAT(#{schRegDateTo},'235959') diff --git a/src/main/resources/sql/mapper/fims/rcvm/rcvmt-mapper.xml b/src/main/resources/sql/mapper/fims/rcvm/rcvmt-mapper.xml index 39fce3ad..0455fec7 100644 --- a/src/main/resources/sql/mapper/fims/rcvm/rcvmt-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rcvm/rcvmt-mapper.xml @@ -9,6 +9,8 @@ + + @@ -21,19 +23,18 @@ + + + - - - - @@ -49,84 +50,77 @@ - SELECT R.RCVMT_ID - , R.RCVMT_INPT_SE_CD - , R.DEPT_CD - , R.SPCL_BIZ_CD - , R.FYR - , R.ACNTG_SE_CD - , R.TXITM_CD - , R.LEVY_NO - , R.INSPY_SN - , R.LAST_PCPTAX - , R.LAST_ADAMT - , R.RCVMT_SN - , R.RCVMT_YMD - , R.RCVMT_AMT - , R.RCVMT_PCPTAX - , R.RCVMT_ADAMT - , R.RCVMT_INT - , R.RCVMT_BANK_NM - , R.PAY_MTHD_SE_CD - , R.PSTMRK_YMD - , R.ACNTG_YMD - , R.VRACTNO - , R.EPAYNO - , R.RCVMT_SE_CD - , R.NXRP_LEVY_KEY - , R.RCVMT_RTRCN_YN - , R.RCVMT_RTRCN_DT - , R.RCVMT_RTRCN_RSN - , R.RCVMT_STTS_CD - , R.DEL_YN - , R.REG_DT - , R.MDFCN_DT - , R.DEL_DT - , R.DEL_RSN - , (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM - , (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM - , (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM - , (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM - , (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM - , (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM - , (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM - , (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM - , L.LEVY_ID - , L.LEVY_YMD - , L.FRST_DUDT_YMD - , L.DUDT_YMD - , L.FFNLG_AMT - , L.LEVY_PCPTAX - , L.LEVY_ADAMT - , L.INSPY_INT - , L.SZR_YMD - , L.SZR_THING - , L.RPM_SZR_VHRNO - , L.SZR_RMV_YMD - , L.SZR_RMV_RSN - , C.CRDN_ID - , C.CRDN_YMD - , C.CRDN_TM - , C.VHRNO - , C.CRDN_STDG_NM - , C.CRDN_ROAD_NM - , C.CRDN_PLC - , C.CRDN_STTS_CD - , C.CRDN_STTS_CHG_DT - , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM + SELECT R.RCVMT_ID + , R.SGG_CD + , R.TASK_SE_CD + , (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM + , R.RCVMT_INPT_SE_CD + , (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM + , R.DEPT_CD + , R.SPCL_BIZ_CD + , R.FYR + , R.ACNTG_SE_CD + , (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM + , R.TXITM_CD + , (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM + , R.LEVY_NO + , R.INSPY_SN + , R.LAST_PCPTAX + , R.LAST_ADAMT + , R.RCVMT_SN + , R.RCVMT_SE_CD + , (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM + , R.RCVMT_YMD + , R.ACNTG_YMD + , R.TSF_YMD + , R.RCVMT_AMT + , R.RCVMT_PCPTAX + , R.RCVMT_ADAMT + , R.RCVMT_INT + , R.RCVMT_BANK_NM + , R.PAY_MTHD_SE_CD + , (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM + , R.VRACTNO + , R.EPAYNO + , R.RCVMT_RTRCN_YN + , (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM + , R.RCVMT_RTRCN_DT + , R.RCVMT_RTRCN_RSN + , R.RCVMT_STTS_CD + , (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM + , R.DEL_YN + , R.REG_DT + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM + , R.MDFCN_DT + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM + , L.LEVY_ID + , L.LEVY_YMD + , L.FRST_DUDT_YMD + , L.DUDT_YMD + , L.SZR_YMD + , L.SZR_THING + , L.RPM_SZR_VHRNO + , L.SZR_RMV_YMD + , L.SZR_RMV_RSN + , C.CRDN_ID + , C.CRDN_YMD + , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM + , C.VHRNO + , C.CRDN_STDG_NM + , C.CRDN_ROAD_NM + , C.CRDN_PLC + , C.CRDN_STTS_CD , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM - , P.RTPYR_ID - , P.RTPYR_SE_CD + , C.CRDN_STTS_CHG_DT + , P.RTPYR_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 - , (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK - , PA.ZIP - , PA.ADDR - , PA.DTL_ADDR + , P.RTPYR_NO + , P.RTPYR_NM + , PA.ADDR_SN + , PA.ZIP + , PA.ADDR + , PA.DTL_ADDR FROM TB_RCVMT R LEFT OUTER JOIN TB_LEVY L ON (R.LEVY_ID = L.LEVY_ID) LEFT OUTER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID) @@ -138,48 +132,63 @@ - - AND R.PSTMRK_YMD = ]]> #{schPstmrkYmdFrom} - - - AND R.PSTMRK_YMD #{schPstmrkYmdTo} - - AND R.PSTMRK_YMD = ]]> #{schRcvmtYmdFrom} + AND R.RCVMT_YMD = ]]> #{schRcvmtYmdFrom} - AND R.RCVMT_YMD #{schRcvmtYmdTo} + AND R.RCVMT_YMD #{schRcvmtYmdTo} + + + AND R.ACNTG_YMD = ]]> #{schAcntgYmdFrom} + + + AND R.ACNTG_YMD #{schAcntgYmdTo} + + + AND R.TSF_YMD = ]]> #{schTsfYmdFrom} + + + AND R.TSF_YMD #{schTsfYmdTo} + + + AND R.RCVMT_SE_CD = #{schRcvmtSeCd} + + + AND R.PAY_MTHD_SE_CD = #{schPayMthdSeCd} + + + AND R.DEL_YN = #{delYn} - AND C.CRDN_YMD = ]]> #{schCrdnYmdFrom} + AND C.CRDN_YMD = ]]> #{schCrdnYmdFrom} - AND C.CRDN_YMD #{schCrdnYmdTo} + AND C.CRDN_YMD #{schCrdnYmdTo} - AND C.VHRNO = #{schVhrno} + AND C.VHRNO = #{schVhrno} - - AND P.RTPYR_NM = #{schRtpyrNm} + + AND P.RTPYR_NO = #{schRtpyrNo} - - AND R.DEL_YN = #{delYn} + + AND P.RTPYR_NM = #{schRtpyrNm} - AND R.REG_DT =]]> CONCAT(#{schRegDateFrom},'000000') + AND R.REG_DT =]]> CONCAT(#{schRegDateFrom},'000000') - AND R.REG_DT CONCAT(#{schRegDateTo},'235959') + AND R.REG_DT CONCAT(#{schRegDateTo},'235959') - AND R.MDFCN_DT =]]> CONCAT(#{schRegDateFrom},'000000') + AND R.MDFCN_DT =]]> CONCAT(#{schRegDateFrom},'000000') - AND R.MDFCN_DT CONCAT(#{schRegDateTo},'235959') + AND R.MDFCN_DT CONCAT(#{schRegDateTo},'235959') @@ -188,12 +197,12 @@ - AND R.RGTR = #{schRgtrCd} + AND R.RGTR = #{schRgtrCd} - AND R.MDFR = #{schRgtrCd} + AND R.MDFR = #{schRgtrCd} @@ -210,10 +219,14 @@ R.ACNTG_SE_CD R.TXITM_CD R.LEVY_NO + R.INSPY_SN + R.LAST_PCPTAX + R.LAST_ADAMT R.RCVMT_SN R.PSTMRK_YMD R.ACNTG_YMD R.RCVMT_YMD + R.RCVMT_AMT R.RCVMT_PCPTAX R.RCVMT_ADAMT R.RCVMT_INT @@ -224,9 +237,6 @@ L.LEVY_YMD L.FRST_DUDT_YMD L.DUDT_YMD - L.LEVY_PCPTAX - L.LEVY_ADAMT - L.INSPY_INT L.SZR_YMD L.SZR_THING L.RPM_SZR_VHRNO @@ -236,9 +246,12 @@ C.CRDN_STDG_NM C.CRDN_PLC C.CRDN_STTS_CD - P.RTPYR_NM + P.RTPYR_SE_CD P.RTPYR_NO - P.RTPYR_BRDT + P.RTPYR_NM + PA.ZIP + PA.ADDR + PA.DTL_ADDR #{term} @@ -246,59 +259,59 @@ + AND R.SGG_CD = #{sggCd} + AND R.TASK_SE_CD = #{taskSeCd} - SELECT R.RCVMT_ID - , R.RCVMT_INPT_SE_CD - , R.DEPT_CD - , R.SPCL_BIZ_CD - , R.FYR - , R.ACNTG_SE_CD - , R.TXITM_CD - , R.LEVY_NO - , R.INSPY_SN - , R.LAST_PCPTAX - , R.LAST_ADAMT - , R.RCVMT_SN - , R.RCVMT_YMD - , R.RCVMT_AMT - , R.RCVMT_PCPTAX - , R.RCVMT_ADAMT - , R.RCVMT_INT - , R.RCVMT_BANK_NM - , R.PAY_MTHD_SE_CD - , R.PSTMRK_YMD - , R.ACNTG_YMD - , R.VRACTNO - , R.EPAYNO - , R.RCVMT_SE_CD - , R.NXRP_LEVY_KEY - , R.RCVMT_RTRCN_YN - , R.RCVMT_RTRCN_DT - , R.RCVMT_RTRCN_RSN - , R.RCVMT_STTS_CD - , R.DEL_YN - , R.REG_DT - , R.MDFCN_DT - , R.DEL_DT - , R.DEL_RSN - , (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM - , (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM - , (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM - , (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM - , (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM - , (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM - , (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM - , (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM - , L.LEVY_ID - , C.CRDN_ID + SELECT R.RCVMT_ID + , R.SGG_CD + , R.TASK_SE_CD + , (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM + , R.RCVMT_INPT_SE_CD + , (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM + , R.DEPT_CD + , R.SPCL_BIZ_CD + , R.FYR + , R.ACNTG_SE_CD + , (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM + , R.TXITM_CD + , (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM + , R.LEVY_NO + , R.INSPY_SN + , R.LAST_PCPTAX + , R.LAST_ADAMT + , R.RCVMT_SN + , R.RCVMT_SE_CD + , (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM + , R.RCVMT_YMD + , R.ACNTG_YMD + , R.TSF_YMD + , R.RCVMT_AMT + , R.RCVMT_PCPTAX + , R.RCVMT_ADAMT + , R.RCVMT_INT + , R.RCVMT_BANK_NM + , R.PAY_MTHD_SE_CD + , (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM + , R.VRACTNO + , R.EPAYNO + , R.RCVMT_RTRCN_YN + , R.RCVMT_RTRCN_DT + , R.RCVMT_RTRCN_RSN + , (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM + , R.RCVMT_STTS_CD + , (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM + , R.DEL_YN + , R.REG_DT + , R.MDFCN_DT + , R.DEL_DT + , R.DEL_RSN + , L.LEVY_ID + , C.CRDN_ID FROM TB_RCVMT R LEFT OUTER JOIN TB_LEVY L ON (R.LEVY_ID = L.LEVY_ID) LEFT OUTER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID) @@ -307,6 +320,11 @@ - /* 수납 대장 수납취소 정보 수정(rcvmtMapper.updateRcvmtRtrcn) */ + /* 수납 대장 수납취소 정보 수정(rcvmtMapper.updateRcvmtRtrcn) */ UPDATE TB_RCVMT - SET RCVMT_RTRCN_YN = #{rcvmt.rcvmtRtrcnYn} - , RCVMT_RTRCN_DT = - , RCVMT_RTRCN_RSN = #{rcvmt.rcvmtRtrcnRsn} - , MDFCN_DT = #{rcvmt.lastModified} - , MDFR = #{rcvmt.modifiedBy} - WHERE RCVMT_ID = #{rcvmt.rcvmtId} - AND DEL_YN = 'N' + SET RCVMT_RTRCN_YN = #{rcvmtRtrcnYn} + , RCVMT_RTRCN_DT = + , RCVMT_RTRCN_RSN = #{rcvmtRtrcnRsn} + , MDFCN_DT = #{lastModified} + , MDFR = #{modifiedBy} + WHERE RCVMT_ID = #{rcvmtId} + AND DEL_YN = 'N' - /* 수납 대장 등록(rcvmtMapper.insertRcvmt) */ - - SELECT CONCAT(#{rcvmt.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCVMT_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID - , (SELECT LPAD(CAST(IFNULL(MAX(RCVMT_SN) + 1, 1) AS INT), 2, '0') FROM TB_RCVMT WHERE LEVY_ID = #{rcvmt.levyId}) AS NEW_RCVMT_SN + /* 수납 대장 등록(rcvmtMapper.insertRcvmt) */ + + SELECT CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCVMT_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID + , (SELECT LPAD(CAST(IFNULL(MAX(RCVMT_SN) + 1, 1) AS INT), 2, '0') FROM TB_RCVMT WHERE LEVY_ID = #{levyId}) AS NEW_RCVMT_SN FROM TB_RCVMT - WHERE RCVMT_ID LIKE CONCAT(#{rcvmt.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%') + WHERE RCVMT_ID LIKE CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%') INSERT INTO TB_RCVMT ( RCVMT_ID + , SGG_CD + , TASK_SE_CD , LEVY_ID , RCVMT_INPT_SE_CD , DEPT_CD @@ -356,19 +376,18 @@ , LAST_PCPTAX , LAST_ADAMT , RCVMT_SN + , RCVMT_SE_CD , RCVMT_YMD + , ACNTG_YMD + , TSF_YMD , RCVMT_AMT , RCVMT_PCPTAX , RCVMT_ADAMT , RCVMT_INT , RCVMT_BANK_NM , PAY_MTHD_SE_CD - , PSTMRK_YMD - , ACNTG_YMD - , VRACTNO , EPAYNO - , RCVMT_SE_CD - , NXRP_LEVY_KEY + , VRACTNO , RCVMT_RTRCN_YN , RCVMT_RTRCN_DT , RCVMT_RTRCN_RSN @@ -380,87 +399,80 @@ , MDFR ) VALUES ( - #{rcvmt.rcvmtId} - , #{rcvmt.levyId} - , #{rcvmt.rcvmtInptSeCd} - , #{rcvmt.deptCd} - , #{rcvmt.spclBizCd} - , #{rcvmt.fyr} - , #{rcvmt.acntgSeCd} - , #{rcvmt.txitmCd} - , #{rcvmt.levyNo} - , #{rcvmt.inspySn} - , #{rcvmt.lastPcptax} - , #{rcvmt.lastAdamt} - , #{rcvmt.rcvmtSn} - , #{rcvmt.rcvmtYmd} - , #{rcvmt.rcvmtAmt} - , #{rcvmt.rcvmtPcptax} - , #{rcvmt.rcvmtAdamt} - , #{rcvmt.rcvmtInt} - , #{rcvmt.rcvmtBankNm} - , #{rcvmt.payMthdSeCd} - , #{rcvmt.pstmrkYmd} - , #{rcvmt.acntgYmd} - , #{rcvmt.vractno} - , #{rcvmt.epayno} - , #{rcvmt.rcvmtSeCd} - , #{rcvmt.nxrpLevyKey} - , #{rcvmt.rcvmtRtrcnYn} - , #{rcvmt.rcvmtRtrcnDt} - , #{rcvmt.rcvmtRtrcnRsn} - , #{rcvmt.rcvmtSttsCd} - , 'N' - , #{rcvmt.createdAt} - , #{rcvmt.createdBy} - , #{rcvmt.lastModified} - , #{rcvmt.modifiedBy} + #{rcvmtId} + , #{sggCd} + , #{taskSeCd} + , #{levyId} + , #{rcvmtInptSeCd} + , #{deptCd} + , #{spclBizCd} + , #{fyr} + , #{acntgSeCd} + , #{txitmCd} + , #{levyNo} + , #{inspySn} + , #{lastPcptax} + , #{lastAdamt} + , #{rcvmtSn} + , #{rcvmtSeCd} + , #{rcvmtYmd} + , #{acntgYmd} + , #{tsfYmd} + , #{rcvmtAmt} + , #{rcvmtPcptax} + , #{rcvmtAdamt} + , #{rcvmtInt} + , #{rcvmtBankNm} + , #{payMthdSeCd} + , #{epayno} + , #{vractno} + , #{rcvmtRtrcnYn} + , #{rcvmtRtrcnDt} + , #{rcvmtRtrcnRsn} + , #{rcvmtSttsCd} + , 'N' + , #{createdAt} + , #{createdBy} + , #{lastModified} + , #{modifiedBy} ) - /* 수납 대장 수정(rcvmtMapper.updateRcvmt) */ + /* 수납 대장 수정(rcvmtMapper.updateRcvmt) */ UPDATE TB_RCVMT - SET DEPT_CD = #{rcvmt.deptCd} - , SPCL_BIZ_CD = #{rcvmt.spclBizCd} - , FYR = #{rcvmt.fyr} - , ACNTG_SE_CD = #{rcvmt.acntgSeCd} - , TXITM_CD = #{rcvmt.txitmCd} - , LEVY_NO = #{rcvmt.levyNo} - , INSPY_SN = #{rcvmt.inspySn} - , LAST_PCPTAX = #{rcvmt.lastPcptax} - , LAST_ADAMT = #{rcvmt.lastAdamt} - , RCVMT_SN = #{rcvmt.rcvmtSn} - , RCVMT_YMD = #{rcvmt.rcvmtYmd} - , RCVMT_AMT = #{rcvmt.rcvmtAmt} - , RCVMT_PCPTAX = #{rcvmt.rcvmtPcptax} - , RCVMT_ADAMT = #{rcvmt.rcvmtAdamt} - , RCVMT_INT = #{rcvmt.rcvmtInt} - , RCVMT_BANK_NM = #{rcvmt.rcvmtBankNm} - , PAY_MTHD_SE_CD = #{rcvmt.payMthdSeCd} - , PSTMRK_YMD = #{rcvmt.pstmrkYmd} - , ACNTG_YMD = #{rcvmt.acntgYmd} - , VRACTNO = #{rcvmt.vractno} - , EPAYNO = #{rcvmt.epayno} - , RCVMT_SE_CD = #{rcvmt.rcvmtSeCd} - , NXRP_LEVY_KEY = #{rcvmt.nxrpLevyKey} - , RCVMT_RTRCN_YN = #{rcvmt.rcvmtRtrcnYn} - , RCVMT_RTRCN_DT = #{rcvmt.rcvmtRtrcnDt} - , RCVMT_RTRCN_RSN = #{rcvmt.rcvmtRtrcnRsn} - , RCVMT_STTS_CD = #{rcvmt.rcvmtSttsCd} - , MDFCN_DT = #{rcvmt.lastModified} - , MDFR = #{rcvmt.modifiedBy} - WHERE RCVMT_ID = #{rcvmt.rcvmtId} - AND DEL_YN = 'N' + SET LAST_PCPTAX = #{lastPcptax} + , LAST_ADAMT = #{lastAdamt} + , RCVMT_SN = #{rcvmtSn} + , RCVMT_SE_CD = #{rcvmtSeCd} + , RCVMT_YMD = #{rcvmtYmd} + , ACNTG_YMD = #{acntgYmd} + , TSF_YMD = #{tsfYmd} + , RCVMT_AMT = #{rcvmtAmt} + , RCVMT_PCPTAX = #{rcvmtPcptax} + , RCVMT_ADAMT = #{rcvmtAdamt} + , RCVMT_INT = #{rcvmtInt} + , RCVMT_BANK_NM = #{rcvmtBankNm} + , PAY_MTHD_SE_CD = #{payMthdSeCd} + , EPAYNO = #{epayno} + , VRACTNO = #{vractno} + , RCVMT_RTRCN_YN = #{rcvmtRtrcnYn} + , RCVMT_RTRCN_DT = #{rcvmtRtrcnDt} + , RCVMT_RTRCN_RSN = #{rcvmtRtrcnRsn} + , RCVMT_STTS_CD = #{rcvmtSttsCd} + , MDFCN_DT = #{lastModified} + , MDFR = #{modifiedBy} + WHERE RCVMT_ID = #{rcvmtId} + AND DEL_YN = 'N' - /* 수납 대장 삭제(rcvmtMapper.deleteRcvmt) */ + /* 수납 대장 삭제(rcvmtMapper.deleteRcvmt) */ UPDATE TB_RCVMT - SET DEL_YN = 'Y' - , DEL_DT = #{rcvmt.lastModified} - , DLTR = #{rcvmt.modifiedBy} - , DEL_RSN = #{rcvmt.delRsn} - WHERE RCVMT_ID = #{rcvmt.rcvmtId} - AND DEL_YN = 'N' + SET DEL_YN = 'Y' + , DEL_DT = #{lastModified} + , DLTR = #{modifiedBy} + , DEL_RSN = #{delRsn} + WHERE RCVMT_ID = #{rcvmtId} + AND DEL_YN = 'N' ~ - - +
- 수납일자 + @@ -73,36 +74,46 @@
- +
- 단속일자 + - ~ -
- +
- - + +
- +
- - + +
- + - +
+ @@ -190,33 +228,33 @@ 세목코드 세목명 부과번호 + 분납일련번호 + 최종본세 + 최종가산금 수납일련번호 - 회계일자 - 소인일자 + 수납구분 수납일자 + 회계일자 + 이체일자 수납금액 수납본세 수납가산금 수납이자 수납은행 납부방법 - 수납구분 수납상태 부과일자 최초납기일자 납기일자 - 부과본세 - 부과가산금 - 분납이자 압류일자 압류물건 대체압류차량 압류해제일자 - 단속일시 + 단속일시 차량번호 납부자구분 납부자번호 - 납부자명 + 납부자명 단속법정동 단속장소 처리상태 @@ -232,30 +270,30 @@ {TASK_SE_NM} {RCVMT_INPT_SE_NM} - {RCVMT_RTRCN_NM} + {RCVMT_RTRCN_NM} {FYR} {ACNTG_SE_CD} {TXITM_CD} {TXITM_NM} {LEVY_NO} + {INSPY_SN} + {LAST_PCPTAX} + {LAST_ADAMT} {RCVMT_SN} - {ACNTG_YMD} - {PSTMRK_YMD} + {RCVMT_SE_NM} {RCVMT_YMD} - {RCVMT_AMT} + {ACNTG_YMD} + {TSF_YMD} + {RCVMT_AMT} {RCVMT_PCPTAX} {RCVMT_ADAMT} {RCVMT_INT} {RCVMT_BANK_NM} {PAY_MTHD_SE_NM} - {RCVMT_SE_NM} {RCVMT_STTS_NM} {LEVY_YMD} {FRST_DUDT_YMD} {DUDT_YMD} - {LEVY_PCPTAX} - {LEVY_ADAMT} - {INSPY_INT} {SZR_YMD} {SZR_THING} {RPM_SZR_VHRNO} @@ -317,70 +355,68 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/rcvm/rcvm01"; // FormFields $P.formFields = new FimsFormFields("#frmSearch--${pageName}"); /************************************************************************** * DatasetControl **************************************************************************/ - $P.control = new DatasetControl({ - prefix : "rcvmt" - , prefixName : "수납" - , infoSize : "lg" - , keymapper : info => info ? info.RCVMT_ID : "" - , dataGetter : obj => obj.rcvmtList - , appendData : true - , formats : { - RCVMT_YMD : dateFormat - , ACNTG_YMD : dateFormat - , PSTMRK_YMD : dateFormat - , RCVMT_AMT : numberFormat - , RCVMT_PCPTAX : numberFormat - , RCVMT_ADAMT : numberFormat - , RCVMT_INT : numberFormat - , LEVY_YMD : dateFormat - , FRST_DUDT_YMD : dateFormat - , DUDT_YMD : dateFormat - , FFNLG_AMT : numberFormat - , LEVY_PCPTAX : numberFormat - , LEVY_ADAMT : numberFormat - , SZR_YMD : dateFormat - , CRDN_YMD_TM : datetimeFormat - , REG_DT : datetimeFormat - , MDFCN_DT : datetimeFormat + $P.control = new DatasetControl({ + prefix: "rcvmt" + , prefixName: "수납" + , keymapper: info => info ? info.RCVMT_ID : "" + , dataGetter: obj => obj.${infoPrefix}List + , appendData: true + , infoSize: "lg" + , formats: { + RCVMT_YMD: dateFormat + , ACNTG_YMD: dateFormat + , PSTMRK_YMD: dateFormat + , RCVMT_AMT: numberFormat + , LAST_PCPTAX: numberFormat + , LAST_ADAMT: numberFormat + , RCVMT_PCPTAX: numberFormat + , RCVMT_ADAMT: numberFormat + , RCVMT_INT: numberFormat + , LEVY_YMD: dateFormat + , FRST_DUDT_YMD: dateFormat + , DUDT_YMD: dateFormat + , FFNLG_AMT: numberFormat + , SZR_YMD: dateFormat + , CRDN_YMD_TM: datetimeFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat } }); // $P.control 설정 - $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 - $P.control.untilPageNum = 0; // 현재 페이지 번호 - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 + $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + $P.control.untilPageNum = 0; // 현재 페이지 번호 $P.control.beforeCurrent = null; + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 /************************************************************************** * DatasetControl 이벤트 **************************************************************************/ // Dataset 변경 이벤트 - $P.control.onDatasetChange = obj => { + $P.control.onDatasetChange = (obj) => { $P.renderList(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ - list : $P.control.dataset - , prefix : "paging--${pageName}" - , start : obj.${infoPrefix}Start - , totalSize : obj.${infoPrefix}Total - , fetchSize : obj.${infoPrefix}Fetch - , func : "$P.control.load({index})" + list: $P.control.dataset + , prefix: "paging--${pageName}" + , start: obj.${infoPrefix}Start + , totalSize: obj.${infoPrefix}Total + , fetchSize: obj.${infoPrefix}Fetch + , func: "pageObject['${pageName}'].control.load({index})" }); - $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 - $P.control.onCurrentChange = item => { + $P.control.onCurrentChange = (item) => { if (!item) return; let key = item.data.RCVMT_ID; @@ -395,13 +431,47 @@ $("#tbody--${pageName} input[type='checkbox']").each(function() { let checkbox = $(this); - checkbox.prop("checked", keys.includes(checkbox.val())); }); - $("#btnRemove--${pageName}").prop("disabled", keys.length < 1); + // 삭제 버튼 +// $("#btnRemove--${pageName}").prop("disabled", keys.length < 1); + + // DataTables(그리드) 전체 선택(checkbox) + if (keys.length < 1) { + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + } else if (keys.length == ${infoPrefix}List.length) { + $("th input[type='checkbox']").prop("checked", true); // 체크 설정 + } else { + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + } }; + // 삭제 callback + $P.control.onRemove = (resp) => { + let btnTitle = $("#btnRemove--${pageName}").attr("title"); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); + + // 메시지 출력 + dialog.alert({ + content: showMessage + , onOK: () => { } + }); + + if (resp.saved) { $P.fnRefreshList(); } // 자료 재조회 + } + + // 삭제 + $P.control.remove = (params) => { + if (!params) return; + + ajax.post({ + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/010/remove.do") + , data: params || {} + , success: resp => $P.control.onRemove(resp) + }); + } + /************************************************************************** * DataTables 이벤트 **************************************************************************/ @@ -422,7 +492,7 @@ // let replacer = (str, dataItem) => str - .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');") + .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');") .replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');"); let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML] @@ -448,74 +518,67 @@ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 $P.scrollDataList = () => { - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.load($P.control.query.pageNum + 1); } - /************************************************************************** - * 사용자 함수(function) - **************************************************************************/ - // callback 사용자 검색 - $P.callbackFindUser = (userId, userNm) => { - $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID - $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 - } - - // 사용자 검색 - $P.getFindUser = () => { - let params = { - openerPageName : "${pageName}" - , callbackFuncName : "pageObject['${pageName}']['callbackFindUser']" - } - - ajax.get({ - url : wctx.url("/user/user02/010/main.do") - , data : params || {} - , success : resp => { - dialog.open({ - id : "userDialog" - , title : "사용자 검색" - , content : resp - , size : "lg" - }); - } - }); - } - - // 개별총정보 dialog + // DataTables에 더블 클릭시 개별총정보 dialog $P.getTotalInfo = (crdnId) => { if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callControlName : "pageObject['${pageName}'].control" - , sggCd : $("#sggCd--${pageName}").val() - , taskSeCd : $("input[name=taskSeCd]:checked").val() - , crdnId : crdnId + callControlName: "pageObject['${pageName}'].control" + , sggCd: $P.control.dataset.getValue("SGG_CD") + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") + , crdnId: crdnId } ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") - , data : params - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") + , data: params + , success: resp => { dialog.open({ - id : "totalInfoMainDialog" - , title : "개별총정보" - , content : resp - , size : "xxl" + id: "totalInfoMainDialog" + , title: "개별총정보" + , content: resp + , size: "xxl" }); } }); } + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ // 검색 자료 재조회 - $P.refreshList = () => { + $P.fnRefreshList = () => { $P.control.untilPageNum = $P.control.query.pageNum; $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum; $P.control.load(1); } + // 사용자검색 callback + $P.callbackFindUser = (userId, userNm) => { + $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID + $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 + } + + // 삭제사유 callback + $P.callbackRsn = (obj) => { + // 서버에 전송할 data(파라미터) 생성 + let params = {}; + let selected = $P.control.dataset.getKeys("selected"); + + params[$P.control.prefixed("Ids")] = selected.join(","); // IDs + params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 + params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드 + params.delRsn = obj.reason; // 삭제 사유 + + $P.control.remove(params); + } + /************************************************************************** * 버튼 clickEvent **************************************************************************/ @@ -527,9 +590,7 @@ } // 초기 기본 설정 - $P.initForm(); - // 기본 데이터 설정 - $P.initData(taskSeCd); + $P.initForm(taskSeCd); // 업무 구분별 설정 $P.setTask(taskSeCd); @@ -537,12 +598,34 @@ $P.control.dataset.clear(); } + // 사용자검색 버튼 클릭 이벤트 + $P.fnGetFindUser = () => { + let params = { + openerPageName: "${pageName}" + , callbackFuncName: "pageObject['${pageName}']['callbackFindUser']" + } + + ajax.get({ + url: wctx.url("/user/user02/010/main.do") + , data: params || {} + , success: resp => { + dialog.open({ + id: "userDialog" + , title: "사용자 검색" + , content: resp + , size: "lg" + , init: () => { setDialogZindex(); } + }); + } + }); + } + // 검색 버튼 이벤트 $P.fnSearchList = () => { // 검색조건 - $P.control.query = $P.formFields.get(); - $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 - $P.control.query.delYn = "N"; // 삭제 여부 + $P.control.query = $P.formFields.get(); // 검색 조건 + $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 + $P.control.query.delYn = "N"; // 삭제 여부 $P.control.load(1); } @@ -554,7 +637,6 @@ content : "검색된 자료가 없습니다." , onOK : () => { } }); - return; } @@ -566,9 +648,39 @@ $P.control.download(); } - // 사용자 조회 버튼 이벤트 - $P.fnFindUser = () => { - $P.getFindUser(); + // 부과제외 삭제 버튼 클릭 이벤트 + $P.fnRemove = (title) => { + // 선택 자료 + let selected = $P.control.dataset.getKeys("selected"); + + if (selected.length < 1) { + dialog.alert({ + content: "선택하신 " + $P.control.prefixName + " 정보가 없습니다." + , onOK: () => { } + }); + return; + } + + // 삭제 메세지 확인 + dialog.alert({ + content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" + , onOK: async() => { + // 삭제 사유 입력 + let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); + let template = await resp.text(); + + dialog.open({ + id: "inputDelRsnDialog" + , title: title + , size: "lg" + , content: template + , init: () => { setDialogZindex(); } + , onOK: () => { + $P.callbackRsn({ reason : $("#reason").val() }); + } + }); + } + }); } /************************************************************************** @@ -610,7 +722,7 @@ } // 초기 화면 설정 - $P.initForm = () => { + $P.initForm = (taskSeCd) => { // 화면 초기화 $("#frmSearch--${pageName}")[0].reset(); @@ -627,54 +739,33 @@ $(this).prop("disabled", "true"); }); - // 달력 초기화 - initDatepicker("frmSearch--${pageName}"); - $("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", new Date()); - $("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date()); - - // 동적 검색 - $("#byOutput--${pageName}").val("동적 검색"); - - // 사용자 이름 - $("#schRgtrNm--${pageName}").prop("readonly", true); - } - - // 기본 데이터 설정 - $P.initData = (taskSeCd) => { - // 시군구 코드 - $("#sggCd--${pageName}").val("${sggCd}"); - // 업무 구분 코드 - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); - - // 일자 - $("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); - $("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date()); + // 기본 데이터 설정 + $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 + $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 코드 + initDatepicker("frmSearch--${pageName}"); // 달력 초기화 + $("#schAcntgYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); // 회계 일자 시작 + $("#schAcntgYmdTo--${pageName}").datepicker("setDate", new Date()); // 회계 일자 종료 + $("#byOutput--${pageName}").val("동적 검색"); // 동적 검색 + $("#schRgtrNm--${pageName}").prop("readonly", true); // 사용자 이름 } // 업무 구분별 설정 $P.setTask = (taskSeCd) => { - let clsForTask = taskSeCd.toLowerCase(); + // 업무구분에 따른 URL 설정 + $P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do"); // 검색 // 업무별 조회조건 - renderForTask("frmSearch--${pageName}", clsForTask); + renderForTask("frmSearch--${pageName}", taskSeCd.toLowerCase()); // 업무별 그리드 th let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content; - let cols = $(colContent).find("." + clsForTask + ",.cmn"); + let cols = $(colContent).find("." + taskSeCd.toLowerCase() + ",.cmn"); let colsOuterHTML = ""; cols.each(function() { colsOuterHTML += this.outerHTML; }); $("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML); - - // URL 설정 - $P.setURL(taskSeCd); - } - - // 업무구분에 따른 URL 설정 - $P.setURL = (taskSeCd) => { - $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회 } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp index 92244ef6..696c13d3 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp @@ -12,11 +12,11 @@
- - + +
@@ -34,19 +34,22 @@
+ +
+ + + +
- +
- +
- -
-
@@ -59,8 +62,8 @@
- - + +
@@ -87,13 +90,6 @@ data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required />
- -
- - - -
@@ -101,6 +97,13 @@ data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" />
+ +
+ + + +
@@ -116,8 +119,11 @@
- +
+ +
@@ -157,188 +163,200 @@ /************************************************************************** * Global Variable **************************************************************************/ - // URL - var ${pageName}PrefixUrl = "/rcvm/rcvm01"; - // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) - var ${pageName}CallPurpose = "${callPurpose}"; - // FormFields - var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); + pageObject["${pageName}"] = {}; /************************************************************************** - * DatasetControl + * script 진입 **************************************************************************/ - var ${pageName}Control = new DatasetControl({ - prefix : "rcvmt" - , prefixName : "수납" - , keymapper : info => info ? info.RCVMT_ID : "" - , dataGetter : obj => obj.rcvmtInfo - , formats : { - CRDN_YMD_TM : datetimeFormat - , LEVY_PCPTAX : numberFormat - , LEVY_ADAMT : numberFormat - , INSPY_INT : numberFormat - , RCVMT_PCPTAX : numberFormat - , RCVMT_ADAMT : numberFormat - , RCVMT_INT : numberFormat - } - }); - - ${pageName}Control.onCurrentChange = item => { - if (!item) return; - - // Dataset 셋팅 - ${pageName}Fields.set(${pageName}Control,item); + $(document).ready(function() { + // pageObject + let $P = pageObject["${pageName}"]; + + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) + $P.callPurpose = "${callPurpose}"; + // FormFields + $P.formFields = new FimsFormFields("#frmEdit--${pageName}"); + + /************************************************************************** + * DatasetControl + **************************************************************************/ + $P.control = new DatasetControl({ + prefix: "rcvmt" + , prefixName: "수납" + , keymapper: info => info ? info.RCVMT_ID : "" + , dataGetter: obj => obj.${infoPrefix}Info + , formats: { + CRDN_YMD_TM: datetimeFormat + , LEVY_PCPTAX: numberFormat + , LEVY_ADAMT: numberFormat + , INSPY_INT: numberFormat + , RCVMT_PCPTAX: numberFormat + , RCVMT_ADAMT: numberFormat + , RCVMT_INT: numberFormat + } + }); - // 납부 방법 구분 코드(PAY_MTHD_SE_CD) - if (typeof item.data.PAY_MTHD_SE_CD == "undefined" || item.data.PAY_MTHD_SE_CD == null || item.data.PAY_MTHD_SE_CD == "") { - $("#payMthdSeCd--${pageName}").val("81"); + /************************************************************************** + * DatasetControl 이벤트 + **************************************************************************/ + // 현재 선택 자료 변경 이벤트 + $P.control.onCurrentChange = (item) => { + if (!item) return; + + // Dataset 셋팅 + $P.formFields.set($P.control, item); + + // 업무구분에 따른 URL 변경 + $P.fnSetURL(item.data.TASK_SE_CD); + + // 호출용도가 등록 이라면.. + if ($P.callPurpose == "create") { + $("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자 + $("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자 + $("#tsfYmd--${pageName}").datepicker("setDate", new Date()); // 이체 일자 + $("#rcvmtInt--${pageName}").val("0"); // 수납 이자 + } } - // 업무구분에 따른 url 변경 - ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do"); - ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); - } - - /************************************************************************** - * DatasetControl 이벤트 - **************************************************************************/ - // 저장 callback - ${pageName}Control.onSave = (resp) => { - let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); - let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); + // 저장 callback + $P.control.onSave = (resp) => { + let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html(); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); - dialog.alert(showMessage); + // 메시지 출력 + dialog.alert({ + content: showMessage + , init: () => { setDialogZindex(); } + , onOK: () => { } + }); - if (resp.saved) { - dialog.close(${pageName}Control.prefix + "Dialog"); + if (resp.saved) { + dialog.close($P.control.prefix + "Dialog--${openerPageName}"); + } } - } - // 저장 - ${pageName}Control.save = (info) => { - if (!info) return; + // 저장 + $P.control.save = (info) => { + if (!info) return; - info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기 + let create = ($P.callPurpose == "create"); - let create = (${pageName}CallPurpose == "create"); - - ajax.post({ - url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create - , data : info - , success : resp => ${pageName}Control.onSave(resp) - }); - } - - /************************************************************************** - * 사용자 함수 - **************************************************************************/ + if (create) { + info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기 + } + ajax.post({ + url: !create ? $P.control.urls.update : $P.control.urls.create + , data: info || {} + , success: resp => $P.control.onSave(resp) + }); + } - /************************************************************************** - * 버튼 clickEvent - **************************************************************************/ - // 저장 버튼 클릭 이벤트 - fnSave${pageName} = () => { - // validate 확인 - if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + /************************************************************************** + * 사용자 함수 + **************************************************************************/ + // 업무구분에 따른 URL 설정 + $P.fnSetURL = (taskSeCd) => { + $P.control.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/create.do"); // 등록 + $P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/update.do"); // 수정 + } - // 수납금액 확인 - let rcvmtAmt = $("#rcvmtAmt--${pageName}").val(); + /************************************************************************** + * 버튼 clickEvent + **************************************************************************/ + // 저장 버튼 클릭 이벤트 + $P.fnSave = () => { + // validate 확인 + if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + + // 수납금액 확인 + let rcvmtAmt = $("#rcvmtAmt--${pageName}").val(); + if (rcvmtAmt == "" || Number(rcvmtAmt) < 10) { + dialog.alert({ + content: "수납금액은 10원 이상으로 입력되어야 합니다." + , onOK: () => { } + }); + return; + } - if (rcvmtAmt == "" || Number(rcvmtAmt) < 10) { dialog.alert({ - content : "수납금액은 10원 이상으로 입력되어야 합니다." - , onOK : () => { } + content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" + , init: () => { setDialogZindex(); } + , onOK: () => { + $P.control.save($P.formFields.get()); // formFields + } + }); + } + + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 설정 + $P.setEvent = () => { + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmEdit--${pageName}").find(".form-date").each(function() { + $(this).on("input", function() { + let value = this.value.replaceAll("-",""); + + if (value.length > 7) { + this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0, 4) + "-" + value.substring(4); + } + }); }); - return; + // 버튼 이벤트 + $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 } - dialog.alert({ - content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - ${pageName}Control.save(${pageName}Fields.get()); - } - }); - } + // 초기 화면 설정 + $P.initForm = () => { + // Dialog 마우스로 드래그 할 수 있도록 설정. + fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog--${openerPageName}")); - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 이벤트 설정 - setEvent${pageName} = () => { - // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 - $("#frmEdit--${pageName}").find(".form-date").each(function() { - $(this).on("input", function() { - let value = this.value.replaceAll("-",""); - - if (value.length > 7) { - this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); - } else if(value.length > 5) { - this.value = value.substring(0, 4) + "-" + value.substring(4); - } - }); - }); - } - - // 화면 초기화 - initForm${pageName} = () => { - // 화면 초기화 - $("#frmEdit--${pageName}")[0].reset(); - - // 달력 초기화 - initDatepicker("frmEdit--${pageName}"); - $("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자 - $("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); // 소인 일자 - $("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자 - } - - // 기본 데이터 설정 - setFormData${pageName} = () => { - $("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일시 - $("#vhrno--${pageName}").prop("readonly", true); // 차량번호 - $("#crdnSttsNm--${pageName}").prop("readonly", true); // 단속 상태 - $("#acntgSeCd--${pageName}").prop("readonly", true); // 회계 구분 코드 - $("#txitmCd--${pageName}").prop("readonly", true); // 세목 코드 - $("#fyr--${pageName}").prop("readonly", true); // 회계연도 - $("#levyNo--${pageName}").prop("readonly", true); // 부과 번호 - $("#inspyNo--${pageName}").prop("readonly", true); // 분납 순번 - $("#levyPcptax--${pageName}").prop("readonly", true); // 부과 본세 - $("#levyAdamt--${pageName}").prop("readonly", true); // 부과 가산금 - $("#inspyInt--${pageName}").prop("readonly", true); // 단속 상태 - - if (${pageName}CallPurpose == "view") { - // input 요소들을 disabled - $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); - // button 요소들을 disabled - $("#rcvmtYmd--${pageName}").prop("disabled", true); // 수납 일자 달력 버튼 - $("#pstmrkYmd--${pageName}").prop("disabled", true); // 소인 일자 달력 버튼 - $("#acntgYmd--${pageName}").prop("disabled", true); // 회계 일자 달력 버튼 - $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 - } else if (${pageName}CallPurpose == "create") { + // 달력 초기화 + initDatepicker("frmEdit--${pageName}"); $("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자 $("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); // 소인 일자 $("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자 - } else if (${pageName}CallPurpose == "update") { - // - } - } - /************************************************************************** - * script 진입 - **************************************************************************/ - $(document).ready(function() { - // 이벤트 설정 - setEvent${pageName}(); + // 화면 활성화 설정 + $("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일시 + $("#vhrno--${pageName}").prop("readonly", true); // 차량번호 + $("#crdnSttsNm--${pageName}").prop("readonly", true); // 단속 상태 + $("#acntgSeCd--${pageName}").prop("readonly", true); // 회계 구분 코드 + $("#txitmCd--${pageName}").prop("readonly", true); // 세목 코드 + $("#fyr--${pageName}").prop("readonly", true); // 회계연도 + $("#levyNo--${pageName}").prop("readonly", true); // 부과 번호 + $("#inspySn--${pageName}").prop("readonly", true); // 분납 순번 + $("#levyPcptax--${pageName}").prop("readonly", true); // 부과 본세 + $("#levyAdamt--${pageName}").prop("readonly", true); // 부과 가산금 + $("#inspyInt--${pageName}").prop("readonly", true); // 분납이자 + + // View로 호출 + if ($P.callPurpose == "view") { + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#rcvmtYmd--${pageName}").prop("disabled", true); // 수납 일자 달력 버튼 + $("#pstmrkYmd--${pageName}").prop("disabled", true); // 소인 일자 달력 버튼 + $("#acntgYmd--${pageName}").prop("disabled", true); // 회계 일자 달력 버튼 + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } + } - // 초기 기본 설정 - initForm${pageName}(); + /************************************************************************** + * 최초 실행 함수 + **************************************************************************/ + // 1. 이벤트 설정 + $P.setEvent(); - // Dataset 설정 - ${pageName}Control.setData([${rcvmtInfo}]); + // 2. 초기 화면 설정 + $P.initForm(); - // 기본 데이터 설정 - setFormData${pageName}(); + // 3. Dataset 설정 + $P.control.setData([${rcvmtInfo}]); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp index f8f934a9..bd1e5bc0 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp @@ -286,25 +286,25 @@ // 단속상태이력 DatasetControl $P.crdnSttsHstryControl = new DatasetControl({ - prefix : "crdnSttsHstry" - , prefixName : "단속상태 이력" - , keymapper : info => info ? info.STTS_HSTRY_ID : "" - , dataGetter : obj => obj.crdnSttsHstryList - , appendData : true - , formats : { - REG_DT : datetimeFormat + prefix: "crdnSttsHstry" + , prefixName: "단속상태 이력" + , keymapper: info => info ? info.STTS_HSTRY_ID : "" + , dataGetter: obj => obj.crdnSttsHstryList + , appendData: true + , formats: { + REG_DT: datetimeFormat } }); // 납부자 변경 이력 DatasetControl $P.payerHstryControl = new DatasetControl({ - prefix : "payerHstry" - , prefixName : "납부자변경 이력" - , keymapper : info => info ? info.HSTRY_SN : "" - , dataGetter : obj => obj.payerHstryList - , appendData : true - , formats : { - REG_DT : datetimeFormat + prefix: "payerHstry" + , prefixName: "납부자변경 이력" + , keymapper: info => info ? info.HSTRY_SN : "" + , dataGetter: obj => obj.payerHstryList + , appendData: true + , formats: { + REG_DT: datetimeFormat } }); @@ -394,9 +394,9 @@ if (!params) return; ajax.post({ - url : wctx.url("/" + params.taskSeCd + "/levy/levy02/010/remove.do") - , data : params - , success : resp => $P.rductControl.onRemove(resp) + url: wctx.url("/" + params.taskSeCd + "/levy/levy02/010/remove.do") + , data: params + , success: resp => $P.rductControl.onRemove(resp) }); } @@ -412,9 +412,9 @@ if (!params) return; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do") + "?openerPageName=${pageName}" - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do") + "?openerPageName=${pageName}" + , data: params || {} + , success: resp => { if ((typeof resp) != "string") { if (resp.rtnMsg != "") { dialog.alert(resp.rtnMsg); @@ -445,9 +445,7 @@ }); // 자료 재조회 - if (resp.saved) { - $P.fnRefreshDataInfo(); - } + if (resp.saved) { $P.fnRefreshDataInfo(); } } // 부과제외 삭제 @@ -502,39 +500,35 @@ // 자료 재조회 $P.fnRefreshDataInfo = () => { let crdnId = $("#crdnId--${pageNameMain}").val(); - // 단속 ID 가 없다면.. return if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callPurpose : "refresh" - , crdnId : crdnId - , sggCd : $("#sggCd--${pageNameMain}").val() - , taskSeCd : $("#taskSeCd--${pageNameMain}").val() - , rtpyrId : $("#rtpyrId--${pageNameMain}").val() - , delYn : "N" + callPurpose: "refresh" + , crdnId: crdnId + , sggCd: $("#sggCd--${pageNameMain}").val() + , taskSeCd: $("#taskSeCd--${pageNameMain}").val() + , rtpyrId: $("#rtpyrId--${pageNameMain}").val() + , delYn: "N" }; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do") + url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do") , headers: { Accept: "application/json; charset=utf-8" } // json - , data : params || {} - , success : resp => { + , data: params || {} + , success: resp => { // 초기화 - $("#frmRductEdit--${pageName}")[0].reset(); // 감경 화면 초기화 - $("#frmExclEdit--${pageName}")[0].reset(); // 부과제외 화면 초기화 - $P.rductControl.dataset.clear(); // 감경 Dataset 초기화 - $P.levyExclControl.dataset.clear(); // 부과제외 Dataset 초기화 - $P.crdnSttsHstryControl.dataset.clear(); // 단속상태 이력 Dataset 초기화 - $P.payerHstryControl.dataset.clear(); // 납부자 이력 Dataset 초기화 + $("#frmRductEdit--${pageName}")[0].reset(); // 감경 화면 초기화 + $("#frmExclEdit--${pageName}")[0].reset(); // 부과제외 화면 초기화 + $P.rductControl.dataset.clear(); // 감경 Dataset 초기화 + $P.levyExclControl.dataset.clear(); // 부과제외 Dataset 초기화 + $P.crdnSttsHstryControl.dataset.clear(); // 단속상태 이력 Dataset 초기화 + $P.payerHstryControl.dataset.clear(); // 납부자 이력 Dataset 초기화 // 감경 정보 - if (resp.rduct) - $P.rductControl.setData([resp.rduct]); - + if (resp.rduct) { $P.rductControl.setData([resp.rduct]); } // 부과제외 정보 - if (resp.levyExcl) - $P.levyExclControl.setData([resp.levyExcl]); + if (resp.levyExcl) { $P.levyExclControl.setData([resp.levyExcl]); } // Dataset 셋팅 $P.crdnSttsHstryControl.setData(resp.crdnSttsHstry); // 단속상태 이력 @@ -563,8 +557,8 @@ // 납부자 ID 가 없다면.. return if (typeof rtpyrId == "undefined" || rtpyrId == null || rtpyrId == "") { dialog.alert({ - content : "납부자가 등록되지 않았습니다." - , onOK : () => { } + content: "납부자가 등록되지 않았습니다." + , onOK: () => { } }); return; } @@ -682,8 +676,8 @@ // 삭제 메세지 확인 dialog.alert({ - content : "선택한 " + $P.rductControl.prefixName + " 정보를 삭제하시겠습니까?" - , onOK : async() => { + content: "선택한 " + $P.rductControl.prefixName + " 정보를 삭제하시겠습니까?" + , onOK: async() => { // 사유 입력 let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); let template = await resp.text(); @@ -740,7 +734,7 @@ $P.fnCreateLevyExcl = (title) => { // 단속 ID let crdnId = $("#crdnId--${pageNameMain}").val(); - + // 단속 ID 가 없다면.. return if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; // 단속 상태 코드 @@ -839,7 +833,7 @@ , content: template , init: () => { setDialogZindex(); } , onOK: () => { - $P.callbackRsnLevyExcl({ reason : $("#reason").val() }); + $P.callbackRsnLevyExcl({ reason: $("#reason").val() }); } }); } @@ -918,14 +912,14 @@ $P.initForm(); // 3. Dataset 설정 - let rduct = ${rduct}; // 감경 정보 + let rduct = ${rduct}; // 감경 정보 if (rduct) $P.rductControl.setData([rduct]); - let levyExcl = ${levyExcl}; // 부과제외 정보 + let levyExcl = ${levyExcl}; // 부과제외 정보 if (levyExcl) $P.levyExclControl.setData([levyExcl]); - $P.crdnSttsHstryControl.setData(${crdnSttsHstry}); // 단속상태 이력 - $P.payerHstryControl.setData(${payerAddrHstry}); // 납부자주소 이력 + $P.crdnSttsHstryControl.setData(${crdnSttsHstry}); // 단속상태 이력 + $P.payerHstryControl.setData(${payerAddrHstry}); // 납부자주소 이력 }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp index e0d887f3..53755b73 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp @@ -33,29 +33,30 @@ - + + + + + - + + - - - - + - @@ -64,36 +65,37 @@ @@ -234,7 +236,7 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; // FormFields $P.formFields = new FimsFormFields("#frmEdit--${pageName}"); @@ -242,23 +244,23 @@ /************************************************************************** * DatasetControl **************************************************************************/ - $P.control = new DatasetControl({ - prefix : "rcvmt" - , prefixName : "수납" - , keymapper : info => info ? info.RCVMT_ID : "" - , dataGetter : obj => obj.rcvmt - , appendData : true - , formats : { - RCVMT_YMD : dateFormat - , ACNTG_YMD : dateFormat - , PSTMRK_YMD : dateFormat - , RCVMT_AMT : numberFormat - , RCVMT_PCPTAX : numberFormat - , RCVMT_ADAMT : numberFormat - , RCVMT_INT : numberFormat - , RCVMT_RTRCN_DT : datetimeFormat - , REG_DT : datetimeFormat - , MDFCN_DT : datetimeFormat + $P.control = new DatasetControl({ + prefix: "rcvmt" + , prefixName: "수납" + , keymapper: info => info ? info.RCVMT_ID : "" + , dataGetter: obj => obj.rcvmt + , appendData: true + , formats: { + RCVMT_YMD: dateFormat + , ACNTG_YMD: dateFormat + , PSTMRK_YMD: dateFormat + , RCVMT_AMT: numberFormat + , RCVMT_PCPTAX: numberFormat + , RCVMT_ADAMT: numberFormat + , RCVMT_INT: numberFormat + , RCVMT_RTRCN_DT: datetimeFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat } }); @@ -274,11 +276,11 @@ $P.control.onCurrentChange = (item) => { if (!item) return; - let key = item.data.RCVMT_ID; + $P.formFields.set($P.control, item); // 화면에 자료 셋팅 - $("#tbody--${pageName}").setCurrentRow(key); // datatable에 자료 셋팅 + let key = item.data.RCVMT_ID; - $P.formFields.set($P.control,item); // 화면에 자료 셋팅 + $("#tbody--${pageName}").setCurrentRow(key); // datatable에 자료 셋팅 }; // 수기 수납 등록 @@ -286,15 +288,15 @@ if (!params) return; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/020/info.do") - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/020/info.do") + "?openerPageName=${pageName}" + , data: params || {} + , success: resp => { dialog.open({ - id : $P.control.prefixed("Dialog") - , title : params.title - , content : resp - , size : "lg" - , onClose : () => { $P.refreshDataInfo(); } + id: $P.control.prefixed("Dialog--${pageName}") + , title: params.title + , content: resp + , size: "lg" + , onClose: () => { $P.fnRefreshDataInfo(); } }); } }); @@ -302,18 +304,17 @@ // 수기 수납 취소 callback $P.control.onSave = (resp) => { - let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html(); + let dialogTitle = $("#" + $P.control.prefix + "Dialog--${pageName}").find("h5.modal-title").html(); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , onOK: () => { } }); - if (resp.saved) { - $P.refreshDataInfo(); - } + // 자료 재조회 + if (resp.saved) { $P.fnRefreshDataInfo(); } } // 수기 수납 취소 @@ -321,9 +322,9 @@ if (!params) return; ajax.post({ - url : wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/updateRcvmtRtrcn.do") - , data : params - , success : resp => $P.control.onSave(resp) + url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/updateRcvmtRtrcn.do") + , data: params || {} + , success: resp => $P.control.onSave(resp) }); } @@ -332,14 +333,14 @@ let btnTitle = $("#btnRemoveRcvmt--${pageName}").attr("title"); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); + // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } - }); + content: showMessage + , onOK: () => { } + }); - if (resp.saved) { - $P.refreshDataInfo(); - } + // 자료 재조회 + if (resp.saved) { $P.fnRefreshDataInfo(); } } // 수기 수납 삭제 @@ -347,9 +348,9 @@ if (!params) return; ajax.post({ - url : wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/remove.do") - , data : params - , success : resp => $P.control.onRemove(resp) + url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/remove.do") + , data: params || {} + , success: resp => $P.control.onRemove(resp) }); } @@ -376,31 +377,31 @@ * 사용자 함수(function) **************************************************************************/ // 자료 재조회 - $P.refreshDataInfo = () => { + $P.fnRefreshDataInfo = () => { // 단속 ID let crdnId = $("#crdnId--${pageNameMain}").val(); // 단속 ID 가 없다면.. return if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callPurpose : "refresh" - , crdnId : crdnId - , sggCd : $("#sggCd--${pageNameMain}").val() - , taskSeCd : $("#taskSeCd--${pageNameMain}").val() - , delYn : "N" + callPurpose: "refresh" + , crdnId: crdnId + , sggCd: $("#sggCd--${pageNameMain}").val() + , taskSeCd: $("#taskSeCd--${pageNameMain}").val() + , delYn: "N" }; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do") - , headers: { Accept: "application/json; charset=utf-8" } // json - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do") + , headers: { Accept: "application/json; charset=utf-8" } // json + , data: params || {} + , success: resp => { // 초기화 - $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 - $P.control.dataset.clear(); // 수납 Dataset 초기화 + $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 + $P.control.dataset.clear(); // 수납 Dataset 초기화 // Dataset 셋팅 - $P.control.setData(resp.rcvmt); // 수납 정보 + $P.control.setData(resp.rcvmt); // 수납 정보 // 최상단 단속 Data 셋팅 if (resp.totalInfo) { @@ -414,12 +415,12 @@ $P.callbackUpdate = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = { - callPurpose : "update" - , rcvmtId : $P.control.dataset.getValue("RCVMT_ID") // 수납 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , rcvmtRtrcnYn : "Y" // 수납 취소 여부 - , rcvmtRtrcnRsn : obj.reason // 수납 취소 사유 + callPurpose: "update" + , rcvmtId: $P.control.dataset.getValue("RCVMT_ID") // 수납 ID + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , rcvmtRtrcnYn: "Y" // 수납 취소 여부 + , rcvmtRtrcnRsn: obj.reason // 수납 취소 사유 }; $P.control.save(params); @@ -429,11 +430,11 @@ $P.callbackRsn = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = { - callPurpose : obj.callPurpose - , rcvmtId : $P.control.dataset.getValue("RCVMT_ID") // 수납 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , delRsn : obj.reason // 삭제 사유 + callPurpose: obj.callPurpose + , rcvmtId: $P.control.dataset.getValue("RCVMT_ID") // 수납 ID + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , delRsn: obj.reason // 삭제 사유 }; $P.control.remove(params); @@ -450,11 +451,12 @@ if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callPurpose : "create" - , title : title - , crdnId : crdnId - , sggCd : $("#sggCd--${pageNameMain}").val() - , taskSeCd : $("#taskSeCd--${pageNameMain}").val() + callPurpose: "create" + , title: title + , crdnId: crdnId + , sggCd: $("#sggCd--${pageNameMain}").val() + , taskSeCd: $("#taskSeCd--${pageNameMain}").val() + , delYn: "N" }; $P.control.getInfo(params); @@ -469,23 +471,21 @@ // 수납 취소 메세지 확인 dialog.alert({ - content : title + " 작업 진행시 과오납이 발생합니다." - + "
" + "계속 진행하시겠습니까?" - , onOK : async() => { + content: title + " 작업 진행시 과오납이 발생합니다." + + "
" + "계속 진행하시겠습니까?" + , onOK: async() => { // 사유 입력 - var resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); - var template = await resp.text(); + let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); + let template = await resp.text(); dialog.open({ - id : "inputDelRsnDialog", - title: title, - size : "lg", - content: template, - init : () => { - setDialogZindex(); - }, - onOK : () => { - $P.callbackRsn({ reason : $("#reason").val() }); + id: "inputDelRsnDialog" + , title: title + , size: "lg" + , content: template + , init: () => { setDialogZindex(); } + , onOK: () => { + $P.callbackRsn({ reason: $("#reason").val() }); } }); } @@ -504,32 +504,30 @@ let rcvmtInptSeNm = $P.control.dataset.getValue("RCVMT_INPT_SE_NM"); if (rcvmtInptSeCd != "03") { dialog.alert({ - content : "[" + title + "]" + " 작업은 rcvmtInptSeNm 구분이 '수기' 자료만 처리 가능합니다." + content: "[" + title + "]" + " 작업은 rcvmtInptSeNm 구분이 '수기' 자료만 처리 가능합니다." + "
" + "수납입력구분 : " + crdnSttsNm + "

" + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } // 삭제 메세지 확인 dialog.alert({ - content : "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" - , onOK : async() => { + content: "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" + , onOK: async() => { // 사유 입력 - var resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); - var template = await resp.text(); + let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); + let template = await resp.text(); dialog.open({ - id : "inputDelRsnDialog", - title: title, - size : "lg", - content: template, - init : () => { - setDialogZindex(); - }, - onOK : () => { - $P.callbackRsn({ reason : $("#reason").val() }); + id: "inputDelRsnDialog" + , title: title + , size: "lg" + , content: template + , init: () => { setDialogZindex(); } + , onOK: () => { + $P.callbackRsn({ reason: $("#reason").val() }); } }); } @@ -594,7 +592,7 @@ $P.initForm(); // 3. Dataset 설정 - let rcvmt = ${rcvmt}; // 수납 정보 Data 셋팅 + let rcvmt = ${rcvmt}; // 수납 정보 Data 셋팅 if (rcvmt) { $P.control.setData(${rcvmt}); }