1. 부과 메뉴 수정.

2. 기타 수정.
main
jjh 5 months ago
parent eaf812c39a
commit 650bfe72cd

@ -32,6 +32,7 @@ public class LevyQuery extends CmmnQuery {
private String schLevyYmdTo; // 부과 일자 종료
private String schRductYmdFrom; // 감경 일자 시작
private String schRductYmdTo; // 감경 일자 종료
private String schRductRsnCd; // 감경 사유 코드
private String schCrdnYmdFrom; // 단속 일자 시작
private String schCrdnYmdTo; // 단속 일자 종료
private String schVhrno; // 차량번호
@ -135,6 +136,15 @@ public class LevyQuery extends CmmnQuery {
return self();
}
public String getSchRductRsnCd() {
return ifEmpty(schRductRsnCd, () -> null);
}
public <T extends LevyQuery> T setSchRductRsnCd(String schRductRsnCd) {
this.schRductRsnCd = schRductRsnCd;
return self();
}
public String getSchFyr() {
return ifEmpty(schFyr, () -> null);
}

@ -82,7 +82,8 @@ public class Levy02Controller extends ApplicationController {
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM010", "FIM019", "FIM054");
return mav.addObject("pageName", "levy02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
return mav
.addObject("pageName", "levy02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "rduct") // prefix
.addObject("infoPrefixUrl", "/levy/levy02") // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)

@ -32,12 +32,14 @@
, CRR.ETC_CN <!-- 기타 내용 -->
, CRR.DEL_YN <!-- 삭제 여부 -->
, CRR.REG_DT <!-- 등록 일시 -->
, CRR.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CRR.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
@ -182,7 +184,7 @@
)
</if>
<if test="reRegId != null">
AND CRR.RE_REG_ID= #{reRegId} <!-- 재등록 ID -->
AND CRR.RE_REG_ID = #{reRegId} <!-- 재등록 ID -->
</if>
<if test="delYn != null">
AND CRR.DEL_YN = #{delYn} <!-- 삭제 여부 -->

@ -36,18 +36,21 @@
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM <!-- 부과 제외 사유 명 -->
, LE.ETC_CN <!-- 기타 내용 -->
, LE.DEL_YN <!-- 삭제 여부 -->
, (SELECT GET_CODE_NM('CMN007', LE.DEL_YN) FROM DUAL) AS DEL_YN_NM <!-- 삭제 여부 명 -->
, LE.REG_DT <!-- 등록 일시 -->
, LE.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, LE.MDFCN_DT <!-- 수정 일시 -->
, LE.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
@ -236,6 +239,9 @@
</if>
<if test="levyExclId != null">
AND LE.LEVY_EXCL_ID = #{levyExclId} <!-- 부과 제외 ID -->
</if>
<if test="delYn != null">
AND LE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->

@ -75,13 +75,16 @@
, OS.ANS_CN <!-- 답변 내용 -->
, OS.DEL_YN <!-- 삭제 여부 -->
, OS.REG_DT <!-- 등록 일시 -->
, OS.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, OS.MDFCN_DT <!-- 수정 일시 -->
, OS.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
@ -316,6 +319,9 @@
</if>
<if test="opnnId != null">
AND OS.OPNN_ID = #{opnnId} <!-- 의견제출 ID -->
</if>
<if test="delYn != null">
AND OS.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->

@ -107,8 +107,7 @@
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<select id="selectRductLevyTrgtList" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtList) */
<include refid="utility.paging-prefix" />
<sql id="selectTrgtList">
SELECT COUNT(*) OVER() AS TNOCS
, SUM(C.FFNLG_AMT) OVER() AS GRAMT_FFNLG_AMT
, SUM(C.ADVNTCE_AMT) OVER() AS GRAMT_ADVNTCE_AMT
@ -118,7 +117,9 @@
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
@ -130,10 +131,11 @@
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, 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 <!-- 수정자 명 -->
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, V.VLTN_ID <!-- 위반 ID -->
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
@ -153,29 +155,20 @@
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, PA.ZIP <!-- 우편번호 -->
, PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 -->
, L.LEVY_ID <!-- 부과 ID -->
<include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
</sql>
<sql id="fromRductLevyTrgt">
<sql id="fromTrgtList">
FROM TB_CRDN C
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_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_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_PAYER_ADDR PA ON (C.RTPYR_ID = PA.RTPYR_ID AND C.ADDR_SN = PA.ADDR_SN)
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
WHERE C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD <![CDATA[ <> ]]> '00') <!-- 민원 처리 코드 -->
AND C.CRDN_STTS_CD BETWEEN '21' AND '31' <!-- 단속 상태 코드 -->
AND C.RTPYR_ID IS NOT NULL <!-- 납부자 ID -->
AND L.LEVY_ID IS NULL <!-- 부과 ID -->
<where>
<if test="crdnIds != null">
AND C.CRDN_ID IN ( <!-- 단속 Ids -->
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
@ -207,11 +200,13 @@
</if>
<if test="schCvlcptPrcsPic != null">
AND CC.CVLCPT_PRCS_PIC = #{schCvlcptPrcsPic} <!-- 민원 처리 담당자 -->
</if>
<if test="schRtpyrNo != null">
AND P.RTPYR_NO = #{schRtpyrNo} <!-- 납부자 번호 -->
</if>
<if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} <!-- 납부자 명 -->
</if>
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
@ -255,21 +250,21 @@
<when test="by == 'vhrno'"> C.VHRNO </when>
<when test="by == 'crdnStdgNm'"> C.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> C.CRDN_PLC </when>
<when test="by == 'vltnArtcl'"> V.VLTN_ARTCL </when>
<when test="by == 'ffnlgCrdnAmt'"> C.FFNLG_CRDN_AMT </when>
<when test="by == 'ffnlgAmt'"> C.FFNLG_AMT </when>
<when test="by == 'advntceAmt'"> C.ADVNTCE_AMT </when>
<when test="by == 'crdnSttsCd'"> C.CRDN_STTS_CD </when>
<when test="by == 'rtpyrSeCd'"> P.RTPYR_SE_CD </when>
<when test="by == 'rtpyrNo'"> P.RTPYR_NO </when>
<when test="by == 'rtpyrNm'"> P.RTPYR_NM </when>
<when test="by == 'zip'"> PA.ZIP </when>
<when test="by == 'addr'"> PA.ADDR </when>
<when test="by == 'dtlAddr'"> PA.DTL_ADDR </when>
<when test="by == 'vltnArtcl'"> V.VLTN_ARTCL </when>
<when test="by == 'cvlcptRcptYmd'"> CC.CVLCPT_RCPT_YMD </when>
<when test="by == 'cvlcptAplyNo'"> CC.CVLCPT_APLY_NO </when>
<when test="by == 'cvlcptRcptNo'"> CC.CVLCPT_RCPT_NO </when>
<when test="by == 'cvlcptTrsmCd'"> CC.CVLCPT_TRSM_CD </when>
<when test="by == 'rtpyrNm'"> P.RTPYR_NM </when>
<when test="by == 'rtpyrNo'"> P.RTPYR_NO </when>
<when test="by == 'rtpyrBrdt'"> P.RTPYR_BRDT </when>
<when test="by == 'zip'"> PA.ZIP </when>
<when test="by == 'addr'"> PA.ADDR </when>
<when test="by == 'dtlAddr'"> P.ADTL_ADDR </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
@ -277,13 +272,29 @@
</otherwise>
</choose>
</if>
AND C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
AND C.CRDN_STTS_CD BETWEEN '21' AND '31' <!-- 단속 상태 코드 -->
AND C.RTPYR_ID IS NOT NULL <!-- 납부자 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD <![CDATA[ <> ]]> '00') <!-- 민원 처리 코드 -->
AND L.LEVY_ID IS NULL <!-- 부과 ID -->
</where>
</sql>
<select id="selectRductLevyTrgtList" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtList) */
<include refid="utility.paging-prefix" />
<include refid="selectTrgtList" />
<include refid="fromTrgtList" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectRductLevyTrgtIds" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtIds) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
<include refid="fromRductLevyTrgt" />
<include refid="fromTrgtList" />
<include refid="utility.orderBy" />
</select>
@ -389,10 +400,13 @@
, L.NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, L.DEL_YN <!-- 삭제 여부 -->
, L.REG_DT <!-- 등록 일시 -->
, L.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, L.MDFCN_DT <!-- 수정 일시 -->
, L.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, C.VHRNO <!-- 차량번호 -->
@ -424,10 +438,7 @@
<select id="selectLevyList" parameterType="map" resultType="dataobject">/* 부과 대장 목록 조회(levyMapper.selectLevyList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
WHERE L.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
<if test="taskSeCd != null">
AND L.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
</if>
<where>
<if test="schFyr != null">
AND L.FYR = #{schFyr} <!-- 회계연도 -->
</if>
@ -445,6 +456,9 @@
</if>
<if test="schLevyYmdTo != null">
AND L.LEVY_YMD <![CDATA[<=]]> #{schLevyYmdTo} <!-- 부과 일자 종료 -->
</if>
<if test="delYn != null">
AND L.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
@ -464,10 +478,6 @@
<if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} <!-- 납부자 명 -->
</if>
<if test="delYn != null">
AND L.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
@ -507,18 +517,46 @@
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'levyExclYmd'"> L.LEVY_YMD </when>
<when test="by == 'fyr'"> L.FYR </when>
<when test="by == 'acntgSeCd'"> L.ACNTG_SE_CD </when>
<when test="by == 'txitmCd'"> L.TXITM_CD </when>
<when test="by == 'levyYmd'"> L.LEVY_YMD </when>
<when test="by == 'levyNo'"> L.LEVY_NO </when>
<when test="by == 'levySeCd'"> L.LEVY_SE_CD </when>
<when test="by == 'rductSeCd'"> L.RDUCT_SE_CD </when>
<when test="by == 'frstDudtYmd'"> L.FRST_DUDT_YMD </when>
<when test="by == 'dudtYmd'"> L.DUDT_YMD </when>
<when test="by == 'ffnlgAmt'"> L.FFNLG_AMT </when>
<when test="by == 'levyPcptax'"> L.LEVY_PCPTAX </when>
<when test="by == 'levyAdamt'"> L.LEVY_ADAMT </when>
<when test="by == 'rcvmtPcptax'"> L.RCVMT_PCPTAX </when>
<when test="by == 'rcvmtAdamt'"> L.RCVMT_ADAMT </when>
<when test="by == 'rdcamtPcptax'"> L.RDCAMT_PCPTAX </when>
<when test="by == 'rdcamtAdamt'"> L.RDCAMT_ADAMT </when>
<when test="by == 'sumAmt'"> L.SUM_AMT </when>
<when test="by == 'txtnThing'"> L.TXTN_THING </when>
<when test="by == 'szrYmd'"> L.SZR_YMD </when>
<when test="by == 'szrThing'"> L.SZR_THING </when>
<when test="by == 'rpmSzrVhrno'"> L.RPM_SZR_VHRNO </when>
<when test="by == 'szrRmvYmd'"> L.SZR_RMV_YMD </when>
<when test="by == 'epayno'"> L.EPAYNO </when>
<when test="by == 'bankNm'"> L.BANK_NM </when>
<when test="by == 'vrActno'"> L.VR_ACTNO </when>
<when test="by == 'crdnYmd'"> C.CRDN_YMD </when>
<when test="by == 'vhrno'"> C.VHRNO </when>
<when test="by == 'crdnStdgNm'"> C.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> C.CRDN_PLC </when>
<when test="by == 'ffnlgCrdnAmt'"> C.FFNLG_CRDN_AMT </when>
<when test="by == 'ffnlgAmt'"> C.FFNLG_AMT </when>
<when test="by == 'advntceAmt'"> C.ADVNTCE_AMT </when>
<when test="by == 'crdnSttsCd'"> C.CRDN_STTS_CD </when>
<when test="by == 'rtpyrNm'"> P.RTPYR_NM </when>
<when test="by == 'rtpyrSeCd'"> P.RTPYR_SE_CD </when>
<when test="by == 'rtpyrNo'"> P.RTPYR_NO </when>
<when test="by == 'rtpyrBrdt'"> P.RTPYR_BRDT </when>
<when test="by == 'rtpyrNm'"> P.RTPYR_NM </when>
<when test="by == 'zip'"> PA.ZIP </when>
<when test="by == 'addr'"> PA.ADDR </when>
<when test="by == 'dtlAddr'"> PA.DTL_ADDR </when>
<when test="by == 'vltnArtcl'"> V.VLTN_ARTCL </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
@ -526,6 +564,10 @@
</otherwise>
</choose>
</if>
AND C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
@ -533,10 +575,6 @@
<select id="selectLevys" parameterType="map" resultType="dataobject">/* 부과 대장 객체 가져오기(levyMapper.selectLevys) */
<include refid="select" />
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</if>
<if test="levyIds != null">
AND L.LEVY_ID IN ( <!-- 부과 Ids -->
<foreach collection="levyIds" item="levyId" separator=","> #{levyId} </foreach>
@ -548,6 +586,10 @@
<if test="delYn != null">
AND L.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</if>
</where>
<include refid="utility.orderBy" />
</select>

@ -29,22 +29,22 @@
SELECT R.RDUCT_ID <!-- 감경 ID -->
, R.RDUCT_YMD <!-- 감경 일자 -->
, R.RDUCT_RSN_CD <!-- 감경 사유 코드 -->
, (SELECT GET_CODE_NM('FIM019', R.RDUCT_RSN_CD) FROM DUAL) AS RDUCT_RSN_NM <!-- 감경 사유 명 -->
, R.RDUCT_AMT <!-- 감경 금액 -->
, R.ETC_CN <!-- 감액 기타 내용 -->
, 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 <!-- 수정자 -->
, R.DEL_DT <!-- 삭제 일시 -->
, R.DLTR <!-- 삭제자 -->
, (SELECT GET_CODE_NM('FIM019', R.RDUCT_RSN_CD) FROM DUAL) AS RDUCT_RSN_NM <!-- 감경 사유 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD,C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량 번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
@ -54,8 +54,6 @@
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.ADVNTCE_AMT <!-- 사전통지금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (CONCAT(C.CRDN_YMD,C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, CA.CRDN_SE_CD <!-- 단속 구분 코드 -->
, CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
@ -71,7 +69,6 @@
, PA.ZIP <!-- 우편번호 -->
, PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 -->
, (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
, L.LEVY_ID <!-- 부과 ID -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
@ -101,15 +98,12 @@
</if>
<if test="schRductYmdTo != null">
AND R.RDUCT_YMD <![CDATA[<=]]> #{schRductYmdTo} <!-- 감경 일자 시작 -->
</if>
<if test="schRductRsnCd != null">
AND R.RDUCT_RSN_CD = #{schRductRsnCd} <!-- 감경 사유 코드 -->
</if>
<if test="delYn != null">
AND R.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="sggCd != null">
AND C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
</if>
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
</if>
<if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
@ -123,7 +117,6 @@
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
@ -175,6 +168,13 @@
<when test="by == 'ffnlgAmt'"> C.FFNLG_AMT </when>
<when test="by == 'advntceAmt'"> C.ADVNTCE_AMT </when>
<when test="by == 'crdnSttsCd'"> C.CRDN_STTS_CD </when>
<when test="by == 'rtpyrSeCd'"> P.RTPYR_SE_CD </when>
<when test="by == 'rtpyrNo'"> P.RTPYR_NO </when>
<when test="by == 'rtpyrNm'"> P.RTPYR_NM </when>
<when test="by == 'zip'"> PA.ZIP </when>
<when test="by == 'addr'"> PA.ADDR </when>
<when test="by == 'dtlAddr'"> PA.DTL_ADDR </when>
<when test="by == 'vltnArtcl'"> V.VLTN_ARTCL </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
@ -182,6 +182,9 @@
</otherwise>
</choose>
</if>
AND C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
</where>
<include refid="utility.sortBy" />
<include refid="utility.paging-suffix" />
@ -232,13 +235,21 @@
<select id="selectRducts" parameterType="map" resultType="dataobject">/* 과태료 감경 대장 객체 가져오기(rductMapper.selectRducts) */
<include refid="select" />
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
<if test="rductIds != null">
AND R.RDUCT_ID IN ( <!-- 감경 Ids -->
<foreach collection="rductIds" item="rductId" separator=","> #{rductId} </foreach>
)
</if>
<if test="rductId != null">
AND R.RDUCT_ID = #{rductId} <!-- 감경 ID -->
</if>
<if test="delYn != null">
AND R.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</if>
</where>
<include refid="utility.orderBy" />
</select>

@ -37,7 +37,7 @@
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title text-end">업무구분</span>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
@ -50,35 +50,56 @@
</div>
<!-- 단속 일자 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title text-end">단속일자</span>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
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" title="종료 날짜 선택" />
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" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" />
</div>
<!-- 위반 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end" for="schVltnCd--${pageName}">위반항목</label>
<select class="form-select" id="schVltnCd--${pageName}" name="schVltnCd">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVltnCd--${pageName}">위반항목</label>
<select class="form-select w-px-120" id="schVltnCd--${pageName}" name="schVltnCd">
<option value="">전체</option>
<c:forEach items="${FIM004List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 민원 접수 일자 -->
<!-- 차량번호 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title text-end">민원접수일자</span>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div> <!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 민원 접수 일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCvlcptRcptYmdFrom--${pageName}">민원접수일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCvlcptRcptYmdFrom--${pageName}" name="schCvlcptRcptYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
@ -90,8 +111,8 @@
</span>
</div>
<!-- 민원 처리 완료 일시 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title text-end">민원처리일자</span>
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCvlcptPrcsCmptnDtFrom--${pageName}">민원처리일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCvlcptPrcsCmptnDtFrom--${pageName}" name="schCvlcptPrcsCmptnDtFrom"
data-fmt-type="day" title="시작 날짜 선택" />
@ -103,39 +124,23 @@
</span>
</div>
<!-- 민원 처리 담당자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end" for="schCvlcptPrcsPic--${pageName}">민원담당자</label>
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCvlcptPrcsPic--${pageName}">민원담당자</label>
<input type="text" class="form-control w-px-150" id="schCvlcptPrcsPic--${pageName}" name="schCvlcptPrcsPic" />
</div>
<!-- 납부자 명 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end" for="schRtpyrNm--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-150" id="schRtpyrNm--${pageName}" name="schRtpyrNm" />
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-320" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
</div> <!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
@ -150,16 +155,14 @@
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색
</button>
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div>
@ -402,7 +405,7 @@
, data: params || {}
, success: resp => {
dialog.open({
id: $P.control.prefixed("Dialog")
id: $P.control.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
, size: $P.control.infoSize

@ -21,23 +21,23 @@
<!-- 총건수 -->
<div class="col-md-12">
<label for="tnocs--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">총 건수/금액</label>
<input type="text" class="form-control w-px-80 text-end" id="tnocs--${pageName}" name="tnocs" data-map="TNOCS" />
<input type="text" class="form-control w-px-60 text-end" id="tnocs--${pageName}" name="tnocs" data-map="TNOCS" />
<input type="text" class="form-control w-px-120 text-end" id="gramtFfnlgAmt--${pageName}" name="gramtFfnlgAmt" data-map="GRAMT_FFNLG_AMT" />
</div>
<!-- 감경 율 -->
<div class="col-md-12">
<label for="advntceRductRt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">감경율</label>
<input type="text" class="form-control w-px-80 text-end" id="advntceRductRt--${pageName}" name="advntceRductRt" data-map="ADVNTCE_RDUCT_RT" /> %
<input type="text" class="form-control w-px-40 fw-bold text-end" id="advntceRductRt--${pageName}" name="advntceRductRt" data-map="ADVNTCE_RDUCT_RT" /> %
</div>
<!-- 감경 부과 금액 -->
<div class="col-md-12">
<label for="advntceRductRt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">감경부과금액</label>
<input type="text" class="form-control w-px-120 text-end" id="gramtAdvntceAmt--${pageName}" name="gramtAdvntceAmt" data-map="GRAMT_ADVNTCE_AMT" />
<input type="text" class="form-control w-px-120 fw-bold text-red text-end" id="gramtAdvntceAmt--${pageName}" name="gramtAdvntceAmt" data-map="GRAMT_ADVNTCE_AMT" />
</div>
<!-- 회계연도 -->
<div class="col-md-12">
<label for="fyr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">회계연도</label>
<input type="text" class="form-control w-px-80" id="fyr--${pageName}" name="fyr" data-map="FYR" autocomplete="off" required />
<input type="text" class="form-control w-px-60" id="fyr--${pageName}" name="fyr" data-map="FYR" autocomplete="off" required />
</div>
<!-- 부과 일자 -->
<div class="col-md-12">
@ -116,7 +116,8 @@
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control,item);
$P.formFields.set($P.control, item);
// 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD);
}
@ -164,7 +165,7 @@
* 버튼 clickEvent
**************************************************************************/
// 저장 버튼 클릭 이벤트
$P.fnSave = (title) => {
$P.fnSave = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
@ -216,6 +217,8 @@
initDatepicker("frmEdit--${pageName}");
$("#levyYmd--${pageName}").datepicker("setDate", new Date());
$("#dudtYmd--${pageName}").datepicker("setDate", new Date());
// 화면 활성화 설정
$("#tnocs--${pageName}").prop("readonly", true); // 총건수
$("#gramtFfnlgAmt--${pageName}").prop("readonly", true); // 총금액
$("#advntceRductRt--${pageName}").prop("readonly", true); // 감경율

@ -1,14 +1,15 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">부과 관리</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">부과 관리</c:set>
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
@ -49,65 +50,42 @@
</div>
<!-- 회계연도 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end" for="schFyr--${pageName}">회계연도</label>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schFyr--${pageName}">회계연도</label>
<input type="text" class="form-control w-px-60" id="schFyr--${pageName}" name="schFyr" maxlength="4" autocomplete="off" />
</div>
<!-- 부과 번호 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title text-end">부과번호</span>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyNoFrom--${pageName}">부과번호</label>
<input type="text" class="form-control w-px-80" id="schLevyNoFrom--${pageName}" name="schLevyNoFrom" maxlength="6" autocomplete="off" />
~
<input type="text" class="form-control w-px-80" id="schLevyNoTo--${pageName}" name="schLevyNoTo" maxlength="6" autocomplete="off" />
</div>
<!-- 부과 일자 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title text-end">부과일자</span>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schLevyYmdFrom--${pageName}" name="schLevyYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schLevyYmdTo--${pageName}" name="schLevyYmdTo"
data-fmt-type="day" 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" for="schRductSeCd--${pageName}">감경구분</label>
<select class="form-select w-px-100" id="schRductSeCd--${pageName}" name="schRductSeCd">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRductSeCd--${pageName}">감경구분</label>
<select class="form-select w-px-120" id="schRductSeCd--${pageName}" name="schRductSeCd">
<option value="">전체</option>
<c:forEach items="${FIM046List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 납부자 번호 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end" for="schRtpyrNo--${pageName}">납부자번호</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" for="schRtpyrNm--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 단속 일자 -->
<!-- 부과 일자 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title text-end">단속일자</span>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyYmdFrom--${pageName}">부과일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
<input type="text" class="form-control form-date" id="schLevyYmdFrom--${pageName}" name="schLevyYmdFrom"
data-fmt-type="day" 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"
<input type="text" class="form-control form-date" id="schLevyYmdTo--${pageName}" name="schLevyYmdTo"
data-fmt-type="day" 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" for="schCrdnSttsCd--${pageName}">단속상태</label>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnSttsCd--${pageName}">단속상태</label>
<select class="form-select w-px-160" id="schCrdnSttsCd--${pageName}" name="schCrdnSttsCd">
<option value="">전체</option>
<c:forEach items="${FIM010List}" var="item">
@ -115,18 +93,13 @@
</c:forEach>
</select>
</div>
<!-- 차량번호 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-320" id="term--${pageName}" name="term" autocomplete="off" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -142,9 +115,37 @@
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</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-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
@ -159,16 +160,14 @@
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색
</button>
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div>
@ -216,7 +215,6 @@
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('INSPY_SN', this.innerText, 'match', 'part');">분납순번</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_SE_CD', this.innerText, 'codeValue', 'FIM040');">부과구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('UNTY_SE_CD', this.innerText, 'codeValue', 'FIM072');">통합구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RDUCT_SE_CD', this.innerText, 'codeValue', 'FIM046');">감경구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_YMD', this.innerText, 'ymd', '');">부과일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FRST_DUDT_YMD', this.innerText, 'ymd', '');">최초납기일자</th>
@ -237,8 +235,8 @@
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_RMV_YMD', this.innerText, 'match', 'part');">압류해제일자</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('EPAYNO', this.innerText, 'match', 'part');">전자납부번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('BANK_NM', this.innerText, 'match', 'part');">은행명</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('VR_ACTNO', this.innerText, 'match', 'part');">가상계좌번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('BANK_NM', this.innerText, 'match', 'part');">은행명1</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('VR_ACTNO', this.innerText, 'match', 'part');">가상계좌번호1</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('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
@ -270,7 +268,6 @@
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{UNTY_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RDUCT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FRST_DUDT_YMD}</td>
@ -282,7 +279,7 @@
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RDCAMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RDCAMT_ADAMT}</td>
<td class="cmn text-end text-red fw-bold" onclick="{onclick}" ondblclick="{ondblclick}">{SUM_AMT}</td>
<td class="cmn text-end fw-bold text-red" onclick="{onclick}" ondblclick="{ondblclick}">{SUM_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXTN_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{NPMNT_RSN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>
@ -315,19 +312,19 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="54" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="50" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="54" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="50" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="54" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="50" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="54" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="50" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="54" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="50" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -531,7 +528,7 @@
* 사용자 함수(function)
**************************************************************************/
// 검색 자료 재조회
$P.refreshList = () => {
$P.fnRefreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;

@ -23,7 +23,7 @@
<div class="container-search">
<div class="row g-1">
<div class="col-12">
<span class="form-label fw-bold form-search-title text-end">업무구분</span>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
@ -36,41 +36,35 @@
</div>
<!-- 감경 일자 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title">감경일자</span>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRductYmdFrom--${pageName}">감경일자</label>
<span class="form-search-linebox">
<input type="text" id="schRductYmdFrom--${pageName}" name="schRductYmdFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" id="schRductYmdTo--${pageName}" name="schRductYmdTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
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">
<span class="form-label fw-bold form-search-title">단속일자</span>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" 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" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRductRsnCd--${pageName}">감경사유</label>
<select class="form-select w-px-160" id="schRductRsnCd--${pageName}" name="schRductRsnCd">
<option value="">전체</option>
<c:forEach items="${FIM019List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 차량번호 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" />
</div>
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" id="byOutput--${pageName}" class="form-control" readonly value="동적 검색" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" id="term--${pageName}" name="term" class="form-control w-px-300" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -85,9 +79,37 @@
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</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-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
@ -102,16 +124,14 @@
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색
</button>
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- / 상세 조건 -->
@ -169,7 +189,7 @@
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'perfect');">단속원금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RDUCT_AMT', this.innerText, 'match', 'perfect');">감경금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'perfect');">과태료금액</th>
<th class="cmn text-orange" style="width: 120px;">미납금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SUM_AMT', this.innerText, 'match', 'part');">미납금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD' ,this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="pvs" style="width: 140px;" onclick="searchFromGridTitle('CRDN_SPAREA_CD', this.innerText, 'codeValue', 'FIM007');">단속특별구역</th>
<th class="eca" style="width: 140px;" onclick="searchFromGridTitle('USE_FUEL_CD', this.innerText, 'codeValue', 'LVS005');">사용연료</th>
@ -197,9 +217,9 @@
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="bpv text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RDUCT_AMT}</td>
<td class="cmn text-end fw-bold text-orange" onclick="{onclick}" ondblclick="{ondblclick}">{RDUCT_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{SUM_AMT}</td>
<td class="cmn text-end fw-bold text-red" onclick="{onclick}" ondblclick="{ondblclick}">{SUM_AMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="pvs text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_SPAREA_NM}</td>
<td class="eca text-center" onclick="{onclick}" ondblclick="{ondblclick}">{USE_FUEL_NM}</td>
@ -251,6 +271,7 @@
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
// FormFields
@ -273,6 +294,8 @@
, RDUCT_AMT: numberFormat
, FFNLG_AMT: numberFormat
, SUM_AMT: numberFormat
, REG_DT: datetimeFormat
, MDFCN_DT: datetimeFormat
}
});
// $P.control 설정
@ -282,7 +305,7 @@
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
/**************************************************************************
* DatasetControl.on
* DatasetControl 이벤트
**************************************************************************/
$P.control.onDatasetChange = (obj) => {
$P.renderList(obj.${infoPrefix}Total);
@ -344,7 +367,6 @@
, title: params.title
, content: resp
, size: $P.control.infoSize
, init: () => { }
, onClose: () => { $P.fnRefreshList(); } // 자료 재조회
});
}
@ -358,8 +380,8 @@
// 메시지 출력
dialog.alert({
content : showMessage
, onOK : () => { }
content: showMessage
, onOK: () => { }
});
if (resp.saved) { $P.fnRefreshList(); } // 자료 재조회
@ -447,8 +469,6 @@
, title: "개별총정보"
, content: resp
, size: "xxl"
, init: () => { }
, onClose: () => { }
});
}
});
@ -587,8 +607,8 @@
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : async() => {
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
// 삭제 사유 입력
let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
let template = await resp.text();
@ -608,7 +628,7 @@
}
/**************************************************************************
* 초기
* 초기 설정
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {

@ -135,9 +135,9 @@
// 메시지 출력
dialog.alert({
content : showMessage
content: showMessage
, init: () => { setDialogZindex(); }
, onOK : () => { }
, onOK: () => { }
});
if (resp.saved) {

Loading…
Cancel
Save