<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.i2sema.rcs.brand.dao.BrandDAO">

	<resultMap    id="brandVO"  type="com.i2sema.rcs.brand.vo.BrandVO" />
	<resultMap    id="brandListVO"  type="com.i2sema.rcs.brand.vo.BrandListVO" />
	    
    <parameterMap id="brandVO"  type="com.i2sema.rcs.brand.vo.BrandVO" />
    <parameterMap id="brandListVO"  type="com.i2sema.rcs.brand.vo.BrandListVO" />
    
    <select id="listBrandCount" parameterMap="brandListVO" resultType="int">
        <![CDATA[
			/* [com.i2sema.rcs.brand.dao.BrandDAO.listBrandCount] 브랜드 목록 개수 */
			SELECT	COUNT(*) AS cnt
			FROM 	rcs_brand
			WHERE	1 = 1
		]]>
		<if test="mberNo != null and mberNo !=''">
			<![CDATA[
					AND mber_no = #{mberNo}
			]]>
		</if>
		<if test="orgId != null and orgId !=''">
			<![CDATA[
					AND org_id = #{orgId}
			]]>
		</if>
		<if test="searchSdate != null and searchSdate != '' and searchEdate != null and searchEdate != ''">
			<![CDATA[
					AND rgst_date BETWEEN #{searchSdate} AND #{searchEdate}
			]]> 
		</if> 
     </select>   
    
	<select id="listBrand" parameterMap="brandListVO" resultMap="brandListVO">
		<![CDATA[
			/* [com.i2sema.rcs.brand.dao.BrandDAO.listBrand] 브랜드 목록 */
			SELECT			*
			FROM				(
									SELECT		b.seq,
									     				b.mber_no AS mberNo,
									     				b.org_id AS orgId,
									     				b.brand_name AS brandName,
									     				b.rgst_date AS rgstDate,
									     				b.modi_date AS modiDate,
									     				b.repr_tel AS reprTel,
									     				m.cmpnm AS cmpnName
									FROM			rcs_brand b
														INNER JOIN add_mber_info m
															ON b.mber_no = m.mber_no
																AND m.org_id is null
									WHERE		1=1					
		]]>
								<if test="mberNo != null and mberNo !=''">
									<![CDATA[
														AND b.mber_no = #{mberNo}
									]]>
								</if>
								<if test="orgId != null and orgId !=''">
									<![CDATA[
														AND b.org_id = #{orgId}
									]]>
								</if>
								<if test="searchSdate != null and searchSdate != '' and searchEdate != null and searchEdate != ''">
									<![CDATA[
											AND rgst_date BETWEEN #{searchSdate} AND #{searchEdate}
									]]> 
								</if> 				
		<![CDATA[
			) B
			ORDER BY		seq DESC
			LIMIT #{firstIndex}, #{recordCountPerPage}
		]]>
	</select>
	
	<select id="listBrandByAPI" parameterType="map" resultType="map">
		<![CDATA[
			/* [com.i2sema.rcs.brand.dao.BrandDAO.listBrandByAPI] 브랜드 목록 */
			SELECT		b.seq,
			     				b.mber_no AS mberNo,
			     				b.org_id AS orgId,
			     				b.brand_name AS brandName,
			     				b.rgst_date AS rgstDate,
			     				b.modi_date AS modiDate,
			     				b.repr_tel AS reprTel,
			     				m.cmpnm AS cmpnName
			FROM			rcs_brand b
								INNER JOIN add_mber_info m
									ON b.mber_no = m.mber_no
			WHERE		1=1
								AND m.org_id = #{orgId}
		]]>
	</select>
	
	<insert id="insertBrand" parameterMap="brandVO">
		<![CDATA[
    		/* [com.i2sema.rcs.brand.dao.BrandDAO.insertBrand] 브랜드 등록*/
   			INSERT INTO		rcs_brand
   			(
   				mber_no,
   				org_id,
   				brand_name,
   				brand_id,
   				brand_key,
   				repr_tel
   			)
			VALUES
			(
				#{mberNo},
				#{orgId},
				#{brandName},
				#{brandId},
				#{brandKey},
				#{reprTel}
			)
				
		]]>
	</insert>
	
	<select id="selectBrand" parameterType="int" resultMap="brandVO">
		<![CDATA[
			/* [com.i2sema.rcs.brand.dao.BrandDAO.listBrand] 브랜드 조회 */
			SELECT	b.seq,
		     				b.mber_no AS mberNo,
		     				b.org_id AS orgId,
		     				b.brand_name AS brandName,
		     				b.brand_id AS brandId,
		     				b.brand_key AS brandKey,
		     				b.repr_tel AS reprTel,
		     				b.rgst_date AS rgstDate,
		     				b.modi_date AS modiDate,
		     				m.cmpnm AS cmpnName
			FROM		rcs_brand b
							INNER JOIN add_mber_info m
								ON b.mber_no = m.mber_no
									AND m.org_id is null
			WHERE	b.seq = #{seq}
		]]>
	</select>
	
	<delete id="deleteBrand" parameterType="int">
		<![CDATA[
			/* [com.i2sema.rcs.brand.dao.BrandDAO.deleteBrand] 브랜드 삭제 */
			DELETE	
			FROM	rcs_brand
			WHERE	seq = #{seq}
		]]>
	</delete>
	
	<select id="listBrandBatch" resultMap="brandListVO">
		<![CDATA[
			/* [com.i2sema.rcs.brand.dao.BrandDAO.listBrandBatch] 브랜드 목록 (배치용) */
			SELECT		b.seq AS seq,
								b.brand_id AS brandId,
			     				b.brand_key AS brandKey,
			     				b.mber_no AS mberNo,
			     				b.org_id AS orgId
			FROM			rcs_brand b
			WHERE		use_at = 'Y'
		]]>
	</select>
</mapper>