<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="kr.co.i2talk.common">

	<sql id="table_param">		
		<choose>			
			<when test="table_name =='PETIT_PROPSE'">
	    		PETIT_PROPSE
			</when>				
			<when test="table_name =='VOTE_QUSTNR'">
	    		VOTE_QUSTNR
			</when>
			<when test="table_name =='CHNNL_EVENT'">
	    		CHNNL_EVENT
			</when>
			<otherwise>
				CHNNL_EVENT
			</otherwise>							
	 	</choose>
	</sql>	
		
	<sql id="column_param">
		<choose>			
			<when test="column_name =='PETIT_PROPSE_ID'">
	    		PETIT_PROPSE_ID
			</when>	
			<when test="column_name =='VOTE_QUSTNR_ID'">
	    		VOTE_QUSTNR_ID
			</when>
			<when test="column_name =='EVENT_ID'">
	    		EVENT_ID
			</when>				
			<otherwise>
				EVENT_ID
			</otherwise>							
	 	</choose>
	</sql>	

	<!-- 공통코드 리스트 -->
	<select id="kr.co.i2talk.common.listSnsCommonCode" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.common.listSnsCommonCode */
	SELECT  *
	FROM    SNS_COMMON_CODE SCC
	WHERE   UP_CD = #{up_cd}
	AND     USE_YN = 'Y'
	<if test="@i2c.cmm.util.StringUtil@isNotEmpty(join) == true">
		AND NOT EXISTS (SELECT 'X' FROM BOARD_MASTER BM WHERE BM.BOARD_TP = SCC.CD)
	</if>
	ORDER BY SRT_ORD
	</select>

	<!-- 비서의 담당임원 리스트(SELECTBOX 용도) -->
	<select id="kr.co.i2talk.common.listSnsDirectorsForSelectBox" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.common.listSnsDirectorsForSelectBox */	
	SELECT  
		DISTINCT(T1.TAR_USR_ID) AS TAR_ID
	    ,   FN_GET_USR_NM(T1.TAR_USR_ID) || '(' || FN_GET_USR_POS_NM(T1.TAR_USR_ID) || ')' AS TAR_VAL
	    , (SELECT POS_CD FROM SNS_USER WHERE SNS_USER.USR_ID = T1.TAR_USR_ID) POS_CD
	    ,  FN_GET_USR_NM(T1.TAR_USR_ID) TAR_NM
	    , (SELECT EMP_NO FROM SNS_USER WHERE SNS_USER.USR_ID = T1.TAR_USR_ID) EMP_NO
	FROM    SNS_SECRETARY T1
	    ,   SNS_USER T2
	WHERE   T1.SCRTY_ID = T2.USR_ID
	<if test="@i2c.cmm.util.StringUtil@isEmpty(pageMode) == true">
		AND T1.SCRTY_ID = #{login_usr_id}
	</if>	
	AND     T1.USE_YN = 'Y'
	ORDER BY POS_CD, EMP_NO	
	</select>

	<!-- 외부연동 용도 사용자 정보 조회 -->
	<select id="kr.co.i2talk.common.listSnsUsersForExtNoti" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.common.listSnsUsersForExtNoti */
	SELECT  USR_ID
		,	LOGIN_ID
	FROM    SNS_USER
	WHERE   USR_ID IN
	<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
	#{item}
	</foreach>
	</select>

	<sql id="chnnlAdmin">
		SELECT 
			   CASE CHNNL_BOARD_TP WHEN 'CHBT01' THEN 'ntcn' 
				   				   WHEN 'CHBT02' THEN 'notice'
			   ELSE 'event'
				END    
		  FROM USER_CHNNL UC
		     , CHNNL_BOARDTP_USER CBU
		 WHERE CBU.USER_CHNNL_ID = UC.USER_CHNNL_ID
		   AND UC.USR_ID = #{login_usr_id}
		   AND UC.ADMIN_AT = 'S'
	</sql>

	<select id="kr.co.i2talk.common.leftMenu" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.common.leftMenu */
	SELECT
	       B.MENU_NO AS MENU_NO
		 , B.MENU_ORDR AS MENU_ORDER
		 , B.MENU_NM AS MENU_NM
		 , B.UPPER_MENU_NO AS UPPER_MENU_NO
		 , B.RELATE_IMAGE_PATH AS RELATE_IMAGE_PATH
		 , B.RELATE_IMAGE_NM AS RELATE_IMAGE_NM
		 , B.MENU_ASSIGN AS MENU_ASSIGN
		 , B.PROGRM_FILE_NM AS PROGRAM_FILE_NM
		 , C.URL MENU_URL				 
		 , C.PROGRM_STRE_PATH
	FROM   COMTNMENUCREATDTLS A, COMTNMENUINFO B, COMTNPROGRMLIST C
	WHERE  A.MENU_NO  = B.MENU_NO 
	AND    B.PROGRM_FILE_NM = C.PROGRM_FILE_NM
	<!-- <if test="@i2c.cmm.util.StringUtil@isNotEmpty(chnnl_author) == true">
		<if test="chnnl_author == 'CHAU02'">
			AND    B.PROGRM_FILE_NM = 'chnnlhome'
		</if>
		<if test="chnnl_author == 'CHAU03'">
			AND    B.PROGRM_FILE_NM IN (<include refid="chnnlAdmin"/>)
		</if>
	</if> -->	
	AND    A.AUTHOR_CODE = (SELECT 
								 'ROLE_CHNNLADMIN'																										 
							FROM COMTNEMPLYRSCRTYESTBS
                           	WHERE  SCRTY_DTRMN_TRGET_ID = #{login_usr_id})		
    <!-- <if test="@i2c.cmm.util.StringUtil@isNotEmpty(currentMenu) == true">
    	<if test="currentMenu == 'sns'">
	    	AND (C.URL LIKE '%userHome%' 
	    	OR   C.URL LIKE '%plan%' 
	    	OR   C.URL LIKE '%notice%'
	    	OR   C.URL LIKE '%faq%')
	    </if>	
    	<if test="currentMenu != 'sns'">
    		AND C.URL LIKE '%'|| #{currentMenu} ||'%'
    	</if>    	
    </if>  -->
    AND C.PROGRM_STRE_PATH LIKE '%'|| #{currentFolder} ||'%' 
	ORDER BY B.MENU_ORDR
	</select>
	
	<select id="kr.co.i2talk.common.fullMenu" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.common.fullMenu */
	SELECT
	     B.MENU_NO AS MENU_NO
	     , A.AUTHOR_CODE
	     , B.MENU_NM AS MENU_NM
	     , B.UPPER_MENU_NO AS UPPER_MENU_NO
	     , B.MENU_ASSIGN AS MENU_ASSIGN
		 , C.URL MENU_URL				 
		 , C.PROGRM_STRE_PATH
	FROM   COMTNMENUCREATDTLS A, COMTNMENUINFO B, COMTNPROGRMLIST C
	WHERE  
		A.MENU_NO  = B.MENU_NO 
		AND    B.PROGRM_FILE_NM = C.PROGRM_FILE_NM
	  	AND    B.UPPER_MENU_NO = 0
	  	AND    A.AUTHOR_CODE = (SELECT AUTHOR_CODE FROM COMTNEMPLYRSCRTYESTBS WHERE  SCRTY_DTRMN_TRGET_ID = #{login_usr_id})		
		ORDER BY B.MENU_ORDR
	</select>

	<!-- 지역코드 리스트 -->
	<select id="kr.co.i2talk.common.listAreaCode" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.common.listAreaCode */
	SELECT  	
		   AREA_CD
		 , UP_AREA_CD
		 , AREA_NM
		 , AREA_SE
		 , CREATE_DT
		 , ABOLISHED_DT
		 , USE_AT
	  FROM AREA_INFO
	 WHERE UP_AREA_CD = #{up_area_cd}
	   AND USE_AT = 'Y'
	 ORDER BY AREA_CD
	</select>

	<insert id="kr.co.i2talk.common.insertMcTest" parameterType="Map">
	/* kr.co.i2talk.common.insertMcTest */
	 INSERT INTO MC_TEST
			(ID, SUBJECT, EMAIL, PHN_NUM)
	 VALUES
	 <foreach collection="mcList" item="list" separator=",">
    		(
            #{list.id}
          , #{list.subject}
          , #{list.email}
          , #{list.phn_num}          
         	)
     </foreach>
	</insert>
	
</mapper>
