<?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.epst.dao.EpostDlvrRsltMapper">

<!-- 전자우편 배달 결과 정보 매퍼
 ========== 변경 이력 ==========
 2024-01-05	JoJH 최초 작성
 ============================ -->

	<resultMap id="epostDlvrRsltRow" type="cokr.xit.fims.epst.EpostDlvrRslt"> <!-- 전자우편 배달 결과 -->
		<result property="dlvrRsltId"         column="DLVR_RSLT_ID" />      <!-- 배달 결과 ID -->
		<result property="conKey"             column="CON_KEY" />           <!-- 외부연계식별키 -->
		<result property="outsiduserid"       column="OUTSIDUSERID" />      <!-- 외부기관구분코드 -->
		<result property="reletcdata"         column="RELETCDATA" />        <!-- 발송인별추가데이터 -->
		<result property="regino"             column="REGINO" />            <!-- 등기번호 -->
		<result property="delivymd"           column="DELIVYMD" />          <!-- 배달일자 -->
		<result property="delivhhmi"          column="DELIVHHMI" />         <!-- 배달시분 -->
		<result property="delivrsltcd"        column="DELIVRSLTCD" />       <!-- 배달결과코드 -->
		<result property="nondelivreasncd"    column="NONDELIVREASNCD" />   <!-- 미배달사유코드 -->
		<result property="nondelivreasncdnm"  column="NONDELIVREASNCDNM" /> <!-- 미배달사유명 -->
		<result property="subrecprsnnm"       column="SUBRECPRSNNM" />      <!-- 수령인명 -->
		<result property="relrecprsncd"       column="RELRECPRSNCD" />      <!-- 수령인관계코드 -->
		<result property="relrecprsncdnm"     column="RELRECPRSNCDNM" />    <!-- 수령인관계명 -->
		<result property="createdAt"          column="REG_DT" />            <!-- 등록 일시 -->
		<result property="createdBy"          column="RGTR" />              <!-- 등록자 -->
		<result property="lastModified"       column="MDFCN_DT" />          <!-- 수정 일시 -->
		<result property="modifiedBy"         column="MDFR" />              <!-- 수정자 -->
	</resultMap>

    <sql id="select">
        SELECT DLVR_RSLT_ID      <!-- 배달 결과 ID -->
             , CON_KEY           <!-- 외부연계식별키 -->
             , OUTSIDUSERID      <!-- 외부기관구분코드 -->
             , RELETCDATA        <!-- 발송인별추가데이터 -->
             , REGINO            <!-- 등기번호 -->
             , DELIVYMD          <!-- 배달일자 -->
             , DELIVHHMI         <!-- 배달시분 -->
             , DELIVRSLTCD       <!-- 배달결과코드 -->
             , NONDELIVREASNCD   <!-- 미배달사유코드 -->
             , NONDELIVREASNCDNM <!-- 미배달사유명 -->
             , SUBRECPRSNNM      <!-- 수령인명 -->
             , RELRECPRSNCD      <!-- 수령인관계코드 -->
             , RELRECPRSNCDNM    <!-- 수령인관계명 -->
             , REG_DT            <!-- 등록 일시 -->
             , RGTR              <!-- 등록자 -->
             , MDFCN_DT          <!-- 수정 일시 -->
             , MDFR              <!-- 수정자 -->
          FROM TB_EPOST_DLVR_RSLT
    </sql>

    <select id="selectEpostDlvrRsltList" parameterType="map" resultType="dataobject">/* 전자우편 배달 결과 목록 조회(epostDlvrRsltMapper.selectEpostDlvrRsltList) */
        <include refid="utility.paging-prefix" />
        <include refid="select" />
        <where>
            <if test="conKey != null">
           AND CON_KEY  =  #{conKey}       /* 외부연계식별키 */
            </if>
            <if test="regino != null">
           AND REGINO   =  #{regino}       /* 등기번호 */
            </if>
        </where>
        <include refid="utility.orderBy" />
        <include refid="utility.paging-suffix" />
    </select>

    <select id="selectEpostDlvrRslts" parameterType="map" resultType="dataobject">/* 전자우편 배달 결과 객체 가져오기(epostDlvrRsltMapper.selectEpostDlvrRslts) */
        <include refid="select" />
        <where>
            <if test="conKey != null">
           AND CON_KEY  =  #{conKey}       /* 외부연계식별키 */
            </if>
            <if test="regino != null">
           AND REGINO   =  #{regino}       /* 등기번호 */
            </if>
        </where>
        <include refid="utility.orderBy" />
    </select>

<insert id="insertEpostDlvrRslt" parameterType="map">/* 전자우편 배달 결과 등록(epostDlvrRsltMapper.insertEpostDlvrRslt) */
INSERT INTO TB_EPOST_DLVR_RSLT (
       DLVR_RSLT_ID      <!-- 배달 결과 ID -->
     , CON_KEY           <!-- 외부연계식별키 -->
     , OUTSIDUSERID      <!-- 외부기관구분코드 -->
     , RELETCDATA        <!-- 발송인별추가데이터 -->
     , REGINO            <!-- 등기번호 -->
     , DELIVYMD          <!-- 배달일자 -->
     , DELIVHHMI         <!-- 배달시분 -->
     , DELIVRSLTCD       <!-- 배달결과코드 -->
     , NONDELIVREASNCD   <!-- 미배달사유코드 -->
     , NONDELIVREASNCDNM <!-- 미배달사유명 -->
     , SUBRECPRSNNM      <!-- 수령인명 -->
     , RELRECPRSNCD      <!-- 수령인관계코드 -->
     , RELRECPRSNCDNM    <!-- 수령인관계명 -->
     , REG_DT            <!-- 등록 일시 -->
     , RGTR              <!-- 등록자 -->
     , MDFCN_DT          <!-- 수정 일시 -->
     , MDFR              <!-- 수정자 -->
) VALUES (
       #{epostDlvrRslt.dlvrRsltId}        <!-- 배달 결과 ID -->
     , #{epostDlvrRslt.conKey}            <!-- 외부연계식별키 -->
     , #{epostDlvrRslt.outsiduserid}      <!-- 외부기관구분코드 -->
     , #{epostDlvrRslt.reletcdata}        <!-- 발송인별추가데이터 -->
     , #{epostDlvrRslt.regino}            <!-- 등기번호 -->
     , #{epostDlvrRslt.delivymd}          <!-- 배달일자 -->
     , #{epostDlvrRslt.delivhhmi}         <!-- 배달시분 -->
     , #{epostDlvrRslt.delivrsltcd}       <!-- 배달결과코드 -->
     , #{epostDlvrRslt.nondelivreasncd}   <!-- 미배달사유코드 -->
     , #{epostDlvrRslt.nondelivreasncdnm} <!-- 미배달사유명 -->
     , #{epostDlvrRslt.subrecprsnnm}      <!-- 수령인명 -->
     , #{epostDlvrRslt.relrecprsncd}      <!-- 수령인관계코드 -->
     , #{epostDlvrRslt.relrecprsncdnm}    <!-- 수령인관계명 -->
     , <include refid="utility.now" />    <!-- 등록 일시 -->
     , #{currentUser.id}                  <!-- 등록자 -->
     , <include refid="utility.now" />    <!-- 수정 일시 -->
     , #{currentUser.id}                  <!-- 수정자 -->
)
</insert>

<update id="updateEpostDlvrRslt" parameterType="map">/* 전자우편 배달 결과 수정(epostDlvrRsltMapper.updateEpostDlvrRslt) */
UPDATE TB_EPOST_DLVR_RSLT SET
       CON_KEY = #{epostDlvrRslt.conKey}                      <!-- 외부연계식별키 -->
     , OUTSIDUSERID = #{epostDlvrRslt.outsiduserid}           <!-- 외부기관구분코드 -->
     , RELETCDATA = #{epostDlvrRslt.reletcdata}               <!-- 발송인별추가데이터 -->
     , REGINO = #{epostDlvrRslt.regino}                       <!-- 등기번호 -->
     , DELIVYMD = #{epostDlvrRslt.delivymd}                   <!-- 배달일자 -->
     , DELIVHHMI = #{epostDlvrRslt.delivhhmi}                 <!-- 배달시분 -->
     , DELIVRSLTCD = #{epostDlvrRslt.delivrsltcd}             <!-- 배달결과코드 -->
     , NONDELIVREASNCD = #{epostDlvrRslt.nondelivreasncd}     <!-- 미배달사유코드 -->
     , NONDELIVREASNCDNM = #{epostDlvrRslt.nondelivreasncdnm} <!-- 미배달사유명 -->
     , SUBRECPRSNNM = #{epostDlvrRslt.subrecprsnnm}           <!-- 수령인명 -->
     , RELRECPRSNCD = #{epostDlvrRslt.relrecprsncd}           <!-- 수령인관계코드 -->
     , RELRECPRSNCDNM = #{epostDlvrRslt.relrecprsncdnm}       <!-- 수령인관계명 -->
     , MDFCN_DT = <include refid="utility.now" />             <!-- 수정 일시 -->
     , MDFR = #{currentUser.id}                               <!-- 수정자 -->
 WHERE DLVR_RSLT_ID = #{epostDlvrRslt.dlvrRsltId}
</update>

<update id="deleteEpostDlvrRslt" parameterType="map">/* 전자우편 배달 결과 삭제(epostDlvrRsltMapper.deleteEpostDlvrRslt) */
UPDATE TB_EPOST_DLVR_RSLT SET
       USE_YN = 'N'
     , MDFCN_DT =<include refid="utility.now" />
     , MDFR = #{currentUser.id}
 WHERE DLVR_RSLT_ID = #{epostDlvrRslt.dlvrRsltId}
</update>

</mapper>
