<?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.excl.dao.OpnnDlbrMbrMapper">

<!-- 의견제출 심의 회원 정보 매퍼
 ========== 변경 이력 ==========
 2024-05-17	JoJH 최초 작성
 ============================ -->

    <resultMap id="opnnDlbrMbrRow" type="cokr.xit.fims.excl.OpnnDlbrMbr"> <!-- 의견제출 심의 회원 -->
    	<result property="mngId"         column="MNG_ID" />         <!-- 관리 ID -->
        <result property="sggCd"         column="SGG_CD" />         <!-- 시군구 코드 -->
        <result property="taskSeCd"      column="TASK_SE_CD" />     <!-- 업무 구분 코드 -->
        <result property="dlbrMbrJbgd1"  column="DLBR_MBR_JBGD1" /> <!-- 심의 회원 직급1 -->
        <result property="dlbrMbrNm1"    column="DLBR_MBR_NM1" />   <!-- 심의 회원 명1 -->
        <result property="dlbrMbrJbgd2"  column="DLBR_MBR_JBGD2" /> <!-- 심의 회원 직급2 -->
        <result property="dlbrMbrNm2"    column="DLBR_MBR_NM2" />   <!-- 심의 회원 명2 -->
        <result property="dlbrMbrJbgd3"  column="DLBR_MBR_JBGD3" /> <!-- 심의 회원 직급3 -->
        <result property="dlbrMbrNm3"    column="DLBR_MBR_NM3" />   <!-- 심의 회원 명3 -->
        <result property="dlbrMbrJbgd4"  column="DLBR_MBR_JBGD4" /> <!-- 심의 회원 직급4 -->
        <result property="dlbrMbrNm4"    column="DLBR_MBR_NM4" />   <!-- 심의 회원 명4 -->
        <result property="dlbrMbrJbgd5"  column="DLBR_MBR_JBGD5" /> <!-- 심의 회원 직급5 -->
        <result property="dlbrMbrNm5"    column="DLBR_MBR_NM5" />   <!-- 심의 회원 명5 -->
        <result property="dlbrMbrJbgd6"  column="DLBR_MBR_JBGD6" /> <!-- 심의 회원 직급6 -->
        <result property="dlbrMbrNm6"    column="DLBR_MBR_NM6" />   <!-- 심의 회원 명6 -->
        <result property="dlbrMbrJbgd7"  column="DLBR_MBR_JBGD7" /> <!-- 심의 회원 직급7 -->
        <result property="dlbrMbrNm7"    column="DLBR_MBR_NM7" />   <!-- 심의 회원 명7 -->
        <result property="createdAt"     column="REG_DT" />         <!-- 등록 일시 -->
        <result property="createdBy"     column="RGTR" />           <!-- 등록자 -->
        <result property="lastModified"  column="MDFCN_DT" />       <!-- 수정 일시 -->
        <result property="modifiedBy"    column="MDFR" />           <!-- 수정자 -->
    </resultMap>

    <sql id="select">
        SELECT SGG_CD         <!-- 시군구 코드 -->
             , TASK_SE_CD     <!-- 업무 구분 코드 -->
             , DLBR_MBR_JBGD1 <!-- 심의 회원 직급1 -->
             , DLBR_MBR_NM1   <!-- 심의 회원 명1 -->
             , DLBR_MBR_JBGD2 <!-- 심의 회원 직급2 -->
             , DLBR_MBR_NM2   <!-- 심의 회원 명2 -->
             , DLBR_MBR_JBGD3 <!-- 심의 회원 직급3 -->
             , DLBR_MBR_NM3   <!-- 심의 회원 명3 -->
             , DLBR_MBR_JBGD4 <!-- 심의 회원 직급4 -->
             , DLBR_MBR_NM4   <!-- 심의 회원 명4 -->
             , DLBR_MBR_JBGD5 <!-- 심의 회원 직급5 -->
             , DLBR_MBR_NM5   <!-- 심의 회원 명5 -->
             , DLBR_MBR_JBGD6 <!-- 심의 회원 직급6 -->
             , DLBR_MBR_NM6   <!-- 심의 회원 명6 -->
             , DLBR_MBR_JBGD7 <!-- 심의 회원 직급7 -->
             , DLBR_MBR_NM7   <!-- 심의 회원 명7 -->
             , REG_DT         <!-- 등록 일시 -->
             , RGTR           <!-- 등록자 -->
             , MDFCN_DT       <!-- 수정 일시 -->
             , MDFR           <!-- 수정자 -->
          FROM TB_OPNN_DLBR_MBR
    </sql>

    <select id="selectOpnnDlbrMbrList" parameterType="map" resultType="dataobject">/* 의견제출 심의 회원 목록 조회(opnnDlbrMbrMapper.selectOpnnDlbrMbrList) */
        <include refid="utility.paging-prefix" />
        <include refid="select" />
         WHERE SGG_CD     = #{sggCd}
           AND TASK_SE_CD = #{taskSeCd}
        <include refid="utility.orderBy" />
        <include refid="utility.paging-suffix" />
    </select>

    <select id="selectOpnnDlbrMbrs" parameterType="map" resultType="dataobject">/* 의견제출 심의 회원 객체 가져오기(opnnDlbrMbrMapper.selectOpnnDlbrMbrs) */
        <include refid="select" />
         WHERE SGG_CD     = #{sggCd}
           AND TASK_SE_CD = #{taskSeCd}
        <include refid="utility.orderBy" />
    </select>

    <select id="selectOpnnDlbrMbrInfo" parameterType="map" resultType="dataobject">/* 의견제출 심의 회원 정보 가져오기(opnnDlbrMbrMapper.selectOpnnDlbrMbrInfo) */
        SELECT T.SGG_CD             <!-- 시군구 코드 -->
             , T.TASK_SE_CD         <!-- 업무 구분 코드 -->
             , ODM.MNG_ID           <!-- 관리 ID -->
             , ODM.DLBR_MBR_JBGD1   <!-- 심의 회원 직급1 -->
             , ODM.DLBR_MBR_NM1     <!-- 심의 회원 명1 -->
             , ODM.DLBR_MBR_JBGD2   <!-- 심의 회원 직급2 -->
             , ODM.DLBR_MBR_NM2     <!-- 심의 회원 명2 -->
             , ODM.DLBR_MBR_JBGD3   <!-- 심의 회원 직급3 -->
             , ODM.DLBR_MBR_NM3     <!-- 심의 회원 명3 -->
             , ODM.DLBR_MBR_JBGD4   <!-- 심의 회원 직급4 -->
             , ODM.DLBR_MBR_NM4     <!-- 심의 회원 명4 -->
             , ODM.DLBR_MBR_JBGD5   <!-- 심의 회원 직급5 -->
             , ODM.DLBR_MBR_NM5     <!-- 심의 회원 명5 -->
             , ODM.DLBR_MBR_JBGD6   <!-- 심의 회원 직급6 -->
             , ODM.DLBR_MBR_NM6     <!-- 심의 회원 명6 -->
             , ODM.DLBR_MBR_JBGD7   <!-- 심의 회원 직급7 -->
             , ODM.DLBR_MBR_NM7     <!-- 심의 회원 명7 -->
             , ODM.REG_DT           <!-- 등록 일시 -->
             , ODM.RGTR             <!-- 등록자 -->
             , ODM.MDFCN_DT         <!-- 수정 일시 -->
             , ODM.MDFR             <!-- 수정자 -->
          FROM TB_TASK               T
    LEFT OUTER JOIN TB_OPNN_DLBR_MBR ODM ON (T.SGG_CD = ODM.SGG_CD AND T.TASK_SE_CD = ODM.TASK_SE_CD)
         WHERE T.SGG_CD     = #{sggCd}
           AND T.TASK_SE_CD = #{taskSeCd}
    </select>

    <insert id="insertOpnnDlbrMbr" parameterType="cokr.xit.fims.excl.OpnnDlbrMbr">/* 의견제출 심의 회원 등록(opnnDlbrMbrMapper.insertOpnnDlbrMbr) */
        <selectKey resultType="string" keyProperty="mngId" keyColumn="NEW_ID" order="BEFORE">
            <include refid="numbering.key">
                <property name="TABLE_NAME" value="TB_OPNN_DLBR_MBR" />
                <property name="TABLE_KEY" value="MNG_ID" />
                <property name="pad" value="3" />
            </include>
        </selectKey>
        INSERT
          INTO TB_OPNN_DLBR_MBR (
               MNG_ID           <!-- 관리 ID -->
             , SGG_CD           <!-- 시군구 코드 -->
             , TASK_SE_CD       <!-- 업무 구분 코드 -->
             , DLBR_MBR_JBGD1   <!-- 심의 회원 직급1 -->
             , DLBR_MBR_NM1     <!-- 심의 회원 명1 -->
             , DLBR_MBR_JBGD2   <!-- 심의 회원 직급2 -->
             , DLBR_MBR_NM2     <!-- 심의 회원 명2 -->
             , DLBR_MBR_JBGD3   <!-- 심의 회원 직급3 -->
             , DLBR_MBR_NM3     <!-- 심의 회원 명3 -->
             , DLBR_MBR_JBGD4   <!-- 심의 회원 직급4 -->
             , DLBR_MBR_NM4     <!-- 심의 회원 명4 -->
             , DLBR_MBR_JBGD5   <!-- 심의 회원 직급5 -->
             , DLBR_MBR_NM5     <!-- 심의 회원 명5 -->
             , DLBR_MBR_JBGD6   <!-- 심의 회원 직급6 -->
             , DLBR_MBR_NM6     <!-- 심의 회원 명6 -->
             , DLBR_MBR_JBGD7   <!-- 심의 회원 직급7 -->
             , DLBR_MBR_NM7     <!-- 심의 회원 명7 -->
             , REG_DT           <!-- 등록 일시 -->
             , RGTR             <!-- 등록자 -->
             , MDFCN_DT         <!-- 수정 일시 -->
             , MDFR             <!-- 수정자 -->
        )
        VALUES (
               #{mngId}         <!-- 관리 ID -->
             , #{sggCd}         <!-- 시군구 코드 -->
             , #{taskSeCd}      <!-- 업무 구분 코드 -->
             , #{dlbrMbrJbgd1}  <!-- 심의 회원 직급1 -->
             , #{dlbrMbrNm1}    <!-- 심의 회원 명1 -->
             , #{dlbrMbrJbgd2}  <!-- 심의 회원 직급2 -->
             , #{dlbrMbrNm2}    <!-- 심의 회원 명2 -->
             , #{dlbrMbrJbgd3}  <!-- 심의 회원 직급3 -->
             , #{dlbrMbrNm3}    <!-- 심의 회원 명3 -->
             , #{dlbrMbrJbgd4}  <!-- 심의 회원 직급4 -->
             , #{dlbrMbrNm4}    <!-- 심의 회원 명4 -->
             , #{dlbrMbrJbgd5}  <!-- 심의 회원 직급5 -->
             , #{dlbrMbrNm5}    <!-- 심의 회원 명5 -->
             , #{dlbrMbrJbgd6}  <!-- 심의 회원 직급6 -->
             , #{dlbrMbrNm6}    <!-- 심의 회원 명6 -->
             , #{dlbrMbrJbgd7}  <!-- 심의 회원 직급7 -->
             , #{dlbrMbrNm7}    <!-- 심의 회원 명7 -->
             , <include refid="utility.now" />  <!-- 등록 일시 -->
             , #{createdBy}     <!-- 등록자 -->
             , <include refid="utility.now" />  <!-- 수정 일시 -->
             , #{modifiedBy}    <!-- 수정자 -->
        )
    </insert>

    <update id="updateOpnnDlbrMbr" parameterType="cokr.xit.fims.excl.OpnnDlbrMbr">/* 의견제출 심의 회원 수정(opnnDlbrMbrMapper.updateOpnnDlbrMbr) */
        UPDATE TB_OPNN_DLBR_MBR
           SET DLBR_MBR_JBGD1 = #{dlbrMbrJbgd1} <!-- 심의 회원 직급1 -->
             , DLBR_MBR_NM1   = #{dlbrMbrNm1}   <!-- 심의 회원 명1 -->
             , DLBR_MBR_JBGD2 = #{dlbrMbrJbgd2} <!-- 심의 회원 직급2 -->
             , DLBR_MBR_NM2   = #{dlbrMbrNm2}   <!-- 심의 회원 명2 -->
             , DLBR_MBR_JBGD3 = #{dlbrMbrJbgd3} <!-- 심의 회원 직급3 -->
             , DLBR_MBR_NM3   = #{dlbrMbrNm3}   <!-- 심의 회원 명3 -->
             , DLBR_MBR_JBGD4 = #{dlbrMbrJbgd4} <!-- 심의 회원 직급4 -->
             , DLBR_MBR_NM4   = #{dlbrMbrNm4}   <!-- 심의 회원 명4 -->
             , DLBR_MBR_JBGD5 = #{dlbrMbrJbgd5} <!-- 심의 회원 직급5 -->
             , DLBR_MBR_NM5   = #{dlbrMbrNm5}   <!-- 심의 회원 명5 -->
             , DLBR_MBR_JBGD6 = #{dlbrMbrJbgd6} <!-- 심의 회원 직급6 -->
             , DLBR_MBR_NM6   = #{dlbrMbrNm6}   <!-- 심의 회원 명6 -->
             , DLBR_MBR_JBGD7 = #{dlbrMbrJbgd7} <!-- 심의 회원 직급7 -->
             , DLBR_MBR_NM7   = #{dlbrMbrNm7}   <!-- 심의 회원 명7 -->
             , MDFCN_DT       = <include refid="utility.now" /> <!-- 수정 일시 -->
             , MDFR           = #{modifiedBy}   <!-- 수정자 -->
         WHERE MNG_ID         = #{mngId}
    </update>

</mapper>
