<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!--
	수정일          수정자                          수정내용
  ===========      ========    =================================================
  2011.10.06		이기하     	 	보안 취약점 점검사항 반영 $->#변경
-->
<sqlMap namespace="CmmnDetailCodeManage">

	<typeAlias  alias="egovMap"          type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
	<typeAlias  alias="CmmnDetailCode"   type="egovframework.com.cmm.service.CmmnDetailCode"/>
	<typeAlias  alias="CmmnDetailCodeVO" type="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"/>

	<select id="CmmnDetailCodeManageDAO.selectCmmnDetailCodeList" parameterClass="CmmnDetailCodeVO" resultClass="egovMap">
		<![CDATA[
			SELECT  *
			  FROM  (
			SELECT ROWNUM RNUM, ALL_LIST.*
			  FROM  (
			/* 구현 Sql */
			SELECT  A.CODE_ID
			     ,  A.CODE
			     ,  A.CODE_NM
			     ,  A.USE_AT
			  FROM  COMTCCMMNDETAILCODE A
			     ,  COMTCCMMNCODE       B
			 WHERE 	B.USE_AT  = 'Y'
			   AND  A.CODE_ID = B.CODE_ID
		]]>
			<isEqual prepend="AND" property="searchCondition" compareValue="1">
				<![CDATA[A.CODE_ID LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
			<isEqual prepend="AND" property="searchCondition" compareValue="2">
				<![CDATA[A.CODE    LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
			<isEqual prepend="AND" property="searchCondition" compareValue="3">
				<![CDATA[A.CODE_NM LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
		<![CDATA[
			/* 구현 Sql */
				    ) ALL_LIST
				    )
			 WHERE  RNUM  > #firstIndex#
			   AND  RNUM <= #firstIndex# + #recordCountPerPage#
		]]>
	</select>

	<select id="CmmnDetailCodeManageDAO.selectCmmnDetailCodeListTotCnt" parameterClass="CmmnDetailCodeVO" resultClass="int">
		<![CDATA[
			SELECT  COUNT(*) totcnt
			  FROM  COMTCCMMNDETAILCODE A
			     ,  COMTCCMMNCODE       B
			 WHERE 	B.USE_AT  = 'Y'
			   AND  A.CODE_ID = B.CODE_ID
		]]>
			<isEqual prepend="AND" property="searchCondition" compareValue="1">
				<![CDATA[A.CODE_ID LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
			<isEqual prepend="AND" property="searchCondition" compareValue="2">
				<![CDATA[A.CODE    LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
			<isEqual prepend="AND" property="searchCondition" compareValue="3">
				<![CDATA[A.CODE_NM LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
	</select>

	<select id="CmmnDetailCodeManageDAO.selectCmmnDetailCodeDetail" parameterClass="CmmnDetailCode" resultClass="CmmnDetailCode">
		<![CDATA[
            SELECT  A.CODE_ID    codeId
                 ,  B.CODE_ID_NM codeIdNm
                 ,  A.CODE       code
                 ,  A.CODE_NM    codeNm
                 ,  A.CODE_DC    codeDc
                 ,  A.USE_AT     useAt
              FROM  COMTCCMMNDETAILCODE A
                 ,  COMTCCMMNCODE       B
             WHERE  B.USE_AT  = 'Y'
               AND  A.CODE_ID = B.CODE_ID
			   AND  A.CODE_ID = #codeId#
			   AND  A.CODE    = #code#
		]]>
	</select>

	<insert id="CmmnDetailCodeManageDAO.insertCmmnDetailCode">
		<![CDATA[
		    INSERT
		      INTO  COMTCCMMNDETAILCODE
		         (  CODE_ID
		         ,  CODE
		         ,  CODE_NM
		         ,  CODE_DC
		         ,  USE_AT
		         ,  FRST_REGIST_PNTTM
		         ,  FRST_REGISTER_ID
		         ,  LAST_UPDT_PNTTM
		         ,  LAST_UPDUSR_ID
		         )
		    VALUES
		         (  #codeId#
		         ,  #code#
		         ,  #codeNm#
		         ,  #codeDc#
		         ,  #useAt#
		         ,  sysdate
		         ,  #frstRegisterId#
		         ,  sysdate
		         ,  #frstRegisterId#
		         )
		]]>
	</insert>

	<update id="CmmnDetailCodeManageDAO.updateCmmnDetailCode">
		<![CDATA[
            UPDATE  COMTCCMMNDETAILCODE
               SET  CODE_NM           = #codeNm#
                 ,  CODE_DC           = #codeDc#
                 ,  USE_AT            = #useAt#
                 ,  LAST_UPDT_PNTTM = sysdate
                 ,  LAST_UPDUSR_ID    = #lastUpdusrId#
             WHERE  CODE_ID   = #codeId#
               AND  CODE      = #code#
		]]>
	</update>

	<delete id="CmmnDetailCodeManageDAO.deleteCmmnDetailCode">
		<![CDATA[
            UPDATE  COMTCCMMNDETAILCODE
               SET  USE_AT    = 'N'
             WHERE  CODE_ID   = #codeId#
               AND  CODE      = #code#
		]]>
	</delete>

</sqlMap>