<?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.CrdnUpdtMapper">

<update id="updateCrdnStatus" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 상태 수정(crdnUpdtMapper.updateCrdnStatus) */
    UPDATE TB_CRDN
       SET CRDN_STTS_CD             =  #{crdnSttsCd}                        /* 단속 상태 */
         , CRDN_STTS_CHG_DT         =<include refid="utility.now" />        /* 단속 상태 변경 일시 */
         , MDFCN_DT                 =<include refid="utility.now" />        /* 수정일시 */
         , MDFR                     =  #{modifiedBy}                        /* 수정자 */
     WHERE CRDN_ID                  =  #{crdnId}                            /* 단속 ID */
       AND DEL_YN                   =  'N'                                  /* 삭제 여부 */
</update>

<update id="updateCrdnAddition" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 부가정보 수정(crdnUpdtMapper.updateCrdnAddition) */
    UPDATE TB_CRDN_ADI
       SET MDFCN_DT              =<include refid="utility.now" /> /* 수정일시 */
         , MDFR                  = #{modifiedBy}       /* 수정자 */
         <if test="taskSeCd == 'PVS'">
         , OVTM_YN               = #{ovtmYn}            <!-- 시간외 여부 -->
         , CRDN_SPAREA_CD        = #{crdnSpareaCd}      <!-- 단속 특별구역 코드 -->
         </if>
         <if test="taskSeCd == 'BPV'">
         , DTL_CRDN_PLC          = #{dtlCrdnPlc}        <!-- 상세 단속 장소 -->
         , MOSC_X                = #{moscX}             <!-- 모자이크 X -->
         , MOSC_Y                = #{moscY}             <!-- 모자이크 Y -->
         </if>
         <if test="taskSeCd == 'ECA'">
         , USE_FUEL_CD           = #{useFuelCd}         <!-- 사용 연료 코드 -->
         </if>
         <if test="taskSeCd == 'DPV'">
         , PRK_PSBLTY_RSLT_CD    = #{prkPsbltyRsltCd}   <!-- 주차 가능 결과 코드 -->
         </if>
         <if test="taskSeCd == 'PES'">
         , VLTN_NMTM             = #{vltnNmtm}          <!-- 위반 횟수 -->
         </if>
         <if test="taskSeCd == 'PVS' or taskSeCd == 'BPV'">
         , CRDN_SE_CD            = #{crdnSeCd}          <!-- 단속 구분 코드 -->
         , CRDN_BGNG_TM          = #{crdnBgngTm}        <!-- 단속 시작 시각 -->
         , CRDN_END_TM           = #{crdnEndTm}         <!-- 단속 종료 시간 -->
         , FFNLG_CARMDL_CD       = #{ffnlgCarmdlCd}     <!-- 과태료 차종 코드 -->
         </if>
         <if test="taskSeCd == 'DPV' or taskSeCd == 'ECA' or taskSeCd == 'PVS'">
         , CRDN_SN               = #{crdnSn}            <!-- 단속 일련번호 -->
         , TOWNG_YN              = #{towngYn}           <!-- 견인 여부 -->
         </if>
     WHERE CRDN_ID               = #{crdnId}            <!-- 단속 ID -->
</update>

<update id="updateTagInfo" parameterType="cokr.xit.fims.crdn.Crdn">/* 표지정보확인 수정(crdnUpdtMapper.updateTagInfo) */
    UPDATE TB_CRDN_ADI
       SET PRK_PSBLTY_RSLT_CD = '1'
         , MDFCN_DT =<include refid="utility.now" /> /* 수정일시 */
         , MDFR = #{modifiedBy}                   /* 수정자 */
     WHERE CRDN_ID = #{crdnId}                   /* 단속 ID */
</update>

<update id="updateOverTimeInfo" parameterType="cokr.xit.fims.crdn.Crdn">/* 시간초과 여부 수정(crdnUpdtMapper.overTimeInfo) */
    UPDATE TB_CRDN_ADI
       SET OVTM_YN = #{ovtmYn}
         , MDFCN_DT =<include refid="utility.now" /> /* 수정일시 */
         , MDFR = #{modifiedBy}                   /* 수정자 */
     WHERE CRDN_ID = #{crdnId}                   /* 단속 ID */
</update>

<update id="updateCrdnAmt" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 금액 수정(crdnUpdtMapper.updateCrdnAmt) */
    UPDATE TB_CRDN
       SET MDFCN_DT       =<include refid="utility.now" /> /* 수정일시 */
         , MDFR           = #{modifiedBy}                   /* 수정자 */
         , FFNLG_CRDN_AMT = #{ffnlgCrdnAmt}
         , FFNLG_AMT      = #{ffnlgAmt}
         , ADVNTCE_AMT    = #{advntceAmt}
     WHERE CRDN_ID = #{crdnId}                   /* 단속 ID */
</update>

<update id="updateEtcCn" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 기타사항 수정(crdnUpdtMapper.updateEtcCn) */
    UPDATE TB_CRDN
       SET MDFCN_DT       =<include refid="utility.now" /> /* 수정일시 */
         , MDFR           = #{modifiedBy}                   /* 수정자 */
         , ETC_CN         = #{etcCn}
     WHERE CRDN_ID = #{crdnId}                   /* 단속 ID */
</update>

<update id="updateEditCrdn" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 정보 수정(crdnUpdtMapper.updateEditCrdn) */
    UPDATE TB_CRDN
       SET CRDN_YMD         = #{crdnYmd}                        <!-- 단속 일자 -->
         , CRDN_TM          = #{crdnTm}                         <!-- 단속 시각 -->
         , VHRNO            = #{vhrno}                          <!-- 차량번호 -->
         , CRDN_STDG_NM     = #{crdnStdgNm}                     <!-- 단속 법정동 명 -->
         , CRDN_ROAD_NM     = #{crdnRoadNm}                     <!-- 단속 도로 명 -->
         , CRDN_PLC         = #{crdnPlc}                        <!-- 단속 장소 -->
<if test='vltnId != null'>        , VLTN_ID          = #{vltnId}</if>
<if test='vltnId == null'>        , VLTN_ID          = (SELECT X.VLTN_ID
                                 FROM TB_VLTN X
                                WHERE X.SGG_CD  = #{sggCd} AND X.TASK_SE_CD = #{taskSeCd}
                                  AND X.VLTN_CD = #{vltnCd})
</if>    <!-- 위반 ID -->
         , GPS_X            = #{gpsX}                           <!-- GPS X -->
         , GPS_Y            = #{gpsY}                           <!-- GPS Y -->
         , VIN              = #{vin}                            <!-- 차대번호 -->
         , VHCL_NM          = #{vhclNm}                         <!-- 차량 명 -->
         , VHCL_COLR        = #{vhclColr}                       <!-- 차량 색상 -->
         , VHCL_CPCT        = #{vhclCpct}                       <!-- 차량 승차정원 -->
         , FFNLG_CRDN_AMT   = #{ffnlgCrdnAmt}                   <!-- 과태료 단속 금액 -->
         , FFNLG_AMT        = #{ffnlgAmt}                       <!-- 과태료 금액 -->
         , ADVNTCE_AMT      = #{advntceAmt}                     <!-- 사전통지 금액 -->
         , RCVMT_AMT        = #{rcvmtAmt}                       <!-- 수납 금액 -->
         , ETC_CN           = #{etcCn}                          <!-- 기타 내용 -->
         , MDFCN_DT         =<include refid="utility.now" />    <!-- 수정일시 -->
         , MDFR             = #{modifiedBy}                     <!-- 수정자 -->
     WHERE CRDN_ID          = #{crdnId}                         <!-- 단속 ID -->
       AND DEL_YN           = 'N'                               <!-- 삭제 여부 -->
</update>

<update id="deleteCrdn" parameterType="map">/* 단속 정보 삭제(crdnUpdtMapper.deleteCrdn) */
    UPDATE TB_CRDN
       SET DEL_YN           = 'Y'
         , DEL_DT           =<include refid="utility.now" />    <!-- 삭제일시 -->
         , DLTR             = #{removedBy}                      <!-- 삭제자 -->
         , DEL_RSN          = #{delRsn}                         <!-- 삭제 사유 -->
     WHERE CRDN_ID IN (
     <foreach collection="crdnIds" item="crdnId" separator=",">#{crdnId}</foreach>
     )
       AND DEL_YN           = 'N'                               <!-- 삭제 여부 -->
</update>

<update id="deleteCrdnAdi" parameterType="map">/* 단속 부가 정보 삭제(crdnUpdtMapper.deleteCrdnAdi) */
    UPDATE TB_CRDN_ADI
       SET DEL_YN           = 'Y'
         , DEL_DT           =<include refid="utility.now" />    <!-- 삭제일시 -->
         , DLTR             = #{removedBy}                      <!-- 삭제자 -->
         , DEL_RSN          = #{delRsn}                         <!-- 삭제 사유 -->
     WHERE CRDN_ID IN (
     <foreach collection="crdnIds" item="crdnId" separator=",">#{crdnId}</foreach>
     )
       AND DEL_YN           = 'N'                               <!-- 삭제 여부 -->
</update>

<update id="deleteCrdnPayer" parameterType="map">/* 단속 납부자 ID 삭제(crdnUpdtMapper.deleteCrdnPayer) */
    UPDATE TB_CRDN
       SET RTPYR_ID         = NULL                              <!-- 납부자 ID -->
         , ADDR_SN          = NULL                              <!-- 주소 일련번호 -->
         , MDFCN_DT         =<include refid="utility.now" />    <!-- 수정일시 -->
         , MDFR             = #{modifiedBy}                     <!-- 수정자 -->
     WHERE CRDN_ID          = #{crdnId}                         <!-- 단속 ID -->
       AND RTPYR_ID         = #{rtpyrId}                        <!-- 납부자 ID -->
       AND DEL_YN           = 'N'                               <!-- 삭제 여부 -->
</update>

<update id="updateNxrpCrdnLinkYn" parameterType="cokr.xit.fims.crdn.Crdn">/* 세외수입 단속 연계 여부 변경(crdnUpdtMapper.updateNxrpCrdnLinkYn) */
    UPDATE TB_CRDN
       SET NXRP_CRDN_LINK_YN      = 'Y'                               <!-- 세외수입 단속 연계 여부 -->
         , NXRP_CRDN_LINK_DT      =<include refid="utility.now" />    <!-- 세외수입 단속 연계 일시 -->
         , NXRP_CRDN_LINK_USER_ID = #{modifiedBy}                     <!-- 세외수입 단속 연계 사용자 ID -->
         , MDFCN_DT               =<include refid="utility.now" />    <!-- 수정일시 -->
         , MDFR                   = #{modifiedBy}                     <!-- 수정자 -->
     WHERE CRDN_ID          = #{crdnId}                         <!-- 단속 ID -->
       AND DEL_YN           = 'N'                               <!-- 삭제 여부 -->
</update>

<update id="updateAdvntceYmd" parameterType="map">/* 사전통지 일자 수정(crdnUpdtMapper.updateAdvntceYmd) */
    UPDATE TB_CRDN
       SET ADVNTCE_BGNG_YMD = #{advntceBgngYmd} <!-- 사전통지 시작 일자 -->
         , ADVNTCE_DUDT_YMD = #{advntceDudtYmd} <!-- 사전통지 납기 일자 -->
         , MDFCN_DT         =<include refid="utility.now" />   <!-- 수정일시 -->
         , MDFR             = #{modifiedBy}     <!-- 수정자 -->
     WHERE CRDN_ID          = #{crdnId}         <!-- 단속 ID -->
       AND DEL_YN           = 'N'               <!-- 삭제 여부 -->
</update>

</mapper>