<?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.sndb.dao.SndngHstryMapper">

<!-- 발송 이력 정보 매퍼
 ========== 변경 이력 ==========
 2023-12-20	JoJH 최초 작성
 ============================ -->

<resultMap id="sndngHstryRow" type="cokr.xit.fims.sndb.SndngHstry"> <!-- 발송 이력 -->
    <result property="sndngHstryId"  column="SNDNG_HSTRY_ID" /> <!-- 발송 이력 ID -->
    <result property="sndngDtlId"    column="SNDNG_DTL_ID" />   <!-- 발송 상세 ID -->
    <result property="conKey"        column="CON_KEY" />        <!-- 외부연계식별키 -->
    <result property="rgNo"          column="RG_NO" />          <!-- 등기 번호 -->
    <result property="dlvrYmd"       column="DLVR_YMD" />       <!-- 배달 일자 -->
    <result property="dlvrTm"        column="DLVR_TM" />        <!-- 배달 시각 -->
    <result property="rcpnNm"        column="RCPN_NM" />        <!-- 수령인 명 -->
    <result property="rcpnRelCd"     column="RCPN_REL_CD" />    <!-- 수령인 관계 코드 -->
    <result property="rcpnRelNm"     column="RCPN_REL_NM" />    <!-- 수령인 관계 명 -->
    <result property="dlvrRsltCd"    column="DLVR_RSLT_CD" />   <!-- 배달 결과 코드 -->
    <result property="undlvrRsnCd"   column="UNDLVR_RSN_CD" />  <!-- 미배달 사유 코드 -->
    <result property="undlvrRsnNm"   column="UNDLVR_RSN_NM" />  <!-- 미배달 사유 명 -->
    <result property="createdAt"     column="REG_DT" />         <!-- 등록 일시 -->
    <result property="createdBy"     column="RGTR" />           <!-- 등록자 -->
</resultMap>

<sql id="select">SELECT SNDNG_HSTRY_ID <!-- 발송 이력 ID -->
     , SNDNG_DTL_ID   <!-- 발송 상세 ID -->
     , CON_KEY        <!-- 외부연계식별키 -->
     , RG_NO          <!-- 등기 번호 -->
     , DLVR_YMD       <!-- 배달 일자 -->
     , DLVR_TM        <!-- 배달 시각 -->
     , RCPN_NM        <!-- 수령인 명 -->
     , RCPN_REL_CD    <!-- 수령인 관계 코드 -->
     , RCPN_REL_NM    <!-- 수령인 관계 명 -->
     , DLVR_RSLT_CD   <!-- 배달 결과 코드 -->
     , UNDLVR_RSN_CD  <!-- 미배달 사유 코드 -->
     , UNDLVR_RSN_NM  <!-- 미배달 사유 명 -->
     , REG_DT         <!-- 등록 일시 -->
     , RGTR           <!-- 등록자 -->
  FROM TB_SNDNG_HSTRY</sql>

<select id="selectSndngHstryList" parameterType="map" resultType="dataobject">/* 발송 이력 목록 조회(sndngHstryMapper.selectSndngHstryList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></select>

<select id="selectSndngHstrys" parameterType="map" resultMap="sndngHstryRow">/* 발송 이력 객체 가져오기(sndngHstryMapper.selectSndngHstrys) */
<include refid="select" />
<where></where>
<include refid="utility.orderBy" /></select>

<insert id="insertSndngHstry" parameterType="map">/* 발송 이력 등록(sndngHstryMapper.insertSndngHstry) */
INSERT INTO TB_SNDNG_HSTRY (
       SNDNG_HSTRY_ID <!-- 발송 이력 ID -->
     , SNDNG_DTL_ID   <!-- 발송 상세 ID -->
     , CON_KEY        <!-- 외부연계식별키 -->
     , RG_NO          <!-- 등기 번호 -->
     , DLVR_YMD       <!-- 배달 일자 -->
     , DLVR_TM        <!-- 배달 시각 -->
     , RCPN_NM        <!-- 수령인 명 -->
     , RCPN_REL_CD    <!-- 수령인 관계 코드 -->
     , RCPN_REL_NM    <!-- 수령인 관계 명 -->
     , DLVR_RSLT_CD   <!-- 배달 결과 코드 -->
     , UNDLVR_RSN_CD  <!-- 미배달 사유 코드 -->
     , UNDLVR_RSN_NM  <!-- 미배달 사유 명 -->
     , REG_DT         <!-- 등록 일시 -->
     , RGTR           <!-- 등록자 -->
) VALUES (
       #{sndngHstry.sndngHstryId}      <!-- 발송 이력 ID -->
     , #{sndngHstry.sndngDtlId}        <!-- 발송 상세 ID -->
     , #{sndngHstry.conKey}            <!-- 외부연계식별키 -->
     , #{sndngHstry.rgNo}              <!-- 등기 번호 -->
     , #{sndngHstry.dlvrYmd}           <!-- 배달 일자 -->
     , #{sndngHstry.dlvrTm}            <!-- 배달 시각 -->
     , #{sndngHstry.rcpnNm}            <!-- 수령인 명 -->
     , #{sndngHstry.rcpnRelCd}         <!-- 수령인 관계 코드 -->
     , #{sndngHstry.rcpnRelNm}         <!-- 수령인 관계 명 -->
     , #{sndngHstry.dlvrRsltCd}        <!-- 배달 결과 코드 -->
     , #{sndngHstry.undlvrRsnCd}       <!-- 미배달 사유 코드 -->
     , #{sndngHstry.undlvrRsnNm}       <!-- 미배달 사유 명 -->
     , <include refid="utility.now" /> <!-- 등록 일시 -->
     , #{currentUser.id}               <!-- 등록자 -->
)</insert>

<update id="updateSndngHstry" parameterType="map">/* 발송 이력 수정(sndngHstryMapper.updateSndngHstry) */
UPDATE TB_SNDNG_HSTRY SET
       SNDNG_DTL_ID = #{sndngHstry.sndngDtlId}   <!-- 발송 상세 ID -->
     , CON_KEY = #{sndngHstry.conKey}            <!-- 외부연계식별키 -->
     , RG_NO = #{sndngHstry.rgNo}                <!-- 등기 번호 -->
     , DLVR_YMD = #{sndngHstry.dlvrYmd}          <!-- 배달 일자 -->
     , DLVR_TM = #{sndngHstry.dlvrTm}            <!-- 배달 시각 -->
     , RCPN_NM = #{sndngHstry.rcpnNm}            <!-- 수령인 명 -->
     , RCPN_REL_CD = #{sndngHstry.rcpnRelCd}     <!-- 수령인 관계 코드 -->
     , RCPN_REL_NM = #{sndngHstry.rcpnRelNm}     <!-- 수령인 관계 명 -->
     , DLVR_RSLT_CD = #{sndngHstry.dlvrRsltCd}   <!-- 배달 결과 코드 -->
     , UNDLVR_RSN_CD = #{sndngHstry.undlvrRsnCd} <!-- 미배달 사유 코드 -->
     , UNDLVR_RSN_NM = #{sndngHstry.undlvrRsnNm} <!-- 미배달 사유 명 -->
 WHERE SNDNG_HSTRY_ID = #{sndngHstry.sndngHstryId}</update>

<update id="deleteSndngHstry" parameterType="map">/* 발송 이력 삭제(sndngHstryMapper.deleteSndngHstry) */
UPDATE TB_SNDNG_HSTRY SET
       USE_YN = 'N'
     , MDFCN_DT =<include refid="utility.now" />
     , MDFR = #{currentUser.id}
 WHERE SNDNG_HSTRY_ID = #{sndngHstry.sndngHstryId}</update>

</mapper>
