개별총정보 - 수납 정보 수정.

main
jjh 1 year ago
parent f31ec7021c
commit 17a652a83e

@ -69,9 +69,11 @@ public class Excl01Bean extends AbstractComponent {
} else {
DataObject dataCrdn = levyExclMapper.selectCrdn(req); // 등록(단속 조회)
// 초기 데이터 설정
// 등록 호출시.. 초기 데이터 설정
if (req.getCallPurpose() != null && req.getCallPurpose().equals("create")) { // 의견제출 등록시 기본값 셋팅
dataCrdn.set("LEVY_EXCL_YMD", dataCrdn.get("TODAY")); // 부과 제외 일자
dataCrdn.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드
}
return dataCrdn;
}

@ -71,10 +71,10 @@ public class Excl02Bean extends AbstractComponent {
} else {
DataObject dataCrdn = opnnSbmsnMapper.selectCrdn(req); // 단속ID로 단속, 의견제출 조회
// 등록 호출시..
// 등록 호출시.. 초기 데이터 설정
if (req.getCallPurpose() != null && req.getCallPurpose().equals("create")) { // 의견제출 등록시 기본값 셋팅
dataCrdn.set("RCPT_YMD", dataCrdn.string("TODAY"));
dataCrdn.set("RCPT_NO", dataCrdn.string("NEW_RCPT_NO"));
dataCrdn.set("RCPT_YMD", dataCrdn.string("TODAY")); // 접수 일자
dataCrdn.set("RCPT_NO", dataCrdn.string("NEW_RCPT_NO")); // 접수 번호
}
return dataCrdn;

@ -37,6 +37,11 @@ public class Rcvmt extends AbstractEntity {
*/
private String rcvmtInptSeCd;
/**
*
*/
private String spclAcntgBizCd;
/**
*
*/
@ -53,17 +58,17 @@ public class Rcvmt extends AbstractEntity {
private String txitmCd;
/**
*
*
*/
private String txitmNm;
private String levyNo;
/**
*
*
*/
private String levyNo;
private String inspySn;
/**
*
*
*/
private String rcvmtSn;
@ -88,14 +93,14 @@ public class Rcvmt extends AbstractEntity {
private Integer rcvmtInt;
/**
*
*
*/
private String rcvmtBank;
private String rcvmtBankNm;
/**
*
*
*/
private String payMthd;
private String payMthdSeCd;
/**
*
@ -142,6 +147,11 @@ public class Rcvmt extends AbstractEntity {
*/
private String rcvmtRtrcnRsn;
/**
*
*/
private String rcvmtSttsCd;
/**
*
*/

@ -16,7 +16,10 @@ import cokr.xit.fims.excl.ExclQuery;
import cokr.xit.fims.excl.service.Excl01Service;
import cokr.xit.fims.excl.service.Excl02Service;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.service.Levy01Service;
import cokr.xit.fims.levy.service.Levy02Service;
import cokr.xit.fims.rcvm.RcvmQuery;
import cokr.xit.fims.rcvm.service.Rcvm01Service;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.service.Sndb01Service;
import cokr.xit.fims.sprt.SprtQuery;
@ -54,6 +57,14 @@ public class Sprt02Controller extends ApplicationController {
@Resource(name = "sndb01Service")
protected Sndb01Service sndb01Service;
/** 부과 대장 서비스*/
@Resource(name = "levy01Service")
protected Levy01Service levy01Service;
/** 수납 대장 서비스*/
@Resource(name = "rcvm01Service")
protected Rcvm01Service rcvm01Service;
/** 단속 상태 이력 서비스 */
@Resource(name = "crdnSttsHstryService")
private CrdnSttsHstryService crdnSttsHstryService;
@ -182,7 +193,7 @@ public class Sprt02Controller extends ApplicationController {
* }</code></pre>
*/
@RequestMapping(name="처리 상세 정보 조회", value="/050/info.do")
public ModelAndView getPrcsDtlnfo(SprtQuery req) {
public ModelAndView getPrcsDtlInfo(SprtQuery req) {
// 감경
LevyQuery levyQuery = new LevyQuery();
@ -255,4 +266,73 @@ public class Sprt02Controller extends ApplicationController {
;
}
/** ID , .
* @param crdnId ID
* @return fims/sprt/sprt02060-main jsonView
* <pre><code> {
* "sndngDtl": {...}
* }</code></pre>
*/
@RequestMapping(name="부과체납 정보 조회", value="/060/info.do")
public ModelAndView getLevyNpmntInfo(SprtQuery req) {
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02060-info");
return mav
.addObject("pageName", "sprt02060")
;
}
/** ID .
* @param crdnId ID
* @return fims/sprt/sprt02070-main jsonView
* <pre><code> {
* "rcvmt": {...}
* }</code></pre>
*/
@RequestMapping(name="수납 정보 조회", value="/070/info.do")
public ModelAndView getRcvmtInfo(SprtQuery req) {
RcvmQuery rcvmQuery = new RcvmQuery();
if (req.getCallPurpose() == null) {
rcvmQuery.setCallPurpose("view");
} else {
rcvmQuery.setCallPurpose(req.getCallPurpose());
}
rcvmQuery.setCrdnId(req.getCrdnId());
rcvmQuery.setDelYn("N");
rcvmQuery.setOrderBy("R.RCVMT_SN DESC");
List<DataObject> rcvmt = rcvm01Service.getRcvmts(rcvmQuery);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02070-info");
return mav
.addObject("pageName", "sprt02070")
.addObject("infoPrefix", "rcvmt") // prefix
.addObject("rcvmt", json ? rcvmt : toJson(rcvmt)) // 수납 정보
;
}
/** ID .
* @param crdnId ID
* @return fims/sprt/sprt02080-main jsonView
* <pre><code> {
* "cvlcptDscsnCn": {...}
* }</code></pre>
*/
@RequestMapping(name="민원 상담 정보 조회", value="/080/info.do")
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) {
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02080-info");
return mav
.addObject("pageName", "sprt02080")
;
}
}

@ -112,13 +112,16 @@
<select id="selectCrdnReRegs" parameterType="map" resultType="dataobject">/* 단속 재등록 객체 가져오기(excl03Mapper.selectCrdnReRegs) */
<include refid="select" />
<where>
<if test="reRegIds != null">
<if test="reRegIDs != null">
AND CRR.RE_REG_ID IN (
<foreach collection="reRegIds" item="reRegId" separator=","> #{reRegId} </foreach> /* 재등록 ID */
<foreach collection="reRegIDs" item="reRegId" separator=","> #{reRegId} </foreach> /* 재등록 ID */
)
</if>
<if test="reRegId != null">
AND CRR.RE_REG_ID = #{reRegId} /* 재등록 ID */
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<if test="delYn != null">
AND CRR.DEL_YN = #{delYn} /* 삭제 여부 */

@ -33,7 +33,6 @@
SELECT LE.LEVY_EXCL_ID /* 부과제외 ID */
, LE.SGG_CD /* 시군구 코드 */
, LE.TASK_SE_CD /* 업무 구분 코드 */
, LE.CRDN_ID /* 단속 ID */
, LE.LEVY_EXCL_YMD /* 부과제외 일자 */
, LE.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
@ -51,6 +50,7 @@
, LE.DLTR /* 삭제자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM /* 삭제자 명 */
, LE.DEL_RSN /* 삭제 사유 */
, C.CRDN_ID /* 단속 ID */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
@ -102,8 +102,8 @@
<select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(levyExclMapper.selectLevyExclList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
WHERE C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
WHERE LE.SGG_CD = #{sggCd} /* 시군구 코드 */
AND LE.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<if test="schLevyExclYmdFrom != null">
AND LE.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */
</if>
@ -195,11 +195,16 @@
<select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(levyExclMapper.selectLevyExcl) */
<include refid="select" />
<where>
<if test="levyExclIDs != null">
AND LE.LEVY_EXCL_ID IN (
<foreach collection="levyExclIDs" item="levyExclId" separator=","> #{levyExclId} </foreach>
)
</if>
<if test="levyExclId != null">
AND LE.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if>
<if test="crdnId != null">
AND LE.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<if test="delYn != null">
AND LE.DEL_YN = #{delYn} /* 삭제 여부 */

@ -238,7 +238,7 @@
AND OS.OPNN_ID = #{opnnId} /* 의견제출 ID */
</if>
<if test="crdnId != null">
AND OS.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<if test="delYn != null">
AND OS.DEL_YN = #{delYn} /* 삭제 여부 */

@ -7,23 +7,25 @@
2023-08-31 JoJH 최초 작성
============================ -->
<resultMap id="rcvmtRow" type="cokr.xit.fims.rcvm.Rcvmt">
<resultMap id="rcvmtRow" type="cokr.xit.fims.rcvm.Rcvmt">
<result property="rcvmtId" column="RCVMT_ID" /> <!-- 수납 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
<result property="levyId" column="LEVY_ID" /> <!-- 부과 ID -->
<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="txitmCd" column="TXITM_CD" /> <!-- 세목 코드 -->
<result property="txitmNm" column="TXITM_NM" /> <!-- 세목 명 -->
<result property="levyNo" column="LEVY_NO" /> <!-- 부과 번호 -->
<result property="rcvmtSn" column="RCVMT_SN" /> <!-- 수납 순번 -->
<result property="inspySn" column="INSPY_SN" /> <!-- 분납 일련번호 -->
<result property="rcvmtSn" column="RCVMT_SN" /> <!-- 수납 일련번호 -->
<result property="rcvmtYmd" column="RCVMT_YMD" /> <!-- 수납 일자 -->
<result property="rcvmtPcptax" column="RCVMT_PCPTAX" /> <!-- 수납 본세 -->
<result property="rcvmtAdamt" column="RCVMT_ADAMT" /> <!-- 수납 가산금 -->
<result property="rcvmtInt" column="RCVMT_INT" /> <!-- 수납 이자 -->
<result property="rcvmtBank" column="RCVMT_BANK" /> <!-- 수납 은행 -->
<result property="payMthd" column="PAY_MTHD" /> <!-- 납부 방법 -->
<result property="rcvmtBankNm" column="RCVMT_BANK_NM" /> <!-- 수납 은행 명 -->
<result property="payMthdSeCd" column="PAY_MTHD_SE_CD" /> <!-- 납부 방법 구분 코드 -->
<result property="acntgYmd" column="ACNTG_YMD" /> <!-- 회계 일자 -->
<result property="pstmrkYmd" column="PSTMRK_YMD" /> <!-- 소인 일자 -->
<result property="vractno" column="VRACTNO" /> <!-- 가상계좌번호 -->
@ -33,6 +35,7 @@
<result property="rcvmtRtrcnYn" column="RCVMT_RTRCN_YN" /> <!-- 수납 취소 여부 -->
<result property="rcvmtRtrcnDt" column="RCVMT_RTRCN_DT" /> <!-- 수납 취소 일시 -->
<result property="rcvmtRtrcnRsn" column="RCVMT_RTRCN_RSN" /> <!-- 수납 취소 사유 -->
<result property="rcvmtSttsCd" column="RCVMT_STTS_CD" /> <!-- 수납 상태 코드 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
@ -41,165 +44,201 @@
<result property="removedAt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="removedBy" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
</resultMap>
<sql id="select">SELECT RCVMT_ID <!-- 수납 ID -->
, SGG_CD <!-- 시군구 코드 -->
, LEVY_ID <!-- 부과 ID -->
, RCVMT_INPT_SE_CD <!-- 수납 입력 구분 코드 -->
, ACNTG_YR <!-- 회계 연도 -->
, ACNTG_SE <!-- 회계 구분 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, LEVY_NO <!-- 부과 번호 -->
, RCVMT_SN <!-- 수납 순번 -->
, RCVMT_YMD <!-- 수납 일자 -->
, RCVMT_PCPTAX <!-- 수납 본세 -->
, RCVMT_ADAMT <!-- 수납 가산금 -->
, RCVMT_INT <!-- 수납 이자 -->
, RCVMT_BANK <!-- 수납 은행 -->
, PAY_MTHD <!-- 납부 방법 -->
, ACNTG_YMD <!-- 회계 일자 -->
, PSTMRK_YMD <!-- 소인 일자 -->
, VRACTNO <!-- 가상계좌번호 -->
, EPAYNO <!-- 전자납부번호 -->
, RCVMT_SE_CD <!-- 수납 구분 코드 -->
, NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, RCVMT_RTRCN_YN <!-- 수납 취소 여부 -->
, RCVMT_RTRCN_DT <!-- 수납 취소 일시 -->
, RCVMT_RTRCN_RSN <!-- 수납 취소 사유 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
, DEL_RSN <!-- 삭제 사유 -->
FROM TB_RCVMT</sql>
<sql id="select">
SELECT R.RCVMT_ID /* 수납 ID */
, R.SGG_CD /* 시군구 코드 */
, R.TASK_SE_CD /* 업무 구분 코드 */
, R.RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, (SELECT FN_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 FN_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 FN_GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM /* 수납 구분 명 */
, R.NXRP_LEVY_KEY /* 세외수입 부과 키 */
, R.RCVMT_RTRCN_YN /* 수납 취소 여부 */
, (SELECT FN_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 /* 수납 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM065', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM /* 수납 상태 명 */
, R.DEL_YN /* 삭제 여부 */
, R.REG_DT /* 등록 일시 */
, R.RGTR /* 등록자 */
, (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 */
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)
</sql>
<select id="selectRcvmtList" parameterType="map" resultType="dataobject">/* 수납 대장 목록 조회(rcvmtMapper.selectRcvmtList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></select>
<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} /* 업무 구분 코드 */
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectRcvmts" parameterType="map" resultMap="rcvmtRow">/* 수납 대장 객체 가져오기(rcvmtMapper.selectRcvmts) */
<include refid="select" />
<where></where>
<include refid="utility.orderBy" /></select>
<select id="selectRcvmts" parameterType="map" resultType="dataobject">/* 수납 대장 객체 가져오기(rcvmtMapper.selectRcvmts) */
<include refid="select" />
<where>
<if test="rcvmtId != null">
AND R.RCVMT_ID = #{rcvmtId} /* 수납 ID */
</if>
<if test="levyId != null">
AND L.LEVY_ID = #{levyId} /* 부과 ID */
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<if test="delYn != null">
AND R.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertRcvmt" parameterType="map">/* 수납 대장 등록(rcvmtMapper.insertRcvmt) */
INSERT INTO TB_RCVMT (
RCVMT_ID <!-- 수납 ID -->
, SGG_CD <!-- 시군구 코드 -->
, LEVY_ID <!-- 부과 ID -->
, RCVMT_INPT_SE_CD <!-- 수납 입력 구분 코드 -->
, ACNTG_YR <!-- 회계 연도 -->
, ACNTG_SE <!-- 회계 구분 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, LEVY_NO <!-- 부과 번호 -->
, RCVMT_SN <!-- 수납 순번 -->
, RCVMT_YMD <!-- 수납 일자 -->
, RCVMT_PCPTAX <!-- 수납 본세 -->
, RCVMT_ADAMT <!-- 수납 가산금 -->
, RCVMT_INT <!-- 수납 이자 -->
, RCVMT_BANK <!-- 수납 은행 -->
, PAY_MTHD <!-- 납부 방법 -->
, ACNTG_YMD <!-- 회계 일자 -->
, PSTMRK_YMD <!-- 소인 일자 -->
, VRACTNO <!-- 가상계좌번호 -->
, EPAYNO <!-- 전자납부번호 -->
, RCVMT_SE_CD <!-- 수납 구분 코드 -->
, NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, RCVMT_RTRCN_YN <!-- 수납 취소 여부 -->
, RCVMT_RTRCN_DT <!-- 수납 취소 일시 -->
, RCVMT_RTRCN_RSN <!-- 수납 취소 사유 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
, DEL_RSN <!-- 삭제 사유 -->
) VALUES (
#{rcvmt.rcvmtId} <!-- 수납 ID -->
, #{rcvmt.sggCd} <!-- 시군구 코드 -->
, #{rcvmt.levyId} <!-- 부과 ID -->
, #{rcvmt.rcvmtInptSeCd} <!-- 수납 입력 구분 코드 -->
, #{rcvmt.acntgYr} <!-- 회계 연도 -->
, #{rcvmt.acntgSe} <!-- 회계 구분 -->
, #{rcvmt.txitmCd} <!-- 세목 코드 -->
, #{rcvmt.txitmNm} <!-- 세목 명 -->
, #{rcvmt.levyNo} <!-- 부과 번호 -->
, #{rcvmt.rcvmtSn} <!-- 수납 순번 -->
, #{rcvmt.rcvmtYmd} <!-- 수납 일자 -->
, #{rcvmt.rcvmtPcptax} <!-- 수납 본세 -->
, #{rcvmt.rcvmtAdamt} <!-- 수납 가산금 -->
, #{rcvmt.rcvmtInt} <!-- 수납 이자 -->
, #{rcvmt.rcvmtBank} <!-- 수납 은행 -->
, #{rcvmt.payMthd} <!-- 납부 방법 -->
, #{rcvmt.acntgYmd} <!-- 회계 일자 -->
, #{rcvmt.pstmrkYmd} <!-- 소인 일자 -->
, #{rcvmt.vractno} <!-- 가상계좌번호 -->
, #{rcvmt.epayno} <!-- 전자납부번호 -->
, #{rcvmt.rcvmtSeCd} <!-- 수납 구분 코드 -->
, #{rcvmt.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, #{rcvmt.rcvmtRtrcnYn} <!-- 수납 취소 여부 -->
, #{rcvmt.rcvmtRtrcnDt} <!-- 수납 취소 일시 -->
, #{rcvmt.rcvmtRtrcnRsn} <!-- 수납 취소 사유 -->
, #{rcvmt.delYn} <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 -->
, #{rcvmt.removedAt} <!-- 삭제 일시 -->
, #{rcvmt.removedBy} <!-- 삭제자 -->
, #{rcvmt.delRsn} <!-- 삭제 사유 -->
)</insert>
<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 /* 수정자 */
)
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} /* 수정자 */
)
</insert>
<update id="updateRcvmt" parameterType="map">/* 수납 대장 수정(rcvmtMapper.updateRcvmt) */
UPDATE TB_RCVMT SET
SGG_CD = #{rcvmt.sggCd} <!-- 시군구 코드 -->
, LEVY_ID = #{rcvmt.levyId} <!-- 부과 ID -->
, RCVMT_INPT_SE_CD = #{rcvmt.rcvmtInptSeCd} <!-- 수납 입력 구분 코드 -->
, ACNTG_YR = #{rcvmt.acntgYr} <!-- 회계 연도 -->
, ACNTG_SE = #{rcvmt.acntgSe} <!-- 회계 구분 -->
, TXITM_CD = #{rcvmt.txitmCd} <!-- 세목 코드 -->
, TXITM_NM = #{rcvmt.txitmNm} <!-- 세목 명 -->
, LEVY_NO = #{rcvmt.levyNo} <!-- 부과 번호 -->
, RCVMT_SN = #{rcvmt.rcvmtSn} <!-- 수납 순번 -->
, RCVMT_YMD = #{rcvmt.rcvmtYmd} <!-- 수납 일자 -->
, RCVMT_PCPTAX = #{rcvmt.rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{rcvmt.rcvmtAdamt} <!-- 수납 가산금 -->
, RCVMT_INT = #{rcvmt.rcvmtInt} <!-- 수납 이자 -->
, RCVMT_BANK = #{rcvmt.rcvmtBank} <!-- 수납 은행 -->
, PAY_MTHD = #{rcvmt.payMthd} <!-- 납부 방법 -->
, 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} <!-- 수납 취소 사유 -->
, DEL_YN = #{rcvmt.delYn} <!-- 삭제 여부 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{currentUser.id} <!-- 수정자 -->
, DEL_DT = #{rcvmt.removedAt} <!-- 삭제 일시 -->
, DLTR = #{rcvmt.removedBy} <!-- 삭제자 -->
, DEL_RSN = #{rcvmt.delRsn} <!-- 삭제 사유 -->
WHERE RCVMT_ID = #{rcvmt.rcvmtId}</update>
<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 */
</update>
<update id="deleteRcvmt" parameterType="map">/* 수납 대장 삭제(rcvmtMapper.deleteRcvmt) */
UPDATE TB_RCVMT SET
USE_YN = 'N'
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE RCVMT_ID = #{rcvmt.rcvmtId}</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' /* 삭제 여부 */
</update>
</mapper>

@ -8,158 +8,157 @@
============================ -->
<sql id="selectCrdn">
SELECT A.CRDN_ID /* 단속 ID */
, A.SGG_CD /* 시군구 코드 */
, A.TASK_SE_CD /* 업무 구분 코드 */
, (CONCAT(A.CRDN_YMD, A.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, A.VHRNO /* 차량번호 */
, (SELECT FN_GET_CODE_NM('FIM010', A.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, A.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, (CONCAT(E.ACNTG_YR, '-', E.LEVY_NO)) AS GOJI_NO /* 고지번호 */
FROM TB_CRDN A /* 단속 대장 */
LEFT OUTER JOIN TB_LEVY E ON (A.LEVY_ID = E.LEVY_ID) /* 부과 대장 */
SELECT C.CRDN_ID /* 단속 ID */
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, C.VHRNO /* 차량번호 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, (CONCAT(L.ACNTG_YR, '-', L.LEVY_NO)) AS GOJI_NO /* 고지번호 */
FROM TB_CRDN C /* 단속 대장 */
LEFT OUTER JOIN TB_LEVY L ON (C.LEVY_ID = L.LEVY_ID) /* 부과 대장 */
</sql>
<select id="selectCrdnInfo" parameterType="String" resultType="dataobject">/* 개별총정보 조회(sprt01Mapper.selectCrdnPayerInfo) */
<include refid="selectCrdn" />
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
WHERE C.CRDN_ID = #{crdnId} /* 단속 ID */
</select>
<sql id="selectCrdnPayer">
SELECT A.CRDN_ID /* 단속 ID */
, A.SGG_CD /* 시군구 코드 */
, A.TASK_SE_CD /* 업무 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM054', A.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 코드 명 */
, A.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', A.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, A.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM003', A.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, A.CVLCPT_LINK_YN /* 민원 연계 여부 */
, A.LINK_TBL_NM /* 연계 테이블 명 */
, A.LINK_ID /* 연계 ID */
, A.CRDN_YMD /* 단속 일자 */
, A.CRDN_TM /* 단속 시각 */
, (CONCAT(A.CRDN_YMD, A.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, A.VHRNO /* 차량번호 */
, A.CRDN_STDG_NM /* 단속 법정동 명 */
, A.CRDN_ROAD_NM /* 단속 도로 명 */
, A.CRDN_PLC /* 단속 장소 */
, A.VLTN_ID /* 위반 ID */
, A.GPS_X /* GPS X */
, A.GPS_Y /* GPS Y */
, A.ATCH_FILE_CNT /* 첨부 파일 수 */
, A.VIN /* 차대번호 */
, A.VHCL_NM /* 차량 명 */
, A.VHCL_COLOR /* 차량 색상 */
, A.FFNLG_CRDN_AMT /* 과태료 단속 금액 */
, A.FFNLG_RDUCT_RT /* 과태료 감경 율 */
, A.FFNLG_AMT /* 과태료 금액 */
, A.ADVNTCE_BGNG_YMD /* 사전통지 시작 일자 */
, A.ADVNTCE_DUDT_YMD /* 사전통지 납기 일자 */
, A.ADVNTCE_AMT /* 사전통지 금액 */
, A.OPNN_SBMSN_YN /* 의견 제출 여부 */
, A.ETC_CN /* 기타 내용 */
, A.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', A.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, A.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, A.ADTN_AMT /* 가산 금액 */
, A.MINUS_AMT /* 감경 금액 */
, A.RCVMT_AMT /* 수납 금액 */
, A.BFR_CRDN_ID /* 이전 단속 ID */
, A.DEL_YN /* 삭제 여부 */
, A.REG_DT /* 등록 일시 */
, A.RGTR /* 등록자 */
, A.MDFCN_DT /* 수정 일시 */
, A.MDFR /* 수정자 */
, A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */
, B.CRDN_SE_CD /* 단속 구분 코드 */
, B.TEAM_ID /* 조 ID */
, B.DTL_CRDN_PLC /* 상세 단속 장소 */
, B.CRDN_SPAREA_CD /* 단속 특별구역 코드 */
, B.CRDN_BGNG_TM /* 단속 시작 시각 */
, B.CRDN_END_TM /* 단속 종료 시각 */
, B.CRDN_SN /* 단속 일련번호 */
, B.MOSC_X /* 모자이크 X */
, B.MOSC_Y /* 모자이크 Y */
, B.TOWNG_YN /* 견인 여부 */
, B.USE_FUEL_CD /* 사용 연료 코드 */
, B.FFNLG_CARMDL_CD /* 과태료 차종 코드 */
, B.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */
, B.VLTN_NMTM /* 위반 횟수 */
, B.OVTIME_YN /* 시간외 여부 */
, B.OVTIME_PRTTN_YN /* 시간외 분할 여부 */
, C.RTPYR_ID /* 납부자 ID */
, C.RTPYR_INPT_SE_CD /* 납부자 입력 구분 코드 */
, C.RTPYR_SE_CD /* 납부자 구분 코드 */
, C.RTPYR_NO /* 납부자 번호 */
, C.RTPYR_NM /* 납부자 명 */
, C.RTPYR_TELNO /* 납부자 전화번호 */
, C.RTPYR_MBL_TELNO /* 납부자 휴대 전화번호 */
, C.RTPYR_EML /* 납부자 이메일 */
, C.RTPYR_BRDT /* 납부자 생년월일 */
, C.RTPYR_STTS_CD /* 납부자 상태 코드 */
, C.ADDR_SE_CD /* 주소 구분 코드 */
, C.ZIP /* 우편번호 */
, C.ROAD_NM_CD /* 도로 명 코드 */
, C.UDGD_SE_CD /* 지하 구분 코드 */
, C.BMNO /* 건물본번 */
, C.BSNO /* 건물부번 */
, C.BLDG_MNG_NO /* 건물 관리 번호 */
, C.STDG_CD /* 법정동 코드 */
, C.DONG_CD /* 행정동 코드 */
, C.MTN_SE_CD /* 산 구분 코드 */
, C.MNO /* 본번 */
, C.SNO /* 부번 */
, C.SPCL_DONG /* 특수 동 */
, C.SPCL_HO /* 특수 호 */
, C.SPCL_ADDR /* 특수 주소 */
, C.ADDR /* 주소 */
, C.DTL_ADDR /* 상세 주소 */
, C.WHOL_ADDR /* 전체 주소 */
, D.CVLCPT_APLY_SE_CD /* 민원 신청 구분 코드 */
, D.DSTRBNC_YN /* 1면 방해 여부 */
, D.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, D.CVLCPT_APLY_NO /* 민원 신청 번호 */
, D.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, D.CVLCPT_LIST_NO /* 민원 목록 번호 */
, D.CVLCPT_APLCNT_NM /* 민원 신청인 명 */
, D.CVLCPT_APLY_DT /* 민원 신청 일시 */
, D.CVLCPT_APLY_TTL_NM /* 민원 신청 제목 명 */
, D.CVLCPT_APLY_CN /* 민원 신청 내용 */
, D.CVLCPT_GIST /* 민원 요지 */
, D.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */
, D.CVLCPT_PRCS_PRNMNT_DT /* 민원 처리 예정 일시 */
, D.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, D.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */
, D.CVLCPT_PRCS_RSLT_CN /* 민원 처리 결과 내용 */
, D.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, D.CVLCPT_PRCS_PIC /* 민원 처리 담당자 */
, E.LEVY_ID /* 부과 ID */
, E.INST_CD /* 기관 코드 */
, E.DEPT_CD /* 부서 코드 */
, E.ACNTG_YR /* 회계 연도 */
, E.ACNTG_SE /* 회계 구분 */
, E.TXITM_CD /* 세목 코드 */
, E.TXITM_NM /* 세목 명 */
, E.LEVY_NO /* 부과 번호 */
, E.INSPY_SN /* 분납 순번 */
, (CONCAT(E.ACNTG_YR, '-', E.LEVY_NO)) AS GOJI_NO /* 고지번호 */
, E.LEVY_SE_CD /* 부과 구분 코드 */
, E.RCVMT_SE_CD /* 수납 구분 코드 */
FROM TB_CRDN A /* 단속 대장 */
INNER JOIN TB_CRDN_ADI B ON (A.CRDN_ID = B.CRDN_ID) /* 단속 부가 정보 */
LEFT OUTER JOIN TB_PAYER C ON (A.RTPYR_ID = C.RTPYR_ID) /* 납부자 대장 */
LEFT OUTER JOIN TB_CRDN_CVLCPT D ON (A.LINK_ID = D.CVLCPT_LINK_ID AND A.CVLCPT_LINK_YN = 'Y' AND D.DEL_YN = 'N') /* 단속 민원 대장 대장 */
LEFT OUTER JOIN TB_LEVY E ON (A.LEVY_ID = E.LEVY_ID) /* 부과 대장 */
SELECT C.CRDN_ID /* 단속 ID */
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 코드 명 */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, C.CVLCPT_LINK_YN /* 민원 연계 여부 */
, C.LINK_TBL_NM /* 연계 테이블 명 */
, C.LINK_ID /* 연계 ID */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, (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.VLTN_ID /* 위반 ID */
, C.GPS_X /* GPS X */
, C.GPS_Y /* GPS Y */
, C.ATCH_FILE_CNT /* 첨부 파일 수 */
, C.VIN /* 차대번호 */
, C.VHCL_NM /* 차량 명 */
, C.VHCL_COLOR /* 차량 색상 */
, C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */
, C.FFNLG_RDUCT_RT /* 과태료 감경 율 */
, C.FFNLG_AMT /* 과태료 금액 */
, C.ADVNTCE_BGNG_YMD /* 사전통지 시작 일자 */
, C.ADVNTCE_DUDT_YMD /* 사전통지 납기 일자 */
, C.ADVNTCE_AMT /* 사전통지 금액 */
, C.OPNN_SBMSN_YN /* 의견 제출 여부 */
, C.ETC_CN /* 기타 내용 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, C.BFR_CRDN_ID /* 이전 단속 ID */
, C.DEL_YN /* 삭제 여부 */
, C.REG_DT /* 등록 일시 */
, C.RGTR /* 등록자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM /* 등록자 명 */
, C.MDFCN_DT /* 수정 일시 */
, C.MDFR /* 수정자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM /* 수정자 명 */
, C.DEL_DT /* 삭제 일시 */
, C.DLTR /* 삭제자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.DLTR) AS DLTR_NM /* 삭제자 명 */
, C.DEL_RSN /* 삭제 사유 */
, CA.CRDN_SE_CD /* 단속 구분 코드 */
, CA.TEAM_ID /* 조 ID */
, CA.DTL_CRDN_PLC /* 상세 단속 장소 */
, CA.CRDN_SPAREA_CD /* 단속 특별구역 코드 */
, CA.CRDN_BGNG_TM /* 단속 시작 시각 */
, CA.CRDN_END_TM /* 단속 종료 시각 */
, CA.CRDN_SN /* 단속 일련번호 */
, CA.MOSC_X /* 모자이크 X */
, CA.MOSC_Y /* 모자이크 Y */
, CA.TOWNG_YN /* 견인 여부 */
, CA.USE_FUEL_CD /* 사용 연료 코드 */
, CA.FFNLG_CARMDL_CD /* 과태료 차종 코드 */
, CA.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */
, CA.VLTN_NMTM /* 위반 횟수 */
, CA.OVTIME_YN /* 시간외 여부 */
, CA.OVTIME_PRTTN_YN /* 시간외 분할 여부 */
, P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_INPT_SE_CD /* 납부자 입력 구분 코드 */
, P.RTPYR_SE_CD /* 납부자 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */
, P.RTPYR_TELNO /* 납부자 전화번호 */
, P.RTPYR_MBL_TELNO /* 납부자 휴대 전화번호 */
, P.RTPYR_EML /* 납부자 이메일 */
, P.RTPYR_STTS_CD /* 납부자 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM014', P.RTPYR_STTS_CD) FROM DUAL) AS RTPYR_STTS_NM /* 납부자 상태 명 */
, P.ADDR_SE_CD /* 주소 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM013', P.ADDR_SE_CD) FROM DUAL) AS ADDR_SE_NM /* 주소 구분 명 */
, P.ZIP /* 우편번호 */
, P.ADDR /* 주소 */
, P.DTL_ADDR /* 상세 주소 */
, CC.CVLCPT_APLY_SE_CD /* 민원 신청 구분 코드 */
, CC.DSTRBNC_YN /* 1면 방해 여부 */
, CC.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, CC.CVLCPT_APLY_NO /* 민원 신청 번호 */
, CC.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, CC.CVLCPT_LIST_NO /* 민원 목록 번호 */
, CC.CVLCPT_APLCNT_NM /* 민원 신청인 명 */
, CC.CVLCPT_APLY_DT /* 민원 신청 일시 */
, CC.CVLCPT_APLY_TTL_NM /* 민원 신청 제목 명 */
, CC.CVLCPT_APLY_CN /* 민원 신청 내용 */
, CC.CVLCPT_GIST /* 민원 요지 */
, CC.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */
, CC.CVLCPT_PRCS_PRNMNT_DT /* 민원 처리 예정 일시 */
, CC.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, CC.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */
, CC.CVLCPT_PRCS_RSLT_CN /* 민원 처리 결과 내용 */
, CC.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, CC.CVLCPT_PRCS_PIC /* 민원 처리 담당자 */
, L.LEVY_ID /* 부과 ID */
, L.INST_CD /* 기관 코드 */
, L.DEPT_CD /* 부서 코드 */
, L.ACNTG_YR /* 회계 연도 */
, L.ACNTG_SE /* 회계 구분 */
, L.TXITM_CD /* 세목 코드 */
, L.TXITM_NM /* 세목 명 */
, L.LEVY_NO /* 부과 번호 */
, L.INSPY_SN /* 분납 순번 */
, (CONCAT(L.ACNTG_YR, '-', L.LEVY_NO)) AS GOJI_NO /* 고지번호 */
, L.LEVY_SE_CD /* 부과 구분 코드 */
, L.RCVMT_SE_CD /* 수납 구분 코드 */
, L.LEVY_PCPTAX /* 부과 본세 */
, L.LEVY_ADAMT /* 부과 가산금 */
, L.INSPY_INT /* 분납 이자 */
, L.LEVY_PCPTAX + L.LEVY_ADAMT + L.INSPY_INT AS LEVY_AMT /* 부과금액 */
, L.RCVMT_PCPTAX /* 수납 본세 */
, L.RCVMT_ADAMT /* 수납 가산금 */
, L.RCVMT_PCPTAX + L.RCVMT_ADAMT AS RCVMT_AMT /* 수납 금액 */
, L.RDCAMT_PCPTAX /* 감액 본세 */
, L.RDCAMT_ADAMT /* 감액 가산금 */
, L.RDCAMT_PCPTAX + L.RDCAMT_ADAMT AS REDUC_AMT /* 감액 금액 */
, L.SUM_AMT /* 합계 금액 */
FROM TB_CRDN C /* 단속 대장 */
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) /* 단속 부가 정보 */
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) /* 납부자 대장 */
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.LINK_ID = CC.CVLCPT_LINK_ID AND C.CVLCPT_LINK_YN = 'Y' AND CC.DEL_YN = 'N') /* 단속 민원 대장 대장 */
LEFT OUTER JOIN TB_LEVY L ON (C.LEVY_ID = L.LEVY_ID) /* 부과 대장 */
</sql>
<select id="selectCrdnPayerInfo" parameterType="map" resultType="dataobject">/* 개별총정보 조회(sprt01Mapper.selectCrdnPayerInfo) */
<include refid="selectCrdnPayer" />
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
WHERE C.CRDN_ID = #{crdnId} /* 단속 ID */
<if test="delYn != null">
AND A.DEL_YN = #{delYn} /* 삭제 여부 */
AND C.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</select>

@ -66,13 +66,22 @@
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#levyNpmntInfo" aria-controls="levyNpmntInfo" aria-selected="false">부과체납 정보</button>
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#levyNpmntInfo"
aria-controls="levyNpmntInfo" aria-selected="false" onClick="fnBtnLevyNpmntInfo${pageName}();">
부과체납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" aria-controls="rcvmtInfo" aria-selected="false">수납 정보</button>
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo"
aria-controls="rcvmtInfo" aria-selected="false" onClick="fnBtnRcvmtInfo${pageName}();">
수납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" aria-controls="cvlcptDscsnInfo" aria-selected="false">민원상담 정보</button>
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo"
aria-controls="cvlcptDscsnInfo" aria-selected="false" onClick="fnBtnCvlcptDscsnInfo${pageName}();">
민원상담 정보
</button>
</li>
</ul>
@ -97,8 +106,6 @@
var ${pageName}PrefixUrl = "/sprt/sprt02";
// FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
//
var ${pageName}CrdnIDs = {};
/**************************************************************************
* DatasetControl
@ -232,6 +239,39 @@
});
}
// 부과체납 정보
fnBtnLevyNpmntInfo${pageName} = () => {
}
// 수납 정보
fnBtnRcvmtInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
let params = {
callPurpose : "view"
, crdnId : crdnId
};
ajax.get({
url : wctx.url("/sprt/sprt02/070/info.do")
, data : params || {}
, success : resp => {
$("#rcvmtInfo").html(resp);
}
});
}
// 민원상담 정보
fnBtnCvlcptDscsnInfo${pageName} = () => {
}
/**************************************************************************
* script 진입
**************************************************************************/

@ -10,7 +10,6 @@
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<!-- 단속 정보 -->
<div class="card">
@ -148,9 +147,9 @@
<textarea type="text" class="form-control w-87" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" cols="100%" rows="3" readonly>
</textarea>
</div>
<!-- 과태료 금액 -->
<!-- 과태료 단속금액 -->
<div class="col-md-3">
<label for="ffnlgCrdnAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">과태료 단속금</label>
<label for="ffnlgCrdnAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">과태료 단속금</label>
<input type="text" class="form-control w-40 text-sm-end" id="ffnlgCrdnAmt--${pageName}" name="ffnlgCrdnAmt" data-map="FFNLG_CRDN_AMT" readonly />
</div>
<!-- 과태료 감경 율 -->
@ -158,7 +157,7 @@
<label for="ffnlgRductRt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">과태료 감경율</label>
<input type="text" class="form-control w-25 text-sm-end" id="ffnlgRductRt--${pageName}" name="ffnlgRductRt" data-map="FFNLG_RDUCT_RT" readonly /> %
</div>
<!-- 과 금액 -->
<!-- 과태료 금액 -->
<div class="col-md-3">
<label for="ffnlgAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">과태료 금액</label>
<input type="text" class="form-control w-40 text-sm-end" id="ffnlgAmt--${pageName}" name="ffnlgAmt" data-map="FFNLG_AMT" readonly />

@ -6,8 +6,8 @@
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->

@ -115,9 +115,9 @@
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="sndngId--${pageName}" name="sndngId" data-map="SNDNG_ID" />
<input type="hidden" id="sndngDtlId--${pageName}" name="sndngDtlId" data-map="SNDNG_DTL_ID" />
<input type="hidden" id="sndngId--${pageName}" name="sndngId" data-map="SNDNG_ID" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="card">
<!-- 업무 버튼 -->

@ -29,6 +29,7 @@
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="rductId--${pageName}" name="rductId" data-map="RDUCT_ID" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="row g-1">
<!-- 감경 일자 -->
@ -257,10 +258,6 @@
}
});
${pageName}Control.onCurrentChange = item => {
${pageName}Fields.set(item);
}
// 부과제외 Dataset
var ${pageName}${pageDataName2}Control = new DatasetControl({
prefix : "levyExcl"
@ -272,10 +269,6 @@
}
});
${pageName}${pageDataName2}Control.onCurrentChange = item => {
${pageName}${pageDataName2}Fields.set(item);
}
// 단속상태이력 Dataset
var ${pageName}${pageDataName3}Dataset = new Dataset({
prefix : "crdnSttsHstry"
@ -320,6 +313,19 @@
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 감경 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
${pageName}Fields.set(item);
}
// 부과제외 선택 자료 변경 이벤트
${pageName}${pageDataName2}Control.onCurrentChange = item => {
${pageName}${pageDataName2}Fields.set(item);
}
/**************************************************************************
*
**************************************************************************/

@ -3,177 +3,189 @@
<!-- Page Body -->
<div class="content-wrapper">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
<div class="col-xl-9 mx-1">
<!-- 의견제출 정보 -->
<!-- 수납 정보 -->
<div class="col-xl-12 mx-1">
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">의견제출 정보</label>
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">수납 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnCreate--${pageName}" title="의견제출 등록" onclick="fnBtnOpnnSbmsnCreate${pageName}();">
의견제출 등록
</button>
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnUpdate--${pageName}" title="의견제출 수정" onclick="fnBtnOpnnSbmsnUpdate${pageName}();">
의견제출 수정
</button>
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnRemove--${pageName}" title="의견제출 삭제" onclick="fnBtnOpnnSbmsnRemove${pageName}();">
의견제출 삭제
</button>
<button type="button" class="btn btn-primary" id="btnDlbrtLtfrPrint--${pageName}" title="심의의결서 출력" onclick="fnBtnDlbrtLtfrPrint${pageName}();">
심의의결서 출력
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="rcvmtId--${pageName}" name="rcvmtId" data-map="RCVMT_ID" />
<input type="hidden" id="levyId--${pageName}" name="levyId" data-map="LEVY_ID" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="row g-1">
<!-- 접수 번호 -->
<div class="col-md-4">
<label for="rcptNo--${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="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" readonly />
<!-- 회계 연도 -->
<div class="col-md-3">
<label for="acntgYr--${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="acntgYr--${pageName}" name="acntgYr" data-map="ACNTG_YR" readonly />
</div>
<!-- 접수 일자 -->
<div class="col-md-4">
<label for="rcptYmd--${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="rcptYmd--${pageName}" name="rcptYmd" data-map="RCPT_YMD" readonly />
<!-- 회계 구분 -->
<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 />
</div>
<!-- 접수 구분 -->
<div class="col-md-4">
<label for="rcptSeNm--${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="rcptSeNm--${pageName}" name="rcptSeNm" data-map="RCPT_SE_NM" readonly />
<!-- 세목 코드 -->
<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 />
</div>
<!-- 진술자 이름 -->
<div class="col-md-4">
<label for="sttrNm--${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="sttrNm--${pageName}" name="sttrNm" data-map="STTR_NM" readonly />
<!-- 부과 번호 -->
<div class="col-md-3">
<label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과 번호</label>
<input type="text" class="form-control w-20" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly />
<input type="text" class="form-control w-10" id="inspySn--${pageName}" name="inspySn" data-map="INSPY_SN" readonly />
</div>
<!-- 진술자 생년월일 -->
<div class="col-md-4">
<label for="sttrBrdt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">생년월일</label>
<input type="text" class="form-control w-25" id="sttrBrdt--${pageName}" name="sttrBrdt" data-map="STTR_BRDT_FORMAT" placeholder="YY-MM-DD" readonly />
<!-- 수납 순번 -->
<div class="col-md-3">
<label for="rcvmtSn--${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="rcvmtSn--${pageName}" name="rcvmtSn" data-map="RCVMT_SN" readonly />
</div>
<!-- 소유주 관계 구분 명 -->
<div class="col-md-4">
<label for="ownrRelNm--${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="ownrRelNm--${pageName}" name="ownrRelNm" data-map="OWNR_REL_NM" readonly />
<!-- 수납 일자 -->
<div class="col-md-3">
<label for="rcvmtYmd--${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="rcvmtYmd--${pageName}" name="rcvmtYmd" data-map="RCVMT_YMD" readonly />
</div>
<!-- 진술자 주소 --><!-- 진술자 우편번호 -->
<div class="col-md-12">
<label for="sttrAddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">주소</label>
<input type="text" class="form-control w-80" id="sttrAddr--${pageName}" name="sttrAddr" data-map="STTR_ADDR" readonly />
<input type="text" class="form-control w-px-75" id="sttrZip--${pageName}" name="sttrZip" data-map="STTR_ZIP" readonly />
<!-- 소인 일자 -->
<div class="col-md-3">
<label for="pstmrkYmd--${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="pstmrkYmd--${pageName}" name="pstmrkYmd" data-map="PSTMRK_YMD" readonly />
</div>
<!-- 진술자 상세주소 -->
<div class="col-md-12">
<label for="sttrDaddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세 주소</label>
<input type="text" class="form-control w-87" id="sttrDaddr--${pageName}" name="sttrDaddr" data-map="STTR_DADDR" readonly />
<!-- 회계 일자 -->
<div class="col-md-3">
<label for="acntgYmd--${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="acntgYmd--${pageName}" name="acntgYmd" data-map="ACNTG_YMD" readonly />
</div>
<!-- 진술자 연락처 -->
<div class="col-md-4">
<label for="sttrCttpc--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">연락처</label>
<input type="text" class="form-control w-35" id="sttrCttpc--${pageName}" name="sttrCttpc" data-map="STTR_CTTPC" readonly />
<!-- 수납 구분 -->
<div class="col-md-3">
<label for="rcvmtSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납 구분</label>
<input type="text" class="form-control w-25" id="rcvmtSeNm--${pageName}" name="rcvmtSeNm" data-map="RCVMT_SE_NM" readonly />
</div>
<!-- 진술자 이메일 -->
<div class="col-md-8">
<label for="sttrEml--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">이메일</label>
<input type="text" class="form-control w-35" id="sttrEml--${pageName}" name="sttrEml" data-map="STTR_EML" readonly />
<!-- 수납 본세 -->
<div class="col-md-3">
<label for="rcvmtPcptax--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납 본세</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtPcptax--${pageName}" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly />
</div>
<!-- 의견 제출 내용 -->
<div class="col-md-12">
<label for="opnnSbmsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 내용</label>
<textarea type="text" class="form-control w-87" id="opnnSbmsnCn--${pageName}" name="opnnSbmsnCn" data-map="OPNN_SBMSN_CN" rows="4" data-maxlengthb="4000" readonly>
</textarea>
<!-- 수납 가산금 -->
<div class="col-md-3">
<label for="rcvmtAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납 가산금</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtAdamt--${pageName}" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly />
</div>
<!-- 의견 제출 구분 명 -->
<div class="col-md-4">
<label for="opnnSbmsnSeNm--${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="opnnSbmsnSeNm--${pageName}" name="opnnSbmsnSeNm" data-map="OPNN_SBMSN_SE_NM" readonly />
<!-- 수납 이자 -->
<div class="col-md-3">
<label for="rcvmtInt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납 이자</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtInt--${pageName}" name="rcvmtInt" data-map="RCVMT_INT" readonly />
</div>
<!-- 의견 제출 요지 -->
<div class="col-md-8">
<label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 요지</label>
<input type="text" class="form-control w-80" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" data-maxlengthb="300" readonly />
<!-- 수납 은행 -->
<div class="col-md-3">
<label for="rcvmtBankNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납 은행</label>
<input type="text" class="form-control w-50" id="rcvmtBankNm--${pageName}" name="rcvmtBankNm" data-map="RCVMT_BANK_NM" readonly />
</div>
<!-- 담당자 검토 의견 -->
<div class="col-md-12">
<label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토 의견</label>
<textarea class="form-control w-87" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000" readonly>
</textarea>
<!-- 납부 방식 -->
<div class="col-md-3">
<label for="payMthdSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부 방식</label>
<input type="text" class="form-control w-50" id="payMthdSeNm--${pageName}" name="payMthdSeNm" data-map="PAY_MTHD_SE_NM" readonly />
</div>
<!-- -->
<div class="col-md-3">
</div>
<!-- 등록 일시 -->
<div class="col-md-3">
<label for="regDt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록 일시</label>
<input type="text" class="form-control w-45" id="regDt--${pageName}" name="regDt" data-map="REG_DT" readonly />
</div>
<!-- 첨부 파일 테이블 -->
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped" id="fileList--${pageName}">
<thead>
<th class="text-center" style="width: 24px">NO.</th>
<th class="text-center" style="width: 200px">파일 번호</th>
<th class="text-center">파일 이름</th>
<th class="text-center" style="width: 200px">파일 크기</th>
<th class="text-center" style="width: 120px">다운로드</th>
</thead>
<tbody></tbody>
</table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- 의견제출 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 화면 오른쪽 -->
<div class="col-xl-3 mx-0">
<!-- 심의 정보 -->
</div> <!-- <div class="row g-1"> -->
</form>
</div> <!-- <div class="card"> -->
</p>
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">심의 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnDlbrt--${pageName}" title="의견제출 심의" onclick="fnBtnOpnnSbmsnDlbrt${pageName}();">
의견제출 심의
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
<!-- 문서 번호 -->
<div class="col-md-12">
<label for="docNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">문서 번호</label>
<input type="text" class="form-control w-45" id="docNo--${pageName}" name="docNo" data-map="DOC_NO" readonly />
</div>
<!-- 통보 구분 -->
<div class="col-md-12">
<label for="ntfctnSeNm--${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="ntfctnSeNm--${pageName}" name="ntfctnSeNm" data-map="NTFCTN_SE_NM" readonly />
</div>
<!-- 의견 제출 상태 코드 -->
<div class="col-md-12">
<label for="opnnSbmsnSttsNm--${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="opnnSbmsnSttsNm--${pageName}" name="opnnSbmsnSttsNm" data-map="OPNN_SBMSN_STTS_NM" readonly />
</div>
<!-- 답변일시 -->
<div class="col-md-12">
<label for="ansYmdTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">처리 일시</label>
<input type="text" class="form-control w-45" id="ansYmdTm--${pageName}" name="ansYmdTm" data-map="ANS_YMD_TM" readonly />
</div>
<!-- 답변 내용 -->
<div class="col-md-12">
<label for="ansCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">처리 내용</label>
</div>
<div class="col-md-12">
<textarea type="text" class="form-control w-100" id="ansCn--${pageName}" name="ansCn" data-map="ANS_CN" rows="14" data-maxlengthb="4000">
</textarea>
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}" class="table-responsive" style="overflow-x:scroll; height:400px; overflow-y:scroll;" >
<table class="dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr id="theadTr--${pageName}">
<th>수납입력구분</th>
<th>수납일련번호</th>
<th>수납취소</th>
<th>회계연도</th>
<th>회계구분</th>
<th>세목코드</th>
<th>부과번호</th>
<th>분납일련번호</th>
<th>수납일자</th>
<th>수납본세</th>
<th>수납가산금</th>
<th>수납이자</th>
<th>수납은행명</th>
<th>납부방법구분</th>
<th>소인일자</th>
<th>회계일자</th>
<th>가상계좌번호</th>
<th>전자납부번호</th>
<th>수납구분</th>
<th>수납취소일시</th>
<th>수납취소사유</th>
<th>수납상태</th>
<th>등록일시</th>
<th>등록사용자</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="text-center" onclick="{onclick}">{RCVMT_INPT_SE_NM}</td>
<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}">{ACNTG_YR}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_SE}</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-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>
<td class="text-center" onclick="{onclick}">{ACNTG_YMD}</td>
<td class="text-center" onclick="{onclick}">{VRACTNO}</td>
<td class="text-center" onclick="{onclick}">{EPAYNO}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_DT}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_RSN}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_STTS_NM}</td>
<td class="text-center" onclick="{onclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}">{RGTR_NM}</td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="5" class="dataTables_empty text-center">주소변동 이력 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- 심의 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- / DataTables(그리드) -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-12 mx-1"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form>
</div>
<script>
@ -189,7 +201,7 @@
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "totalInfoRcvmt"
prefix : "rcvmt"
, prefixName : "수납 정보"
, keymapper : info => info ? info.RCVMT_ID : ""
, dataGetter : obj => obj.rcvmt
@ -197,100 +209,58 @@
RCVMT_YMD : dateFormat
, ACNTG_YMD : dateFormat
, PSTMRK_YMD : dateFormat
, RCVMT_PCPTAX : numberFormat
, RCVMT_ADAMT : numberFormat
, RCVMT_INT : numberFormat
, REG_DT : datetimeFormat
}
});
${pageName}Control.onCurrentChange = item => {
// Dataset 셋팅
${pageName}Fields.set(item);
if (item.data.OPNN_ID != null) {
// 첨부파일 조회
fnSearchFileList${pageName}(item.data.OPNN_ID);
}
}
/**************************************************************************
*
* DatasetControl 이벤트
**************************************************************************/
// 의견제출 dialog
${pageName}Control.getOpnnSbmsnInfo = (params) => {
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = "의견제출 등록";
} else if (params.callPurpose == "update") {
dialogTitle = "의견제출 수정";
} else {
return;
}
ajax.get({
url : wctx.url("/excl/excl02/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "opnnInfoDialog"
, title : dialogTitle
, content : resp
, size : "xl"
, onClose : () => { fnDataRefreshInfo(params.crdnId); } // callback 자료 조회
});
}
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
, prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch
, func : "${pageName}Control.load({index})"
});
}
};
// 삭제 callback
${pageName}Control.onRemoveOpnnSbmsn = (resp) => {
if (resp.saved) {
fnDataRefreshInfo(); // 자료 조회
}
}
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
// 삭제
${pageName}Control.removeOpnnSbmsn = (params) => {
ajax.post({
url : wctx.url("/excl/excl02/010/remove.do")
, data : params || {}
, success : resp => ${pageName}Control.onRemoveOpnnSbmsn(resp)
});
}
let key = item.data.RCVMT_ID;
// 심의 dialog
${pageName}Control.getOpnnSbmsnDlbrtInfo = (params) => {
ajax.get({
url : wctx.url("/excl/excl02/030/info.do")
, data : params || {}
, success : resp => {
$("#tbody--${pageName}").setCurrentRow(key); // datatable에 자료 셋팅
dialog.open({
id : "opnnSbmsnInfoDialog"
, title : "의견제출 답변 처리"
, content : resp
, size : "lg"
, onClose : () => { fnDataRefreshInfo(params.crdnId); } // callback 자료 조회
});
}
});
}
${pageName}Fields.set(item); // 화면에 자료 셋팅
};
// 재조회
fnDataRefreshInfo = (crdnId) => {
// 단속 ID 확인
if (crdnId == undefined || crdnId == null || crdnId == "") {
crdnId = $("#crdnId--${pageName}").val();
}
/**************************************************************************
*
**************************************************************************/
// DataTables에 click 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
ajax.get({
url : wctx.url("/sprt/sprt02/030/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : { crdnId : crdnId }
, success : resp => {
// Dataset 셋팅
${pageName}Control.setData([resp.opnnSbmsn]);
}
});
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
}
/**************************************************************************
@ -309,133 +279,7 @@
/**************************************************************************
* function
**************************************************************************/
// 의견제출 등록
fnBtnOpnnSbmsnCreate${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
let params = {
callPurpose : "create"
, crdnId : crdnId
};
${pageName}Control.getOpnnSbmsnInfo(params);
}
// 의견제출 수정
fnBtnOpnnSbmsnUpdate${pageName} = () => {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID")
// 의견 ID 가 없다면.. return
if (opnnId == null || opnnId == "") {
return;
}
let params = {
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getOpnnSbmsnInfo(params);
}
// 의견제출 삭제
fnBtnOpnnSbmsnRemove${pageName} = () => {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견 ID 가 없다면.. return
if (opnnId == null || opnnId == "") {
return;
}
let params = {
callPurpose : "remove"
, opnnId : opnnId
};
dialog.alert({
content : "선택한 의견제출 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.removeOpnnSbmsn(params);
}
});
}
// 의견제출 심의
fnBtnOpnnSbmsnDlbrt${pageName} = () => {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (opnnId == null || opnnId == "") {
return;
}
let params = {
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getOpnnSbmsnDlbrtInfo(params);
}
// 심의의결서 출력
fnBtnDlbrtLtfrPrint${pageName} = () => {
}
// 첨부파일 조회
fnSearchFileList${pageName} = (opnnId) => {
// 의견제출 등록일 경우에는 첨부파일을 조회하지 안는다..
if (opnnId == null || opnnId == "") {
return;
}
// 기존 table에 자료가 존재하면 table 삭제
let fileListTable = document.getElementById("fileList--${pageName}"); // table element 찾기
for (iLoop = 2; iLoop <= fileListTable.rows.length; iLoop++) {
let newRow = fileListTable.deleteRow(fileListTable.rows.length-1); // table 행(Row) 삭제
}
// 첨부파일 리스트
ajax.get({
url : "file/list.do"
, data : {
infoType : "110"
, infoKeys : opnnId
, fetchSize : 0
}
, success : resp => {
let fileNo = 0;
let fileList = resp.fileList;
fileList.forEach(function (item, index, array) {
fileNo = index + 1;
let innerHtml = "";
innerHtml += "<tr>";
innerHtml += "<td class='text-center'>" + fileNo + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_ID + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_NM + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_SIZE + " byte</td>";
innerHtml += "<td class='text-center'>" + "<button class='btn' onclick='fnBtnFileDownload${pageName}(" + item.FILE_ID + ");'><i class='bx bx-download me-1'></i></button>" + "</td>";
innerHtml += "</tr>";
$("#fileList--${pageName} > tbody:last").append(innerHtml);
});
}
});
}
// 첨부파일 다운로드
fnBtnFileDownload${pageName} = (fileID) => {
top.location.href = "/file/download.do?fileID=" + fileID;
}
/**************************************************************************
* script 진입
@ -448,7 +292,7 @@
initForm${pageName}();
// Dataset 셋팅
${pageName}Control.setData([${rcvmt}]);
${pageName}Control.setData(${rcvmt});
});
// #sourceURL=sprt02070-info.jsp

Loading…
Cancel
Save