<?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.crdn.dao.CrdnInfoMapper">

<resultMap id="crdnRow" type="cokr.xit.fims.crdn.Crdn">
    <result property="crdnId"              column="CRDN_ID" />                <!-- 단속 ID -->
    <result property="sggCd"               column="SGG_CD" />                 <!-- 시군구 코드 -->
    <result property="taskSeCd"            column="TASK_SE_CD" />             <!-- 업무 구분 코드 -->
    <result property="crdnRegSeCd"         column="CRDN_REG_SE_CD" />         <!-- 단속 등록 구분 코드 -->
    <result property="crdnInptSeCd"        column="CRDN_INPT_SE_CD" />        <!-- 단속 입력 구분 코드 -->
    <result property="cvlcptLinkYn"        column="CVLCPT_LINK_YN" />         <!-- 민원 연계 여부 -->
    <result property="cvlcptLinkTblNm"     column="CVLCPT_LINK_TBL_NM" />     <!-- 민원 연계 테이블 명 -->
    <result property="cvlcptLinkId"        column="CVLCPT_LINK_ID" />         <!-- 민원 연계 ID -->
    <result property="rtpyrId"             column="RTPYR_ID" />               <!-- 납부자 ID -->
    <result property="addrSn"              column="ADDR_SN" />                <!-- 주소 일련번호 -->
    <result property="crdnYmd"             column="CRDN_YMD" />               <!-- 단속 일자 -->
    <result property="crdnTm"              column="CRDN_TM" />                <!-- 단속 시각 -->
    <result property="vhrno"               column="VHRNO" />                  <!-- 차량번호 -->
    <result property="crdnStdgNm"          column="CRDN_STDG_NM" />           <!-- 단속 법정동 명 -->
    <result property="crdnRoadNm"          column="CRDN_ROAD_NM" />           <!-- 단속 도로 명 -->
    <result property="crdnPlc"             column="CRDN_PLC" />               <!-- 단속 장소 -->
    <result property="vltnId"              column="VLTN_ID" />                <!-- 위반 ID -->
    <result property="gpsX"                column="GPS_X" />                  <!-- GPS X -->
    <result property="gpsY"                column="GPS_Y" />                  <!-- GPS Y -->
    <result property="atchFileCnt"         column="ATCH_FILE_CNT" />          <!-- 첨부 파일 수 -->
    <result property="vin"                 column="VIN" />                    <!-- 차대번호 -->
    <result property="vhclNm"              column="VHCL_NM" />                <!-- 차량 명 -->
    <result property="vhclColr"            column="VHCL_COLR" />              
    <result property="vhclCpct"            column="VHCL_CPCT" />              <!-- 승차정원 -->
    <result property="ffnlgCrdnAmt"        column="FFNLG_CRDN_AMT" />         <!-- 과태료 단속 금액 -->
    <result property="ffnlgRdcrt"          column="FFNLG_RDCRT" />            
    <result property="ffnlgAmt"            column="FFNLG_AMT" />              <!-- 과태료 금액 -->
    <result property="advntceBgngYmd"      column="ADVNTCE_BGNG_YMD" />       <!-- 사전통지 시작 일자 -->
    <result property="advntceDudtYmd"      column="ADVNTCE_DUDT_YMD" />       <!-- 사전통지 납기 일자 -->
    <result property="advntceAmt"          column="ADVNTCE_AMT" />            <!-- 사전통지 금액 -->
    <result property="opnnSbmsnYn"         column="OPNN_SBMSN_YN" />          <!-- 의견 제출 여부 -->
    <result property="etcCn"               column="ETC_CN" />                 <!-- 기타 내용 -->
    <result property="crdnSttsCd"          column="CRDN_STTS_CD" />           <!-- 단속 상태 코드 -->
    <result property="crdnSttsChgDt"       column="CRDN_STTS_CHG_DT" />       <!-- 단속 상태 변경 일시 -->
    <result property="adtnAmt"             column="ADTN_AMT" />               <!-- 가산 금액 -->
    <result property="minusAmt"            column="MINUS_AMT" />              <!-- 감경 금액 -->
    <result property="rcvmtAmt"            column="RCVMT_AMT" />              <!-- 수납 금액 -->
    <result property="bfrCrdnId"           column="BFR_CRDN_ID" />            <!-- 이전 단속 ID -->
    <result property="nxrpCrdnLinkYn"      column="NXRP_CRDN_LINK_YN" />      <!-- 세외수입 단속 연계 여부 -->
    <result property="nxrpCrdnLinkUserId"  column="NXRP_CRDN_LINK_USER_ID" /> <!-- 세외수입 단속 연계 사용자 ID -->
    <result property="nxrpCrdnLinkDt"      column="NXRP_CRDN_LINK_DT" />      <!-- 세외수입 단속 연계 일시 -->
    <result property="nxrpAcbKey"          column="NXRP_ACB_KEY" />           
    <result property="mmCode"              column="MM_CODE" />                <!-- 메인 코드 -->
    <result property="delYn"               column="DEL_YN" />                 <!-- 삭제 여부 -->
    <result property="createdAt"           column="REG_DT" />                 <!-- 등록 일시 -->
    <result property="createdBy"           column="RGTR" />                   <!-- 등록자 -->
    <result property="lastModified"        column="MDFCN_DT" />               <!-- 수정 일시 -->
    <result property="modifiedBy"          column="MDFR" />                   <!-- 수정자 -->
    <result property="removedAt"           column="DEL_DT" />                 <!-- 삭제 일시 -->
    <result property="removedBy"           column="DLTR" />                   <!-- 삭제자 -->
    <result property="delRsn"              column="DEL_RSN" />                <!-- 삭제 사유 -->
</resultMap>

<sql id="select">
        SELECT C.CRDN_ID                <!-- 단속 ID -->
             , C.SGG_CD                 <!-- 시군구 코드 -->
             , C.TASK_SE_CD             <!-- 업무 구분 코드 -->
             , C.CRDN_REG_SE_CD         <!-- 단속 등록 구분 코드 -->
             , C.CVLCPT_LINK_TBL_NM     <!-- 민원 연계 테이블 명 -->
             , C.CRDN_YMD               <!-- 단속 일자 -->
             , C.CRDN_TM                <!-- 단속 시간 -->
             , C.VHRNO                  <!-- 차량번호 -->
             , C.CRDN_STDG_NM           <!-- 단속 법정동 명 -->
             , C.CRDN_ROAD_NM           <!-- 단속 도로 명 -->
             , C.CRDN_PLC               <!-- 단속 장소 -->
             , C.VLTN_ID                <!-- 위반 ID -->
             , C.VIN VIN                <!-- 차대번호 -->
             , C.VHCL_NM                <!-- 차량 명 -->
             , C.VHCL_COLR              <!-- 차량 색상 -->
             , C.VHCL_CPCT              <!-- 승차정원 -->
             , C.FFNLG_CRDN_AMT         <!-- 과태료 단속 금액 -->
             , C.ETC_CN                 <!-- 기타 내용 -->
             , C.ATCH_FILE_CNT          <!-- 첨부 파일 건수 -->
             , C.CRDN_STTS_CD           <!-- 단속 상태 코드 -->
             , C.CRDN_STTS_CHG_DT       <!-- 단속 상태 변경 일시 -->
             , C.NXRP_CRDN_LINK_YN      <!-- 세외수입 단속 연계 여부 -->
             , C.NXRP_CRDN_LINK_USER_ID <!-- 세외수입 단속 연계 사용자 ID -->
             , C.NXRP_CRDN_LINK_DT      <!-- 세외수입 단속 연계 일시 -->
             , C.GPS_X                  <!-- GPS X -->
             , C.GPS_Y                  <!-- GPS Y -->
             , V.VLTN_CD                <!-- 위반 코드 -->
             , V.VLTN_ARTCL             <!-- 위반 항목 -->
             , V.VLTN_LAW_NM            <!-- 위반 법 명 -->
             , V.VLTN_LAW1              <!-- 위반 법1 -->
             , V.VLTN_LAW2              <!-- 위반 법2 -->
             , CA.CRDN_SE_CD            <!-- 단속 구분 코드 -->
             , CA.TEAM_ID               <!-- 조 ID -->
             , CA.DTL_CRDN_PLC          <!-- 상세 단속 장소 -->
             , CA.CRDN_SPAREA_CD        <!-- 단속 특별구역 코드 -->
             , CA.CRDN_BGNG_TM          <!-- 단속 시작 시각 -->
             , CA.CRDN_END_TM           <!-- 단속 종료 시각 -->
             , CA.CRDN_SN               <!-- 단속 순번 -->
             , CA.MOSC_X                <!-- 모자이크 X -->
             , CA.MOSC_Y                <!-- 모자이크 Y -->
             , CA.TOWNG_YN              <!-- 견인 여부 -->
             , CA.USE_FUEL_CD           <!-- 사용 연료 코드 -->
             , CA.FFNLG_CARMDL_CD       <!-- 과태료 차종 코드 -->
             , CA.PRK_PSBLTY_RSLT_CD    <!-- 주차 가능 결과 코드 -->
             , CA.VLTN_NMTM             <!-- 위반 횟수 -->
             , CA.OVTM_YN               <!-- 시간외 여부 -->
             , CA.OVTM_PRTTN_YN         <!-- 시간외 분할 여부 -->
             , P.RTPYR_ID               <!-- 납부자 ID -->
             , PA.ADDR_SN               <!-- 주소 일련번호 -->
             , CC.CVLCPT_LINK_ID        <!-- 민원 연계 ID -->
             , CC.CVLCPT_TRSM_CD        <!-- 민원 전송 코드 -->
             , CC.CVLCPT_PRCS_CD        <!-- 민원 처리 코드 -->
             , CC.DSTRBNC_YN            <!-- 방해 여부 -->
             , LE.LEVY_EXCL_SE_CD       <!-- 부과 제외 구분 코드 -->
             , LE.LEVY_EXCL_RSN_CD      <!-- 부과 제외 사유 코드 -->
          FROM TB_CRDN C
         INNER JOIN TB_CRDN_ADI    CA ON (C.CRDN_ID  = CA.CRDN_ID)
         INNER JOIN TB_VLTN        V  ON (C.VLTN_ID  = V.VLTN_ID)
    LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.CVLCPT_LINK_ID = CC.CVLCPT_LINK_ID)
    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_EXCL   LE ON (C.CRDN_ID  = LE.CRDN_ID AND LE.DEL_YN = 'N')
         WHERE C.DEL_YN  = 'N'
           AND C.CRDN_ID IN (<foreach collection="crdnIds" item="crdnId" separator=",">#{crdnId}</foreach>) 
</sql>

<select id="selectCrdnList" parameterType="list" resultType="dataobject">/* 단속정보 조회(crdnInfoMapper.selectCrdnList) */
<include refid="select" />
</select>

<select id="selectCrdns" parameterType="list" resultMap="crdnRow">/* 단속정보 조회(crdnInfoMapper.selectCrdnList) */
<include refid="select" />
</select>

</mapper>