<?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="AdministCodeManage">

	<typeAlias  alias="egovMap"        type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
	<typeAlias  alias="AdministCode"   type="egovframework.com.sym.ccm.adc.service.AdministCode"/>
	<typeAlias  alias="AdministCodeVO" type="egovframework.com.sym.ccm.adc.service.AdministCodeVO"/>

	<select id="AdministCodeManageDAO.selectAdministCodeList" parameterClass="AdministCodeVO" resultClass="egovMap">
		<![CDATA[
			SELECT  *
			  FROM  (
			SELECT ROWNUM RNUM, ALL_LIST.*
			  FROM  (
			/* 구현 Sql */
			SELECT  ADMINIST_ZONE_SE
			     ,  ADMINIST_ZONE_CODE
			     ,  ADMINIST_ZONE_NM
			     ,  UPPER_ADMINIST_ZONE_CODE
			     ,  CREAT_DE
			     ,  ABL_DE
			     ,  USE_AT
			  FROM  COMTCADMINISTCODE
			 WHERE	1 = 1
		]]>
			<isEqual prepend="AND" property="searchCondition" compareValue="1">
				<![CDATA[ADMINIST_ZONE_SE = '1']]>
				<![CDATA[ AND ADMINIST_ZONE_NM LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
			<isEqual prepend="AND" property="searchCondition" compareValue="2">
				<![CDATA[ADMINIST_ZONE_SE = '2']]>
				<![CDATA[ AND ADMINIST_ZONE_NM LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
		<![CDATA[
			/* 구현 Sql */
				    ) ALL_LIST
				    )
			 WHERE  RNUM  > #firstIndex#
			   AND  RNUM <= #firstIndex# + #recordCountPerPage#
		]]>
	</select>

	<select id="AdministCodeManageDAO.selectAdministCodeListTotCnt" parameterClass="AdministCodeVO" resultClass="int">
		<![CDATA[
			SELECT  COUNT(*) totcnt
			  FROM  COMTCADMINISTCODE
			 WHERE	1 = 1
		]]>
			<isEqual prepend="AND" property="searchCondition" compareValue="1">
				<![CDATA[ADMINIST_ZONE_SE = '1']]>
				<![CDATA[ AND ADMINIST_ZONE_NM LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
			<isEqual prepend="AND" property="searchCondition" compareValue="2">
				<![CDATA[ADMINIST_ZONE_SE = '2']]>
				<![CDATA[ AND ADMINIST_ZONE_NM LIKE '%' || #searchKeyword# || '%']]>
			</isEqual>
	</select>

	<select id="AdministCodeManageDAO.selectAdministCodeDetail" parameterClass="AdministCode" resultClass="AdministCode">
		<![CDATA[
			SELECT  ADMINIST_ZONE_SE                administZoneSe
			     ,  ADMINIST_ZONE_CODE              administZoneCode
			     ,  ADMINIST_ZONE_NM                administZoneNm
			     ,  UPPER_ADMINIST_ZONE_CODE        upperAdministZoneCode
			     ,  (
			        SELECT  X.ADMINIST_ZONE_NM
			          FROM  COMTCADMINISTCODE X
			         WHERE  X.ADMINIST_ZONE_SE   = A.ADMINIST_ZONE_SE
			           AND  X.ADMINIST_ZONE_CODE = A.UPPER_ADMINIST_ZONE_CODE
			        )                               upperAdministZoneNm
			     ,  CREAT_DE                        creatDe
			     ,  ABL_DE                          ablDe
			     ,  USE_AT                          useAt
			  FROM  COMTCADMINISTCODE A
             WHERE  ADMINIST_ZONE_SE   = #administZoneSe#
               AND  ADMINIST_ZONE_CODE = #administZoneCode#
		]]>
	</select>

	<insert id="AdministCodeManageDAO.insertAdministCode">
		<![CDATA[
			INSERT
			  INTO  COMTCADMINISTCODE
			     (  ADMINIST_ZONE_SE
			     ,  ADMINIST_ZONE_CODE
			     ,  ADMINIST_ZONE_NM
			     ,  UPPER_ADMINIST_ZONE_CODE
			     ,  CREAT_DE
			     ,  ABL_DE
			     ,  USE_AT
			     ,  FRST_REGIST_PNTTM
			     ,  FRST_REGISTER_ID
			     ,  LAST_UPDT_PNTTM
			     ,  LAST_UPDUSR_ID
			     )
			VALUES
			     (  #administZoneSe#
			     ,  #administZoneCode#
			     ,  #administZoneNm#
			     ,  #upperAdministZoneCode#
			     ,  #creatDe#
			     ,  #ablDe#
			     ,  #useAt#
			     ,  SYSDATE
			     ,  #frstRegisterId#
			     ,  SYSDATE
			     ,  #frstRegisterId#
			     )
		]]>
	</insert>

	<update id="AdministCodeManageDAO.updateAdministCode">
		<![CDATA[
            UPDATE  COMTCADMINISTCODE
               SET  ADMINIST_ZONE_NM         = #administZoneNm#
			     ,  UPPER_ADMINIST_ZONE_CODE = #upperAdministZoneCode#
			     ,  CREAT_DE                 = #creatDe#
			     ,  ABL_DE                   = #ablDe#
			     ,  USE_AT                   = #useAt#
                 ,  LAST_UPDT_PNTTM        = sysdate
                 ,  LAST_UPDUSR_ID           = #lastUpdusrId#
             WHERE  ADMINIST_ZONE_SE   = #administZoneSe#
               AND  ADMINIST_ZONE_CODE = #administZoneCode#
		]]>
	</update>

	<delete id="AdministCodeManageDAO.deleteAdministCode">
		<![CDATA[
            UPDATE  COMTCADMINISTCODE
               SET  ABL_DE             = TO_CHAR(SYSDATE,'YYYYMMDD')
			     ,  USE_AT             = 'N'
             WHERE  ADMINIST_ZONE_SE   = #administZoneSe#
               AND  ADMINIST_ZONE_CODE = #administZoneCode#
		]]>
	</delete>

</sqlMap>