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

<!-- 발송 대장 정보 매퍼
 ========== 변경 이력 ==========
 2023-08-25	JoJH 최초 작성
 ============================ -->

	<resultMap id="sndngRow" type="cokr.xit.fims.sndb.Sndng">
		<!-- TB_SNDNG 발송 대장 -->
		<result property="sndngId"				column="SNDNG_ID" />					<!-- 발송 ID -->
		<result property="sggCd"				column="SGG_CD" />						<!-- 시군구 코드 -->
		<result property="taskSeCd"				column="TASK_SE_CD" />					<!-- 업무 구분 코드 -->
		<result property="vltnId"				column="VLTN_ID" />						<!-- 위반 ID -->
		<result property="sndngRegSeCd"			column="SNDNG_REG_SE_CD" />				<!-- 발송 등록 구분 코드 -->
		<result property="sndngSeCd"			column="SNDNG_SE_CD" />					<!-- 발송 구분 코드 -->
		<result property="levyBgngYmd"			column="LEVY_BGNG_YMD" />				<!-- 부과 시작 일자 -->
		<result property="levyEndYmd"			column="LEVY_END_YMD" />				<!-- 부과 종료 일자 -->
		<result property="sndngYmd"				column="SNDNG_YMD" />					<!-- 발송 일자 -->
		<result property="dudtYmd"				column="DUDT_YMD" />					<!-- 납기 일자 -->
		<result property="ttlNm"				column="TTL_NM" />						<!-- 제목 명 -->
		<result property="docNo"				column="DOC_NO" />						<!-- 문서 번호 -->
		<result property="etcCn"				column="ETC_CN" />						<!-- 기타 내용 -->
		<result property="tnocs"				column="TNOCS" />						<!-- 총건수 -->
		<result property="gramt"				column="GRAMT" />						<!-- 총금액 -->
		<result property="conKey"				column="CON_KEY" />						<!-- 외부연계식별키 -->
		<result property="divKb"				column="DIV_KB" />						<!-- 취급 구분 -->
		<result property="epostNoticeId"		column="EPOST_NOTICE_ID" />				<!-- 전자우편 안내문 ID -->
		<result property="sndngSttsCd"			column="SNDNG_STTS_CD" />				<!-- 발송 상태 코드 -->
		<result property="resndYn"				column="RESND_YN" />					<!-- 재발송 여부 -->
		<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="delDt"				column="DEL_DT" />						<!-- 삭제 일시 -->
		<result property="dltr"					column="DLTR" />						<!-- 삭제자 -->
		<result property="delRsn"				column="DEL_RSN" />						<!-- 삭제 사유 -->
	</resultMap>

	<resultMap id="sndngDtlRow" type="cokr.xit.fims.sndb.SndngDtl">
		<result property="sndngDtlId"			column="SNDNG_DTL_ID" />				<!-- 발송 상세 ID -->
		<result property="sndngId"				column="SNDNG_ID" />					<!-- 발송 ID -->
		<result property="svbtcId"				column="SVBTC_ID" />					<!-- 공시송달 ID -->
		<result property="crdnId"				column="CRDN_ID" />						<!-- 단속 ID -->
		<result property="levyId"				column="LEVY_ID" />						<!-- 부과 ID -->
		<result property="vhrno"				column="VHRNO" />						<!-- 차량번호 -->
		<result property="crdnDt"				column="CRDN_DT" />						<!-- 단속 일시 -->
		<result property="crdnPlc"				column="CRDN_PLC" />					<!-- 단속 장소 -->
		<result property="levKey"				column="LEV_KEY" />						<!-- 세외수입 부과키 -->
		<result property="fyr"					column="FYR" />							<!-- 회계연도 -->
		<result property="levyNo"				column="LEVY_NO" />						<!-- 부과 번호 -->
		<result property="sndngYmd"				column="SNDNG_YMD" />					<!-- 발송 일자 -->
		<result property="dudtYmd"				column="DUDT_YMD" />					<!-- 납기 일자 -->
		<result property="ffnlgAmt"				column="FFNLG_AMT" />					<!-- 과태료 금액 -->
		<result property="levyPcptax"			column="LEVY_PCPTAX" />					<!-- 부과 본세 -->
		<result property="levyAdamt"			column="LEVY_ADAMT" />					<!-- 부과 가산금 -->
		<result property="levySumAmt"			column="LEVY_SUM_AMT" />				<!-- 부과 합계 금액 -->
		<result property="rtpyrNm"				column="RTPYR_NM" />					<!-- 납부자 명 -->
		<result property="rtpyrNo"				column="RTPYR_NO" />					<!-- 납부자 번호 -->
		<result property="rtpyrAddr"			column="RTPYR_ADDR" />					<!-- 납부자 주소 -->
		<result property="rtpyrDtlAddr"			column="RTPYR_DTL_ADDR" />				<!-- 납부자 상세 주소 -->
		<result property="rtpyrZip"				column="RTPYR_ZIP" />					<!-- 납부자 우편번호 -->
		<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="undlvrRsnNm"			column="UNDLVR_RSN_NM" />				<!-- 미배달 사유 명 -->
		<result property="rcpnNm"				column="RCPN_NM" />						<!-- 수령인 명 -->
		<result property="rcpnRelNm"			column="RCPN_REL_NM" />					<!-- 수령인 관계 명 -->
		<result property="sndngDtlSttsCd"		column="SNDNG_DTL_STTS_CD" />			<!-- 발송 상세 상태 코드 -->
		<result property="bfrSndngDtlSttsCd"	column="BFR_SNDNG_DTL_STTS_CD" />		<!-- 전 발송 상세 상태 코드 -->
		<result property="bfrDlvrYmd"			column="BFR_DLVR_YMD" />				<!-- 전 배달 일자 -->
		<result property="bfrDlvrHr"			column="BFR_DLVR_HR" />					<!-- 전 배달 시간 -->
		<result property="sndngRcvmtCd"			column="SNDNG_RCVMT_CD" />				<!-- 발송 수납 코드 -->
		<result property="addrChgCd"			column="ADDR_CHG_CD" />					<!-- 주소 변경 코드 -->
		<result property="taxNo"				column="TAX_NO" />						<!-- 납세 번호 -->
		<result property="epayno"				column="EPAYNO" />						<!-- 전자납부번호 -->
		<result property="bankNm"				column="BANK_NM" />						<!-- 은행 명 -->
		<result property="vrActno"				column="VR_ACTNO" />					<!-- 가상 계좌번호 -->
		<result property="bankNm2"				column="BANK_NM_2" />					<!-- 은행 명 2 -->
		<result property="vrActno2"				column="VR_ACTNO_2" />					<!-- 가상 계좌번호 2 -->
		<result property="bankNm3"				column="BANK_NM_3" />					<!-- 은행 명 3 -->
		<result property="vrActno3"				column="VR_ACTNO_3" />					<!-- 가상 계좌번호 3 -->
		<result property="bankNm4"				column="BANK_NM_4" />					<!-- 은행 명 4 -->
		<result property="vrActno4"				column="VR_ACTNO_4" />					<!-- 가상 계좌번호 4 -->
		<result property="bankNm5"				column="BANK_NM_5" />					<!-- 은행 명 5 -->
		<result property="vrActno5"				column="VR_ACTNO_5" />					<!-- 가상 계좌번호 5 -->
		<result property="bankNm6"				column="BANK_NM_6" />					<!-- 은행 명 6 -->
		<result property="vrActno6"				column="VR_ACTNO_6" />					<!-- 가상 계좌번호 6 -->
		<result property="bankNm7"				column="BANK_NM_7" />					<!-- 은행 명 7 -->
		<result property="vrActno7"				column="VR_ACTNO_7" />					<!-- 가상 계좌번호 7 -->
		<result property="bankNm8"				column="BANK_NM_8" />					<!-- 은행 명 8 -->
		<result property="vrActno8"				column="VR_ACTNO_8" />					<!-- 가상 계좌번호 8 -->
		<result property="bankNm9"				column="BANK_NM_9" />					<!-- 은행 명 9 -->
		<result property="vrActno9"				column="VR_ACTNO_9" />					<!-- 가상 계좌번호 9 -->
		<result property="bankNm10"				column="BANK_NM_10" />					<!-- 은행 명 10 -->
		<result property="vrActno10"			column="VR_ACTNO_10" />					<!-- 가상 계좌번호 10 -->
		<result property="bankNm11"				column="BANK_NM_11" />					<!-- 은행 명 11 -->
		<result property="vrActno11"			column="VR_ACTNO_11" />					<!-- 가상 계좌번호 11 -->
		<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="delDt"				column="DEL_DT" />						<!-- 삭제 일시 -->
		<result property="dltr"					column="DLTR" />						<!-- 삭제자 -->
		<result property="delRsn"				column="DEL_RSN" />						<!-- 삭제 사유 -->
	</resultMap>

	<sql id="selectSndng">
        SELECT SNDNG_ID                                                                                         /* 발송 ID */
             , SGG_CD                                                                                           /* 시군구 코드 */
             , TASK_SE_CD                                                                                       /* 업무 구분 코드 */
             , VLTN_ID                                                                                          /* 위반 ID */
             , SNDNG_REG_SE_CD                                                                                  /* 발송 등록 구분 코드 */
             , SNDNG_SE_CD                                                                                      /* 발송 구분 코드 */
             , LEVY_BGNG_YMD                                                                                    /* 부과 시작 일자 */
             , LEVY_END_YMD                                                                                     /* 부과 종료 일자 */
             , SNDNG_YMD                                                                                        /* 발송 일자 */
             , DUDT_YMD                                                                                         /* 납기 일자 */
             , TTL_NM                                                                                           /* 제목 명 */
             , DOC_NO                                                                                           /* 문서 번호 */
             , ETC_CN                                                                                           /* 기타 내용 */
             , TNOCS                                                                                            /* 총건수 */
             , GRAMT                                                                                            /* 총금액 */
             , CON_KEY                                                                                          /* 외부연계식별키 */
             , DIV_KB                                                                                           /* 취급 구분 */
             , EPOST_NOTICE_ID                                                                                  /* 전자우편 안내문 ID */
             , SNDNG_STTS_CD                                                                                    /* 발송 상태 코드 */
             , RESND_YN                                                                                         /* 재발송 여부 */
             , REG_DT                                                                                           /* 등록 일시 */
             , RGTR                                                                                             /* 등록자 */
             , MDFCN_DT                                                                                         /* 수정 일시 */
             , MDFR                                                                                             /* 수정자 */
          FROM TB_SNDNG
	</sql>

<select id="selectSndngList" parameterType="map" resultType="dataobject">/* 발송 대장 목록 조회(sndngMapper.selectSndngList) */
<include refid="utility.paging-prefix" />
<include refid="selectSndng" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></select>

<select id="selectSndngs" parameterType="map" resultMap="sndngRow">/* 발송 대장 객체 가져오기(sndngMapper.selectSndngs) */
<include refid="selectSndng" />
<where></where>
<include refid="utility.orderBy" /></select>

<insert id="insertSndng" parameterType="map">/* 발송 대장 등록(sndngMapper.insertSndng) */
INSERT INTO TB_SNDNG (
       SNDNG_ID        <!-- 발송 ID -->
     , SGG_CD          <!-- 시군구 코드 -->
     , VLTN_ID         <!-- 위반 ID -->
     , SNDNG_REG_SE_CD <!-- 발송 등록 구분 코드 -->
     , SNDNG_SE_CD     <!-- 발송 구분 코드 -->
     , LEVY_BGNG_YMD   <!-- 부과 시작 일자 -->
     , LEVY_END_YMD    <!-- 부과 종료 일자 -->
     , SNDNG_YMD       <!-- 발송 일자 -->
     , DUDT_YMD        <!-- 납기 일자 -->
     , TTL_NM          <!-- 제목 명 -->
     , DOC_NO          <!-- 문서 번호 -->
     , ETC_CN          <!-- 기타 내용 -->
     , TNOCS           <!-- 총건수 -->
     , GRAMT           <!-- 총금액 -->
     , CON_KEY         <!-- 외부연계식별키 -->
     , DIV_KB          <!-- 취급 구분 -->
     , EPOST_NOTICE_ID <!-- 전자우편 안내문 ID -->
     , SNDNG_STTS_CD   <!-- 발송 상태 코드 -->
     , RESND_YN        <!-- 재발송 여부 -->
     , REG_DT          <!-- 등록 일시 -->
     , RGTR            <!-- 등록자 -->
     , MDFCN_DT        <!-- 수정 일시 -->
     , MDFR            <!-- 수정자 -->
     , TASK_SE_CD      <!-- 업무 구분 코드 -->
) VALUES (
       #{sndng.sndngId}                <!-- 발송 ID -->
     , #{sndng.sggCd}                  <!-- 시군구 코드 -->
     , #{sndng.vltnId}                 <!-- 위반 ID -->
     , #{sndng.sndngRegSeCd}           <!-- 발송 등록 구분 코드 -->
     , #{sndng.sndngSeCd}              <!-- 발송 구분 코드 -->
     , #{sndng.levyBgngYmd}            <!-- 부과 시작 일자 -->
     , #{sndng.levyEndYmd}             <!-- 부과 종료 일자 -->
     , #{sndng.sndngYmd}               <!-- 발송 일자 -->
     , #{sndng.dudtYmd}                <!-- 납기 일자 -->
     , #{sndng.ttlNm}                  <!-- 제목 명 -->
     , #{sndng.docNo}                  <!-- 문서 번호 -->
     , #{sndng.etcCn}                  <!-- 기타 내용 -->
     , #{sndng.tnocs}                  <!-- 총건수 -->
     , #{sndng.gramt}                  <!-- 총금액 -->
     , #{sndng.conKey}                 <!-- 외부연계식별키 -->
     , #{sndng.divKb}                  <!-- 취급 구분 -->
     , #{sndng.epostNoticeId}          <!-- 전자우편 안내문 ID -->
     , #{sndng.sndngSttsCd}            <!-- 발송 상태 코드 -->
     , #{sndng.resndYn}                <!-- 재발송 여부 -->
     , <include refid="utility.now" /> <!-- 등록 일시 -->
     , #{currentUser.id}               <!-- 등록자 -->
     , <include refid="utility.now" /> <!-- 수정 일시 -->
     , #{currentUser.id}               <!-- 수정자 -->
     , #{sndng.taskSeCd}               <!-- 업무 구분 코드 -->
)</insert>

<update id="updateSndng" parameterType="map">/* 발송 대장 수정(sndngMapper.updateSndng) */
UPDATE TB_SNDNG SET
       SGG_CD = #{sndng.sggCd}                    <!-- 시군구 코드 -->
     , VLTN_ID = #{sndng.vltnId}                  <!-- 위반 ID -->
     , SNDNG_REG_SE_CD = #{sndng.sndngRegSeCd}    <!-- 발송 등록 구분 코드 -->
     , SNDNG_SE_CD = #{sndng.sndngSeCd}           <!-- 발송 구분 코드 -->
     , LEVY_BGNG_YMD = #{sndng.levyBgngYmd}       <!-- 부과 시작 일자 -->
     , LEVY_END_YMD = #{sndng.levyEndYmd}         <!-- 부과 종료 일자 -->
     , SNDNG_YMD = #{sndng.sndngYmd}              <!-- 발송 일자 -->
     , DUDT_YMD = #{sndng.dudtYmd}                <!-- 납기 일자 -->
     , TTL_NM = #{sndng.ttlNm}                    <!-- 제목 명 -->
     , DOC_NO = #{sndng.docNo}                    <!-- 문서 번호 -->
     , ETC_CN = #{sndng.etcCn}                    <!-- 기타 내용 -->
     , TNOCS = #{sndng.tnocs}                     <!-- 총건수 -->
     , GRAMT = #{sndng.gramt}                     <!-- 총금액 -->
     , CON_KEY = #{sndng.conKey}                  <!-- 외부연계식별키 -->
     , DIV_KB = #{sndng.divKb}                    <!-- 취급 구분 -->
     , EPOST_NOTICE_ID = #{sndng.epostNoticeId}   <!-- 전자우편 안내문 ID -->
     , SNDNG_STTS_CD = #{sndng.sndngSttsCd}       <!-- 발송 상태 코드 -->
     , RESND_YN = #{sndng.resndYn}                <!-- 재발송 여부 -->
     , MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
     , MDFR = #{currentUser.id}                   <!-- 수정자 -->
     , TASK_SE_CD = #{sndng.taskSeCd}             <!-- 업무 구분 코드 -->
 WHERE SNDNG_ID = #{sndng.sndngId}</update>

<update id="deleteSndng" parameterType="map">/* 발송 대장 삭제(sndngMapper.deleteSndng) */
UPDATE TB_SNDNG SET
       USE_YN = 'N'
     , MDFCN_DT =<include refid="utility.now" />
     , MDFR = #{currentUser.id}
 WHERE SNDNG_ID = #{sndng.sndngId}</update>

	<sql id="selectSndngDtl">
        SELECT SD.SNDNG_DTL_ID                                                                                  /* 발송 상세 ID */
             , SD.SNDNG_ID                                                                                      /* 발송 ID */
             , SD.SVBTC_ID                                                                                      /* 공시송달 ID */
             , SD.CRDN_ID                                                                                       /* 단속 ID */
             , SD.LEVY_ID                                                                                       /* 부과 ID */
             , SD.VHRNO                                                                                         /* 차량번호 */
             , SD.CRDN_DT                                                                                       /* 단속 일시 */
             , SD.CRDN_PLC                                                                                      /* 단속 장소 */
             , SD.LEV_KEY                                                                                       /* 세외수입 부과키 */
             , SD.FYR                                                                                           /* 회계연도 */
             , SD.LEVY_NO                                                                                       /* 부과 번호 */
             , SD.SNDNG_YMD                                                                                     /* 발송 일자 */
             , SD.DUDT_YMD                                                                                      /* 납기 일자 */
             , SD.FFNLG_AMT                                                                                     /* 과태료 금액 */
             , SD.LEVY_PCPTAX                                                                                   /* 부과 본세 */
             , SD.LEVY_ADAMT                                                                                    /* 부과 가산금 */
             , SD.LEVY_SUM_AMT                                                                                  /* 부과 합계 금액 */
             , SD.RTPYR_NM                                                                                      /* 납부자 명 */
             , SD.RTPYR_NO                                                                                      /* 납부자 번호 */
             , SD.RTPYR_ADDR                                                                                    /* 납부자 주소 */
             , SD.RTPYR_DTL_ADDR                                                                                /* 납부자 상세 주소 */
             , SD.RTPYR_ZIP                                                                                     /* 납부자 우편번호 */
             , SD.CON_KEY                                                                                       /* 외부연계식별키 */
             , SD.RG_NO                                                                                         /* 등기 번호 */
             , SD.DLVR_YMD                                                                                      /* 배달 일자 */
             , SD.DLVR_TM                                                                                       /* 배달 시각 */
             , SD.UNDLVR_RSN_NM                                                                                 /* 미배달 사유 명 */
             , SD.RCPN_NM                                                                                       /* 수령인 명 */
             , SD.RCPN_REL_NM                                                                                   /* 수령인 관계 명 */
             , SD.SNDNG_DTL_STTS_CD                                                                             /* 발송 상세 상태 코드 */
             , (SELECT FN_GET_CODE_NM('FIM050', SD.SNDNG_DTL_STTS_CD) FROM DUAL)        AS SNDNG_DTL_STTS_NM    /* 발송 상세 상태 명 */
             , SD.BFR_SNDNG_DTL_STTS_CD                                                                         /* 전 발송 상세 상태 코드 */
             , (SELECT FN_GET_CODE_NM('FIM050', SD.BFR_SNDNG_DTL_STTS_CD) FROM DUAL)    AS BFR_SNDNG_DTL_STTS_NM/* 전 발송 상세 상태 명 */
             , SD.BFR_DLVR_YMD                                                                                  /* 전 배달 일자 */
             , SD.BFR_DLVR_HR                                                                                   /* 전 배달 시간 */
             , SD.SNDNG_RCVMT_CD                                                                                /* 발송 수납 코드 */
             , (SELECT FN_GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL)           AS SNDNG_RCVMT_NM       /* 발송 수납 명 */
             , SD.ADDR_CHG_CD                                                                                   /* 주소 변경 코드 */
             , SD.TAX_NO                                                                                        /* 납세 번호 */
             , SD.EPAYNO                                                                                        /* 전자납부번호 */
             , SD.BANK_NM                                                                                       /* 은행 명 */
             , SD.VR_ACTNO                                                                                      /* 가상 계좌번호 */
             , SD.BANK_NM_2                                                                                     /* 은행 명 2 */
             , SD.VR_ACTNO_2                                                                                    /* 가상 계좌번호 2 */
             , SD.BANK_NM_3                                                                                     /* 은행 명 3 */
             , SD.VR_ACTNO_3                                                                                    /* 가상 계좌번호 3 */
             , SD.BANK_NM_4                                                                                     /* 은행 명 4 */
             , SD.VR_ACTNO_4                                                                                    /* 가상 계좌번호 4 */
             , SD.BANK_NM_5                                                                                     /* 은행 명 5 */
             , SD.VR_ACTNO_5                                                                                    /* 가상 계좌번호 5 */
             , SD.BANK_NM_6                                                                                     /* 은행 명 6 */
             , SD.VR_ACTNO_6                                                                                    /* 가상 계좌번호 6 */
             , SD.BANK_NM_7                                                                                     /* 은행 명 7 */
             , SD.VR_ACTNO_7                                                                                    /* 가상 계좌번호 7 */
             , SD.BANK_NM_8                                                                                     /* 은행 명 8 */
             , SD.VR_ACTNO_8                                                                                    /* 가상 계좌번호 8 */
             , SD.BANK_NM_9                                                                                     /* 은행 명 9 */
             , SD.VR_ACTNO_9                                                                                    /* 가상 계좌번호 9 */
             , SD.BANK_NM_10                                                                                    /* 은행 명 10 */
             , SD.VR_ACTNO_10                                                                                   /* 가상 계좌번호 10 */
             , SD.BANK_NM_11                                                                                    /* 은행 명 11 */
             , SD.VR_ACTNO_11                                                                                   /* 가상 계좌번호 11 */
             , SD.REG_DT                                                                                        /* 등록 일시 */
             , SD.RGTR                                                                                          /* 등록자 */
             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.RGTR)                AS RGTR_NM              /* 등록자 명 */
             , SD.MDFCN_DT                                                                                      /* 수정 일시 */
             , SD.MDFR                                                                                          /* 수정자 */
             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.MDFR)                AS MDFR_NM              /* 수정자 명 */
             , SD.DEL_DT                                                                                        /* 삭제 일시 */
             , SD.DLTR                                                                                          /* 삭제자 */
             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.DLTR)                AS DLTR_NM              /* 삭제자 명 */
             , SD.DEL_RSN                                                                                       /* 삭제 사유 */
             , S.SGG_CD                                                                                         /* 시군구 코드 */
             , S.TASK_SE_CD                                                                                     /* 업무 구분 코드 */
             , S.VLTN_ID                                                                                        /* 위반 ID */
             , S.SNDNG_REG_SE_CD                                                                                /* 발송 등록 구분 코드 */
             , S.SNDNG_SE_CD                                                                                    /* 발송 구분 코드 */
             , (SELECT FN_GET_CODE_NM('FIM047', S.SNDNG_SE_CD) FROM DUAL)               AS SNDNG_SE_NM          /* 발송 구분 명 */
             , S.LEVY_BGNG_YMD                                                                                  /* 부과 시작 일자 */
             , S.LEVY_END_YMD                                                                                   /* 부과 종료 일자 */
             , S.TTL_NM                                                                                         /* 제목 명 */
             , S.DOC_NO                                                                                         /* 문서 번호 */
             , S.ETC_CN                                                                                         /* 기타 내용 */
             , S.TNOCS                                                                                          /* 총건수 */
             , S.GRAMT                                                                                          /* 총금액 */
             , S.CON_KEY                                                                                        /* 외부연계식별키 */
             , S.DIV_KB                                                                                         /* 취급 구분 */
             , S.EPOST_NOTICE_ID                                                                                /* 전자우편 안내문 ID */
             , S.SNDNG_STTS_CD                                                                                  /* 발송 상태 코드 */
             , S.RESND_YN                                                                                       /* 재발송 여부 */
             , SV.SVBTC_YMD                                                                                     /* 공시송달 일자 */
          FROM TB_SNDNG_DTL         SD
         INNER JOIN TB_SNDNG        S   ON (SD.SNDNG_ID = S.SNDNG_ID)
    LEFT OUTER JOIN TB_SVBTC        SV  ON (SD.SVBTC_ID = SV.SVBTC_ID)
	</sql>

	<select id="selectSndngDtlList" parameterType="map" resultType="dataobject">/* 발송 상세 목록 조회(sndngMapper.selectSndngDtlList) */
		<include refid="utility.paging-prefix" />
		<include refid="selectSndngDtl" />
		<where></where>
		<include refid="utility.orderBy" />
		<include refid="utility.paging-suffix" />
	</select>

	<select id="selectSndngDtls" parameterType="map" resultType="dataobject">/* 발송 상세 객체 가져오기(sndngMapper.selectSndngDtls) */
		<include refid="selectSndngDtl" />
        <where>
            <if test="sndngDtlId != null">
           AND SD.SNDNG_DTL_ID          =  #{sndngDtlId}                                                        /* 발송 상세 ID */
            </if>
            <if test="sndngId != null">
           AND SD.SNDNG_ID              =  #{sndngId}                                                           /* 발송 ID */
            </if>
            <if test="crdnId != null">
           AND SD.CRDN_ID               =  #{crdnId}                                                            /* 단속 ID */
            </if>
        </where>
		<include refid="utility.orderBy" />
	</select>

<insert id="insertSndngDtl" parameterType="map">/* 발송 상세 등록(sndngMapper.insertSndngDtl) */
INSERT INTO TB_SNDNG_DTL (
       SNDNG_DTL_ID          <!-- 발송 상세 ID -->
     , SNDNG_ID              <!-- 발송 ID -->
     , SVBTC_ID              <!-- 공시송달 ID -->
     , CRDN_ID               <!-- 단속 ID -->
     , LEVY_ID               <!-- 부과 ID -->
     , VHRNO                 <!-- 차량번호 -->
     , CRDN_DT               <!-- 단속 일시 -->
     , CRDN_PLC              <!-- 단속 장소 -->
     , LEV_KEY               <!-- 세외수입 부과키 -->
     , FYR                   <!-- 회계연도 -->
     , LEVY_NO               <!-- 부과 번호 -->
     , SNDNG_YMD             <!-- 발송 일자 -->
     , DUDT_YMD              <!-- 납기 일자 -->
     , FFNLG_AMT             <!-- 과태료 금액 -->
     , LEVY_PCPTAX           <!-- 부과 본세 -->
     , LEVY_ADAMT            <!-- 부과 가산금 -->
     , LEVY_SUM_AMT          <!-- 부과 합계 금액 -->
     , RTPYR_NM              <!-- 납부자 명 -->
     , RTPYR_NO              <!-- 납부자 번호 -->
     , RTPYR_ADDR            <!-- 납부자 주소 -->
     , RTPYR_DTL_ADDR        <!-- 납부자 상세 주소 -->
     , RTPYR_ZIP             <!-- 납부자 우편번호 -->
     , CON_KEY               <!-- 외부연계식별키 -->
     , RG_NO                 <!-- 등기 번호 -->
     , DLVR_YMD              <!-- 배달 일자 -->
     , DLVR_TM               <!-- 배달 시각 -->
     , UNDLVR_RSN_NM         <!-- 미배달 사유 명 -->
     , RCPN_NM               <!-- 수령인 명 -->
     , RCPN_REL_NM           <!-- 수령인 관계 명 -->
     , SNDNG_DTL_STTS_CD     <!-- 발송 상세 상태 코드 -->
     , BFR_SNDNG_DTL_STTS_CD <!-- 전 발송 상세 상태 코드 -->
     , BFR_DLVR_YMD          <!-- 전 배달 일자 -->
     , BFR_DLVR_HR           <!-- 전 배달 시간 -->
     , SNDNG_RCVMT_CD        <!-- 발송 수납 코드 -->
     , ADDR_CHG_CD           <!-- 주소 변경 코드 -->
     , TAX_NO                <!-- 납세 번호 -->
     , EPAYNO                <!-- 전자납부번호 -->
     , BANK_NM               <!-- 은행 명 -->
     , VR_ACTNO              <!-- 가상 계좌번호 -->
     , BANK_NM_2             <!-- 은행 명 2 -->
     , VR_ACTNO_2            <!-- 가상 계좌번호 2 -->
     , BANK_NM_3             <!-- 은행 명 3 -->
     , VR_ACTNO_3            <!-- 가상 계좌번호 3 -->
     , BANK_NM_4             <!-- 은행 명 4 -->
     , VR_ACTNO_4            <!-- 가상 계좌번호 4 -->
     , BANK_NM_5             <!-- 은행 명 5 -->
     , VR_ACTNO_5            <!-- 가상 계좌번호 5 -->
     , BANK_NM_6             <!-- 은행 명 6 -->
     , VR_ACTNO_6            <!-- 가상 계좌번호 6 -->
     , BANK_NM_7             <!-- 은행 명 7 -->
     , VR_ACTNO_7            <!-- 가상 계좌번호 7 -->
     , BANK_NM_8             <!-- 은행 명 8 -->
     , VR_ACTNO_8            <!-- 가상 계좌번호 8 -->
     , BANK_NM_9             <!-- 은행 명 9 -->
     , VR_ACTNO_9            <!-- 가상 계좌번호 9 -->
     , BANK_NM_10            <!-- 은행 명 10 -->
     , VR_ACTNO_10           <!-- 가상 계좌번호 10 -->
     , BANK_NM_11            <!-- 은행 명 11 -->
     , VR_ACTNO_11           <!-- 가상 계좌번호 11 -->
     , REG_DT                <!-- 등록 일시 -->
     , RGTR                  <!-- 등록자 -->
     , MDFCN_DT              <!-- 수정 일시 -->
     , MDFR                  <!-- 수정자 -->
) VALUES (
       #{sndngDtl.sndngDtlId}          <!-- 발송 상세 ID -->
     , #{sndngDtl.sndngId}             <!-- 발송 ID -->
     , #{sndngDtl.svbtcId}             <!-- 공시송달 ID -->
     , #{sndngDtl.crdnId}              <!-- 단속 ID -->
     , #{sndngDtl.levyId}              <!-- 부과 ID -->
     , #{sndngDtl.vhrno}               <!-- 차량번호 -->
     , #{sndngDtl.crdnDt}              <!-- 단속 일시 -->
     , #{sndngDtl.crdnPlc}             <!-- 단속 장소 -->
     , #{sndngDtl.levKey}              <!-- 세외수입 부과키 -->
     , #{sndngDtl.fyr}                 <!-- 회계연도 -->
     , #{sndngDtl.levyNo}              <!-- 부과 번호 -->
     , #{sndngDtl.sndngYmd}            <!-- 발송 일자 -->
     , #{sndngDtl.dudtYmd}             <!-- 납기 일자 -->
     , #{sndngDtl.ffnlgAmt}            <!-- 과태료 금액 -->
     , #{sndngDtl.levyPcptax}          <!-- 부과 본세 -->
     , #{sndngDtl.levyAdamt}           <!-- 부과 가산금 -->
     , #{sndngDtl.levySumAmt}          <!-- 부과 합계 금액 -->
     , #{sndngDtl.rtpyrNm}             <!-- 납부자 명 -->
     , #{sndngDtl.rtpyrNo}             <!-- 납부자 번호 -->
     , #{sndngDtl.rtpyrAddr}           <!-- 납부자 주소 -->
     , #{sndngDtl.rtpyrDtlAddr}        <!-- 납부자 상세 주소 -->
     , #{sndngDtl.rtpyrZip}            <!-- 납부자 우편번호 -->
     , #{sndngDtl.conKey}              <!-- 외부연계식별키 -->
     , #{sndngDtl.rgNo}                <!-- 등기 번호 -->
     , #{sndngDtl.dlvrYmd}             <!-- 배달 일자 -->
     , #{sndngDtl.dlvrTm}              <!-- 배달 시각 -->
     , #{sndngDtl.undlvrRsnNm}         <!-- 미배달 사유 명 -->
     , #{sndngDtl.rcpnNm}              <!-- 수령인 명 -->
     , #{sndngDtl.rcpnRelNm}           <!-- 수령인 관계 명 -->
     , #{sndngDtl.sndngDtlSttsCd}      <!-- 발송 상세 상태 코드 -->
     , #{sndngDtl.bfrSndngDtlSttsCd}   <!-- 전 발송 상세 상태 코드 -->
     , #{sndngDtl.bfrDlvrYmd}          <!-- 전 배달 일자 -->
     , #{sndngDtl.bfrDlvrHr}           <!-- 전 배달 시간 -->
     , #{sndngDtl.sndngRcvmtCd}        <!-- 발송 수납 코드 -->
     , #{sndngDtl.addrChgCd}           <!-- 주소 변경 코드 -->
     , #{sndngDtl.taxNo}               <!-- 납세 번호 -->
     , #{sndngDtl.epayno}              <!-- 전자납부번호 -->
     , #{sndngDtl.bankNm}              <!-- 은행 명 -->
     , #{sndngDtl.vrActno}             <!-- 가상 계좌번호 -->
     , #{sndngDtl.bankNm2}             <!-- 은행 명 2 -->
     , #{sndngDtl.vrActno2}            <!-- 가상 계좌번호 2 -->
     , #{sndngDtl.bankNm3}             <!-- 은행 명 3 -->
     , #{sndngDtl.vrActno3}            <!-- 가상 계좌번호 3 -->
     , #{sndngDtl.bankNm4}             <!-- 은행 명 4 -->
     , #{sndngDtl.vrActno4}            <!-- 가상 계좌번호 4 -->
     , #{sndngDtl.bankNm5}             <!-- 은행 명 5 -->
     , #{sndngDtl.vrActno5}            <!-- 가상 계좌번호 5 -->
     , #{sndngDtl.bankNm6}             <!-- 은행 명 6 -->
     , #{sndngDtl.vrActno6}            <!-- 가상 계좌번호 6 -->
     , #{sndngDtl.bankNm7}             <!-- 은행 명 7 -->
     , #{sndngDtl.vrActno7}            <!-- 가상 계좌번호 7 -->
     , #{sndngDtl.bankNm8}             <!-- 은행 명 8 -->
     , #{sndngDtl.vrActno8}            <!-- 가상 계좌번호 8 -->
     , #{sndngDtl.bankNm9}             <!-- 은행 명 9 -->
     , #{sndngDtl.vrActno9}            <!-- 가상 계좌번호 9 -->
     , #{sndngDtl.bankNm10}            <!-- 은행 명 10 -->
     , #{sndngDtl.vrActno10}           <!-- 가상 계좌번호 10 -->
     , #{sndngDtl.bankNm11}            <!-- 은행 명 11 -->
     , #{sndngDtl.vrActno11}           <!-- 가상 계좌번호 11 -->
     , <include refid="utility.now" /> <!-- 등록 일시 -->
     , #{currentUser.id}               <!-- 등록자 -->
     , <include refid="utility.now" /> <!-- 수정 일시 -->
     , #{currentUser.id}               <!-- 수정자 -->
)</insert>

<update id="updateSndngDtl" parameterType="map">/* 발송 상세 수정(sndngMapper.updateSndngDtl) */
UPDATE TB_SNDNG_DTL SET
       SNDNG_ID = #{sndngDtl.sndngId}                        <!-- 발송 ID -->
     , SVBTC_ID = #{sndngDtl.svbtcId}                        <!-- 공시송달 ID -->
     , CRDN_ID = #{sndngDtl.crdnId}                          <!-- 단속 ID -->
     , LEVY_ID = #{sndngDtl.levyId}                          <!-- 부과 ID -->
     , VHRNO = #{sndngDtl.vhrno}                             <!-- 차량번호 -->
     , CRDN_DT = #{sndngDtl.crdnDt}                          <!-- 단속 일시 -->
     , CRDN_PLC = #{sndngDtl.crdnPlc}                        <!-- 단속 장소 -->
     , LEV_KEY = #{sndngDtl.levKey}                          <!-- 세외수입 부과키 -->
     , FYR = #{sndngDtl.fyr}                                 <!-- 회계연도 -->
     , LEVY_NO = #{sndngDtl.levyNo}                          <!-- 부과 번호 -->
     , SNDNG_YMD = #{sndngDtl.sndngYmd}                      <!-- 발송 일자 -->
     , DUDT_YMD = #{sndngDtl.dudtYmd}                        <!-- 납기 일자 -->
     , FFNLG_AMT = #{sndngDtl.ffnlgAmt}                      <!-- 과태료 금액 -->
     , LEVY_PCPTAX = #{sndngDtl.levyPcptax}                  <!-- 부과 본세 -->
     , LEVY_ADAMT = #{sndngDtl.levyAdamt}                    <!-- 부과 가산금 -->
     , LEVY_SUM_AMT = #{sndngDtl.levySumAmt}                 <!-- 부과 합계 금액 -->
     , RTPYR_NM = #{sndngDtl.rtpyrNm}                        <!-- 납부자 명 -->
     , RTPYR_NO = #{sndngDtl.rtpyrNo}                        <!-- 납부자 번호 -->
     , RTPYR_ADDR = #{sndngDtl.rtpyrAddr}                    <!-- 납부자 주소 -->
     , RTPYR_DTL_ADDR = #{sndngDtl.rtpyrDtlAddr}             <!-- 납부자 상세 주소 -->
     , RTPYR_ZIP = #{sndngDtl.rtpyrZip}                      <!-- 납부자 우편번호 -->
     , CON_KEY = #{sndngDtl.conKey}                          <!-- 외부연계식별키 -->
     , RG_NO = #{sndngDtl.rgNo}                              <!-- 등기 번호 -->
     , DLVR_YMD = #{sndngDtl.dlvrYmd}                        <!-- 배달 일자 -->
     , DLVR_TM = #{sndngDtl.dlvrTm}                          <!-- 배달 시각 -->
     , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm}               <!-- 미배달 사유 명 -->
     , RCPN_NM = #{sndngDtl.rcpnNm}                          <!-- 수령인 명 -->
     , RCPN_REL_NM = #{sndngDtl.rcpnRelNm}                   <!-- 수령인 관계 명 -->
     , SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}        <!-- 발송 상세 상태 코드 -->
     , BFR_SNDNG_DTL_STTS_CD = #{sndngDtl.bfrSndngDtlSttsCd} <!-- 전 발송 상세 상태 코드 -->
     , BFR_DLVR_YMD = #{sndngDtl.bfrDlvrYmd}                 <!-- 전 배달 일자 -->
     , BFR_DLVR_HR = #{sndngDtl.bfrDlvrHr}                   <!-- 전 배달 시간 -->
     , SNDNG_RCVMT_CD = #{sndngDtl.sndngRcvmtCd}             <!-- 발송 수납 코드 -->
     , ADDR_CHG_CD = #{sndngDtl.addrChgCd}                   <!-- 주소 변경 코드 -->
     , TAX_NO = #{sndngDtl.taxNo}                            <!-- 납세 번호 -->
     , EPAYNO = #{sndngDtl.epayno}                           <!-- 전자납부번호 -->
     , BANK_NM = #{sndngDtl.bankNm}                          <!-- 은행 명 -->
     , VR_ACTNO = #{sndngDtl.vrActno}                        <!-- 가상 계좌번호 -->
     , BANK_NM_2 = #{sndngDtl.bankNm2}                       <!-- 은행 명 2 -->
     , VR_ACTNO_2 = #{sndngDtl.vrActno2}                     <!-- 가상 계좌번호 2 -->
     , BANK_NM_3 = #{sndngDtl.bankNm3}                       <!-- 은행 명 3 -->
     , VR_ACTNO_3 = #{sndngDtl.vrActno3}                     <!-- 가상 계좌번호 3 -->
     , BANK_NM_4 = #{sndngDtl.bankNm4}                       <!-- 은행 명 4 -->
     , VR_ACTNO_4 = #{sndngDtl.vrActno4}                     <!-- 가상 계좌번호 4 -->
     , BANK_NM_5 = #{sndngDtl.bankNm5}                       <!-- 은행 명 5 -->
     , VR_ACTNO_5 = #{sndngDtl.vrActno5}                     <!-- 가상 계좌번호 5 -->
     , BANK_NM_6 = #{sndngDtl.bankNm6}                       <!-- 은행 명 6 -->
     , VR_ACTNO_6 = #{sndngDtl.vrActno6}                     <!-- 가상 계좌번호 6 -->
     , BANK_NM_7 = #{sndngDtl.bankNm7}                       <!-- 은행 명 7 -->
     , VR_ACTNO_7 = #{sndngDtl.vrActno7}                     <!-- 가상 계좌번호 7 -->
     , BANK_NM_8 = #{sndngDtl.bankNm8}                       <!-- 은행 명 8 -->
     , VR_ACTNO_8 = #{sndngDtl.vrActno8}                     <!-- 가상 계좌번호 8 -->
     , BANK_NM_9 = #{sndngDtl.bankNm9}                       <!-- 은행 명 9 -->
     , VR_ACTNO_9 = #{sndngDtl.vrActno9}                     <!-- 가상 계좌번호 9 -->
     , BANK_NM_10 = #{sndngDtl.bankNm10}                     <!-- 은행 명 10 -->
     , VR_ACTNO_10 = #{sndngDtl.vrActno10}                   <!-- 가상 계좌번호 10 -->
     , BANK_NM_11 = #{sndngDtl.bankNm11}                     <!-- 은행 명 11 -->
     , VR_ACTNO_11 = #{sndngDtl.vrActno11}                   <!-- 가상 계좌번호 11 -->
     , MDFCN_DT = <include refid="utility.now" />            <!-- 수정 일시 -->
     , MDFR = #{currentUser.id}                              <!-- 수정자 -->
 WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}</update>

    <update id="deleteSndngDtl" parameterType="map">/* 발송 상세 삭제(sndngMapper.deleteSndngDtl) */
        UPDATE TB_SNDNG_DTL SET
               DEL_YN = 'N'
             , DEL_DT = <include refid="utility.now" />
             , DLTR = #{currentUser.id}
             , DEL_RSN = #{sndngDtl.delRsn}
         WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
    </update>

</mapper>
