<?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">

<sqlMap namespace="WebLog">

	<typeAlias  alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
	<!-- 웹로그 VO -->	
	<typeAlias  alias="webLog" type="egovframework.com.sym.log.wlg.service.WebLog"/>
	
	<!-- 웹로그 맵 -->	
	<resultMap id="WebLogVO" class="egovframework.com.sym.log.wlg.service.WebLog">
		<result property="requstId" column="REQUST_ID"/>		
		<result property="occrrncDe" column="OCCRRNC_DE"/>
		<result property="url" column="URL"/>		
		<result property="rqesterIp" column="RQESTER_IP"/>		
		<result property="rqesterId" column="RQESTER_ID"/>
		<result property="rqsterNm" column="RQESTER_NM"/>			
	</resultMap>	

	<!-- 웹 로그 등록 -->
	<insert id="WebLogDAO.logInsertWebLog" parameterClass="webLog" >
		<![CDATA[
			INSERT INTO COMTNWEBLOG 
				( REQUST_ID
				  , URL
				  , RQESTER_ID
				  , RQESTER_IP
				  , OCCRRNC_DE )
			VALUES ( #requstId#
				  , #url#
				  , #rqesterId#
				  , #rqesterIp#
				  , CONVERT(VARCHAR(8), GETDATE(), 112)
				  )
		]]>
	</insert>
	
	<!-- 웹 로그 상세 조회 : 미사용(COMVNUSERMASTER NOT EXISTS) -->
	<select id="WebLogDAO.selectWebLog" parameterClass="webLog" resultMap="WebLogVO">
		<![CDATA[	
			SELECT 
				  a.REQUST_ID
				, a.OCCRRNC_DE
				, a.URL
				, a.RQESTER_IP
				, a.RQESTER_ID
				, b.USER_NM AS RQESTER_NM
			FROM
				COMTNWEBLOG a
			LEFT OUTER JOIN COMVNUSERMASTER b
				ON a.RQESTER_ID = b.ESNTL_ID
			WHERE 
				a.REQUST_ID = #requstId#
			]]>	
	</select>	
	
	<!-- 웹 로그 목록 조회 : 미사용(COMVNUSERMASTER NOT EXISTS) -->
	<select id="WebLogDAO.selectWebLogInf" parameterClass="webLog" resultMap="WebLogVO">
		<![CDATA[	
			SELECT 
				  a.REQUST_ID
				, a.OCCRRNC_DE
				, a.URL
				, a.RQESTER_IP
				, a.RQESTER_ID
				, b.USER_NM AS RQESTER_NM
			FROM
				COMTNWEBLOG a
			LEFT OUTER JOIN COMVNUSERMASTER b
				ON a.RQESTER_ID = b.ESNTL_ID
			WHERE 
				1 = 1
			]]>	
			<isNotEmpty prepend="AND" property="searchWrd">
				<![CDATA[	a.URL LIKE CONCAT '%' + #searchWrd# + '%' ]]>
			</isNotEmpty>
			<isNotEmpty prepend="AND" property="searchBgnDe">
				<![CDATA[	a.OCCRRNC_DE BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
			</isNotEmpty>		
				<![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]>
			/*LIMIT #recordCountPerPage# OFFSET #firstIndex#*/
	</select>	
	
	<!-- 웹 로그 총건수 : 미사용(COMVNUSERMASTER NOT EXISTS) -->
	<select id="WebLogDAO.selectWebLogInfCnt"  parameterClass="webLog"  resultClass="java.lang.Integer">
		<![CDATA[ 
			SELECT COUNT(a.REQUST_ID) as cnt
			FROM
				COMTNWEBLOG a
			LEFT OUTER JOIN COMVNUSERMASTER b
				ON a.RQESTER_ID = b.ESNTL_ID
			WHERE 
				1 = 1
			]]>	
			<isNotEmpty prepend="AND" property="searchWrd">
				<![CDATA[ 	a.URL LIKE '%' + #searchWrd# + '%'  ]]>
			</isNotEmpty>
			<isNotEmpty prepend="AND" property="searchBgnDe">
				<![CDATA[ 	a.OCCRRNC_DE BETWEEN #searchBgnDe# AND #searchEndDe#  ]]>
			</isNotEmpty>			
	</select>	

	<!-- 웹 로그 전날 로그 요약 등록 : 미사용(COMTSWEBLOGSUMMARY NOT EXISTS) -->
	<insert id="WebLogDAO.logInsertWebLogSummary">
		<![CDATA[
			INSERT INTO COMTSWEBLOGSUMMARY 
			SELECT b.OCCRRNC_DE 
			     , b.URL
			     , COUNT(b.OCCRRNC_DE) AS RDCNT
			  FROM COMTNWEBLOG b
			 WHERE NOT EXISTS (SELECT c.OCCRRNC_DE 
			                     FROM COMTSWEBLOGSUMMARY c
			                    WHERE c.OCCRRNC_DE = CONVERT(VARCHAR(8), DATEADD(D, -1, GETDATE()), 112)
			                  )
			   AND b.OCCRRNC_DE = CONVERT(VARCHAR(8), DATEADD(D, -1, GETDATE()), 112)
			 GROUP BY b.OCCRRNC_DE
				    , b.URL
				  
		]]>
	</insert>
	
	<!-- 웹 로그 6개월전 로그 삭제 -->
	<delete id="WebLogDAO.logDeleteWebLogSummary">
		<![CDATA[
			DELETE FROM COMTNWEBLOG
			 WHERE OCCRRNC_DE < CONVERT(VARCHAR(8), DATEADD(D, -210, GETDATE()), 112)
				  
		]]>
	</delete>
	
</sqlMap>

