수납 - 수납 관리 수정.

main
jjh 12 months ago
parent 912603c0de
commit 513ee1f9a1

@ -30,6 +30,7 @@ public class DlbrDecsn implements HWPFormatWriter {
@Override
public void writeSingleDataInfo(HWPFile baseFile, HWPFile attachFile, DataObject dataObject, HWPPrintUtil hwpPrintUtil) {
//
ClickHereEditor baseFileEditor = new ClickHereEditor(baseFile);
baseFileEditor.set("접수번호", dataObject.string("RCPT_NO_MASK"));

@ -48,9 +48,9 @@ public class Rcvmt extends AbstractEntity {
private String acntgYr;
/**
*
*
*/
private String acntgSe;
private String acntgSeCd;
/**
*

@ -17,14 +17,23 @@ 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)_납부자 명
// ETC
private String callPurpose; // 호출용도 필요시 사용(select, create, update)
private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유
private String callPurpose; // 호출용도 필요시 사용(select, create, update)
private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
@ -66,6 +75,83 @@ public class RcvmtQuery extends CmmnQuery {
return self();
}
//
public String getSchPstmrkYmdFrom() {
return ifEmpty(schPstmrkYmdFrom, () -> null);
}
public <T extends RcvmtQuery> T setSchPstmrkYmdFrom(String schPstmrkYmdFrom) {
this.schPstmrkYmdFrom = schPstmrkYmdFrom;
return self();
}
public String getSchPstmrkYmdTo() {
return ifEmpty(schPstmrkYmdTo, () -> null);
}
public <T extends RcvmtQuery> T setSchPstmrkYmdTo(String schPstmrkYmdTo) {
this.schPstmrkYmdTo = schPstmrkYmdTo;
return self();
}
public String getSchRcvmtYmdFrom() {
return ifEmpty(schRcvmtYmdFrom, () -> null);
}
public <T extends RcvmtQuery> T setSchRcvmtYmdFrom(String schRcvmtYmdFrom) {
this.schRcvmtYmdFrom = schRcvmtYmdFrom;
return self();
}
public String getSchRcvmtYmdTo() {
return ifEmpty(schRcvmtYmdTo, () -> null);
}
public <T extends RcvmtQuery> T setSchRcvmtYmdTo(String schRcvmtYmdTo) {
this.schRcvmtYmdTo = schRcvmtYmdTo;
return self();
}
public String getSchCrdnYmdFrom() {
return ifEmpty(schCrdnYmdFrom, () -> null);
}
public <T extends RcvmtQuery> T setSchCrdnYmdFrom(String schCrdnYmdFrom) {
this.schCrdnYmdFrom = schCrdnYmdFrom;
return self();
}
public String getSchCrdnYmdTo() {
return ifEmpty(schCrdnYmdTo, () -> null);
}
public <T extends RcvmtQuery> T setSchCrdnYmdTo(String schCrdnYmdTo) {
this.schCrdnYmdTo = schCrdnYmdTo;
return self();
}
public String getSchVhrno() {
return ifEmpty(schVhrno, () -> null);
}
public <T extends RcvmtQuery> T setSchVhrno(String schVhrno) {
this.schVhrno = schVhrno;
return self();
}
public String getSchRtpyrNm() {
return ifEmpty(schRtpyrNm, () -> null);
}
public <T extends RcvmtQuery> T setSchRtpyrNm(String schRtpyrNm) {
this.schRtpyrNm = schRtpyrNm;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);

@ -32,12 +32,12 @@ public class Rcvm01Controller extends ApplicationController {
public class METHOD_URL {
public static final String
receivingMoneyMain = "/010/main.do" // 수납 관리 메인 화면
, getRcvmtList = "/010/list.do" // 수납 내용 대장 목록 조회
, getCvlcptDscsnInfo = "/020/info.do" // 수납 내용 정보 조회
, createCvlcptDscsn = "/020/create.do" // 수납 내용 대장 등럭
, updateCvlcptDscsn = "/020/update.do" // 수납 내용 대장 수정
, removeCvlcptDscsnList = "/010/removes.do" // 수납 내용 대장 목록 삭제
, removeCvlcptDscsn = "/010/remove.do" // 수납 내용 대장 삭제
, getReceivingMoneyList = "/010/list.do" // 수납 대장 목록 조회
, getCvlcptDscsnInfo = "/020/info.do" // 수납 정보 조회
, createCvlcptDscsn = "/020/create.do" // 수납 대장 등럭
, updateCvlcptDscsn = "/020/update.do" // 수납 대장 수정
, removeCvlcptDscsnList = "/010/removes.do" // 수납 대장 목록 삭제
, removeCvlcptDscsn = "/010/remove.do" // 수납 대장 삭제
;
}
@ -77,7 +77,7 @@ public class Rcvm01Controller extends ApplicationController {
* "rcvmtTotal":
* }</code></pre>
*/
public ModelAndView getRcvmtList(RcvmtQuery req) {
public ModelAndView getReceivingMoneyList(RcvmtQuery req) {
List<?> result = rcvmtService.getRcvmtList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "rcvmt");

@ -30,9 +30,9 @@ public class SndbQuery extends CmmnQuery {
private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료
private String schLevyExclSeCd; // 부과제외_부과제외 구분 코드
private String schVltnCd; // 위반 코드
private String schVhrno; // 단속(TB_CRDN)_차량번호
private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작
private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료
private String schVhrno; // 단속(TB_CRDN)_차량번호
private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명
private String schSndngYmdFrom; // 발송(TB_SNDNG)_발송 일자 시작
private String schSndngYmdTo; // 발송(TB_SNDNG)_발송 일자 종료
@ -178,15 +178,6 @@ public class SndbQuery extends CmmnQuery {
return self();
}
public String getSchVhrno() {
return ifEmpty(schVhrno, () -> null);
}
public <T extends SndbQuery> T setSchVhrno(String schVhrno) {
this.schVhrno = schVhrno;
return self();
}
public String getSchCrdnYmdFrom() {
return ifEmpty(schCrdnYmdFrom, () -> null);
}
@ -205,6 +196,15 @@ public class SndbQuery extends CmmnQuery {
return self();
}
public String getSchVhrno() {
return ifEmpty(schVhrno, () -> null);
}
public <T extends SndbQuery> T setSchVhrno(String schVhrno) {
this.schVhrno = schVhrno;
return self();
}
public String getSchRtpyrNm() {
return ifEmpty(schRtpyrNm, () -> null);
}

@ -21,6 +21,7 @@ import cokr.xit.fims.nxrp.NxrpMtchgQuery;
import cokr.xit.fims.nxrp.web.Nxrp01Controller;
import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.rcvm.RcvmtQuery;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl;
@ -732,6 +733,12 @@ public class DpvController {
@RequestMapping(name="장애인과태료업무 수납", value=CLASS_URL+Rcvm01Controller.CLASS_URL)
class Rcvm01Controller extends cokr.xit.fims.rcvm.web.Rcvm01Controller {
@Override
@RequestMapping(name="수납 관리", value=METHOD_URL.getReceivingMoneyList)
public ModelAndView getReceivingMoneyList(RcvmtQuery req) {
return super.getReceivingMoneyList(req);
}
}
@Controller

@ -15,7 +15,7 @@
<result property="rcvmtInptSeCd" column="RCVMT_INPT_SE_CD" /> <!-- 수납 입력 구분 코드 -->
<result property="spclAcntgBizCd" column="SPCL_ACNTG_BIZ_CD" /> <!-- 특별 회계 사업 코드 -->
<result property="acntgYr" column="ACNTG_YR" /> <!-- 회계 연도 -->
<result property="acntgSe" column="ACNTG_SE" /> <!-- 회계 구분 -->
<result property="acntgSeCd" column="ACNTG_SE_CD" /> <!-- 회계 구분 코드 -->
<result property="txitmCd" column="TXITM_CD" /> <!-- 세목 코드 -->
<result property="levyNo" column="LEVY_NO" /> <!-- 부과 번호 -->
<result property="inspySn" column="INSPY_SN" /> <!-- 분납 일련번호 -->
@ -47,60 +47,108 @@
</resultMap>
<sql id="select">
SELECT R.RCVMT_ID /* 수납 ID */
, R.SGG_CD /* 시군구 코드 */
, R.TASK_SE_CD /* 업무 구분 코드 */
, R.RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
SELECT R.RCVMT_ID /* 수납 ID */
, R.SGG_CD /* 시군구 코드 */
, R.TASK_SE_CD /* 업무 구분 코드 */
, R.RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, R.SPCL_ACNTG_BIZ_CD /* 특별 회계 사업 코드 */
, R.ACNTG_YR /* 회계 연도 */
, R.ACNTG_SE_CD /* 회계 구분 코드 */
, R.TXITM_CD /* 세목 코드 */
, R.LEVY_NO /* 부과 번호 */
, R.INSPY_SN /* 분납 일련번호 */
, R.RCVMT_SN /* 수납 일련번호 */
, R.RCVMT_YMD /* 수납 일자 */
, R.RCVMT_PCPTAX /* 수납 본세 */
, R.RCVMT_ADAMT /* 수납 가산금 */
, R.RCVMT_INT /* 수납 이자 */
, R.RCVMT_BANK_NM /* 수납 은행 명 */
, R.PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, R.ACNTG_YMD /* 회계 일자 */
, R.PSTMRK_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.RGTR /* 등록자 */
, R.MDFCN_DT /* 수정 일시 */
, R.MDFR /* 수정자 */
, R.DEL_DT /* 삭제 일시 */
, R.DLTR /* 삭제자 */
, 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 /* 수납 입력 구분 명 */
, R.SPCL_ACNTG_BIZ_CD /* 특별 회계 사업 코드 */
, R.ACNTG_YR /* 회계 연도 */
, R.ACNTG_SE /* 회계 구분 */
, R.TXITM_CD /* 세목 코드 */
, R.LEVY_NO /* 부과 번호 */
, R.INSPY_SN /* 분납 일련번호 */
, R.RCVMT_SN /* 수납 일련번호 */
, R.RCVMT_YMD /* 수납 일자 */
, R.RCVMT_PCPTAX /* 수납 본세 */
, R.RCVMT_ADAMT /* 수납 가산금 */
, R.RCVMT_INT /* 수납 이자 */
, R.RCVMT_BANK_NM /* 수납 은행 명 */
, R.PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, (SELECT GET_CODE_NM('FIM044', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM /* 회계 구분 명 */
, (SELECT GET_CODE_NM('FIM044', 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 /* 납부 방법 구분 명 */
, R.ACNTG_YMD /* 회계 일자 */
, R.PSTMRK_YMD /* 소인 일자 */
, R.VRACTNO /* 가상계좌번호 */
, R.EPAYNO /* 전자납부번호 */
, R.RCVMT_SE_CD /* 수납 구분 코드 */
, (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM /* 수납 구분 명 */
, R.NXRP_LEVY_KEY /* 세외수입 부과 키 */
, R.RCVMT_RTRCN_YN /* 수납 취소 여부 */
, (SELECT GET_CODE_NM('CMM005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_YN_NM /* 수납 취소 여부 명 */
, R.RCVMT_RTRCN_DT /* 수납 취소 일시 */
, R.RCVMT_RTRCN_RSN /* 수납 취소 사유 */
, R.RCVMT_STTS_CD /* 수납 상태 코드 */
, R.DEL_YN /* 삭제 여부 */
, R.REG_DT /* 등록 일시 */
, R.RGTR /* 등록자 */
, (SELECT GET_CODE_NM('CMM005', 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 /* 등록자 명 */
, R.MDFCN_DT /* 수정 일시 */
, R.MDFR /* 수정자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM /* 수정자 명 */
, R.DEL_DT /* 삭제 일시 */
, R.DLTR /* 삭제자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM /* 삭제자 명 */
, R.DEL_RSN /* 삭제 사유 */
, L.LEVY_ID /* 부과 ID */
, C.CRDN_ID /* 단속 ID */
, L.LEVY_ID /* 부과 ID */
, C.CRDN_ID /* 단속 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 GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_SE_CD /* 납부자 구분 코드 */
, P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */
, P.RTPYR_BRDT /* 납부자 생년월일 */
, P.ZIP /* 우편번호 */
, P.ADDR /* 주소 */
, P.DTL_ADDR /* 상세 주소 */
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
FROM TB_RCVMT R
INNER JOIN TB_LEVY L ON (R.LEVY_ID = L.LEVY_ID)
INNER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
</sql>
<select id="selectRcvmtList" parameterType="map" resultType="dataobject">/* 수납 대장 목록 조회(rcvmtMapper.selectRcvmtList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
WHERE R.SGG_CD = #{sggCd} /* 시군구 코드 */
AND R.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
WHERE R.SGG_CD = #{sggCd} /* 시군구 코드 */
AND R.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<if test="schPstmrkYmdFrom != null">
AND R.PSTMRK_YMD <![CDATA[ >= ]]> #{schPstmrkYmdFrom} /* 소인 일자 시작 */
</if>
<if test="schPstmrkYmdTo != null">
AND R.PSTMRK_YMD <![CDATA[ <= ]]> #{schPstmrkYmdTo} /* 소인 일자 종료 */
</if>
<if test="schRcvmtYmdFrom != null">
AND R.PSTMRK_YMD <![CDATA[ >= ]]> #{schRcvmtYmdFrom} /* 소인 일자 시작 */
</if>
<if test="schRcvmtYmdTo != null">
AND R.RCVMT_YMD <![CDATA[ <= ]]> #{schRcvmtYmdTo} /* 소인 일자 종료 */
</if>
<if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
</if>
<if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
</if>
<if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if>
<if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
@ -109,16 +157,16 @@
<include refid="select" />
<where>
<if test="rcvmtId != null">
AND R.RCVMT_ID = #{rcvmtId} /* 수납 ID */
AND R.RCVMT_ID = #{rcvmtId} /* 수납 ID */
</if>
<if test="levyId != null">
AND L.LEVY_ID = #{levyId} /* 부과 ID */
AND L.LEVY_ID = #{levyId} /* 부과 ID */
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<if test="delYn != null">
AND R.DEL_YN = #{delYn} /* 삭제 여부 */
AND R.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
<include refid="utility.orderBy" />
@ -127,117 +175,117 @@
<insert id="insertRcvmt" parameterType="map">/* 수납 대장 등록(rcvmtMapper.insertRcvmt) */
INSERT
INTO TB_RCVMT (
RCVMT_ID /* 수납 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, LEVY_ID /* 부과 ID */
, RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, SPCL_ACNTG_BIZ_CD /* 특별 회계 사업 코드 */
, ACNTG_YR /* 회계 연도 */
, ACNTG_SE /* 회계 구분 */
, TXITM_CD /* 세목 코드 */
, LEVY_NO /* 부과 번호 */
, INSPY_SN /* 분납 일련번호 */
, RCVMT_SN /* 수납 일련번호 */
, RCVMT_YMD /* 수납 일자 */
, RCVMT_PCPTAX /* 수납 본세 */
, RCVMT_ADAMT /* 수납 가산금 */
, RCVMT_INT /* 수납 이자 */
, RCVMT_BANK_NM /* 수납 은행 명 */
, PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, ACNTG_YMD /* 회계 일자 */
, PSTMRK_YMD /* 소인 일자 */
, VRACTNO /* 가상계좌번호 */
, EPAYNO /* 전자납부번호 */
, RCVMT_SE_CD /* 수납 구분 코드 */
, NXRP_LEVY_KEY /* 세외수입 부과 키 */
, RCVMT_RTRCN_YN /* 수납 취소 여부 */
, RCVMT_RTRCN_DT /* 수납 취소 일시 */
, RCVMT_RTRCN_RSN /* 수납 취소 사유 */
, RCVMT_STTS_CD /* 수납 상태 코드 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
RCVMT_ID /* 수납 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, LEVY_ID /* 부과 ID */
, RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, SPCL_ACNTG_BIZ_CD /* 특별 회계 사업 코드 */
, ACNTG_YR /* 회계 연도 */
, ACNTG_SE_CD /* 회계 구분 코드 */
, TXITM_CD /* 세목 코드 */
, LEVY_NO /* 부과 번호 */
, INSPY_SN /* 분납 일련번호 */
, RCVMT_SN /* 수납 일련번호 */
, RCVMT_YMD /* 수납 일자 */
, RCVMT_PCPTAX /* 수납 본세 */
, RCVMT_ADAMT /* 수납 가산금 */
, RCVMT_INT /* 수납 이자 */
, RCVMT_BANK_NM /* 수납 은행 명 */
, PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, ACNTG_YMD /* 회계 일자 */
, PSTMRK_YMD /* 소인 일자 */
, VRACTNO /* 가상계좌번호 */
, EPAYNO /* 전자납부번호 */
, RCVMT_SE_CD /* 수납 구분 코드 */
, NXRP_LEVY_KEY /* 세외수입 부과 키 */
, RCVMT_RTRCN_YN /* 수납 취소 여부 */
, RCVMT_RTRCN_DT /* 수납 취소 일시 */
, RCVMT_RTRCN_RSN /* 수납 취소 사유 */
, RCVMT_STTS_CD /* 수납 상태 코드 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
)
VALUES (
#{rcvmt.rcvmtId} /* 수납 ID */
, #{rcvmt.sggCd} /* 시군구 코드 */
, #{rcvmt.taskSeCd} /* 업무 구분 코드 */
, #{rcvmt.levyId} /* 부과 ID */
, #{rcvmt.rcvmtInptSeCd} /* 수납 입력 구분 코드 */
, #{rcvmt.spclAcntgBizCd} /* 특별 회계 사업 코드 */
, #{rcvmt.acntgYr} /* 회계 연도 */
, #{rcvmt.acntgSe} /* 회계 구분 */
, #{rcvmt.txitmCd} /* 세목 코드 */
, #{rcvmt.levyNo} /* 부과 번호 */
, #{rcvmt.inspySn} /* 분납 일련번호 */
, #{rcvmt.rcvmtSn} /* 수납 일련번호 */
, #{rcvmt.rcvmtYmd} /* 수납 일자 */
, #{rcvmt.rcvmtPcptax} /* 수납 본세 */
, #{rcvmt.rcvmtAdamt} /* 수납 가산금 */
, #{rcvmt.rcvmtInt} /* 수납 이자 */
, #{rcvmt.rcvmtBankNm} /* 수납 은행 명 */
, #{rcvmt.payMthdSeCd} /* 납부 방법 구분 코드 */
, #{rcvmt.acntgYmd} /* 회계 일자 */
, #{rcvmt.pstmrkYmd} /* 소인 일자 */
, #{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} /* 수정자 */
#{rcvmt.rcvmtId} /* 수납 ID */
, #{rcvmt.sggCd} /* 시군구 코드 */
, #{rcvmt.taskSeCd} /* 업무 구분 코드 */
, #{rcvmt.levyId} /* 부과 ID */
, #{rcvmt.rcvmtInptSeCd} /* 수납 입력 구분 코드 */
, #{rcvmt.spclAcntgBizCd} /* 특별 회계 사업 코드 */
, #{rcvmt.acntgYr} /* 회계 연도 */
, #{rcvmt.acntgSeCd} /* 회계 구분 코드 */
, #{rcvmt.txitmCd} /* 세목 코드 */
, #{rcvmt.levyNo} /* 부과 번호 */
, #{rcvmt.inspySn} /* 분납 일련번호 */
, #{rcvmt.rcvmtSn} /* 수납 일련번호 */
, #{rcvmt.rcvmtYmd} /* 수납 일자 */
, #{rcvmt.rcvmtPcptax} /* 수납 본세 */
, #{rcvmt.rcvmtAdamt} /* 수납 가산금 */
, #{rcvmt.rcvmtInt} /* 수납 이자 */
, #{rcvmt.rcvmtBankNm} /* 수납 은행 명 */
, #{rcvmt.payMthdSeCd} /* 납부 방법 구분 코드 */
, #{rcvmt.acntgYmd} /* 회계 일자 */
, #{rcvmt.pstmrkYmd} /* 소인 일자 */
, #{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} /* 수정자 */
)
</insert>
<update id="updateRcvmt" parameterType="map">/* 수납 대장 수정(rcvmtMapper.updateRcvmt) */
UPDATE TB_RCVMT
SET LEVY_ID = #{rcvmt.levyId} /* 부과 ID */
, RCVMT_INPT_SE_CD = #{rcvmt.rcvmtInptSeCd} /* 수납 입력 구분 코드 */
, SPCL_ACNTG_BIZ_CD = #{rcvmt.spclAcntgBizCd} /* 특별 회계 사업 코드 */
, ACNTG_YR = #{rcvmt.acntgYr} /* 회계 연도 */
, ACNTG_SE = #{rcvmt.acntgSe} /* 회계 구분 */
, TXITM_CD = #{rcvmt.txitmCd} /* 세목 코드 */
, LEVY_NO = #{rcvmt.levyNo} /* 부과 번호 */
, INSPY_SN = #{rcvmt.inspySn} /* 분납 일련번호 */
, RCVMT_SN = #{rcvmt.rcvmtSn} /* 수납 일련번호 */
, RCVMT_YMD = #{rcvmt.rcvmtYmd} /* 수납 일자 */
, RCVMT_PCPTAX = #{rcvmt.rcvmtPcptax} /* 수납 본세 */
, RCVMT_ADAMT = #{rcvmt.rcvmtAdamt} /* 수납 가산금 */
, RCVMT_INT = #{rcvmt.rcvmtInt} /* 수납 이자 */
, RCVMT_BANK_NM = #{rcvmt.rcvmtBankNm} /* 수납 은행 명 */
, PAY_MTHD_SE_CD = #{rcvmt.payMthdSeCd} /* 납부 방법 구분 코드 */
, ACNTG_YMD = #{rcvmt.acntgYmd} /* 회계 일자 */
, PSTMRK_YMD = #{rcvmt.pstmrkYmd} /* 소인 일자 */
, 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} /* 수납 ID */
SET LEVY_ID = #{rcvmt.levyId} /* 부과 ID */
, RCVMT_INPT_SE_CD = #{rcvmt.rcvmtInptSeCd} /* 수납 입력 구분 코드 */
, SPCL_ACNTG_BIZ_CD = #{rcvmt.spclAcntgBizCd} /* 특별 회계 사업 코드 */
, ACNTG_YR = #{rcvmt.acntgYr} /* 회계 연도 */
, ACNTG_SE_CD = #{rcvmt.acntgSeCd} /* 회계 구분 코드 */
, TXITM_CD = #{rcvmt.txitmCd} /* 세목 코드 */
, LEVY_NO = #{rcvmt.levyNo} /* 부과 번호 */
, INSPY_SN = #{rcvmt.inspySn} /* 분납 일련번호 */
, RCVMT_SN = #{rcvmt.rcvmtSn} /* 수납 일련번호 */
, RCVMT_YMD = #{rcvmt.rcvmtYmd} /* 수납 일자 */
, RCVMT_PCPTAX = #{rcvmt.rcvmtPcptax} /* 수납 본세 */
, RCVMT_ADAMT = #{rcvmt.rcvmtAdamt} /* 수납 가산금 */
, RCVMT_INT = #{rcvmt.rcvmtInt} /* 수납 이자 */
, RCVMT_BANK_NM = #{rcvmt.rcvmtBankNm} /* 수납 은행 명 */
, PAY_MTHD_SE_CD = #{rcvmt.payMthdSeCd} /* 납부 방법 구분 코드 */
, ACNTG_YMD = #{rcvmt.acntgYmd} /* 회계 일자 */
, PSTMRK_YMD = #{rcvmt.pstmrkYmd} /* 소인 일자 */
, 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} /* 수납 ID */
</update>
<update id="deleteRcvmt" parameterType="map">/* 수납 대장 삭제(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} /* 수납 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = #{rcvmt.lastModified} /* 삭제 일시 */
, DLTR = #{rcvmt.modifiedBy} /* 삭제자 */
, DEL_RSN = #{rcvmt.delRsn} /* 삭제 사유 */
WHERE RCVMT_ID = #{rcvmt.rcvmtId} /* 수납 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
</mapper>

File diff suppressed because it is too large Load Diff

@ -5,7 +5,7 @@
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">민원상담 관리</c:set>
<c:set var="prefixName" scope="request">수납 관리</c:set>
<!-- Page Body -->
<div class="card">
@ -20,7 +20,7 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();">
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀
</button>
</span>
@ -48,36 +48,54 @@
</c:forEach>
</span>
</div>
<!-- 상담일자 -->
<!-- 소인일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">상담일자</label>
<label class="form-label fw-bold form-search-title text-end">소인일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDscsnYmdFrom--${pageName}" name="schDscsnYmdFrom"
<input type="text" class="form-control form-date" id="schPstmrkYmdFrom--${pageName}" name="schPstmrkYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schDscsnYmdTo--${pageName}" name="schDscsnYmdTo"
<input type="text" class="form-control form-date" id="schPstmrkYmdTo--${pageName}" name="schPstmrkYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- -->
<!-- 수납일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">수납일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRcvmtYmdFrom--${pageName}" name="schRcvmtYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRcvmtYmdTo--${pageName}" name="schRcvmtYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 단속일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo"autocomplete="off" />
</div>
<!-- 민원인명 -->
<!-- 납부자명 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">민원인명</label>
<input type="text" class="form-control w-px-160" id="schCvlprNm--${pageName}" name="schCvlprNm"autocomplete="off" />
<label class="form-label fw-bold form-search-title text-end">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm"autocomplete="off" />
</div>
<!-- 동적검색 -->
<div class="col-6">
@ -143,12 +161,6 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="수정" onclick="fnUpdate${pageName}();">
수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();">
삭제
</button>
</span>
</span>
</div>
@ -166,14 +178,31 @@
<th class="cmn" style="width: 56px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CVLCPT_RCPT_SE_CD', this.innerText, 'codeValue', 'FIM065');">민원접수구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DSCSN_YMD', this.innerText, 'ymd', '');">상담일자</th>
<th class="cmn" style="width: 80px;" onclick="searchFromGridTitle('WEEK_NM', this.innerText, 'match', 'part');">요일</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLPR_NM', this.innerText, 'match', 'part');">성명</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLPR_CTTPC', this.innerText, 'match', 'part');">연락처</th>
<th class="cmn" style="width: 400px;" onclick="searchFromGridTitle('DSCSN_CN', this.innerText, 'match', 'part');">상담내용</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INPT_SE_CD', this.innerText, 'codeValue', 'FIM044');">수납입력구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_RTRCN_YN', this.innerText, 'codeValue', 'CMM005');">수납취소</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ACNTG_YR', this.innerText, 'match', 'part');">회계연도</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ACNTG_SE_CD', this.innerText, 'codeValue', 'FIM074');">회계구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목코드</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_SN', this.innerText, 'match', 'part');">수납일련번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('PSTMRK_YMD', this.innerText, 'ymd', '');">소인일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ACNTG_YMD', this.innerText, 'ymd', '');">회계일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_YMD', this.innerText, 'ymd', '');">수납일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_PCPTAX', this.innerText, 'match', 'part');">수납본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_ADAMT', this.innerText, 'match', 'part');">수납가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INT', this.innerText, 'match', 'part');">수납이자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCVMT_BANK_NM', this.innerText, 'match', 'part');">수납은행</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('PAY_MTHD_SE_CD', this.innerText, 'codeValue', 'FIM045');">납부방법</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_SE_CD', this.innerText, 'codeValue', 'FIM041');">수납구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCVMT_STTS_CD', this.innerText, 'codeValue', 'FIM020');">수납상태</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'match', 'part');">납부자번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
@ -184,19 +213,36 @@
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{CVLCPT_DSCSN_ID}">
<tr data-key="{RCVMT_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center">
<input type="checkbox" class="form-check-input" value="{CVLCPT_DSCSN_ID}" onchange="${pageName}Control.select('{CVLCPT_DSCSN_ID}', this.checked);">
<input type="checkbox" class="form-check-input" value="{RCVMT_ID}" onchange="${pageName}Control.select('{RCVMT_ID}', this.checked);">
</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DSCSN_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{WEEK_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLPR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLPR_CTTPC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DSCSN_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_RTRCN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_YR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_SE_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_CD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{PSTMRK_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_BANK_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{PAY_MTHD_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
@ -206,7 +252,7 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -230,7 +276,7 @@
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt04";
var ${pageName}PrefixUrl = "/rcvm/rcvm01";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
@ -238,15 +284,24 @@
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "cvlcptDscsn"
, prefixName : "민원상담내용"
prefix : "rcvmt"
, prefixName : "수납"
, infoSize : "lg"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnList
, keymapper : info => info ? info.RCVMT_ID : ""
, dataGetter : obj => obj.rcvmtList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
DSCSN_YMD : dateFormat
RCVMT_YMD : dateFormat
, ACNTG_YMD : dateFormat
, PSTMRK_YMD : dateFormat
, RCVMT_PCPTAX : numberFormat
, RCVMT_ADAMT : numberFormat
, RCVMT_INT : numberFormat
, CRDN_YMD_TM : datetimeFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
@ -268,14 +323,14 @@
, func : "${pageName}Control.load({index})"
});
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.CVLCPT_DSCSN_ID;
let key = item.data.RCVMT_ID;
$("#tbody--${pageName}").setCurrentRow(key);
};
@ -291,69 +346,34 @@
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
$("#btnLevyExclRemove--${pageName}").prop("disabled", keys.length < 1);
};
// 민원상담 dialog
${pageName}Control.getInfo = (cvlcptDscsnId) => {
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
return;
}
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, cvlcptDscsnId : cvlcptDscsnId
};
callControlName : "${pageName}Control"
, crdnId : crdnId
}
ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
url : ${pageName}Control.urls.getInfo
, data : params
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 수정"
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "lg"
, size : "xxl"
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback 자료 재조회
, onClose : () => { }
});
}
});
}
// 삭제 callback
${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
if (resp.saved) {
${pageName}Control._load();
}
}
// 삭제
${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
if (!params) {
params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
}
ajax.post({
url : ${pageName}Control.urls.remove
, data : params
, success : resp => ${pageName}Control.onRemove(selected, resp)
});
}
/**************************************************************************
*
**************************************************************************/
@ -367,8 +387,8 @@
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
@ -381,6 +401,15 @@
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 이벤트
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
@ -396,6 +425,9 @@
});
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
@ -408,7 +440,7 @@
}
let itemsCnt = ${pageName}Control.dataset._items.length;
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT");
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); // let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT;
if (itemsCnt >= totCnt) {
return;
@ -435,23 +467,36 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date);
$("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
$("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date());
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
@ -462,8 +507,9 @@
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부
${pageName}Control.load();
}
@ -473,61 +519,29 @@
}
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
}
// 수정 버튼 이벤트
fnUpdate${pageName} = () => {
${pageName}Control.getInfo(${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"));
}
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
dialog.alert({
content : "선택한 부과제외 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.remove();
}
});
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
// 이벤트 설정
setEvent${pageName}();
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 업무 구분 및 화면 초기 설정
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue);
});

@ -268,7 +268,7 @@
<!-- 납부자 입력 구분 코드 -->
<div class="col-md-4">
<label for="rtpyrInptSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">입력 구분</label>
<input type="text" class="form-control w-40" id="rtpyrInptSeNm--${pageName}" name="rtpyrInptSeNm" data-map="RTPYR_INPT_SE_NM" readonly />
<input type="text" class="form-control w-50" id="rtpyrInptSeNm--${pageName}" name="rtpyrInptSeNm" data-map="RTPYR_INPT_SE_NM" readonly />
</div>
<!-- 수정 일시 -->
<div class="col-md-4">

@ -36,12 +36,14 @@
<!-- 회계 구분 -->
<div class="col-md-3">
<label for="acntgSe--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계 구분</label>
<input type="text" class="form-control w-15" id="acntgSe--${pageName}" name="acntgSe" data-map="ACNTG_SE" readonly />
<input type="text" class="form-control w-15" id="acntgSe--${pageName}" name="acntgSe" data-map="ACNTG_SE_CD" readonly />
<input type="text" class="form-control w-25" id="acntgSe--${pageName}" name="acntgSe" data-map="ACNTG_SE_NM" readonly />
</div>
<!-- 세목 코드 -->
<div class="col-md-3">
<label for="txitmCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">세목 코드</label>
<input type="text" class="form-control w-30" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly />
<input type="text" class="form-control w-20" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly />
<input type="text" class="form-control w-45" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_NM" readonly />
</div>
<!-- 부과 번호 -->
<div class="col-md-3">
@ -155,16 +157,16 @@
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="text-center" onclick="{onclick}">{RCVMT_SN}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_YN_NM}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_NM}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_YR}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_SE}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_SE_CD}</td>
<td class="text-center" onclick="{onclick}">{TXITM_CD}</td>
<td class="text-center" onclick="{onclick}">{LEVY_NO}</td>
<td class="text-center" onclick="{onclick}">{INSPY_SN}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_YMD}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_PCPTAX}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_ADAMT}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_INT}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_PCPTAX}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_ADAMT}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_INT}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_BANK_NM}</td>
<td class="text-center" onclick="{onclick}">{PAY_MTHD_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{PSTMRK_YMD}</td>

Loading…
Cancel
Save