<?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="LoginUsr">

	<typeAlias  alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
	<typeAlias  alias="loginVO" type="egovframework.com.cmm.LoginVO"/>

	<!-- 로그인 처리를 위한 resultMap -->
	<resultMap id="login" class="egovframework.com.cmm.LoginVO">
		<result property="id" column="id" columnIndex="1"/>
		<result property="name" column="name" columnIndex="2"/>
		<result property="ihidNum" column="ihidNum" columnIndex="3"/>
		<result property="email" column="email" columnIndex="4"/>
		<result property="password" column="password" columnIndex="5"/>
		<result property="userSe" column="userSe" columnIndex="6"/>
		<result property="orgnztId" column="orgnztId" columnIndex="7"/>
		<result property="uniqId" column="uniqId" columnIndex="8"/>
		<result property="mber_sttus" column="mber_sttus" columnIndex="9"/>
		<result property="authType" column="authType" columnIndex="10"/>
		<result property="approvalstatus" column="approvalstatus" columnIndex="11"/>		
	</resultMap>
	
	 <!-- 아이디 찾기를 위한 resultMap  -->
	<resultMap id="id" class="egovframework.com.cmm.LoginVO">
		<result property="id" column="id" columnIndex="1"/>
	</resultMap>
	
	<!-- 일반 로그인 -->
	<select id="loginDAO.actionLogin" resultMap="login">
        <!-- 일반회원 -->
            SELECT a.mber_id AS id
                 , a.mber_nm AS name
                 , a.ihidNum AS ihidNum
                 , a.password AS password
                 , a.mber_email_adres AS email
                 , 'GNR' AS userSe
                 , '-' AS orgnztId
                 , a.esntl_id AS uniqId
                 , a.mber_sttus as mber_sttus
                 , CASE WHEN(#id# = 'admin') then 'A' else b.authType end as authType
                 , b.ApprovalStatus AS approvalstatus
              FROM pst.dbo.LETTNGNRLMBER a
         	  left outer join HandicappedTaxiWeb_yi.dbo.tbl_CTM b ON b.WebID = a.mber_id
              WHERE mber_id = #id#
               AND a.password = #password#
               AND a.mber_sttus in ('P', 'A')
	</select>
	
	<!-- 인증서 로그인
	<select id="loginDAO.actionCrtfctLogin" resultMap="login">
		<![CDATA[
		SELECT emplyr_id AS id
		     , USER_NM AS name
		     , password AS password
		     , ihidnum AS ihidNum
		     , email_adres AS email
		     , 'USR' AS userSe
		     , orgnzt_id AS orgnztId
		     , ESNTL_ID AS uniqId
		  FROM LETTNEMPLYRINFO
		 WHERE sub_dn = #dn#
		]]>
	</select>
	 -->
	 <!-- 아이디 찾기! -->
	<select id="loginDAO.searchId" resultMap="id">
		
			SELECT mber_id AS id
			  FROM LETTNGNRLMBER
			 WHERE mber_nm = #name#
			   AND mbtlnum = #cell#
			   AND mber_sttus = 'P'
			
	</select>
	
 	<!-- 비밀번호 찾기 1. 값 보내기-->
 	  <parameterMap id="loginDAO.sendCell" class="LoginVO">
	 	<parameter property="cell" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="id" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="name" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 </parameterMap>
	 <select id="loginDAO.searchPwd" parameterMap="loginDAO.sendCell" resultClass="LoginVO">
	 	exec spweb_smsAuthSend ?, ?, ?
	 </select>  
	 
	 <!-- 비밀번호 찾기 2. 인증번호 값 보내기-->
 	  <parameterMap id="loginDAO.sendAuthNum" class="LoginVO">
		<parameter property="cell" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" /> 	  
	 	<parameter property="authNum" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="id" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="name" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 </parameterMap>
	 <select id="loginDAO.sendAuthNum" parameterMap="loginDAO.sendAuthNum" resultClass="LoginVO">
	 	exec spweb_smsAuthCheck ?, ?, ?, ?
	 </select>   
	 
	 <!-- 비밀번호 찾기 3. 생성된 임시비밀번호 전송-->
 	  <parameterMap id="loginDAO.sendTempPassword" class="LoginVO">
 	  	<parameter property="cell" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="tempPassword" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="tempEncrypt" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 </parameterMap>
	 <select id="loginDAO.sendTempPassword" parameterMap="loginDAO.sendTempPassword" resultClass="LoginVO">
	 	exec spweb_tempPassword ?, ?, ?
	 </select>   
	 
	 
	  	<!-- 비밀번호 찾기 인증번호 보내기-->
<!--  	  <parameterMap id="loginDAO.sendAuthNum" class="LoginVO">
	 	<parameter property="cell" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="id" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 	<parameter property="name" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
	 </parameterMap>
	 <select id="loginDAO.searchPwd" parameterMap="loginDAO.sendCell" resultClass="LoginVO">
	 	exec spweb_smsAuthSend ?, ?, ?
	 </select>   --> 
	 
	 
	<!-- 변경된 비밀번호를 저장 
	<update id="loginDAO.updatePassword">
		<isEqual property="userSe" compareValue="GNR">
			<![CDATA[
			UPDATE LETTNGNRLMBER
			   SET password = #password#
			 WHERE mber_id = #id#
			]]>
		</isEqual>
		<isEqual property="userSe" compareValue="ENT">
			<![CDATA[
			UPDATE LETTNENTRPRSMBER
			   SET entrprs_mber_password = #password#
			 WHERE entrprsmber_id = #id#
			]]>
		</isEqual>
		<isEqual property="userSe" compareValue="USR">
			<![CDATA[
			UPDATE LETTNEMPLYRINFO
			   SET password = #password#
			 WHERE emplyr_id = #id#
			]]>
		</isEqual>
	</update>
	-->
</sqlMap>
