|
|
|
@ -107,183 +107,194 @@
|
|
|
|
|
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
|
|
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
|
|
<select id="selectRductLevyTrgtList" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtList) */
|
|
|
|
|
<include refid="utility.paging-prefix" />
|
|
|
|
|
SELECT COUNT(*) OVER() AS TNOCS
|
|
|
|
|
, SUM(C.FFNLG_AMT) OVER() AS GRAMT_FFNLG_AMT
|
|
|
|
|
<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
|
|
|
|
|
, C.CRDN_ID <!-- 단속 ID -->
|
|
|
|
|
, C.SGG_CD <!-- 시군구 코드 -->
|
|
|
|
|
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
|
|
|
|
|
, C.CRDN_ID <!-- 단속 ID -->
|
|
|
|
|
, C.SGG_CD <!-- 시군구 코드 -->
|
|
|
|
|
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
|
|
|
|
|
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
|
|
|
|
|
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
|
|
|
|
|
, 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 <!-- 단속 법정동 명 -->
|
|
|
|
|
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
|
|
|
|
|
, C.CRDN_PLC <!-- 단속 장소 -->
|
|
|
|
|
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
|
|
|
|
|
, C.FFNLG_AMT <!-- 과태료 금액 -->
|
|
|
|
|
, C.ADVNTCE_AMT <!-- 사전통지 금액 -->
|
|
|
|
|
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
|
|
|
|
|
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
|
|
|
|
|
, C.VHRNO <!-- 차량번호 -->
|
|
|
|
|
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
|
|
|
|
|
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
|
|
|
|
|
, C.CRDN_PLC <!-- 단속 장소 -->
|
|
|
|
|
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
|
|
|
|
|
, C.FFNLG_AMT <!-- 과태료 금액 -->
|
|
|
|
|
, C.ADVNTCE_AMT <!-- 사전통지 금액 -->
|
|
|
|
|
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
|
|
|
|
|
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
|
|
|
|
|
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
|
|
|
|
|
, C.REG_DT <!-- 등록 일시 -->
|
|
|
|
|
, C.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.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 <!-- 위반 항목 -->
|
|
|
|
|
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->
|
|
|
|
|
, CC.CVLCPT_RCPT_YMD <!-- 민원 접수 일자 -->
|
|
|
|
|
, CC.CVLCPT_APLY_NO <!-- 민원 신청 번호 -->
|
|
|
|
|
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
|
|
|
|
|
, CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 -->
|
|
|
|
|
, CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 -->
|
|
|
|
|
, V.VLTN_ID <!-- 위반 ID -->
|
|
|
|
|
, V.VLTN_CD <!-- 위반 코드 -->
|
|
|
|
|
, V.VLTN_ARTCL <!-- 위반 항목 -->
|
|
|
|
|
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->
|
|
|
|
|
, CC.CVLCPT_RCPT_YMD <!-- 민원 접수 일자 -->
|
|
|
|
|
, CC.CVLCPT_APLY_NO <!-- 민원 신청 번호 -->
|
|
|
|
|
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
|
|
|
|
|
, CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 -->
|
|
|
|
|
, CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 -->
|
|
|
|
|
, (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL) AS CVLCPT_PRCS_NM <!-- 민원 처리 명 -->
|
|
|
|
|
, CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 -->
|
|
|
|
|
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
|
|
|
|
|
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
|
|
|
|
|
, (SELECT GET_CODE_NM('FIM018', CC.CVLCPT_TRSM_CD) FROM DUAL) AS CVLCPT_TRSM_NM <!-- 민원 전송 명 -->
|
|
|
|
|
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
|
|
|
|
|
, P.RTPYR_ID <!-- 납부자 ID -->
|
|
|
|
|
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
|
|
|
|
|
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
|
|
|
|
|
, P.RTPYR_ID <!-- 납부자 ID -->
|
|
|
|
|
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
|
|
|
|
|
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
|
|
|
|
|
, P.RTPYR_NO <!-- 납부자 번호 -->
|
|
|
|
|
, P.RTPYR_NM <!-- 납부자 명 -->
|
|
|
|
|
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
|
|
|
|
|
, PA.ZIP <!-- 우편번호 -->
|
|
|
|
|
, PA.ADDR <!-- 주소 -->
|
|
|
|
|
, PA.DTL_ADDR <!-- 상세 주소 -->
|
|
|
|
|
, L.LEVY_ID <!-- 부과 ID -->
|
|
|
|
|
<include refid="fromRductLevyTrgt" />
|
|
|
|
|
<include refid="utility.orderBy" />
|
|
|
|
|
<include refid="utility.paging-suffix" />
|
|
|
|
|
</select>
|
|
|
|
|
, P.RTPYR_NO <!-- 납부자 번호 -->
|
|
|
|
|
, P.RTPYR_NM <!-- 납부자 명 -->
|
|
|
|
|
, PA.ZIP <!-- 우편번호 -->
|
|
|
|
|
, PA.ADDR <!-- 주소 -->
|
|
|
|
|
, PA.DTL_ADDR <!-- 상세 주소 -->
|
|
|
|
|
, L.LEVY_ID <!-- 부과 ID -->
|
|
|
|
|
</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 -->
|
|
|
|
|
<if test="crdnIds != null">
|
|
|
|
|
<where>
|
|
|
|
|
<if test="crdnIds != null">
|
|
|
|
|
AND C.CRDN_ID IN ( <!-- 단속 Ids -->
|
|
|
|
|
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdFrom != null">
|
|
|
|
|
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdFrom != null">
|
|
|
|
|
AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdTo != null">
|
|
|
|
|
AND C.CRDN_YMD <![CDATA[<=]]> #{schCrdnYmdTo} <!-- 단속 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schVhrno != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schVhrno != null">
|
|
|
|
|
AND C.VHRNO = #{schVhrno} <!-- 차량번호 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schVltnCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schVltnCd != null">
|
|
|
|
|
AND V.VLTN_CD = #{schVltnCd} <!-- 위반 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptRcptYmdFrom != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptRcptYmdFrom != null">
|
|
|
|
|
AND CC.CVLCPT_RCPT_YMD <![CDATA[>=]]> #{schCvlcptRcptYmdFrom} <!-- 민원 접수 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptRcptYmdTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptRcptYmdTo != null">
|
|
|
|
|
AND CC.CVLCPT_RCPT_YMD <![CDATA[<=]]> #{schCvlcptRcptYmdTo} <!-- 민원 접수 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptPrcsCmptnDtFrom != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptPrcsCmptnDtFrom != null">
|
|
|
|
|
AND CC.CVLCPT_PRCS_CMPTN_DT <![CDATA[>=]]> CONCAT(#{schCvlcptPrcsCmptnDtFrom},'000000') <!-- 민원 처리 완료 일시 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptPrcsCmptnDtTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptPrcsCmptnDtTo != null">
|
|
|
|
|
AND CC.CVLCPT_PRCS_CMPTN_DT <![CDATA[<=]]> CONCAT(#{schCvlcptPrcsCmptnDtTo},'235959') <!-- 민원 처리 완료 일시 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptPrcsPic != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCvlcptPrcsPic != null">
|
|
|
|
|
AND CC.CVLCPT_PRCS_PIC = #{schCvlcptPrcsPic} <!-- 민원 처리 담당자 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRtpyrNm != null">
|
|
|
|
|
</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">
|
|
|
|
|
</if>
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="schRegDateOpt == 'regDt'">
|
|
|
|
|
<if test="schRegDateFrom != null">
|
|
|
|
|
AND C.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 등록 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
AND C.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 등록 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRegDateOpt == 'mdfcnDt'">
|
|
|
|
|
<if test="schRegDateFrom != null">
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRegDateOpt == 'mdfcnDt'">
|
|
|
|
|
<if test="schRegDateFrom != null">
|
|
|
|
|
AND C.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 수정 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
AND C.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 수정 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="schRgtrOpt == 'rgtr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="schRgtrOpt == 'rgtr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
AND C.RGTR = #{schRgtrCd} <!-- 등록자 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRgtrOpt == 'mdfr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRgtrOpt == 'mdfr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
AND C.MDFR = #{schRgtrCd} <!-- 수정자 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<if test="by != null and by != '' and term != null">
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
|
|
|
|
|
<include refid="dynamicSearch.start" />
|
|
|
|
|
<choose>
|
|
|
|
|
<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 == '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 == '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" />
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="by != null and by != '' and term != null">
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
|
|
|
|
|
<include refid="dynamicSearch.start" />
|
|
|
|
|
<choose>
|
|
|
|
|
<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 == '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>
|
|
|
|
|
</choose>
|
|
|
|
|
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</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,108 +438,136 @@
|
|
|
|
|
<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>
|
|
|
|
|
<if test="schFyr != null">
|
|
|
|
|
AND L.FYR = #{schFyr} <!-- 회계연도 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyNoFrom != null">
|
|
|
|
|
<where>
|
|
|
|
|
<if test="schFyr != null">
|
|
|
|
|
AND L.FYR = #{schFyr} <!-- 회계연도 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyNoFrom != null">
|
|
|
|
|
AND L.LEVY_NO <![CDATA[>=]]> #{schLevyNoFrom} <!-- 부과 번호 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyNoTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyNoTo != null">
|
|
|
|
|
AND L.LEVY_NO <![CDATA[<=]]> #{schLevyNoTo} <!-- 부과 번호 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRductSeCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRductSeCd != null">
|
|
|
|
|
AND L.RDUCT_SE_CD = #{schRductSeCd} <!-- 감경 구분 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyYmdFrom != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyYmdFrom != null">
|
|
|
|
|
AND L.LEVY_YMD <![CDATA[>=]]> #{schLevyYmdFrom} <!-- 부과 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyYmdTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schLevyYmdTo != null">
|
|
|
|
|
AND L.LEVY_YMD <![CDATA[<=]]> #{schLevyYmdTo} <!-- 부과 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdFrom != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="delYn != null">
|
|
|
|
|
AND L.DEL_YN = #{delYn} <!-- 삭제 여부 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdFrom != null">
|
|
|
|
|
AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnYmdTo != null">
|
|
|
|
|
AND C.CRDN_YMD <![CDATA[<=]]> #{schCrdnYmdTo} <!-- 단속 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schVhrno != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schVhrno != null">
|
|
|
|
|
AND C.VHRNO = #{schVhrno} <!-- 차량번호 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnSttsCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schCrdnSttsCd != null">
|
|
|
|
|
AND C.CRDN_STTS_CD = #{schCrdnSttsCd} <!-- 단속 상태 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRtpyrNo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRtpyrNo != null">
|
|
|
|
|
AND P.RTPYR_NO = #{schRtpyrNo} <!-- 납부자 번호 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRtpyrNm != null">
|
|
|
|
|
</if>
|
|
|
|
|
<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">
|
|
|
|
|
</if>
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="schRegDateOpt == 'regDt'">
|
|
|
|
|
<if test="schRegDateFrom != null">
|
|
|
|
|
AND L.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 등록 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
AND L.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 등록 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRegDateOpt == 'mdfcnDt'">
|
|
|
|
|
<if test="schRegDateFrom != null">
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRegDateOpt == 'mdfcnDt'">
|
|
|
|
|
<if test="schRegDateFrom != null">
|
|
|
|
|
AND L.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 수정 일자 시작 -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
</if>
|
|
|
|
|
<if test="schRegDateTo != null">
|
|
|
|
|
AND L.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 수정 일자 종료 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="schRgtrOpt == 'rgtr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="schRgtrOpt == 'rgtr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
AND L.RGTR = #{schRgtrCd} <!-- 등록자 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRgtrOpt == 'mdfr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<when test="schRgtrOpt == 'mdfr'">
|
|
|
|
|
<if test="schRgtrCd != null">
|
|
|
|
|
AND L.MDFR = #{schRgtrCd} <!-- 수정자 코드 -->
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<if test="by != null and by != '' and term != null">
|
|
|
|
|
<choose>
|
|
|
|
|
<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 == '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 == 'crdnSttsCd'"> C.CRDN_STTS_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 == 'addr'"> PA.ADDR </when>
|
|
|
|
|
<when test="by == 'dtlAddr'"> PA.DTL_ADDR </when>
|
|
|
|
|
</choose>
|
|
|
|
|
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
|
|
|
|
|
</if>
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="by != null and by != '' and term != null">
|
|
|
|
|
<choose>
|
|
|
|
|
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
|
|
|
|
|
<include refid="dynamicSearch.start" />
|
|
|
|
|
<choose>
|
|
|
|
|
<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 == '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>
|
|
|
|
|
<otherwise>
|
|
|
|
|
</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,20 +575,20 @@
|
|
|
|
|
<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 -->
|
|
|
|
|
AND L.LEVY_ID IN ( <!-- 부과 Ids -->
|
|
|
|
|
<foreach collection="levyIds" item="levyId" separator=","> #{levyId} </foreach>
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="levyId != null">
|
|
|
|
|
AND L.LEVY_ID = #{levyId} <!-- 부과 ID -->
|
|
|
|
|
AND L.LEVY_ID = #{levyId} <!-- 부과 ID -->
|
|
|
|
|
</if>
|
|
|
|
|
<if test="delYn != null">
|
|
|
|
|
AND L.DEL_YN = #{delYn} <!-- 삭제 여부 -->
|
|
|
|
|
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" />
|
|
|
|
|