<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.excl.dao.LevyExclMapper">

<!-- 부과제외 대장 정보 매퍼
 ========== 변경 이력 ==========
 2023-06-23	JoJH 최초 작성
 ============================ -->

	<resultMap id="levyExclRow" type="cokr.xit.fims.excl.LevyExcl">
		<!-- TB_LEVY_EXCL 부과제외 대장 -->
		<result property="levyExclId"			column="LEVY_EXCL_ID" />				<!-- 부과 제외 ID -->
		<result property="sggCd"				column="SGG_CD" />						<!-- 시군구 코드 -->
		<result property="taskSeCd"				column="TASK_SE_CD" />					<!-- 업무 구분 코드 -->
		<result property="crdnId"				column="CRDN_ID" />						<!-- 단속 ID -->
		<result property="levyExclYmd"			column="LEVY_EXCL_YMD" />				<!-- 부과제외 일자 -->
		<result property="levyExclSeCd"			column="LEVY_EXCL_SE_CD" />				<!-- 부과제외 구분 코드 -->
		<result property="levyExclSeNm"			column="LEVY_EXCL_SE_NM" />				<!-- 부과제외 구분 명 -->
		<result property="levyExclRsnCd"		column="LEVY_EXCL_RSN_CD" />			<!-- 부과제외 사유 코드 -->
		<result property="levyExclRsnNm"		column="LEVY_EXCL_RSN_NM" />			<!-- 부과제외 사유 명 -->
		<result property="etcCn"				column="ETC_CN" />						<!-- 기타 내용 -->
		<result property="delYn"				column="DEL_YN" />						<!-- 삭제 여부 -->
		<result property="regDt"				column="REG_DT" />						<!-- 등록 일시 -->
		<result property="rgtr"					column="RGTR" />						<!-- 등록자 -->
		<result property="mdfcnDt"				column="MDFCN_DT" />					<!-- 수정 일시 -->
		<result property="mdfr"					column="MDFR" />						<!-- 수정자 -->
		<result property="delDt"				column="DEL_DT" />						<!-- 삭제 일시 -->
		<result property="dltr"					column="DLTR" />						<!-- 삭제자 -->
		<result property="delRsn"				column="DEL_RSN" />						<!-- 삭제 사유 -->
	</resultMap>

	<sql id="select">
        SELECT LE.LEVY_EXCL_ID                                                                                  /* 부과제외 ID */
             , LE.SGG_CD                                                                                        /* 시군구 코드 */
             , LE.TASK_SE_CD                                                                                    /* 업무 구분 코드 */
             , 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      /* 부과 제외 구분 명 */
             , LE.LEVY_EXCL_RSN_CD                                                                              /* 부과제외 사유 코드 */
             , (SELECT FN_GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL)         AS LEVY_EXCL_RSN_NM     /* 부과 제외 사유 명 */
             , LE.ETC_CN                                                                                        /* 기타 내용 */
             , LE.DEL_YN                                                                                        /* 삭제 여부 */
             , 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              /* 수정자 명 */
             , LE.DEL_DT                                                                                        /* 삭제 일시 */
             , 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                                                                                /* 단속 입력 구분 코드 */
             , (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL)           AS CRDN_INPT_SE_NM      /* 단속 입력 구분 명 */
             , 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.FFNLG_CRDN_AMT                                                                                 /* 과태료 단속 금액 */
             , C.FFNLG_AMT                                                                                      /* 과태료 금액 */
             , C.CRDN_STTS_CD                                                                                   /* 단속 상태 코드 */
             , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL)              AS CRDN_STTS_NM         /* 단속 상태 명 */
             , CA.CRDN_SE_CD                                                                                    /* 단속 구분 코드 */
             , (SELECT FN_GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL)               AS CRDN_SE_NM           /* 단속 구분 명 */
             , CA.CRDN_SPAREA_CD                                                                                /* 단속 특별구역 코드 */
             , (SELECT FN_GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL)           AS CRDN_SPAREA_NM       /* 단속 특별구역 명 */
             , CA.PARKNG_PSBLTY_RSLT_CD                                                                         /* 주차 가능 결과 코드 */
             , (SELECT FN_GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL)    AS PARKNG_PSBLTY_RSLT_NM/* 주차 가능 결과 명 */
             , P.RTPYR_ID                                                                                       /* 납부자 ID */
             , 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_BRDT                                                                                     /* 납부자 생년월일 */
             , (SELECT FN_GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL)                 AS RTPYR_BRDT_FORMAT    /* 납부자 생년월일 */
             , P.ZIP                                                                                            /* 우편번호 */
             , P.ADDR                                                                                           /* 주소 */
             , P.DTL_ADDR                                                                                       /* 상세 주소 */
             , CC.CVLCPT_LINK_ID                                                                                /* 민원 연계 ID */
             , CC.CVLCPT_RCPT_YMD                                                                               /* 민원 접수 일자 */
             , CC.CVLCPT_APLY_NO                                                                                /* 민원 신청 번호 */
             , CC.CVLCPT_RCPT_NO                                                                                /* 민원 접수 번호 */
             , CC.CVLCPT_PRCS_CD                                                                                /* 민원 처리 코드 */
             , CC.CVLCPT_PRCS_CMPTN_DT                                                                          /* 민원 처리 완료 일시 */
             , CC.CVLCPT_TRSM_CD                                                                                /* 민원 전송 코드 */
             , CC.CVLCPT_TRSM_DT                                                                                /* 민원 전송 일시 */
          FROM TB_LEVY_EXCL         LE
         INNER JOIN TB_CRDN         C   ON (LE.CRDN_ID = C.CRDN_ID)
         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')
	</sql>

	<select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(levyExclMapper.selectLevyExclList) */
        <include refid="utility.paging-prefix" />
        <include refid="select" />
        <where>
            <if test="schLevyExclYmdFrom != null">
           AND LE.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schLevyExclYmdFrom}                                          /* 부과제외 일자 시작 */
            </if>
            <if test="schLevyExclYmdTo != null">
           AND LE.LEVY_EXCL_YMD <![CDATA[ <= ]]> #{schLevyExclYmdTo}                                            /* 부과제외 일자 종료 */
            </if>
            <if test="schLevyExclSeCd != null">
           AND LE.LEVY_EXCL_SE_CD       =  #{schLevyExclSeCd}                                                   /* 부과 제외 구분 코드 */
            </if>
            <if test="schCrdnYmdFrom != null">
           AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom}                                                    /* 단속 일자 시작 */
            </if>
            <if test="schCrdnYmdTo != null">
           AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo}                                                      /* 단속 일자 종료 */
            </if>
            <if test="schVhrno != null">
           AND C.VHRNO                  =  #{schVhrno}                                                          /* 차량번호 */
            </if>
            <if test="schRtpyrNm != null">
           AND P.RTPYR_NM               =  #{schRtpyrNm}                                                        /* 납부자 명 */
            </if>
            <choose>
                <when test="schRegDateOpt == 'regDt'">
                    <if test="schRegDateFrom != null">
           AND SUBSTR(LE.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom}                                         /* 등록 일자 시작 */
                    </if>
                    <if test="schRegDateTo != null">
           AND SUBSTR(LE.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo}                                           /* 등록 일자 종료 */
                    </if>
                </when>
                <when test="schRegDateOpt == 'mdfcnDt'">
                    <if test="schRegDateFrom != null">
           AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom}                                       /* 수정 일자 시작 */
                    </if>
                    <if test="schRegDateTo != null">
           AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo}                                         /* 수정 일자 종료 */
                    </if>
                </when>
                <otherwise>
                </otherwise>
            </choose>
            <choose>
                <when test="schDetailUserOpt == 'rgtr'">
                    <if test="schDetailUserCd != null">
           AND LE.RGTR                  =  #{schDetailUserCd}                                                   /* 등록자 코드 */
                    </if>
                </when>
                <when test="schDetailUserOpt == 'mdfr'">
                    <if test="schDetailUserCd != null">
           AND LE.MDFR                  =  #{schDetailUserCd}                                                   /* 수정자 코드 */
                    </if>
                </when>
                <otherwise>
                </otherwise>
            </choose>
            <choose>
                <when test="delYn != null">
           AND LE.DEL_YN                =  #{delYn}                                                             /* 삭제 여부 */
                </when>
                <otherwise>
           AND LE.DEL_YN                =  'N'                                                                  /* 삭제 여부 */
                </otherwise>
            </choose>
        </where>
           AND C.SGG_CD                 =  #{sggCd}                                                             /* 시군구 코드 */
        <if test="taskSeCd != null">
           AND C.TASK_SE_CD             =  #{taskSeCd}                                                          /* 업무 구분 코드 */
        </if>
        <if test="crdnDelYn != null">
           AND C.DEL_YN                 =  #{crdnDelYn}                                                         /* 삭제 여부 */
        </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 == 'levyExclYmd'"> LE.LEVY_EXCL_YMD </when>
                        <when test="by == 'levyExclSeNm'"> LE.LEVY_EXCL_SE_CD </when>
                        <when test="by == 'levyExclRsnNm'"> LE.LEVY_EXCL_RSN_CD </when>
                        <when test="by == 'etcCn'"> LE.ETC_CN </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 == 'crdnSttsNm'"> 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 == 'cvlcptRcptNo'"> CC.CVLCPT_RCPT_NO </when>
                        <when test="by == 'cvlcptRcptYmd'"> CC.CVLCPT_RCPT_YMD </when>
                    </choose>
                    <include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
                </when>
                <otherwise>
                </otherwise>
            </choose>
        </if>
        <include refid="utility.orderBy" />
        <include refid="utility.paging-suffix" />
	</select>

	<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>
            <choose>
                <when test="delYn != null">
           AND LE.DEL_YN                =  #{delYn}                                                             /* 삭제 여부 */
                </when>
                <otherwise>
           AND LE.DEL_YN                =  'N'                                                                  /* 삭제 여부 */
                </otherwise>
            </choose>
            <if test="crdnId != null">
           AND C.CRDN_ID                =  #{crdnId}                                                            /* 단속 ID */
            </if>
        </where>
        <include refid="utility.orderBy" />
	</select>

	<insert id="insertLevyExcl" parameterType="map">/* 부과제외 대장 등록(levyExclMapper.insertLevyExcl) */
        <selectKey resultType="string" keyProperty="levyExcl.levyExclId" keyColumn="NEW_ID" order="BEFORE">
            SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(LEVY_EXCL_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
              FROM TB_LEVY_EXCL
             WHERE LEVY_EXCL_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
        </selectKey>
        INSERT
          INTO TB_LEVY_EXCL (
               LEVY_EXCL_ID                                                                                     /* 부과 제외 ID */
             , SGG_CD                                                                                           /* 시군구 코드 */
             , TASK_SE_CD                                                                                       /* 업무 구분 코드 */
             , CRDN_ID                                                                                          /* 단속 ID */
             , LEVY_EXCL_YMD                                                                                    /* 부과 제외 일자 */
             , LEVY_EXCL_SE_CD                                                                                  /* 부과 제외 구분 코드 */
             , LEVY_EXCL_RSN_CD                                                                                 /* 부과 제외 사유 코드 */
             , ETC_CN                                                                                           /* 기타 내용 */
             , DEL_YN                                                                                           /* 삭제 여부 */
             , REG_DT                                                                                           /* 등록 일시*/
             , RGTR                                                                                             /* 등록자 */
             , MDFCN_DT                                                                                         /* 수정 일시 */
             , MDFR                                                                                             /* 수정자 */
        )
        VALUES (
               #{levyExcl.levyExclId}                                                                           /* 부과 제외 ID */
             , #{levyExcl.sggCd}                                                                                /* 시군구 코드 */
             , #{levyExcl.taskSeCd}                                                                             /* 업무 구분 코드 */
             , #{levyExcl.crdnId}                                                                               /* 단속 ID */
             , #{levyExcl.levyExclYmd}                                                                          /* 부과 제외 일자 */
             , #{levyExcl.levyExclSeCd}                                                                         /* 부과 제외 구분 코드 */
             , #{levyExcl.levyExclRsnCd}                                                                        /* 부과 제외 사유 코드 */
             , #{levyExcl.etcCn}                                                                                /* 기타 내용 */
             , 'N'                                                                                              /* 삭제 여부 */
             , <include refid="utility.now" />                                                                  /* 등록 일시 */
             , #{levyExcl.createdBy}                                                                            /* 등록자 */
             , <include refid="utility.now" />                                                                  /* 수정 일시 */
             , #{levyExcl.modifiedBy}                                                                           /* 수정자 */
        )
	</insert>

	<update id="updateLevyExcl" parameterType="map">/* 부과제외 대장 수정(levyExclMapper.updateLevyExcl) */
        UPDATE TB_LEVY_EXCL
           SET LEVY_EXCL_YMD            = #{levyExcl.levyExclYmd}                                               /* 부과 제외 일자 */
             , LEVY_EXCL_RSN_CD         = #{levyExcl.levyExclRsnCd}                                             /* 부과 제외 사유 코드 */
             , ETC_CN                   = #{levyExcl.etcCn}                                                     /* 기타 내용 */
             , MDFCN_DT                 = <include refid="utility.now" />                                       /* 수정 일시 */
             , MDFR                     = #{levyExcl.modifiedBy}                                                /* 수정자 */
         WHERE LEVY_EXCL_ID             = #{levyExcl.levyExclId}                                                /* 부과 제외 ID */
           AND LEVY_EXCL_SE_CD          = #{levyExcl.levyExclSeCd}                                              /* 부과 제외 구분 코드 */
           AND DEL_YN                   = 'N'                                                                   /* 삭제 여부 */
	</update>

	<update id="deleteLevyExcl" parameterType="map">/* 부과제외 대장 삭제(levyExclMapper.deleteLevyExcl) */
        UPDATE TB_LEVY_EXCL
           SET DEL_YN                   = 'Y'                                                                   /* 삭제 여부 */
             , DEL_DT                   = <include refid="utility.now" />                                       /* 삭제 일시 */
             , DLTR                     = #{levyExcl.modifiedBy}                                                /* 삭제자 */
             , DEL_RSN                  = #{levyExcl.delRsn}                                                    /* 삭제 사유 */
         WHERE LEVY_EXCL_ID             = #{levyExcl.levyExclId}                                                /* 부과 제외 ID */
           AND DEL_YN                   = 'N'                                                                   /* 삭제 여부 */
	</update>

	<select id="selectCrdn" parameterType="map" resultType="dataobject">/* 단속 대장 객체 가져오기(levyExclMapper.selectCrdn) */
        SELECT C.CRDN_ID                                                                                        /* 단속 ID */
             , C.SGG_CD                                                                                         /* 시군구 코드 */
             , C.TASK_SE_CD                                                                                     /* 업무 구분 코드 */
             , C.CRDN_REG_SE_CD                                                                                 /* 단속 등록 구분 코드 */
             , C.CRDN_YMD                                                                                       /* 단속 일자 */
             , C.CRDN_TM                                                                                        /* 단속 시각 */
             , C.VHRNO                                                                                          /* 차량번호 */
             , 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                                                                               /* 단속 상태 변경 일시 */
             , CA.CRDN_SE_CD                                                                                    /* 단속 구분 코드 */
             , CA.CRDN_SPAREA_CD                                                                                /* 단속 특별구역 코드 */
             , CA.PARKNG_PSBLTY_RSLT_CD                                                                         /* 주차 가능 결과 코드 */
             , CC.CVLCPT_LINK_ID                                                                                /* 민원 연계 ID */
             , CC.CVLCPT_PRCS_RSLT_CN                                                                           /* 민원 처리 결과 내용 */
             , CC.CVLCPT_TRSM_CD                                                                                /* 민원 전송 코드 */
             , P.RTPYR_ID                                                                                       /* 납부자 ID */
             , P.RTPYR_NM                                                                                       /* 납부자 명 */
             , LE.LEVY_EXCL_ID                                                                                  /* 부과 제외 ID */
             , <include refid="utility.today" />                                        AS TODAY                /* 오늘 일자 */
          FROM TB_CRDN              C
         INNER JOIN TB_CRDN_ADI     CA  ON (C.CRDN_ID  = CA.CRDN_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_LEVY_EXCL    LE  ON (C.CRDN_ID  = LE.CRDN_ID AND LE.DEL_YN = 'N')
        <where>
            <if test="levyExclId != null">
           AND LE.LEVY_EXCL_ID          =  #{levyExclId}                                                        /* 부과 제외 ID */
                <if test="delYn != null">
           AND LE.DEL_YN                =  #{delYn}                                                             /* 삭제 여부 */
                </if>
            </if>
            <if test="crdnId != null">
           AND C.CRDN_ID                =  #{crdnId}                                                            /* 단속 ID */
                <if test="delYn != null">
           AND C.DEL_YN                 =  #{delYn}                                                             /* 삭제 여부 */
                </if>
            </if>
        </where>
	</select>

	<select id="selectCvlcptAnsWords" parameterType="map" resultType="dataobject">/* 민원답변문구 대장 객체 가져오기(levyExclMapper.selectCvlcptAnsWords) */
        SELECT CAW.ANS_WORDS_ID                                                                                 /* 답변 문구 ID */
             , CAW.ANS_SE_CD                                                                                    /* 답변 구분 코드 */
             , (SELECT FN_GET_CODE_NM('FIM060', CAW.ANS_SE_CD) FROM DUAL)               AS ANS_SE_NM            /* 답변 구분 명 */
             , CAW.ANS_RSN_CD                                                                                   /* 답변 사유 코드 */
             , CAW.ANS_RSN_NM                                                                                   /* 답변 사유 명 */
             , CAW.PRCS_SUMRY                                                                                   /* 처리 요약 */
             , CAW.PRCS_RSLT_CN                                                                                 /* 처리 결과 내용 */
          FROM TB_CVLCPT_ANS_WORDS CAW
         WHERE CAW.SGG_CD               = #{sggCd}                                                              /* 시군구 코드 */
           AND CAW.TASK_SE_CD           = #{taskSeCd}                                                           /* 업무 구분 코드 */
           AND CAW.ANS_RSN_CD           = #{ansRsnCd}                                                           /* 답변 사유 코드 */
           AND CAW.USE_YN               = 'Y'                                                                   /* 사용 여부 */
	</select>

	<update id="updateCvlcptPrcsRsltCn" parameterType="map">/* 단속민원 대장 민원처리결과내용 초기화(levyExclMapper.updateCvlcptPrcsRsltCn) */
        UPDATE TB_CRDN_CVLCPT
           SET CVLCPT_PRCS_SUMRY        = NULL                                                                  /* 민원 처리 요약 */
             , CVLCPT_PRCS_RSLT_CN      = NULL                                                                  /* 민원 처리 결과 내용 */
             , MDFCN_DT                 = <include refid="utility.now" />                                       /* 수정 일시 */
             , MDFR                     = #{crdnCvlcpt.modifiedBy}                                              /* 수정자 */
         WHERE CVLCPT_LINK_ID           = #{crdnCvlcpt.cvlcptLinkId}                                            /* 민원 연계 ID */
           AND DEL_YN                   = 'N'                                                                   /* 삭제 여부 */
	</update>

	<update id="updateCrdnCvlcpt" parameterType="map">/* 단속민원 대장 민원답변 수정(levyExclMapper.updateCrdnCvlcpt) */
        UPDATE TB_CRDN_CVLCPT
           SET CVLCPT_PRCS_CD           = #{crdnCvlcpt.cvlcptPrcsCd}                                            /* 민원 처리 코드 */
             , CVLCPT_PRCS_SUMRY        = #{crdnCvlcpt.cvlcptPrcsSumry}                                         /* 민원 처리 요약 */
             , CVLCPT_PRCS_RSLT_CN      = #{crdnCvlcpt.cvlcptPrcsRsltCn}                                        /* 민원 처리 결과 내용 */
             , CVLCPT_PRCS_CMPTN_DT     = #{crdnCvlcpt.cvlcptPrcsCmptnDt}                                       /* 민원 처리 완료 일시 */
             , CVLCPT_PRCS_PIC          = #{crdnCvlcpt.cvlcptPrcsPic}                                           /* 민원 처리 담당자 */
             , CVLCPT_TRSM_CD           = #{crdnCvlcpt.cvlcptTrsmCd}                                            /* 민원 전송 코드 */
             , MDFCN_DT                 = <include refid="utility.now" />                                       /* 수정 일시 */
             , MDFR                     = #{crdnCvlcpt.modifiedBy}                                              /* 수정자 */
         WHERE CVLCPT_LINK_ID           = #{crdnCvlcpt.cvlcptLinkId}                                            /* 민원 연계 ID */
           AND DEL_YN                   = 'N'                                                                   /* 삭제 여부 */
	</update>

	<update id="updateParkngPsbltyRsltCd" parameterType="map">/* 단속 대장 주차가능결과코드를 수정(levyExclMapper.updateParkngPsbltyRsltCd) */
        UPDATE TB_CRDN_ADI
           SET PARKNG_PSBLTY_RSLT_CD    = #{crdn.parkngPsbltyRsltCd}                                            /* 주차 가능 결과 코드 */
             , MDFCN_DT                 = <include refid="utility.now" />                                       /* 수정 일시 */
             , MDFR                     = #{crdn.modifiedBy}                                                    /* 수정자 */
         WHERE CRDN_ID                  = #{crdn.crdnId}                                                        /* 단속 ID */
           AND DEL_YN                   = 'N'                                                                   /* 삭제 여부 */
	</update>

	<select id="selectSndngDtl" parameterType="map" resultType="dataobject">/* 발송상세 대장 객체 가져오기(levyExclMapper.selectSndngDtl) */
        SELECT SD.SNDNG_ID                                                                                      /* 발송 ID */
             , SD.CRDN_ID                                                                                       /* 단속 ID */
             , SD.SNDNG_RCVMT_CD                                                                                /* 발송 수납 코드 */
          FROM TB_SNDNG_DTL         SD
         WHERE SD.CRDN_ID               = #{crdnId}                                                             /* 단속 ID */
           AND SD.SNDNG_RCVMT_CD        = #{sndngRcvmtCd}
	</select>

	<update id="updateRcvmtCd" parameterType="map">/* 발송상세 대장 수납코드를 수정(levyExclMapper.updateRcvmtCd) */
        UPDATE TB_SNDNG_DTL
           SET SNDNG_RCVMT_CD           = NULL                                                                  /* 발송 수납 코드 */
             , MDFCN_DT                 = <include refid="utility.now" />                                       /* 수정 일시 */
             , MDFR                     = #{sndngDtl.modifiedBy}                                                /* 수정자 */
         WHERE CRDN_ID                  = #{sndngDtl.crdnId}                                                    /* 단속 ID */
	</update>

</mapper>
