<?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="UserLog">

	<typeAlias alias="egovMap"
		type="egovframework.rte.psl.dataaccess.util.EgovMap" />
	<!-- 로그인로그 VO -->
	<typeAlias alias="loginLog"
		type="egovframework.com.sym.log.clg.service.LoginLog" />

	<!-- 로그인로그 맵 -->
	<resultMap id="LoginLogVO" class="egovframework.com.sym.log.clg.service.LoginLog">
		<result property="logId" column="LOG_ID" />
		<result property="creatDt" column="CREAT_DT" />
		<result property="loginMthd" column="CONECT_MTHD" />
		<result property="loginIp" column="CONECT_IP" />
		<result property="loginId" column="CONECT_ID" />
		<result property="loginNm" column="LOGIN_NM" />
	</resultMap>

	<!-- 로그인 로그 등록 -->
	<insert id="LoginLogDAO.logInsertLoginLog" parameterClass="loginLog">
		<![CDATA[
			INSERT INTO COMTNLOGINLOG 
				( LOG_ID
				  , CONECT_MTHD
				  , CONECT_ID
				  , CONECT_IP
				  , ERROR_OCCRRNC_AT
				  , ERROR_CODE
				  , CREAT_DT )
			VALUES ( #logId#
				  , #loginMthd#
				  , #loginId#
				  , #loginIp#
				  , #errOccrrAt#
				  , #errorCode#
				  , sysdate())
		]]>
	</insert>

	<!-- 로그인 로그 상세  조회 -->
	<select id="LoginLogDAO.selectLoginLog" parameterClass="loginLog" resultMap="LoginLogVO">
		<![CDATA[	
			SELECT 
				  a.LOG_ID
				, a.CREAT_DT
				, a.CONECT_MTHD
				, a.CONECT_IP
				, a.CONECT_ID
				, b.USER_NM AS LOGIN_NM
			FROM
				COMTNLOGINLOG a
			LEFT OUTER JOIN COMVNUSERMASTER b
				ON a.CONECT_ID = b.ESNTL_ID
			WHERE 
				a.LOG_ID = #logId#
			]]>
	</select>

	<!-- 로그인 로그 목록  조회 -->
	<select id="LoginLogDAO.selectLoginLogInf" parameterClass="loginLog" resultMap="LoginLogVO">
		<![CDATA[	
			SELECT 
				  a.LOG_ID
				, a.CREAT_DT
				, a.CONECT_MTHD
				, a.CONECT_IP
				, a.CONECT_ID
				, b.USER_NM AS LOGIN_NM
			FROM
				COMTNLOGINLOG a
			LEFT OUTER JOIN COMVNUSERMASTER b
				ON a.CONECT_ID = b.ESNTL_ID
			WHERE 
				1 = 1
			]]>
		<isNotEmpty prepend="AND" property="searchWrd">
				<![CDATA[	a.CONECT_MTHD LIKE CONCAT ('%', #searchWrd#,'%') ]]>
		</isNotEmpty>
		<isNotEmpty prepend="AND" property="searchBgnDe">
				<![CDATA[	DATE_FORMAT(a.CREAT_DT, '%Y%m%d') BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
		</isNotEmpty>		
				<![CDATA[ ORDER BY a.CREAT_DT DESC ]]>
		LIMIT #recordCountPerPage# OFFSET #firstIndex#
	</select>

	<!-- 로그인 로그 총건수 -->
	<select id="LoginLogDAO.selectLoginLogInfCnt" parameterClass="loginLog"	resultClass="java.lang.Integer">
		<![CDATA[ 
			SELECT COUNT(a.LOG_ID) as cnt
			FROM
				COMTNLOGINLOG a
			LEFT OUTER JOIN COMVNUSERMASTER b
				ON a.CONECT_ID = b.ESNTL_ID
			WHERE 
				1 = 1
			]]>
		<isNotEmpty prepend="AND" property="searchWrd">
				<![CDATA[	a.CONECT_MTHD LIKE CONCAT ('%', #searchWrd#,'%') ]]>
		</isNotEmpty>
		<isNotEmpty prepend="AND" property="searchBgnDe">
				<![CDATA[	DATE_FORMAT(a.CREAT_DT, '%Y%m%d') BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
		</isNotEmpty>
	</select>

</sqlMap>

