<?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.interfaces.epost.dao.EmailRequestMapper">

<!-- 전자우편 신청 정보 매퍼
 ========== 변경 이력 ==========
 2023-07-03	mjkhan 최초 작성
 ============================ -->

<select id="selectSendingRequestList" parameterType="map" resultType="dataobject">/* 전자우편 접수 전송 대상 조회(emailRequestMapper.selectSendingRequestList) */
SELECT CON_ORG                                     <!-- 외부기관구분코드 -->
     , RCEPT_ID                                    <!-- 접수우체국국기호 -->
     , DATA_CD                                     <!-- 접수코드 -->
     , DIV_KB                                      <!-- 취급구분 -->
     , DFPAYYN                                     <!-- 결재방법 -->
     , RCPT_KB                                     <!-- 내용문 유형 -->
     , SEAL_CD                                     <!-- 내용문 상세 종류 -->
     , WORD_KB                                     <!-- 내용문 종류 -->
     , MAIL_CNT                                    <!-- 내용문 매수 -->
     , RECEV_CNT                                   <!-- 수취인 수 -->
     , ENV_CD                                      <!-- 봉투 종류 -->
     , COLOR_YN                                    <!-- 칼라우편물/흑백우편물  -->
     , MM_YN                                       <!-- 메일머지 플래그 -->
     , FLEX_CD                                     <!-- 이면구분 -->
     , DM_CNT                                      <!-- 동봉물 개수, 없다면 '0' -->
     , SB_FG                                       <!-- 반송불필요여부 -->
     , APVL_NB                                     <!-- 승인번호 -->
     , SEND_DATE                                   <!-- 신청일자 -->
     , SEND_TIME                                   <!-- 전송시간 -->
     , A.CON_KEY                                   <!-- 외부 연계 식별키 -->
     , RELORSECT_CD                                <!-- 연계기관결제부서코드 -->
     , RGST_NMBR CON_DATA                          <!-- 외부 연계 추가 데이터 -->
     , RECEV_SENDER_NM SENDER_NM                   <!-- 발송인명 -->
     , RECEV_SENDER_ZIPCODE SENDER_ZIPCODE         <!-- 우편번호 -->
     , RECEV_SENDER_ADDR SENDER_ADDR               <!-- 주소(시, 구) -->
     , RECEV_SENDER_DETAILADDR SENDER_DTAILADDR    <!-- 상세주소 -->
     , A.CON_KEY SENDER_DATA                       <!-- 발송인별 추가 데이터 -->
     , @row_no := CASE WHEN @con_key = A.CON_KEY THEN @row_no + 1
                       ELSE 1
	              END SQL_CNT                      <!-- 수취인순번 -->
     , @con_key := A.CON_KEY _PREV_CON
     , RECEV_CAR_OWNER_NM RECEV_NM                 <!-- 수취인명 -->
     , RECEV_CAR_OWNER_ZIPCODE RECEV_ZIPCODE       <!-- 우편번호 -->
     , RECEV_CAR_OWNER_ADDR RECEV_ADDR             <!-- 주소(시, 구) -->
     , RECEV_CAR_OWNER_DETAILADDR RECEV_DTAILADDR  <!-- 상세주소 -->
     , RGST_NMBR                                   <!-- 등기번호 -->
     , 'NULL' RECEV_DATA                           <!-- 수취인별 추가 데이터 -->
     , 'NULL' TEL_NUMBER1                          <!-- 수취인별 전화번호(앞) -->
     , 'NULL' TEL_NUMBER2                          <!-- 수취인별 전화번호(중간) -->
     , 'NULL' TEL_NUMBER3                          <!-- 수취인별 전화번호(끝) -->
     , 'NULL' PHONE_NUMBER1                        <!-- 수취인별핸드폰번호(앞) -->
     , 'NULL' PHONE_NUMBER2                        <!-- 수취인별핸드폰번호(중간) -->
     , 'NULL' PHONE_NUMBER3                        <!-- 수취인별핸드폰번호(끝) -->
     , 'NULL' RETURN_NM                            <!-- 회송처 -->
     , 'NULL' RETURN_ZIPCODE                       <!-- 회송처 우편번호 -->
     , 'NULL' RETURN_ADDR                          <!-- 회송처 주소 -->
     , 'NULL' RETURN_DTAILADDR                     <!-- 회송처 상세주소 -->
     , NULL ATTACH_NM	                           <!-- 첨부파일 -->
     , RECEV_SENDER_ORG_CODE                       <!-- 발송기관코드 -->
     , RECEV_SENDER_NM                             <!-- 발송인명 -->
     , RECEV_SENDER_ZIPCODE                        <!-- 발송인 우편번호 -->
     , RECEV_SENDER_ADDR                           <!-- 주소(시, 구) -->
     , RECEV_SENDER_DETAILADDR                     <!-- 상세주소 -->
     , RECEV_SENDER_DEPART_TEL                     <!-- 부과부서 전화번호 -->
     , RECEV_SENDER_DEPART_NM                      <!-- 부과부서 -->
     , RECEV_DIV_CD                                <!-- 등기구분 -->
     , RECEV_SEQ                                   <!-- 일련번호 -->
     , RECEV_CODE                                  <!-- 발송코드 -->
     , RECEV_BAR1D                                 <!-- 바코드 -->
     , RECEV_BAR2D                                 <!-- 이차원바코드 -->
     , RECEV_BILL_NUNBER                           <!-- 고지번호 -->
     , RECEV_DOC_CD1                               <!-- 문서종류1 -->
     , RECEV_DOC_CD2                               <!-- 문서종류2 -->
     , RECEV_DOC_CD3                               <!-- 문서종류3 -->
     , RECEV_DOC_CD4                               <!-- 문서종류4 -->
     , RECEV_DOC_CD5                               <!-- 문서종류5 -->
     , RECEV_SUBJ1                                 <!-- 과목명1 -->
     , RECEV_SUBJ2                                 <!-- 과목명2 -->
     , RECEV_SUBJ3                                 <!-- 과목명3 -->
     , RECEV_VIOLATE_DT                            <!-- 위반일시 -->
     , RECEV_VIOLATE_DONG                          <!-- 위반동 -->
     , RECEV_VIOLATE_PLACE                         <!-- 위반장소 -->
     , RECEV_LAWS                                  <!-- 법조항 -->
     , RECEV_PAY_NUMBER1                           <!-- 납부번호1 -->
     , RECEV_PAY_NUMBER2                           <!-- 납부번호2 -->
     , RECEV_OCR0                                  <!-- OCR0 -->
     , RECEV_OCR1                                  <!-- OCR1 -->
     , RECEV_OCR2                                  <!-- OCR2 -->
     , RECEV_ONLINE_PAY_NUMBER                     <!-- 전자납부번호 -->
     , VRACTNO RECEV_VACCOUNT_NUMBER               <!-- 가상계좌번호 -->
     , RECEV_FINE_PRICE                            <!-- 과태료 -->
     , RECEV_PAY_PRICE                             <!-- 납부금액 -->
     , RECEV_PAY_DT                                <!-- 납부기한 -->
     , RECEV_PAY_IN_DATE                           <!-- 납기내기한 -->
     , RECEV_PAY_IN_PRICE                          <!-- 납기내금액 -->
     , RECEV_PAY_IN_ADD_PRICE                      <!-- 납기내가산금 -->
     , RECEV_PAY_IN_DEFAULT_PRICE                  <!-- 납기내합계금액 -->
     , RECEV_PAY_OUT_DATE                          <!-- 납기후기한 -->
     , RECEV_PAY_OUT_PRICE                         <!-- 납기후금액 -->
     , RECEV_PAY_OUT_ADD_PRICE                     <!-- 납기후가산금 -->
     , RECEV_PAY_OUT_DEFAULT_PRICE                 <!-- 납기후합계금액 -->
     , RECEV_CAR_NUMBER                            <!-- 차량번호 -->
     , RECEV_CAR_OWNER_ZIPCODE                     <!-- 우편번호 -->
     , RECEV_CAR_OWNER_ADDR                        <!-- 주소(시, 구) -->
     , RECEV_CAR_OWNER_DETAILADDR                  <!-- 상세주소 -->
     , RECEV_CAR_OWNER_NM                          <!-- 소유자명 -->
     , RECEV_CAR_OWNER_SSN                         <!-- 주민번호(생년월일) -->
     , RECEV_PRINT_DT                              <!-- 출력일자 -->
     , RECEV_PRINT_YEAR                            <!-- 출력년도 -->
     , RECEV_PRINT_MONTH                           <!-- 출력월 -->
     , RECEV_PRINT_DAY                             <!-- 출력일 -->
     , RECEV_EVIDENCE_NUMBER                       <!-- 증거번호 -->
     , RECEV_PHOTO_CNT                             <!-- 사진장수 -->
     , RECEV_PHOTO_FILENAME1                       <!-- 사진파일명1 -->
     , RECEV_PHOTO_FILENAME2                       <!-- 사진파일명2 -->
     , RECEV_PHOTO_FILENAME3                       <!-- 사진파일명3 -->
     , RECEV_PHOTO_FILENAME4                       <!-- 사진파일명4 -->
     , REG_VAR_DATA1 RECV_NOTICE_CONTS             <!-- 주.정차위반과태료납부 안내 -->
     , 'NULL' RECEV_TEMP_DATA1                     <!-- 추가데이터1 -->
     , 'NULL' RECEV_TEMP_DATA2                     <!-- 추가데이터2 -->
     , 'NULL' RECEV_TEMP_DATA3                     <!-- 추가데이터3 -->
     , DTL_VAR_DATA1 RECEV_TEMP_DATA4              <!-- 추가데이터4 (계도 메일 제목) -->
     , DTL_VAR_DATA2 RECEV_TEMP_DATA5              <!-- 추가데이터5 (계도 메일 내용) -->
     , RECEV_SENDER_FAX                            <!-- 부과부서 팩스번호 -->
     , RECEV_SERDER_STAFF                          <!-- 부과부서 담당자 -->
     , RECEV_SENDER_EMAIL                          <!-- 부과부서 이메일 -->
     , VRACTNO2 RECEV_TEMP_DATA6                   <!-- 추가데이터6 -->
     , VRACTNO3 RECEV_TEMP_DATA7                   <!-- 추가데이터7 -->
     , VRACTNO4 RECEV_TEMP_DATA8                   <!-- 추가데이터8 -->
     , VRACTNO5 RECEV_TEMP_DATA9                   <!-- 추가데이터9 -->
     , VRACTNO6 RECEV_TEMP_DATA10                  <!-- 추가데이터10 -->
     , VRACTNO7 RECEV_TEMP_DATA11                  <!-- 추가데이터11 -->
     , VRACTNO8 RECEV_TEMP_DATA12                  <!-- 추가데이터12 -->
     , VRACTNO9 RECEV_TEMP_DATA13                  <!-- 추가데이터13 -->
     , VRACTNO10 RECEV_TEMP_DATA14                 <!-- 추가데이터14 -->
     , VRACTNO11 RECEV_TEMP_DATA15                 <!-- 추가데이터15 -->
  FROM TB_EPOST_RCPT_REG A
     , TB_EPOST_RCPT_DTL B
     , (SELECT @row_no := 0, @con_key := '', #{conOrg} CON_ORG) C
 WHERE POST_PROC_STT = '01'
   AND A.CON_KEY = B.CON_KEY
 ORDER BY A.CON_KEY, RGST_NMBR, RECEV_SEQ</select>

<resultMap id="emailRequestRow" type="cokr.xit.interfaces.epost.EmailRequest"> <!-- 전자우편 신청 -->
    <result property="conKey"                 column="CON_KEY" />                 <!-- 외부연계식별키 -->
    <result property="rceptId"                column="RCEPT_ID" />                <!-- 접수우체국국기호 -->
    <result property="dataCd"                 column="DATA_CD" />                 <!-- 접수코드 -->
    <result property="divKb"                  column="DIV_KB" />                  <!-- 취급구분 -->
    <result property="dfpayyn"                column="DFPAYYN" />                 <!-- 결재방법 -->
    <result property="rcptKb"                 column="RCPT_KB" />                 <!-- 내용문 유형 -->
    <result property="sealCd"                 column="SEAL_CD" />                 <!-- 내용문 상세 종류 -->
    <result property="wordKb"                 column="WORD_KB" />                 <!-- 내용문 종류 -->
    <result property="mailCnt"                column="MAIL_CNT" />                <!-- 내용문 매수 -->
    <result property="recevCnt"               column="RECEV_CNT" />               <!-- 수취인 수 -->
    <result property="envCd"                  column="ENV_CD" />                  <!-- 봉투 종류 -->
    <result property="colorYn"                column="COLOR_YN" />                <!-- 칼라우편물 -->
    <result property="mmYn"                   column="MM_YN" />                   <!-- 메일머지 플래그 -->
    <result property="flexCd"                 column="FLEX_CD" />                 <!-- 이면구분 -->
    <result property="dmCnt"                  column="DM_CNT" />                  <!-- 동봉물 개수 -->
    <result property="sbFg"                   column="SB_FG" />                   <!-- 반송불필요 여부 -->
    <result property="apvlNb"                 column="APVL_NB" />                 <!-- 승인번호 -->
    <result property="sendDate"               column="SEND_DATE" />               <!-- 신청 일자 -->
    <result property="sendTime"               column="SEND_TIME" />               <!-- 전송 시간 -->
    <result property="relorsectCd"            column="RELORSECT_CD" />            <!-- 연계기관결제부서코드 -->
    <result property="recevSenderOrgCode"     column="RECEV_SENDER_ORG_CODE" />   <!-- 발송기관코드 -->
    <result property="recevSenderNm"          column="RECEV_SENDER_NM" />         <!-- 발송인명 -->
    <result property="recevSenderZipcode"     column="RECEV_SENDER_ZIPCODE" />    <!-- 발송인 우편번호 -->
    <result property="recevSenderAddr"        column="RECEV_SENDER_ADDR" />       <!-- 주소 -->
    <result property="recevSenderDetailaddr"  column="RECEV_SENDER_DETAILADDR" /> <!-- 상세주소 -->
    <result property="recevSenderDepartTel"   column="RECEV_SENDER_DEPART_TEL" /> <!-- 부과부서 전화번호 -->
    <result property="recevSenderDepartNm"    column="RECEV_SENDER_DEPART_NM" />  <!-- 부과부서 -->
    <result property="recevDivCd"             column="RECEV_DIV_CD" />            <!-- 등기구분 -->
    <result property="recevPrintDt"           column="RECEV_PRINT_DT" />          <!-- 출력일자 -->
    <result property="recevPrintYear"         column="RECEV_PRINT_YEAR" />        <!-- 출력연도 -->
    <result property="recevPrintMonth"        column="RECEV_PRINT_MONTH" />       <!-- 출력월 -->
    <result property="recevPrintDay"          column="RECEV_PRINT_DAY" />         <!-- 출력일 -->
    <result property="recevSenderFax"         column="RECEV_SENDER_FAX" />        <!-- 부과부서 팩스번호 -->
    <result property="recevSerderStaff"       column="RECEV_SERDER_STAFF" />      <!-- 부과부서 담당자 -->
    <result property="recevSenderEmail"       column="RECEV_SENDER_EMAIL" />      <!-- 부과부서 이메일 -->
    <result property="sndngId"                column="SNDNG_ID" />                <!-- 발송 ID -->
    <result property="jobCd"                  column="JOB_CD" />                  <!-- 작업 코드 -->
    <result property="regVarData1"            column="REG_VAR_DATA1" />           <!-- 추가 데이터1 (주.정차위반과태료납부 안내) -->
    <result property="regVarData2"            column="REG_VAR_DATA2" />           <!-- 추가 데이터2 -->
    <result property="regVarData3"            column="REG_VAR_DATA3" />           <!-- 추가 데이터3 -->
    <result property="regVarData4"            column="REG_VAR_DATA4" />           <!-- 추가 데이터4 -->
    <result property="regVarData5"            column="REG_VAR_DATA5" />           <!-- 추가 데이터5 -->
    <result property="postProcStt"            column="POST_PROC_STT" />           <!-- 우편 처리 상태 -->
    <result property="rceptYmd"               column="RCEPT_YMD" />               <!-- 접수 일자 -->
    <result property="delYn"                  column="DEL_YN" />                  <!-- 삭제 여부 -->
    <result property="createdAt"              column="REG_DT" />                  <!-- 등록 일시 -->
    <result property="createdBy"              column="RGTR" />                    <!-- 등록자 -->
    <result property="removedAt"              column="DEL_DT" />                  <!-- 삭제 일시 -->
    <result property="removedBy"              column="DLTR" />                    <!-- 삭제자 -->
</resultMap>

<sql id="select">SELECT CON_KEY                 <!-- 외부연계식별키 -->
     , RCEPT_ID                <!-- 접수우체국국기호 -->
     , DATA_CD                 <!-- 접수코드 -->
     , DIV_KB                  <!-- 취급구분 -->
     , DFPAYYN                 <!-- 결재방법 -->
     , RCPT_KB                 <!-- 내용문 유형 -->
     , SEAL_CD                 <!-- 내용문 상세 종류 -->
     , WORD_KB                 <!-- 내용문 종류 -->
     , MAIL_CNT                <!-- 내용문 매수 -->
     , RECEV_CNT               <!-- 수취인 수 -->
     , ENV_CD                  <!-- 봉투 종류 -->
     , COLOR_YN                <!-- 칼라우편물 -->
     , MM_YN                   <!-- 메일머지 플래그 -->
     , FLEX_CD                 <!-- 이면구분 -->
     , DM_CNT                  <!-- 동봉물 개수 -->
     , SB_FG                   <!-- 반송불필요 여부 -->
     , APVL_NB                 <!-- 승인번호 -->
     , SEND_DATE               <!-- 신청 일자 -->
     , SEND_TIME               <!-- 전송 시간 -->
     , RELORSECT_CD            <!-- 연계기관결제부서코드 -->
     , RECEV_SENDER_ORG_CODE   <!-- 발송기관코드 -->
     , RECEV_SENDER_NM         <!-- 발송인명 -->
     , RECEV_SENDER_ZIPCODE    <!-- 발송인 우편번호 -->
     , RECEV_SENDER_ADDR       <!-- 주소 -->
     , RECEV_SENDER_DETAILADDR <!-- 상세주소 -->
     , RECEV_SENDER_DEPART_TEL <!-- 부과부서 전화번호 -->
     , RECEV_SENDER_DEPART_NM  <!-- 부과부서 -->
     , RECEV_DIV_CD            <!-- 등기구분 -->
     , RECEV_PRINT_DT          <!-- 출력일자 -->
     , RECEV_PRINT_YEAR        <!-- 출력연도 -->
     , RECEV_PRINT_MONTH       <!-- 출력월 -->
     , RECEV_PRINT_DAY         <!-- 출력일 -->
     , RECEV_SENDER_FAX        <!-- 부과부서 팩스번호 -->
     , RECEV_SERDER_STAFF      <!-- 부과부서 담당자 -->
     , RECEV_SENDER_EMAIL      <!-- 부과부서 이메일 -->
     , SNDNG_ID                <!-- 발송 ID -->
     , JOB_CD                  <!-- 작업 코드 -->
     , REG_VAR_DATA1           <!-- 추가 데이터1 (주.정차위반과태료납부 안내) -->
     , REG_VAR_DATA2           <!-- 추가 데이터2 -->
     , REG_VAR_DATA3           <!-- 추가 데이터3 -->
     , REG_VAR_DATA4           <!-- 추가 데이터4 -->
     , REG_VAR_DATA5           <!-- 추가 데이터5 -->
     , POST_PROC_STT           <!-- 우편 처리 상태 -->
     , RCEPT_YMD               <!-- 접수 일자 -->
     , DEL_YN                  <!-- 삭제 여부 -->
     , REG_DT                  <!-- 등록 일시 -->
     , RGTR                    <!-- 등록자 -->
     , DEL_DT                  <!-- 삭제 일시 -->
     , DLTR                    <!-- 삭제자 -->
  FROM TB_EPOST_RCPT_REG</sql>

<select id="selectRequestList" parameterType="map" resultType="dataobject">/* 전자우편 신청 목록 조회(emailRequestMapper.selectRequestList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
<if test="conKeys != null">AND CON_KEY IN (<foreach collection="conKeys" item="conKey" separator=",">#{conKey}</foreach>)</if>
<if test="conKeys == null">
AND RCEPT_YMD BETWEEN #{fromRegDate} AND #{toRegDate}
<if test="statusList != null">AND POST_PROC_STT IN (<foreach collection="statusList" item="status" separator=",">#{status}</foreach>)</if>
AND DEL_YN = 'N'
</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></select>

<select id="selectRequests" parameterType="map" resultMap="emailRequestRow">/* 전자우편 신청 객체 가져오기(emailRequestMapper.selectRequests) */
<include refid="select" />
<where>AND CON_KEY IN (<foreach collection="conKeys" item="conKey" separator=",">#{conKey}</foreach>)</where>
<include refid="utility.orderBy" /></select>

<insert id="insertRequest" parameterType="map">/* 전자우편 신청 등록(emailRequestMapper.insertRequest) */
INSERT INTO TB_EPOST_RCPT_REG (
       CON_KEY                 <!-- 외부연계식별키 -->
     , RCEPT_ID                <!-- 접수우체국국기호 -->
     , DATA_CD                 <!-- 접수코드 -->
     , DIV_KB                  <!-- 취급구분 -->
     , DFPAYYN                 <!-- 결재방법 -->
     , RCPT_KB                 <!-- 내용문 유형 -->
     , SEAL_CD                 <!-- 내용문 상세 종류 -->
     , WORD_KB                 <!-- 내용문 종류 -->
     , MAIL_CNT                <!-- 내용문 매수 -->
     , RECEV_CNT               <!-- 수취인 수 -->
     , ENV_CD                  <!-- 봉투 종류 -->
     , COLOR_YN                <!-- 칼라우편물 -->
     , MM_YN                   <!-- 메일머지 플래그 -->
     , FLEX_CD                 <!-- 이면구분 -->
     , DM_CNT                  <!-- 동봉물 개수 -->
     , SB_FG                   <!-- 반송불필요 여부 -->
     , APVL_NB                 <!-- 승인번호 -->
     , SEND_DATE               <!-- 신청 일자 -->
     , SEND_TIME               <!-- 전송 시간 -->
     , RELORSECT_CD            <!-- 연계기관결제부서코드 -->
     , RECEV_SENDER_ORG_CODE   <!-- 발송기관코드 -->
     , RECEV_SENDER_NM         <!-- 발송인명 -->
     , RECEV_SENDER_ZIPCODE    <!-- 발송인 우편번호 -->
     , RECEV_SENDER_ADDR       <!-- 주소 -->
     , RECEV_SENDER_DETAILADDR <!-- 상세주소 -->
     , RECEV_SENDER_DEPART_TEL <!-- 부과부서 전화번호 -->
     , RECEV_SENDER_DEPART_NM  <!-- 부과부서 -->
     , RECEV_DIV_CD            <!-- 등기구분 -->
     , RECEV_PRINT_DT          <!-- 출력일자 -->
     , RECEV_PRINT_YEAR        <!-- 출력연도 -->
     , RECEV_PRINT_MONTH       <!-- 출력월 -->
     , RECEV_PRINT_DAY         <!-- 출력일 -->
     , RECEV_SENDER_FAX        <!-- 부과부서 팩스번호 -->
     , RECEV_SERDER_STAFF      <!-- 부과부서 담당자 -->
     , RECEV_SENDER_EMAIL      <!-- 부과부서 이메일 -->
     , SNDNG_ID                <!-- 발송 ID -->
     , JOB_CD                  <!-- 작업 코드 -->
     , REG_VAR_DATA1           <!-- 추가 데이터1 (주.정차위반과태료납부 안내) -->
     , REG_VAR_DATA2           <!-- 추가 데이터2 -->
     , REG_VAR_DATA3           <!-- 추가 데이터3 -->
     , REG_VAR_DATA4           <!-- 추가 데이터4 -->
     , REG_VAR_DATA5           <!-- 추가 데이터5 -->
     , POST_PROC_STT           <!-- 우편 처리 상태 -->
     , RCEPT_YMD               <!-- 접수 일자 -->
     , DEL_YN                  <!-- 삭제 여부 -->
     , REG_DT                  <!-- 등록 일시 -->
     , RGTR                    <!-- 등록자 -->
     , DEL_DT                  <!-- 삭제 일시 -->
     , DLTR                    <!-- 삭제자 -->
) VALUES (
       #{emailRequest.conKey}                <!-- 외부연계식별키 -->
     , #{emailRequest.rceptId}               <!-- 접수우체국국기호 -->
     , #{emailRequest.dataCd}                <!-- 접수코드 -->
     , #{emailRequest.divKb}                 <!-- 취급구분 -->
     , #{emailRequest.dfpayyn}               <!-- 결재방법 -->
     , #{emailRequest.rcptKb}                <!-- 내용문 유형 -->
     , #{emailRequest.sealCd}                <!-- 내용문 상세 종류 -->
     , #{emailRequest.wordKb}                <!-- 내용문 종류 -->
     , #{emailRequest.mailCnt}               <!-- 내용문 매수 -->
     , #{emailRequest.recevCnt}              <!-- 수취인 수 -->
     , #{emailRequest.envCd}                 <!-- 봉투 종류 -->
     , #{emailRequest.colorYn}               <!-- 칼라우편물 -->
     , #{emailRequest.mmYn}                  <!-- 메일머지 플래그 -->
     , #{emailRequest.flexCd}                <!-- 이면구분 -->
     , #{emailRequest.dmCnt}                 <!-- 동봉물 개수 -->
     , #{emailRequest.sbFg}                  <!-- 반송불필요 여부 -->
     , #{emailRequest.apvlNb}                <!-- 승인번호 -->
     , #{emailRequest.sendDate}              <!-- 신청 일자 -->
     , #{emailRequest.sendTime}              <!-- 전송 시간 -->
     , #{emailRequest.relorsectCd}           <!-- 연계기관결제부서코드 -->
     , #{emailRequest.recevSenderOrgCode}    <!-- 발송기관코드 -->
     , #{emailRequest.recevSenderNm}         <!-- 발송인명 -->
     , #{emailRequest.recevSenderZipcode}    <!-- 발송인 우편번호 -->
     , #{emailRequest.recevSenderAddr}       <!-- 주소 -->
     , #{emailRequest.recevSenderDetailaddr} <!-- 상세주소 -->
     , #{emailRequest.recevSenderDepartTel}  <!-- 부과부서 전화번호 -->
     , #{emailRequest.recevSenderDepartNm}   <!-- 부과부서 -->
     , #{emailRequest.recevDivCd}            <!-- 등기구분 -->
     , #{emailRequest.recevPrintDt}          <!-- 출력일자 -->
     , #{emailRequest.recevPrintYear}        <!-- 출력연도 -->
     , #{emailRequest.recevPrintMonth}       <!-- 출력월 -->
     , #{emailRequest.recevPrintDay}         <!-- 출력일 -->
     , #{emailRequest.recevSenderFax}        <!-- 부과부서 팩스번호 -->
     , #{emailRequest.recevSerderStaff}      <!-- 부과부서 담당자 -->
     , #{emailRequest.recevSenderEmail}      <!-- 부과부서 이메일 -->
     , #{emailRequest.sndngId}               <!-- 발송 ID -->
     , #{emailRequest.jobCd}                 <!-- 작업 코드 -->
     , #{emailRequest.regVarData1}           <!-- 추가 데이터1 (주.정차위반과태료납부 안내) -->
     , #{emailRequest.regVarData2}           <!-- 추가 데이터2 -->
     , #{emailRequest.regVarData3}           <!-- 추가 데이터3 -->
     , #{emailRequest.regVarData4}           <!-- 추가 데이터4 -->
     , #{emailRequest.regVarData5}           <!-- 추가 데이터5 -->
     , #{emailRequest.postProcStt}           <!-- 우편 처리 상태 -->
     , #{emailRequest.rceptYmd}              <!-- 접수 일자 -->
     , #{emailRequest.delYn}                 <!-- 삭제 여부 -->
     , <include refid="utility.now" />       <!-- 등록 일시 -->
     , #{currentUser.id}                     <!-- 등록자 -->
     , #{emailRequest.removedAt}             <!-- 삭제 일시 -->
     , #{emailRequest.removedBy}             <!-- 삭제자 -->
)</insert>

<update id="updateRequest" parameterType="map">/* 전자우편 신청 수정(emailRequestMapper.updateRequest) */
UPDATE TB_EPOST_RCPT_REG SET
       RCEPT_ID = #{emailRequest.rceptId}                              <!-- 접수우체국국기호 -->
     , DATA_CD = #{emailRequest.dataCd}                                <!-- 접수코드 -->
     , DIV_KB = #{emailRequest.divKb}                                  <!-- 취급구분 -->
     , DFPAYYN = #{emailRequest.dfpayyn}                               <!-- 결재방법 -->
     , RCPT_KB = #{emailRequest.rcptKb}                                <!-- 내용문 유형 -->
     , SEAL_CD = #{emailRequest.sealCd}                                <!-- 내용문 상세 종류 -->
     , WORD_KB = #{emailRequest.wordKb}                                <!-- 내용문 종류 -->
     , MAIL_CNT = #{emailRequest.mailCnt}                              <!-- 내용문 매수 -->
     , RECEV_CNT = #{emailRequest.recevCnt}                            <!-- 수취인 수 -->
     , ENV_CD = #{emailRequest.envCd}                                  <!-- 봉투 종류 -->
     , COLOR_YN = #{emailRequest.colorYn}                              <!-- 칼라우편물 -->
     , MM_YN = #{emailRequest.mmYn}                                    <!-- 메일머지 플래그 -->
     , FLEX_CD = #{emailRequest.flexCd}                                <!-- 이면구분 -->
     , DM_CNT = #{emailRequest.dmCnt}                                  <!-- 동봉물 개수 -->
     , SB_FG = #{emailRequest.sbFg}                                    <!-- 반송불필요 여부 -->
     , APVL_NB = #{emailRequest.apvlNb}                                <!-- 승인번호 -->
     , SEND_DATE = #{emailRequest.sendDate}                            <!-- 신청 일자 -->
     , SEND_TIME = #{emailRequest.sendTime}                            <!-- 전송 시간 -->
     , RELORSECT_CD = #{emailRequest.relorsectCd}                      <!-- 연계기관결제부서코드 -->
     , RECEV_SENDER_ORG_CODE = #{emailRequest.recevSenderOrgCode}      <!-- 발송기관코드 -->
     , RECEV_SENDER_NM = #{emailRequest.recevSenderNm}                 <!-- 발송인명 -->
     , RECEV_SENDER_ZIPCODE = #{emailRequest.recevSenderZipcode}       <!-- 발송인 우편번호 -->
     , RECEV_SENDER_ADDR = #{emailRequest.recevSenderAddr}             <!-- 주소 -->
     , RECEV_SENDER_DETAILADDR = #{emailRequest.recevSenderDetailaddr} <!-- 상세주소 -->
     , RECEV_SENDER_DEPART_TEL = #{emailRequest.recevSenderDepartTel}  <!-- 부과부서 전화번호 -->
     , RECEV_SENDER_DEPART_NM = #{emailRequest.recevSenderDepartNm}    <!-- 부과부서 -->
     , RECEV_DIV_CD = #{emailRequest.recevDivCd}                       <!-- 등기구분 -->
     , RECEV_PRINT_DT = #{emailRequest.recevPrintDt}                   <!-- 출력일자 -->
     , RECEV_PRINT_YEAR = #{emailRequest.recevPrintYear}               <!-- 출력연도 -->
     , RECEV_PRINT_MONTH = #{emailRequest.recevPrintMonth}             <!-- 출력월 -->
     , RECEV_PRINT_DAY = #{emailRequest.recevPrintDay}                 <!-- 출력일 -->
     , RECEV_SENDER_FAX = #{emailRequest.recevSenderFax}               <!-- 부과부서 팩스번호 -->
     , RECEV_SERDER_STAFF = #{emailRequest.recevSerderStaff}           <!-- 부과부서 담당자 -->
     , RECEV_SENDER_EMAIL = #{emailRequest.recevSenderEmail}           <!-- 부과부서 이메일 -->
     , SNDNG_ID = #{emailRequest.sndngId}                              <!-- 발송 ID -->
     , JOB_CD = #{emailRequest.jobCd}                                  <!-- 작업 코드 -->
     , REG_VAR_DATA1 = #{emailRequest.regVarData1}                     <!-- 추가 데이터1 (주.정차위반과태료납부 안내) -->
     , REG_VAR_DATA2 = #{emailRequest.regVarData2}                     <!-- 추가 데이터2 -->
     , REG_VAR_DATA3 = #{emailRequest.regVarData3}                     <!-- 추가 데이터3 -->
     , REG_VAR_DATA4 = #{emailRequest.regVarData4}                     <!-- 추가 데이터4 -->
     , REG_VAR_DATA5 = #{emailRequest.regVarData5}                     <!-- 추가 데이터5 -->
     , POST_PROC_STT = #{emailRequest.postProcStt}                     <!-- 우편 처리 상태 -->
     , RCEPT_YMD = #{emailRequest.rceptYmd}                            <!-- 접수 일자 -->
     , DEL_YN = #{emailRequest.delYn}                                  <!-- 삭제 여부 -->
     , DEL_DT = #{emailRequest.removedAt}                              <!-- 삭제 일시 -->
     , DLTR = #{emailRequest.removedBy}                                <!-- 삭제자 -->
 WHERE CON_KEY = #{emailRequest.conKey}</update>

<update id="updateRequestStatus" parameterType="map">/* 전자우편 신청 상태 변경(emailRequestMapper.updateRequestStatus) */
UPDATE TB_EPOST_RCPT_REG SET
       POST_PROC_STT = #{status}
<if test='resultType == "registration"'>    , RCEPT_YMD = CASE CON_KEY<foreach collection="results" item="result">
            WHEN #{result.reletcdata} THEN #{result.rceptYmd}</foreach>
            ELSE RCEPT_YMD END</if>
 WHERE CON_KEY IN (
 <if test='conKeys != null'><foreach collection="conKeys" item="conKey" separator=",">#{conKey}</foreach></if>
 <if test='resultType == "reception"'><foreach collection="results" item="result" separator=",">#{result.reldivkey}</foreach></if>
 <if test='resultType == "registration"'><foreach collection="results" item="result" separator=",">#{result.reletcdata}</foreach></if>
 <if test='resultType == "production"'><foreach collection="results" item="result" separator=",">#{result.conKey}</foreach></if>
 <if test='resultType == "delivery"'><foreach collection="results" item="result" separator=",">#{result.reletcdata}</foreach></if>
 )
   AND POST_PROC_STT &lt; #{maxStatus}</update>

<update id="updateRequestAsDelivered" parameterType="map">/* 전자우편 배달 완료 처리(emailRequestMapper.updateRequestAsDelivered) */
UPDATE TB_EPOST_RCPT_REG SET
       POST_PROC_STT = #{status}
 WHERE POST_PROC_STT = '27' <!-- 배달중 --> 
   AND DEL_YN = 'N'
   AND REG_DT &lt; CONCAT(DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL #{expiryDays} DAY), '%Y%m%d'), '000000')</update>

<update id="deleteRequest" parameterType="map">/* 전자우편 신청 삭제(emailRequestMapper.deleteRequest) */
UPDATE TB_EPOST_RCPT_REG SET
       DEL_YN = 'Y'
     , DEL_DT =<include refid="utility.now" />
     , DLTR = #{currentUser.id}
 WHERE CON_KEY IN (<foreach collection="conKeys" item="conKey" separator=",">#{conKey}</foreach>)</update>

<resultMap id="emailRequestDetailRow" type="cokr.xit.interfaces.epost.EmailRequestDetail"> <!-- 전자우편 신청 상세 -->
    <result property="conKey"                   column="CON_KEY" />                     <!-- 외부연계식별키 -->
    <result property="rgstNmbr"                 column="RGST_NMBR" />                   <!-- 등기번호 -->
    <result property="recevSeq"                 column="RECEV_SEQ" />                   <!-- 일련번호 -->
    <result property="recevCode"                column="RECEV_CODE" />                  <!-- 발송코드 -->
    <result property="recevBar1d"               column="RECEV_BAR1D" />                 <!-- 바코드 -->
    <result property="recevBar2d"               column="RECEV_BAR2D" />                 <!-- 이차원바코드 -->
    <result property="recevBillNunber"          column="RECEV_BILL_NUNBER" />           <!-- 고지번호 -->
    <result property="recevDocCd1"              column="RECEV_DOC_CD1" />               <!-- 문서종류1 -->
    <result property="recevDocCd2"              column="RECEV_DOC_CD2" />               <!-- 문서종류2 -->
    <result property="recevDocCd3"              column="RECEV_DOC_CD3" />               <!-- 문서종류3 -->
    <result property="recevDocCd4"              column="RECEV_DOC_CD4" />               <!-- 문서종류4 -->
    <result property="recevDocCd5"              column="RECEV_DOC_CD5" />               <!-- 문서종류5 -->
    <result property="recevSubj1"               column="RECEV_SUBJ1" />                 <!-- 과목명1 -->
    <result property="recevSubj2"               column="RECEV_SUBJ2" />                 <!-- 과목명2 -->
    <result property="recevSubj3"               column="RECEV_SUBJ3" />                 <!-- 과목명3 -->
    <result property="recevViolateDt"           column="RECEV_VIOLATE_DT" />            <!-- 위반일시 -->
    <result property="recevViolateDong"         column="RECEV_VIOLATE_DONG" />          <!-- 위반동 -->
    <result property="recevViolatePlace"        column="RECEV_VIOLATE_PLACE" />         <!-- 위반장소 -->
    <result property="recevLaws"                column="RECEV_LAWS" />                  <!-- 법조항 -->
    <result property="recevPayNumber1"          column="RECEV_PAY_NUMBER1" />           <!-- 납부번호1 -->
    <result property="recevPayNumber2"          column="RECEV_PAY_NUMBER2" />           <!-- 납부번호2 -->
    <result property="recevOcr0"                column="RECEV_OCR0" />                  <!-- OCR0 -->
    <result property="recevOcr1"                column="RECEV_OCR1" />                  <!-- OCR1 -->
    <result property="recevOcr2"                column="RECEV_OCR2" />                  <!-- OCR2 -->
    <result property="recevOnlinePayNumber"     column="RECEV_ONLINE_PAY_NUMBER" />     <!-- 전자납부번호 -->
    <result property="recevFinePrice"           column="RECEV_FINE_PRICE" />            <!-- 과태료 -->
    <result property="recevPayPrice"            column="RECEV_PAY_PRICE" />             <!-- 납부금액 -->
    <result property="recevPayDt"               column="RECEV_PAY_DT" />                <!-- 납부기한 -->
    <result property="recevPayInDate"           column="RECEV_PAY_IN_DATE" />           <!-- 납기내기한 -->
    <result property="recevPayInPrice"          column="RECEV_PAY_IN_PRICE" />          <!-- 납기내금액 -->
    <result property="recevPayInAddPrice"       column="RECEV_PAY_IN_ADD_PRICE" />      <!-- 납기내가산금 -->
    <result property="recevPayInDefaultPrice"   column="RECEV_PAY_IN_DEFAULT_PRICE" />  <!-- 납기내합계금액 -->
    <result property="recevPayOutDate"          column="RECEV_PAY_OUT_DATE" />          <!-- 납기후기한 -->
    <result property="recevPayOutPrice"         column="RECEV_PAY_OUT_PRICE" />         <!-- 납기후금액 -->
    <result property="recevPayOutAddPrice"      column="RECEV_PAY_OUT_ADD_PRICE" />     <!-- 납기후가산금 -->
    <result property="recevPayOutDefaultPrice"  column="RECEV_PAY_OUT_DEFAULT_PRICE" /> <!-- 납기후합계금액 -->
    <result property="recevCarNumber"           column="RECEV_CAR_NUMBER" />            <!-- 차량번호 -->
    <result property="recevCarOwnerZipcode"     column="RECEV_CAR_OWNER_ZIPCODE" />     <!-- 우편번호 -->
    <result property="recevCarOwnerAddr"        column="RECEV_CAR_OWNER_ADDR" />        <!-- 주소 -->
    <result property="recevCarOwnerDetailaddr"  column="RECEV_CAR_OWNER_DETAILADDR" />  <!-- 상세주소 -->
    <result property="recevCarOwnerNm"          column="RECEV_CAR_OWNER_NM" />          <!-- 소유자명 -->
    <result property="recevCarOwnerSsn"         column="RECEV_CAR_OWNER_SSN" />         <!-- 주민번호 -->
    <result property="recevEvidenceNumber"      column="RECEV_EVIDENCE_NUMBER" />       <!-- 증거번호 -->
    <result property="recevPhotoCnt"            column="RECEV_PHOTO_CNT" />             <!-- 사진장수 -->
    <result property="recevPhotoFilename1"      column="RECEV_PHOTO_FILENAME1" />       <!-- 사진파일명1 -->
    <result property="recevPhotoFilename2"      column="RECEV_PHOTO_FILENAME2" />       <!-- 사진파일명2 -->
    <result property="recevPhotoFilename3"      column="RECEV_PHOTO_FILENAME3" />       <!-- 사진파일명3 -->
    <result property="recevPhotoFilename4"      column="RECEV_PHOTO_FILENAME4" />       <!-- 사진파일명4 -->
    <result property="vractno2"                 column="VRACTNO2" />                    <!-- 가상계좌번호2 -->
    <result property="vractno3"                 column="VRACTNO3" />                    <!-- 가상계좌번호3 -->
    <result property="vractno4"                 column="VRACTNO4" />                    <!-- 가상계좌번호4 -->
    <result property="vractno5"                 column="VRACTNO5" />                    <!-- 가상계좌번호5 -->
    <result property="vractno6"                 column="VRACTNO6" />                    <!-- 가상계좌번호6 -->
    <result property="vractno7"                 column="VRACTNO7" />                    <!-- 가상계좌번호7 -->
    <result property="vractno8"                 column="VRACTNO8" />                    <!-- 가상계좌번호8 -->
    <result property="vractno9"                 column="VRACTNO9" />                    <!-- 가상계좌번호9 -->
    <result property="vractno10"                column="VRACTNO10" />                   <!-- 가상계좌번호10 -->
    <result property="vractno11"                column="VRACTNO11" />                   <!-- 가상계좌번호11 -->
	<result property="dtlVarData1"              column="DTL_VAR_DATA1" />               <!-- 추가 데이터1 (계도 메일 제목) -->
	<result property="dtlVarData2"              column="DTL_VAR_DATA2" />               <!-- 추가 데이터2 (계도 메일 내용) -->
	<result property="dtlVarData3"              column="DTL_VAR_DATA3" />               <!-- 추가 데이터3 -->
	<result property="dtlVarData4"              column="DTL_VAR_DATA4" />               <!-- 추가 데이터4 -->
	<result property="dtlVarData5"              column="DTL_VAR_DATA5" />               <!-- 추가 데이터5 -->
    <result property="dlvrRsltId"               column="DLVR_RSLT_ID" />                <!-- 배달 결과 ID -->
    <result property="makeRsltCd"               column="MAKE_RSLT_CD" />                <!-- 제작 결과 코드 -->
    <result property="createdAt"                column="REG_DT" />                      <!-- 등록 일시 -->
    <result property="createdBy"                column="RGTR" />                        <!-- 등록자 -->
    <result property="vractno"                  column="VRACTNO" />                     <!-- 가상계좌번호 -->
</resultMap>

<sql id="selectDetail">SELECT CON_KEY                     <!-- 외부연계식별키 -->
     , RGST_NMBR                   <!-- 등기번호 -->
     , RECEV_SEQ                   <!-- 일련번호 -->
     , RECEV_CODE                  <!-- 발송코드 -->
     , RECEV_BAR1D                 <!-- 바코드 -->
     , RECEV_BAR2D                 <!-- 이차원바코드 -->
     , RECEV_BILL_NUNBER           <!-- 고지번호 -->
     , RECEV_DOC_CD1               <!-- 문서종류1 -->
     , RECEV_DOC_CD2               <!-- 문서종류2 -->
     , RECEV_DOC_CD3               <!-- 문서종류3 -->
     , RECEV_DOC_CD4               <!-- 문서종류4 -->
     , RECEV_DOC_CD5               <!-- 문서종류5 -->
     , RECEV_SUBJ1                 <!-- 과목명1 -->
     , RECEV_SUBJ2                 <!-- 과목명2 -->
     , RECEV_SUBJ3                 <!-- 과목명3 -->
     , RECEV_VIOLATE_DT            <!-- 위반일시 -->
     , RECEV_VIOLATE_DONG          <!-- 위반동 -->
     , RECEV_VIOLATE_PLACE         <!-- 위반장소 -->
     , RECEV_LAWS                  <!-- 법조항 -->
     , RECEV_PAY_NUMBER1           <!-- 납부번호1 -->
     , RECEV_PAY_NUMBER2           <!-- 납부번호2 -->
     , RECEV_OCR0                  <!-- OCR0 -->
     , RECEV_OCR1                  <!-- OCR1 -->
     , RECEV_OCR2                  <!-- OCR2 -->
     , RECEV_ONLINE_PAY_NUMBER     <!-- 전자납부번호 -->
     , RECEV_FINE_PRICE            <!-- 과태료 -->
     , RECEV_PAY_PRICE             <!-- 납부금액 -->
     , RECEV_PAY_DT                <!-- 납부기한 -->
     , RECEV_PAY_IN_DATE           <!-- 납기내기한 -->
     , RECEV_PAY_IN_PRICE          <!-- 납기내금액 -->
     , RECEV_PAY_IN_ADD_PRICE      <!-- 납기내가산금 -->
     , RECEV_PAY_IN_DEFAULT_PRICE  <!-- 납기내합계금액 -->
     , RECEV_PAY_OUT_DATE          <!-- 납기후기한 -->
     , RECEV_PAY_OUT_PRICE         <!-- 납기후금액 -->
     , RECEV_PAY_OUT_ADD_PRICE     <!-- 납기후가산금 -->
     , RECEV_PAY_OUT_DEFAULT_PRICE <!-- 납기후합계금액 -->
     , RECEV_CAR_NUMBER            <!-- 차량번호 -->
     , RECEV_CAR_OWNER_ZIPCODE     <!-- 우편번호 -->
     , RECEV_CAR_OWNER_ADDR        <!-- 주소 -->
     , RECEV_CAR_OWNER_DETAILADDR  <!-- 상세주소 -->
     , RECEV_CAR_OWNER_NM          <!-- 소유자명 -->
     , RECEV_CAR_OWNER_SSN         <!-- 주민번호 -->
     , RECEV_EVIDENCE_NUMBER       <!-- 증거번호 -->
     , RECEV_PHOTO_CNT             <!-- 사진장수 -->
     , RECEV_PHOTO_FILENAME1       <!-- 사진파일명1 -->
     , RECEV_PHOTO_FILENAME2       <!-- 사진파일명2 -->
     , RECEV_PHOTO_FILENAME3       <!-- 사진파일명3 -->
     , RECEV_PHOTO_FILENAME4       <!-- 사진파일명4 -->
     , VRACTNO2                    <!-- 가상계좌번호2 -->
     , VRACTNO3                    <!-- 가상계좌번호3 -->
     , VRACTNO4                    <!-- 가상계좌번호4 -->
     , VRACTNO5                    <!-- 가상계좌번호5 -->
     , VRACTNO6                    <!-- 가상계좌번호6 -->
     , VRACTNO7                    <!-- 가상계좌번호7 -->
     , VRACTNO8                    <!-- 가상계좌번호8 -->
     , VRACTNO9                    <!-- 가상계좌번호9 -->
     , VRACTNO10                   <!-- 가상계좌번호10 -->
     , VRACTNO11                   <!-- 가상계좌번호11 -->
     , DTL_VAR_DATA1               <!-- 추가 데이터1 (계도 메일 제목) -->
     , DTL_VAR_DATA2               <!-- 추가 데이터2 (계도 메일 내용) -->
     , DTL_VAR_DATA3               <!-- 추가 데이터3 -->
     , DTL_VAR_DATA4               <!-- 추가 데이터4 -->
     , DTL_VAR_DATA5               <!-- 추가 데이터5 -->
     , DLVR_RSLT_ID                <!-- 배달 결과 ID -->
     , MAKE_RSLT_CD                <!-- 제작 결과 코드 -->
     , REG_DT                      <!-- 등록 일시 -->
     , RGTR                        <!-- 등록자 -->
     , VRACTNO                     <!-- 가상계좌번호 -->
  FROM TB_EPOST_RCPT_DTL</sql>

<select id="selectRequestDetailList" parameterType="map" resultType="dataobject">/* 전자우편 신청 상세 목록 조회(emailRequestMapper.selectRequestDetailList) */
<include refid="utility.paging-prefix" />
<include refid="selectDetail" />
<where>
AND CON_KEY IN (<foreach collection="conKeys" item="conKey" separator=",">#{conKey}</foreach>)
<if test="rgstNmbrs != null">AND RGST_NMBR IN (<foreach collection="rgstNmbrs" item="rgstNmbr" separator=",">#{rgstNmbr}</foreach>)</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></select>

<select id="selectRequestDetails" parameterType="map" resultMap="emailRequestDetailRow">/* 전자우편 신청 상세 객체 가져오기(emailRequestMapper.selectRequestDetails) */
<include refid="selectDetail" />
<where>
AND CON_KEY IN (<foreach collection="conKeys" item="conKey" separator=",">#{conKey}</foreach>)
<if test="rgstNmbrs != null">AND RGST_NMBR IN (<foreach collection="rgstNmbrs" item="rgstNmbr" separator=",">#{rgstNmbr}</foreach>)</if>
</where>
<include refid="utility.orderBy" /></select>

<insert id="insertRequestDetail" parameterType="map">/* 전자우편 신청 상세 등록(emailRequestMapper.insertRequestDetail) */
INSERT INTO TB_EPOST_RCPT_DTL (
       CON_KEY                     <!-- 외부연계식별키 -->
     , RGST_NMBR                   <!-- 등기번호 -->
     , RECEV_SEQ                   <!-- 일련번호 -->
     , RECEV_CODE                  <!-- 발송코드 -->
     , RECEV_BAR1D                 <!-- 바코드 -->
     , RECEV_BAR2D                 <!-- 이차원바코드 -->
     , RECEV_BILL_NUNBER           <!-- 고지번호 -->
     , RECEV_DOC_CD1               <!-- 문서종류1 -->
     , RECEV_DOC_CD2               <!-- 문서종류2 -->
     , RECEV_DOC_CD3               <!-- 문서종류3 -->
     , RECEV_DOC_CD4               <!-- 문서종류4 -->
     , RECEV_DOC_CD5               <!-- 문서종류5 -->
     , RECEV_SUBJ1                 <!-- 과목명1 -->
     , RECEV_SUBJ2                 <!-- 과목명2 -->
     , RECEV_SUBJ3                 <!-- 과목명3 -->
     , RECEV_VIOLATE_DT            <!-- 위반일시 -->
     , RECEV_VIOLATE_DONG          <!-- 위반동 -->
     , RECEV_VIOLATE_PLACE         <!-- 위반장소 -->
     , RECEV_LAWS                  <!-- 법조항 -->
     , RECEV_PAY_NUMBER1           <!-- 납부번호1 -->
     , RECEV_PAY_NUMBER2           <!-- 납부번호2 -->
     , RECEV_OCR0                  <!-- OCR0 -->
     , RECEV_OCR1                  <!-- OCR1 -->
     , RECEV_OCR2                  <!-- OCR2 -->
     , RECEV_ONLINE_PAY_NUMBER     <!-- 전자납부번호 -->
     , RECEV_FINE_PRICE            <!-- 과태료 -->
     , RECEV_PAY_PRICE             <!-- 납부금액 -->
     , RECEV_PAY_DT                <!-- 납부기한 -->
     , RECEV_PAY_IN_DATE           <!-- 납기내기한 -->
     , RECEV_PAY_IN_PRICE          <!-- 납기내금액 -->
     , RECEV_PAY_IN_ADD_PRICE      <!-- 납기내가산금 -->
     , RECEV_PAY_IN_DEFAULT_PRICE  <!-- 납기내합계금액 -->
     , RECEV_PAY_OUT_DATE          <!-- 납기후기한 -->
     , RECEV_PAY_OUT_PRICE         <!-- 납기후금액 -->
     , RECEV_PAY_OUT_ADD_PRICE     <!-- 납기후가산금 -->
     , RECEV_PAY_OUT_DEFAULT_PRICE <!-- 납기후합계금액 -->
     , RECEV_CAR_NUMBER            <!-- 차량번호 -->
     , RECEV_CAR_OWNER_ZIPCODE     <!-- 우편번호 -->
     , RECEV_CAR_OWNER_ADDR        <!-- 주소 -->
     , RECEV_CAR_OWNER_DETAILADDR  <!-- 상세주소 -->
     , RECEV_CAR_OWNER_NM          <!-- 소유자명 -->
     , RECEV_CAR_OWNER_SSN         <!-- 주민번호 -->
     , RECEV_EVIDENCE_NUMBER       <!-- 증거번호 -->
     , RECEV_PHOTO_CNT             <!-- 사진장수 -->
     , RECEV_PHOTO_FILENAME1       <!-- 사진파일명1 -->
     , RECEV_PHOTO_FILENAME2       <!-- 사진파일명2 -->
     , RECEV_PHOTO_FILENAME3       <!-- 사진파일명3 -->
     , RECEV_PHOTO_FILENAME4       <!-- 사진파일명4 -->
     , VRACTNO2                    <!-- 가상계좌번호2 -->
     , VRACTNO3                    <!-- 가상계좌번호3 -->
     , VRACTNO4                    <!-- 가상계좌번호4 -->
     , VRACTNO5                    <!-- 가상계좌번호5 -->
     , VRACTNO6                    <!-- 가상계좌번호6 -->
     , VRACTNO7                    <!-- 가상계좌번호7 -->
     , VRACTNO8                    <!-- 가상계좌번호8 -->
     , VRACTNO9                    <!-- 가상계좌번호9 -->
     , VRACTNO10                   <!-- 가상계좌번호10 -->
     , VRACTNO11                   <!-- 가상계좌번호11 -->
     , DTL_VAR_DATA1               <!-- 추가 데이터1 (계도 메일 제목) -->
     , DTL_VAR_DATA2               <!-- 추가 데이터2 (계도 메일 내용) -->
     , DTL_VAR_DATA3               <!-- 추가 데이터3 -->
     , DTL_VAR_DATA4               <!-- 추가 데이터4 -->
     , DTL_VAR_DATA5               <!-- 추가 데이터5 -->
     , DLVR_RSLT_ID                <!-- 배달 결과 ID -->
     , MAKE_RSLT_CD                <!-- 제작 결과 코드 -->
     , REG_DT                      <!-- 등록 일시 -->
     , RGTR                        <!-- 등록자 -->
     , VRACTNO                     <!-- 가상계좌번호 -->
) VALUES (
       #{emailRequestDetail.conKey}                  <!-- 외부연계식별키 -->
     , #{emailRequestDetail.rgstNmbr}                <!-- 등기번호 -->
     , #{emailRequestDetail.recevSeq}                <!-- 일련번호 -->
     , #{emailRequestDetail.recevCode}               <!-- 발송코드 -->
     , #{emailRequestDetail.recevBar1d}              <!-- 바코드 -->
     , #{emailRequestDetail.recevBar2d}              <!-- 이차원바코드 -->
     , #{emailRequestDetail.recevBillNunber}         <!-- 고지번호 -->
     , #{emailRequestDetail.recevDocCd1}             <!-- 문서종류1 -->
     , #{emailRequestDetail.recevDocCd2}             <!-- 문서종류2 -->
     , #{emailRequestDetail.recevDocCd3}             <!-- 문서종류3 -->
     , #{emailRequestDetail.recevDocCd4}             <!-- 문서종류4 -->
     , #{emailRequestDetail.recevDocCd5}             <!-- 문서종류5 -->
     , #{emailRequestDetail.recevSubj1}              <!-- 과목명1 -->
     , #{emailRequestDetail.recevSubj2}              <!-- 과목명2 -->
     , #{emailRequestDetail.recevSubj3}              <!-- 과목명3 -->
     , #{emailRequestDetail.recevViolateDt}          <!-- 위반일시 -->
     , #{emailRequestDetail.recevViolateDong}        <!-- 위반동 -->
     , #{emailRequestDetail.recevViolatePlace}       <!-- 위반장소 -->
     , #{emailRequestDetail.recevLaws}               <!-- 법조항 -->
     , #{emailRequestDetail.recevPayNumber1}         <!-- 납부번호1 -->
     , #{emailRequestDetail.recevPayNumber2}         <!-- 납부번호2 -->
     , #{emailRequestDetail.recevOcr0}               <!-- OCR0 -->
     , #{emailRequestDetail.recevOcr1}               <!-- OCR1 -->
     , #{emailRequestDetail.recevOcr2}               <!-- OCR2 -->
     , #{emailRequestDetail.recevOnlinePayNumber}    <!-- 전자납부번호 -->
     , #{emailRequestDetail.recevFinePrice}          <!-- 과태료 -->
     , #{emailRequestDetail.recevPayPrice}           <!-- 납부금액 -->
     , #{emailRequestDetail.recevPayDt}              <!-- 납부기한 -->
     , #{emailRequestDetail.recevPayInDate}          <!-- 납기내기한 -->
     , #{emailRequestDetail.recevPayInPrice}         <!-- 납기내금액 -->
     , #{emailRequestDetail.recevPayInAddPrice}      <!-- 납기내가산금 -->
     , #{emailRequestDetail.recevPayInDefaultPrice}  <!-- 납기내합계금액 -->
     , #{emailRequestDetail.recevPayOutDate}         <!-- 납기후기한 -->
     , #{emailRequestDetail.recevPayOutPrice}        <!-- 납기후금액 -->
     , #{emailRequestDetail.recevPayOutAddPrice}     <!-- 납기후가산금 -->
     , #{emailRequestDetail.recevPayOutDefaultPrice} <!-- 납기후합계금액 -->
     , #{emailRequestDetail.recevCarNumber}          <!-- 차량번호 -->
     , #{emailRequestDetail.recevCarOwnerZipcode}    <!-- 우편번호 -->
     , #{emailRequestDetail.recevCarOwnerAddr}       <!-- 주소 -->
     , #{emailRequestDetail.recevCarOwnerDetailaddr} <!-- 상세주소 -->
     , #{emailRequestDetail.recevCarOwnerNm}         <!-- 소유자명 -->
     , #{emailRequestDetail.recevCarOwnerSsn}        <!-- 주민번호 -->
     , #{emailRequestDetail.recevEvidenceNumber}     <!-- 증거번호 -->
     , #{emailRequestDetail.recevPhotoCnt}           <!-- 사진장수 -->
     , #{emailRequestDetail.recevPhotoFilename1}     <!-- 사진파일명1 -->
     , #{emailRequestDetail.recevPhotoFilename2}     <!-- 사진파일명2 -->
     , #{emailRequestDetail.recevPhotoFilename3}     <!-- 사진파일명3 -->
     , #{emailRequestDetail.recevPhotoFilename4}     <!-- 사진파일명4 -->
     , #{emailRequestDetail.vractno2}                <!-- 가상계좌번호2 -->
     , #{emailRequestDetail.vractno3}                <!-- 가상계좌번호3 -->
     , #{emailRequestDetail.vractno4}                <!-- 가상계좌번호4 -->
     , #{emailRequestDetail.vractno5}                <!-- 가상계좌번호5 -->
     , #{emailRequestDetail.vractno6}                <!-- 가상계좌번호6 -->
     , #{emailRequestDetail.vractno7}                <!-- 가상계좌번호7 -->
     , #{emailRequestDetail.vractno8}                <!-- 가상계좌번호8 -->
     , #{emailRequestDetail.vractno9}                <!-- 가상계좌번호9 -->
     , #{emailRequestDetail.vractno10}               <!-- 가상계좌번호10 -->
     , #{emailRequestDetail.vractno11}               <!-- 가상계좌번호11 -->
     , #{emailRequestDetail.dtlVarData1}             <!-- 추가 데이터1 (계도 메일 제목) -->
     , #{emailRequestDetail.dtlVarData2}             <!-- 추가 데이터2 (계도 메일 내용) -->
     , #{emailRequestDetail.dtlVarData3}             <!-- 추가 데이터3 -->
     , #{emailRequestDetail.dtlVarData4}             <!-- 추가 데이터4 -->
     , #{emailRequestDetail.dtlVarData5}             <!-- 추가 데이터5 -->
     , #{emailRequestDetail.dlvrRsltId}              <!-- 배달 결과 ID -->
     , #{emailRequestDetail.makeRsltCd}              <!-- 제작 결과 코드 -->
     , <include refid="utility.now" />                   <!-- 등록 일시 -->
     , #{currentUser.id}                                 <!-- 등록자 -->
     , #{emailRequestDetail.vractno}                 <!-- 가상계좌번호 -->
)</insert>

<update id="updateRequestDetail" parameterType="map">/* 전자우편 신청 상세 수정(emailRequestMapper.updateRequestDetail) */
UPDATE TB_EPOST_RCPT_DTL SET
       RECEV_SEQ = #{emailRequestDetail.recevSeq}                                  <!-- 일련번호 -->
     , RECEV_CODE = #{emailRequestDetail.recevCode}                                <!-- 발송코드 -->
     , RECEV_BAR1D = #{emailRequestDetail.recevBar1d}                              <!-- 바코드 -->
     , RECEV_BAR2D = #{emailRequestDetail.recevBar2d}                              <!-- 이차원바코드 -->
     , RECEV_BILL_NUNBER = #{emailRequestDetail.recevBillNunber}                   <!-- 고지번호 -->
     , RECEV_DOC_CD1 = #{emailRequestDetail.recevDocCd1}                           <!-- 문서종류1 -->
     , RECEV_DOC_CD2 = #{emailRequestDetail.recevDocCd2}                           <!-- 문서종류2 -->
     , RECEV_DOC_CD3 = #{emailRequestDetail.recevDocCd3}                           <!-- 문서종류3 -->
     , RECEV_DOC_CD4 = #{emailRequestDetail.recevDocCd4}                           <!-- 문서종류4 -->
     , RECEV_DOC_CD5 = #{emailRequestDetail.recevDocCd5}                           <!-- 문서종류5 -->
     , RECEV_SUBJ1 = #{emailRequestDetail.recevSubj1}                              <!-- 과목명1 -->
     , RECEV_SUBJ2 = #{emailRequestDetail.recevSubj2}                              <!-- 과목명2 -->
     , RECEV_SUBJ3 = #{emailRequestDetail.recevSubj3}                              <!-- 과목명3 -->
     , RECEV_VIOLATE_DT = #{emailRequestDetail.recevViolateDt}                     <!-- 위반일시 -->
     , RECEV_VIOLATE_DONG = #{emailRequestDetail.recevViolateDong}                 <!-- 위반동 -->
     , RECEV_VIOLATE_PLACE = #{emailRequestDetail.recevViolatePlace}               <!-- 위반장소 -->
     , RECEV_LAWS = #{emailRequestDetail.recevLaws}                                <!-- 법조항 -->
     , RECEV_PAY_NUMBER1 = #{emailRequestDetail.recevPayNumber1}                   <!-- 납부번호1 -->
     , RECEV_PAY_NUMBER2 = #{emailRequestDetail.recevPayNumber2}                   <!-- 납부번호2 -->
     , RECEV_OCR0 = #{emailRequestDetail.recevOcr0}                                <!-- OCR0 -->
     , RECEV_OCR1 = #{emailRequestDetail.recevOcr1}                                <!-- OCR1 -->
     , RECEV_OCR2 = #{emailRequestDetail.recevOcr2}                                <!-- OCR2 -->
     , RECEV_ONLINE_PAY_NUMBER = #{emailRequestDetail.recevOnlinePayNumber}        <!-- 전자납부번호 -->
     , RECEV_FINE_PRICE = #{emailRequestDetail.recevFinePrice}                     <!-- 과태료 -->
     , RECEV_PAY_PRICE = #{emailRequestDetail.recevPayPrice}                       <!-- 납부금액 -->
     , RECEV_PAY_DT = #{emailRequestDetail.recevPayDt}                             <!-- 납부기한 -->
     , RECEV_PAY_IN_DATE = #{emailRequestDetail.recevPayInDate}                    <!-- 납기내기한 -->
     , RECEV_PAY_IN_PRICE = #{emailRequestDetail.recevPayInPrice}                  <!-- 납기내금액 -->
     , RECEV_PAY_IN_ADD_PRICE = #{emailRequestDetail.recevPayInAddPrice}           <!-- 납기내가산금 -->
     , RECEV_PAY_IN_DEFAULT_PRICE = #{emailRequestDetail.recevPayInDefaultPrice}   <!-- 납기내합계금액 -->
     , RECEV_PAY_OUT_DATE = #{emailRequestDetail.recevPayOutDate}                  <!-- 납기후기한 -->
     , RECEV_PAY_OUT_PRICE = #{emailRequestDetail.recevPayOutPrice}                <!-- 납기후금액 -->
     , RECEV_PAY_OUT_ADD_PRICE = #{emailRequestDetail.recevPayOutAddPrice}         <!-- 납기후가산금 -->
     , RECEV_PAY_OUT_DEFAULT_PRICE = #{emailRequestDetail.recevPayOutDefaultPrice} <!-- 납기후합계금액 -->
     , RECEV_CAR_NUMBER = #{emailRequestDetail.recevCarNumber}                     <!-- 차량번호 -->
     , RECEV_CAR_OWNER_ZIPCODE = #{emailRequestDetail.recevCarOwnerZipcode}        <!-- 우편번호 -->
     , RECEV_CAR_OWNER_ADDR = #{emailRequestDetail.recevCarOwnerAddr}              <!-- 주소 -->
     , RECEV_CAR_OWNER_DETAILADDR = #{emailRequestDetail.recevCarOwnerDetailaddr}  <!-- 상세주소 -->
     , RECEV_CAR_OWNER_NM = #{emailRequestDetail.recevCarOwnerNm}                  <!-- 소유자명 -->
     , RECEV_CAR_OWNER_SSN = #{emailRequestDetail.recevCarOwnerSsn}                <!-- 주민번호 -->
     , RECEV_EVIDENCE_NUMBER = #{emailRequestDetail.recevEvidenceNumber}           <!-- 증거번호 -->
     , RECEV_PHOTO_CNT = #{emailRequestDetail.recevPhotoCnt}                       <!-- 사진장수 -->
     , RECEV_PHOTO_FILENAME1 = #{emailRequestDetail.recevPhotoFilename1}           <!-- 사진파일명1 -->
     , RECEV_PHOTO_FILENAME2 = #{emailRequestDetail.recevPhotoFilename2}           <!-- 사진파일명2 -->
     , RECEV_PHOTO_FILENAME3 = #{emailRequestDetail.recevPhotoFilename3}           <!-- 사진파일명3 -->
     , RECEV_PHOTO_FILENAME4 = #{emailRequestDetail.recevPhotoFilename4}           <!-- 사진파일명4 -->
     , VRACTNO2 = #{emailRequestDetail.vractno2}                                   <!-- 가상계좌번호2 -->
     , VRACTNO3 = #{emailRequestDetail.vractno3}                                   <!-- 가상계좌번호3 -->
     , VRACTNO4 = #{emailRequestDetail.vractno4}                                   <!-- 가상계좌번호4 -->
     , VRACTNO5 = #{emailRequestDetail.vractno5}                                   <!-- 가상계좌번호5 -->
     , VRACTNO6 = #{emailRequestDetail.vractno6}                                   <!-- 가상계좌번호6 -->
     , VRACTNO7 = #{emailRequestDetail.vractno7}                                   <!-- 가상계좌번호7 -->
     , VRACTNO8 = #{emailRequestDetail.vractno8}                                   <!-- 가상계좌번호8 -->
     , VRACTNO9 = #{emailRequestDetail.vractno9}                                   <!-- 가상계좌번호9 -->
     , VRACTNO10 = #{emailRequestDetail.vractno10}                                 <!-- 가상계좌번호10 -->
     , VRACTNO11 = #{emailRequestDetail.vractno11}                                 <!-- 가상계좌번호11 -->
     , DTL_VAR_DATA1 = #{emailRequestDetail.dtlVarData1}                           <!-- 추가 데이터1 -->
     , DTL_VAR_DATA2 = #{emailRequestDetail.dtlVarData2}                           <!-- 추가 데이터2 -->
     , DTL_VAR_DATA3 = #{emailRequestDetail.dtlVarData3}                           <!-- 추가 데이터3 -->
     , DTL_VAR_DATA4 = #{emailRequestDetail.dtlVarData4}                           <!-- 추가 데이터4 -->
     , DTL_VAR_DATA5 = #{emailRequestDetail.dtlVarData5}                           <!-- 추가 데이터5 -->
     , DLVR_RSLT_ID = #{emailRequestDetail.dlvrRsltId}                             <!-- 배달 결과 ID -->
     , MAKE_RSLT_CD = #{emailRequestDetail.makeRsltCd}                             <!-- 제작 결과 코드 -->
     , VRACTNO = #{emailRequestDetail.vractno}                                     <!-- 가상계좌번호 -->
 WHERE CON_KEY = #{emailRequestDetail.conKey}
   AND RGST_NMBR = #{emailRequestDetail.rgstNmbr}</update>

<update id="updateRequestDetailStatus" parameterType="map">/* 전자우편 신청 상세 상태 변경(emailRequestMapper.updateRequestDetailStatus) */
UPDATE TB_EPOST_RCPT_DTL A
<if test='resultType == "production"'>
     , (<foreach collection="results" item="result" separator=" UNION">
        SELECT #{result.conKey} CON_KEY, #{result.rgstNmbr} RGST_NMBR, #{result.dataCd} MAKE_RSLT_CD</foreach>
       ) B
   SET A.MAKE_RSLT_CD = B.MAKE_RSLT_CD
</if>
<if test='resultType == "delivery"'>
     , (<foreach collection="results" item="result" separator=" UNION">
        SELECT #{result.reletcdata} CON_KEY, #{result.regino} RGST_NMBR, #{result.dlvrRsltId} DLVR_RSLT_ID</foreach>
       ) B
   SET A.DLVR_RSLT_ID = B.DLVR_RSLT_ID
</if>
 WHERE A.CON_KEY = B.CON_KEY
   AND B.RGST_NMBR = B.RGST_NMBR
</update>

</mapper>