<?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="i2c.biz.admin.applicationSet.dao.ApplicationSetDAO">

    <resultMap id="applicationSetVO"     type="i2c.biz.admin.applicationSet.vo.ApplicationSetVO" />    
    
   	<select id="selectApplicationSet" parameterType="i2c.biz.admin.applicationSet.vo.ApplicationSetVO" resultMap="applicationSetVO">
        /* i2c.biz.admin.applicationSet.ApplicationSetDAO.xml selectApplicationSet 어플리케이션 설정 목록*/
		SELECT 
         		APLCTN_SETUP_ID
         	  ,	SETUP_LCLAS
         	  ,	SETUP_MLSFC  
         	  , SETUP_SCLAS            	         	  
         	  ,	PD_NCL
         	  ,	FILE_NCL
         	  ,	NTT_NCL
         	  ,	USE_YN
         	  , DATE_FORMAT(CREATE_DE,'%Y.%m.%d') CREATE_DE
         	  , DATE_FORMAT(UPDATE_DE,'%Y.%m.%d') UPDATE_DE			  
	    FROM APLCTN_SETUP
       WHERE SETUP_MLSFC = #{setup_mlsfc} 
         AND SETUP_SCLAS = #{setup_sclas}          
	</select>
	
	<update id="updateApplicationSet" parameterType="i2c.biz.admin.applicationSet.vo.ApplicationSetVO"> 
        /* i2c.biz.admin.applicationSet.ApplicationSetDAO.xml updateApplicationSet 어플리케이션 설정 저장 */
        INSERT INTO APLCTN_SETUP 
			(
			  APLCTN_SETUP_ID
			, SETUP_LCLAS
			, SETUP_MLSFC
			, SETUP_SCLAS
			, PD_NCL
			, FILE_NCL
			, NTT_NCL
			, CREATE_ID
			, CREATE_DE
			) 
		VALUES 
			(
			  #{aplctn_setup_id}
			, #{setup_lclas}
			, #{setup_mlsfc}
			, #{setup_sclas}		
			, #{pd_ncl}
			, #{file_ncl}
			, #{ntt_ncl}
			, #{usr_id}
			, DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')
			)
			ON DUPLICATE KEY 
		UPDATE 
			  UPDATE_DE			= DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')	  
			, UPDATE_ID			= #{usr_id}			
			<if test="@i2c.cmm.util.StringUtil@isEmpty(pd_ncl) == false">  , PD_NCL 	= #{pd_ncl}</if> 
		    <if test="@i2c.cmm.util.StringUtil@isEmpty(file_ncl) == false">, FILE_NCL	= #{file_ncl}</if>
		    <if test="@i2c.cmm.util.StringUtil@isEmpty(ntt_ncl) == false"> , NTT_NCL 	= #{ntt_ncl}</if>
    </update> 
    
    <select id="listDeadLineFile" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
	    /* i2c.biz.admin.applicationSet.ApplicationSetDAO.xml listDeadLineFile 기한지난 데이터 목록 */
	    <!-- oracle >> mysql migration 필요 -->
	    <!-- SELECT 
		      ATTACH_FILE_ID
		    , POST_ID
		    , TAR_TP
		    , PHYSCL_FILE_NM
		FROM SNS_ATTACH
		WHERE SUBSTR(IFNULL(CRT_DTTM,'99999999'),0,8) = 
			  TO_CHAR(ADD_MONTHS(NOW(),-(
			                                SELECT PD_NCL 
			                                 FROM APLCTN_SETUP 
			                                WHERE SETUP_MLSFC='STREPD' 
			                                  AND SETUP_SCLAS='FILE'
			                                )),'YYYYMMDD') -->
    </select>
    
    <select id="selectDataPd" parameterType="Map" resultType="i2c.cmm.base.CommonResultMap">
    /* i2c.biz.admin.applicationSet.ApplicationSetDAO.xml selectDataPd 기한 상세 */
	    SELECT PD_NCL 
	      FROM APLCTN_SETUP 
	     WHERE SETUP_MLSFC='STREPD' 
	       AND SETUP_SCLAS='DATA'
    </select>
    
    
    <update id="deleteDeadLineData" parameterType="Map"> 
    	/* i2c.biz.admin.applicationSet.ApplicationSetDAO.xml deleteDeadLineData 기한지난 데이터 삭제 */
    	DELETE FROM A, B, C 
    	 USING T_DATA AS T 
  		  LEFT JOIN EM_SMT_LOG_${yyyymm} AS A ON T.SEQ = A.SEQ
		  LEFT JOIN EM_MMT_LOG_${yyyymm} AS B ON T.SEQ = B.SEQ
		  LEFT JOIN ITA_TALK_LOG_${yyyymm} AS C ON T.SEQ = C.SEQ
    </update>

</mapper>