<?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.ntcn.bbsMng.faq.dao.FaqDAO">

	<resultMap id="faqVO"      type="i2c.biz.admin.ntcn.bbsMng.faq.vo.FaqVO" />
	

	<select id="countFaq" parameterType="i2c.biz.admin.ntcn.bbsMng.faq.vo.FaqVO"   resultType="int">
	/* i2c.biz.admin.ntcn.bbsMng.faq.dao.FaqDAO.countFaq FAQ 정보 건수 */		
		SELECT COUNT(BOARD_ID) AS TOTCNT
		FROM BOARD
		WHERE 1=1	
		   AND BOARD_TP = 'BRTP04'	
		   	<if test="searchCondition != null and searchCondition !=''">
			  AND CATEGORY_SE = #{searchCondition}
			</if>
			<if test="searchKeyword != null and searchKeyword !=''">
				AND (
					  SUBJECT LIKE CONCAT('%', #{searchKeyword}, '%')
					  OR CONTENTS LIKE CONCAT('%', #{searchKeyword}, '%')
				    )
		     </if>			        	
		<!-- WHERE --> 	
	</select>
	
	
	<select id="listFaq" parameterType="i2c.biz.admin.ntcn.bbsMng.faq.vo.FaqVO"  resultMap="faqVO">
	/* i2c.biz.admin.ntcn.bbsMng.faq.dao.FaqDAO.listFaq FAQ 정보  목록 */
		SELECT *
		FROM (
			SELECT B.*
            	    , (@ROWNUM  := @ROWNUM + 1) RNUM  
			FROM (
						SELECT
								BOARD_ID
								,SUBJECT
								,CATEGORY_SE
								,FN_GET_CODE_NM('CATEGORY_SE', CATEGORY_SE) CATEGORY_SE_NM
								,CONTENTS
								,ANSWER_CONTENTS
								,DATE_FORMAT(REGIST_DE, '%Y-%m-%d' ) REGIST_DE
								,REGIST_ID
								,(select usr_nm from sns_user su where USR_ID = BOARD.REGIST_ID ) REGIST_NM
						FROM BOARD
						WHERE 1=1	
						  AND BOARD_TP = 'BRTP04'	
						   	<if test="searchCondition != null and searchCondition !=''">
							  AND CATEGORY_SE = #{searchCondition}
							</if>
							<if test="searchKeyword != null and searchKeyword !=''">
								AND (
									  SUBJECT LIKE CONCAT('%', #{searchKeyword}, '%')
									  OR CONTENTS LIKE CONCAT('%', #{searchKeyword}, '%')
								    )
						     </if>				  
				) B, (SELECT @ROWNUM := 0 FROM DUAL) ROWNUM
				ORDER BY B.REGIST_DE 		
			) C        
			ORDER BY RNUM DESC
			LIMIT #{firstIndex}, #{recordCountPerPage}  	   
	</select>	
	
	
	<select id="selectFaq"  parameterType="i2c.biz.admin.ntcn.bbsMng.faq.vo.FaqVO" resultMap="faqVO">
	/* i2c.biz.admin.ntcn.bbsMng.faq.dao.FaqDAO.selectFaq FAQ 상세 */	              
		SELECT
			BOARD_ID
			,CATEGORY_SE
			,FN_GET_CODE_NM('CATEGORY_SE', CATEGORY_SE) CATEGORY_SE_NM
			,SUBJECT
			,CONTENTS	
			,ANSWER_CONTENTS
			,DATE_FORMAT(REGIST_DE, '%Y-%m-%d' ) REGIST_DE
			,REGIST_ID
			,UPDT_DE
			,UPDT_ID
			,FN_GET_USR_NM(REGIST_ID) USR_NM
		FROM BOARD  
		WHERE 1=1		   		
          AND BOARD_ID = #{board_id}        
	</select>
	

	<insert id="insertFaq" parameterType="i2c.biz.admin.ntcn.bbsMng.faq.vo.FaqVO">
	/* i2c.biz.admin.ntcn.bbsMng.faq.dao.FaqDAO.insertFaq FAQ 정보 등록 */
		INSERT INTO BOARD (
				 BOARD_ID
				,BOARD_TP
				,CATEGORY_SE
				,SUBJECT
				,CONTENTS	
				,ANSWER_CONTENTS
				,REGIST_ID
				,REGIST_DE
			)
		VALUES (
				 #{board_id}
				,#{board_tp}
				,#{category_se}
				,#{subject}
				,#{contents}
				,#{answer_contents} 
				,#{usr_id}
				,DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')
			)
				
	</insert>	
	
	
	<update id="updateFaq" parameterType="i2c.biz.admin.ntcn.bbsMng.faq.vo.FaqVO">
		/* i2c.biz.admin.ntcn.bbsMng.faq.dao.FaqDAO.updateFaq FAQ 정보 수정 */
		UPDATE BOARD
		SET
			 CATEGORY_SE     = #{category_se}
			,SUBJECT	     = #{subject}
			,CONTENTS		 = #{contents}
			,ANSWER_CONTENTS = #{answer_contents}
			,UPDT_DE	= DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i%s')
			,UPDT_ID	= #{usr_id}
		WHERE 
			BOARD_ID = #{board_id}
	</update>
	
	
	<delete id="deleteFaq" parameterType="java.lang.String">
	/* i2c.biz.admin.ntcn.bbsMng.faq.dao.FaqDAO.deleteNotice FAQ 정보 삭제 */
		DELETE FROM	BOARD
		WHERE BOARD_ID = #{board_id}
	</delete>

	
</mapper>