<?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.style24.admin.biz.dao.TsaFreegiftPromotionDao">
	<!-- 사은품 프로모션 리스트 조회 -->
	<select id="getFreeGoodsPromotionList" parameterType="FreeGoodsPromotion" resultType="FreeGoodsPromotion">
		/* TsaMarketing.getFreeGoodsPromotionList :  사은품 프로모션 리스트 조회 */
		SELECT Z.*
		FROM (SELECT @rownum := @rownum + 1 AS RNUM
				   , A.*
				FROM (  SELECT FG.FREEGIFT_SQ
							 , FG.FREEGIFT_NM
							 , FG.FREEGIFT_STAT
							 , (SELECT CD_NM FROM TB_COMMON_CODE WHERE CD = FG.FREEGIFT_STAT) AS FREEGIFT_STAT_NM
							 , FG.SELF_YN
							 , DATE_FORMAT(FG.FREEGIFT_STDT, '%Y.%m.%d') AS FREEGIFT_STDT
							 , DATE_FORMAT(FG.FREEGIFT_EDDT, '%Y.%m.%d') AS FREEGIFT_EDDT
							 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.REG_NO) AS REG_NM
							 , DATE_FORMAT(FG.REG_DT, '%Y.%m.%d %H:%i:%S') AS REG_DT
							 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.UPD_NO) AS UPD_NM
							 , DATE_FORMAT(FG.UPD_DT, '%Y.%m.%d %H:%i:%S') AS UPD_DT
						  FROM TB_FREEGIFT FG
						 WHERE 1=1
						   AND DEL_YN = 'N'
						<if test="searchTxt != null and searchTxt != ''">
							<if test="promotionGubun != null and promotionGubun == 'freegiftSq'">
						   AND FG.FREEGIFT_SQ = #{searchTxt}
							</if>
							<if test="promotionGubun != null and promotionGubun == 'freegiftNm'">
						   AND FG.FREEGIFT_NM = #{searchTxt}
							</if>
						</if>
						/* 프로모션ID로 검색하면 기간보다 우선하여 검색한다 */
						<if test="searchTxt == '' or promotionGubun != 'freegiftSq'">
							<if test="stDate != null and stDate != ''">
								<if test="edDate != null and edDate != ''">
							   AND FG.REG_DT BETWEEN STR_TO_DATE(#{stDate},'%Y-%m-%d%H%i%S') AND STR_TO_DATE(CONCAT(#{edDate}, '235959'),'%Y-%m-%d%H%i%S')
								</if>
							</if>
						</if>
				 	 ) A
				JOIN (SELECT @rownum := 0) R
				ORDER BY REG_DT DESC
				) Z
		WHERE  1=1
		AND    Z.RNUM BETWEEN  #{pageable.startRow} AND #{pageable.endRow}
	</select>

	<!-- 사은품 프로모션 리스트 Count 조회 -->
	<select id="getFreeGoodsPromotionListCount" parameterType="FreeGoodsPromotion" resultType="int">
		/* TsaMarketing.getFreeGoodsPromotionListCount :  사은품 프로모션 리스트 조회 */
		SELECT COUNT(1) AS CNT
		FROM TB_FREEGIFT FG
		WHERE 1=1
		AND DEL_YN = 'N'
		<if test="searchTxt != null and searchTxt != ''">
			<if test="promotionGubun != null and promotionGubun == 'freegiftSq'">
				AND FG.FREEGIFT_SQ = #{searchTxt}
			</if>
			<if test="promotionGubun != null and promotionGubun == 'freegiftNm'">
				AND FG.FREEGIFT_NM = #{searchTxt}
			</if>
		</if>
		/* 프로모션ID로 검색하면 기간보다 우선하여 검색한다 */
		<if test="searchTxt == '' or promotionGubun != 'freegiftSq'">
			<if test="stDate != null and stDate != ''">
				<if test="edDate != null and edDate != ''">
					AND FG.REG_DT BETWEEN STR_TO_DATE(#{stDate},'%Y-%m-%d%H%i%S') AND STR_TO_DATE(CONCAT(#{edDate}, '235959'),'%Y-%m-%d%H%i%S')
				</if>
			</if>
		</if>
	</select>

	<!-- 사은품 프로모션 조회 -->
	<select id="getFreeGoodsPromotionInfo" parameterType="FreeGoodsPromotion" resultType="FreeGoodsPromotion">
		/* TsaMarketing.getFreeGoodsPromotionInfo :  사은품 프로모션 조회 */
		SELECT FG.FREEGIFT_SQ
			 , FG.FREEGIFT_NM
			 , FG.FREEGIFT_STAT
			 , (SELECT CD_NM FROM TB_COMMON_CODE WHERE CD = FG.FREEGIFT_STAT) AS FREEGIFT_STAT_NM
			 , FG.SELF_YN
		     , FG.ALL_YN
			 , DATE_FORMAT(FG.FREEGIFT_STDT, '%Y-%m-%d %H:%i:%S') AS FREEGIFT_STDT
			 , DATE_FORMAT(FG.FREEGIFT_EDDT, '%Y-%m-%d %H:%i:%S') AS FREEGIFT_EDDT
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.REG_NO) AS REG_NM
			 , DATE_FORMAT(FG.REG_DT, '%Y.%m.%d %H:%i:%S') AS REG_DT
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.UPD_NO) AS UPD_NM
			 , DATE_FORMAT(FG.UPD_DT, '%Y.%m.%d %H:%i:%S') AS UPD_DT
		FROM TB_FREEGIFT FG
		WHERE 1=1
		AND DEL_YN = 'N'
		<if test="freegiftSq != null and freegiftSq != ''">
			AND FG.FREEGIFT_SQ = #{freegiftSq}
		</if>
	</select>

	<!-- 사은품 프로모션 제휴몰 리스트 조회 -->
	<select id="getFreegiftExtmallList" parameterType="FreeGoodsPromotion" resultType="Extmall">
		/* TsaMarketing.getFreegiftExtmallList : 사은품 프로모션 제휴몰 리스트 조회 */
		SELECT FE.FREEGIFT_EXTMALL_SQ
		     , FE.FREEGIFT_SQ
		     , FE.EXTMALL_ID
		     , FE.VENDOR_ID
		     , (SELECT EXTMALL_NM FROM TB_EXTMALL WHERE EXTMALL_ID = FE.EXTMALL_ID AND VENDOR_ID = FE.VENDOR_ID) AS EXTMALL_NM
		     , FE.DEL_YN
		     , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FE.REG_NO) AS REG_NM
			 , DATE_FORMAT(FE.REG_DT, '%Y.%m.%d %H:%i:%S') AS REG_DT
		     , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FE.UPD_NO) AS UPD_NM
		     , DATE_FORMAT(FE.UPD_DT, '%Y.%m.%d %H:%i:%S') AS UPD_DT
		  FROM TB_FREEGIFT_EXTMALL FE
		 WHERE 1=1
		   AND DEL_YN = 'N'
		<if test="freegiftSq != null and freegiftSq != ''">
		   AND FE.FREEGIFT_SQ = #{freegiftSq}
		</if>
		ORDER BY EXTMALL_ID ASC
	</select>

	<!-- 사은품 프로모션 공급업체 리스트 조회 -->
	<select id="getFreegiftSupplyCompList" parameterType="FreeGoodsPromotion" resultType="FreeGoodsPromotion">
		/* TsaMarketing.getFreegiftSupplyCompList : 사은품 프로모션 공급업체 리스트 조회 */
		SELECT FG.FREEGIFT_GOODS_SQ
		     , FG.FREEGIFT_SQ
		     , FG.GOODS_GB
		     , FG.TARGET_GB
		     , FG.TARGET_VAL
		     , SC.SUPPLY_COMP_CD
		     , SC.SUPPLY_COMP_NM
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.REG_NO) AS REG_NM
			 , DATE_FORMAT(FG.REG_DT, '%Y.%m.%d %H:%i:%S') AS REG_DT
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.UPD_NO) AS UPD_NM
			 , DATE_FORMAT(FG.UPD_DT, '%Y.%m.%d %H:%i:%S') AS UPD_DT
		  FROM TB_FREEGIFT_GOODS FG
		 INNER JOIN TB_SUPPLY_COMPANY SC
		    ON SC.SUPPLY_COMP_CD = FG.TARGET_VAL
		 WHERE 1=1
		   AND DEL_YN = 'N'
		   AND FG.GOODS_GB = 'G800_20'			/* G800_10|기본상품, G800_20|적용상품, G800_30|제외상품, G800_40|ALL */
		   AND FG.TARGET_GB = 'G260_13'			/* G260_10|상품, G260_12|브랜드, G260_13|공급처 */
		   AND FG.FREEGIFT_SQ =	#{freegiftSq}		/* 사은품 프로모션 번호 */
		ORDER BY TARGET_VAL ASC
	</select>

	<!-- 사은품 프로모션 브랜드 리스트 조회 -->
	<select id="getFreegiftBrandList" parameterType="FreeGoodsPromotion" resultType="FreeGoodsPromotion">
		/* TsaMarketing.getFreegiftBrandList : 사은품 프로모션 브랜드 리스트 조회 */
		SELECT FG.FREEGIFT_GOODS_SQ
			 , FG.FREEGIFT_SQ
			 , FG.GOODS_GB
			 , FG.TARGET_GB
			 , FG.TARGET_VAL
		     , B.BRAND_CD
		     , B.BRAND_KNM
		     , B.BRAND_ENM
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.REG_NO) AS REG_NM
			 , DATE_FORMAT(FG.REG_DT, '%Y.%m.%d %H:%i:%S') AS REG_DT
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.UPD_NO) AS UPD_NM
			 , DATE_FORMAT(FG.UPD_DT, '%Y.%m.%d %H:%i:%S') AS UPD_DT
		 FROM TB_FREEGIFT_GOODS FG
	    INNER JOIN TB_BRAND B
		   ON B.BRAND_CD = FG.TARGET_VAL
	    WHERE 1=1
		  AND DEL_YN = 'N'
		  AND FG.GOODS_GB =	'G800_20'			/* G800_10|기본상품, G800_20|적용상품, G800_30|제외상품, G800_40|ALL */
		  AND FG.TARGET_GB = 'G260_12'			/* G260_10|상품, G260_12|브랜드, G260_13|공급처 */
		  AND FG.FREEGIFT_SQ =	#{freegiftSq}	/* 사은품 프로모션 번호 */
	    ORDER BY TARGET_VAL ASC
	</select>

	<!-- 사은품 프로모션 상품 리스트 조회 -->
	<select id="getFreegiftGoodsList" parameterType="FreeGoodsPromotion" resultType="FreeGoodsPromotion">
		/* TsaMarketing.getFreegiftApplyGoodsList : 사은품 프로모션 적용 상품 리스트 조회 */
		SELECT FG.FREEGIFT_GOODS_SQ
			 , FG.FREEGIFT_SQ
			 , FG.GOODS_GB
			 , FG.TARGET_GB
			 , FG.TARGET_VAL
			 , G.GOODS_CD
		     , (SELECT BRAND_ENM FROM TB_BRAND WHERE BRAND_CD = G.BRAND_CD) AS BRAND_ENM
		     , G.BRAND_CD
		     , G.GOODS_NM
		     , G.GOODS_STAT
		     , G.LIST_PRICE
		     , G.CURR_PRICE
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.REG_NO) AS REG_NM
			 , DATE_FORMAT(FG.REG_DT, '%Y.%m.%d %H:%i:%S') AS REG_DT
			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.UPD_NO) AS UPD_NM
			 , DATE_FORMAT(FG.UPD_DT, '%Y.%m.%d %H:%i:%S') AS UPD_DT
		  FROM TB_FREEGIFT_GOODS FG
		 INNER JOIN TB_GOODS G
		    ON G.GOODS_CD = FG.TARGET_VAL
		 WHERE DEL_YN = 'N'
		   AND FG.TARGET_GB = 'G260_10'		/* G260_10|상품, G260_12|브랜드, G260_13|공급처 */
		   AND FG.GOODS_GB = #{goodsGb}		/* G800_10|기본상품, G800_20|적용상품, G800_30|제외상품, G800_40|ALL */
		   AND FG.FREEGIFT_SQ = #{freegiftSq}	/* 사은품 프로모션 번호 */
		 ORDER BY TARGET_VAL ASC
	</select>

	<!-- 사은품 프로모션 섹션정보 리스트 조회 -->
	<select id="getFreegiftSectionList" parameterType="FreeGoodsPromotion" resultType="FreeGoodsPromotion">
		/* TsaMarketing.getFreegiftSectionList : 사은품 프로모션 섹션정보 리스트 조회 */
		SELECT FC.FREEGIFT_SECTION_SQ
		     , FC.SECTION_GB
		     , FC.SECTION_VAL
		  FROM TB_FREEGIFT_SECTION FC
		 WHERE FC.DEL_YN = 'N'
		   AND FC.FREEGIFT_SQ = #{freegiftSq}	/* 사은품 프로모션 번호 */
		 ORDER BY FC.FREEGIFT_SECTION_SQ ASC
	</select>

	<!-- 사은품 프로모션 섹션정보 리스트 조회 -->
	<select id="getFreegiftFreegoodsList" parameterType="FreeGoodsPromotion" resultType="FreeGoodsSectionVal">
		/* TsaMarketing.getFreegiftFreegoodsList : 사은품 프로모션 등록 사은품 리스트 조회 */
		SELECT FV.FREEGIFT_SECTION_SQ
		     , FV.PRODUCT_NO
		     , FV.USE_POINT
		     , FV.ITEM_QTY
		     , FV.LIMIT_QTY
			 , FV.LEFT_QTY
			 , FG.PRODUCT_NO
			 , FG.GOODS_NM
		  FROM TB_FREEGIFT_VAL FV
		 INNER JOIN TB_FREE_GOODS FG
		    ON FV.PRODUCT_NO = FG.PRODUCT_NO
		 WHERE FV.DEL_YN = 'N'
		   AND FV.FREEGIFT_SQ = #{freegiftSq}					/* 사은품 프로모션 번호 */
		   AND FV.FREEGIFT_SECTION_SQ = #{freegiftSectionSq}	/* 사은품 프로모션 섹션 번호 */
		 ORDER BY FV.FREEGIFT_SECTION_SQ, FV.PRODUCT_NO
	</select>

	<!-- 사은품 프로모션 마스터 정보 저장 -->
	<insert id="createFreegoodsPromotionInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.createFreegoodsPromotionInfo : 사은품 프로모션 마스터 정보 저장 */
		<selectKey keyProperty="freegiftSq" resultType="int" order="AFTER">
			SELECT LAST_INSERT_ID()
		</selectKey>
		INSERT INTO TB_FREEGIFT (
			  FREEGIFT_NM
			, FREEGIFT_STAT
			, FREEGIFT_STDT
			, FREEGIFT_EDDT
			, SELF_YN
			, ALL_YN
			, REG_NO
			, REG_DT
			, UPD_NO
			, UPD_DT
		) VALUES (
			  #{freegiftNm}
			, #{freegiftStat}
			, STR_TO_DATE(#{freegiftStdt},'%Y-%m-%d %H:%i:%S')
			, STR_TO_DATE(#{freegiftEddt},'%Y-%m-%d %H:%i:%S')
			, #{selfYn}
			, #{allYn}
			, #{regNo}
			, CURRENT_TIMESTAMP
			, #{updNo}
			, CURRENT_TIMESTAMP
		)
	</insert>

	<!-- 사은품 프로모션 제휴몰 정보 저장 -->
	<insert id="createFreegiftExtmallInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.createFreegiftExtmallInfo : 사은품 프로모션 제휴몰 정보 저장 */
		INSERT INTO TB_FREEGIFT_EXTMALL (
			  FREEGIFT_SQ
			, EXTMALL_ID
			, VENDOR_ID
			, REG_NO
			, REG_DT
			, UPD_NO
			, UPD_DT
		) VALUES (
			  #{freegiftSq}
			, #{extmallId}
			, #{vendorId}
			, #{regNo}
			, CURRENT_TIMESTAMP
			, #{updNo}
			, CURRENT_TIMESTAMP
		)
	</insert>

	<!-- 사은품 프로모션 대상 정보 저장 -->
	<insert id="createFreegiftGoodsInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.createFreegiftGoodsInfo : 사은품 프로모션 대상 정보 저장 */
		INSERT INTO TB_FREEGIFT_GOODS (
			  FREEGIFT_SQ
			, GOODS_GB
			, TARGET_GB
			, TARGET_VAL
			, REG_NO
			, REG_DT
			, UPD_NO
			, UPD_DT
		) VALUES (
			  #{freegiftSq}
			, #{goodsGb}
			, #{targetGb}
			, #{targetVal}
			, #{regNo}
			, CURRENT_TIMESTAMP
			, #{updNo}
			, CURRENT_TIMESTAMP
		 )
	</insert>

	<!-- 사은품 지급 조건 -->
	<insert id="createFreegiftSectionInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.createFreegiftSectionInfo : 사은품 지급 조건 저장 */
		<selectKey keyProperty="freegiftSectionSq" resultType="int" order="AFTER">
			SELECT LAST_INSERT_ID()
		</selectKey>
		INSERT INTO TB_FREEGIFT_SECTION (
			  FREEGIFT_SQ
			, SECTION_GB
			, SECTION_VAL
			, REG_NO
			, REG_DT
			, UPD_NO
			, UPD_DT
		) VALUES (
			  #{freegiftSq}
			, #{sectionGb}
			, #{sectionVal}
			, #{regNo}
			, CURRENT_TIMESTAMP
			, #{updNo}
			, CURRENT_TIMESTAMP
		)
	</insert>

	<!-- 사은품 프로모션 지급 사은품 저장 -->
	<insert id="createPromotionFreeGoodsInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.createPromotionFreeGoodsInfo : 사은품 프로모션 지급 사은품 저장 */
		INSERT INTO TB_FREEGIFT_VAL (
			  FREEGIFT_SQ
			, FREEGIFT_SECTION_SQ
			, PRODUCT_NO
			, USE_POINT
			, ITEM_QTY
			, LIMIT_QTY
			, LEFT_QTY
			, REG_NO
			, REG_DT
			, UPD_NO
			, UPD_DT
		) VALUES (
			  #{freegiftSq}
			, #{freegiftSectionSq}
			, #{productNo}
			, #{usePoint}
			, #{itemQty}
			, #{limitQty}
			, #{leftQty}
			, #{regNo}
			, CURRENT_TIMESTAMP
			, #{updNo}
			, CURRENT_TIMESTAMP
		)
	</insert>

	<!-- 사은품 프로모션 마스터 정보 수정 -->
	<update id="updateFreegoodsPromotionInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.updateFreegoodsPromotionInfo : 사은품 프로모션 마스터 정보 수정 */
		UPDATE TB_FREEGIFT
        SET FREEGIFT_STDT = STR_TO_DATE(#{freegiftStdt},'%Y-%m-%d %H:%i:%S')
          , FREEGIFT_EDDT = STR_TO_DATE(#{freegiftEddt},'%Y-%m-%d %H:%i:%S')
          , FREEGIFT_NM = #{freegiftNm}
		  , SELF_YN = #{selfYn}
		  , ALL_YN = #{allYn}
		  , UPD_NO = #{updNo}
		  , UPD_DT = CURRENT_TIMESTAMP
		WHERE FREEGIFT_SQ = #{freegiftSq}
	</update>

	<!-- 사은품 프로모션 제휴몰 정보 삭제  -->
	<update id="deleteFreegiftExtmallInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.deleteFreegiftExtmallInfo : 사은품 프로모션 제휴몰 정보 삭제 */
		UPDATE TB_FREEGIFT_EXTMALL SET
			  DEL_YN = 'Y'
			, UPD_NO = #{updNo}
			, UPD_DT = CURRENT_TIMESTAMP
		WHERE FREEGIFT_SQ = #{freegiftSq}
		  AND DEL_YN = 'N'
	</update>

	<!-- 사은품 적용 업체/브랜드/상품 제외상품 정보 삭제  -->
	<delete id="deleteFreegiftGoodsInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.deleteFreegiftSupplyCompInfo : 사은품 적용 업체/브랜드/상품 제외상품 정보 삭제 */
		UPDATE TB_FREEGIFT_GOODS SET
			 DEL_YN = 'Y'
		   , UPD_NO = #{updNo}
		   , UPD_DT = CURRENT_TIMESTAMP
		WHERE FREEGIFT_SQ = #{freegiftSq}
		  AND DEL_YN = 'N'
	</delete>

	<!-- 사은품 적용 조건 정보 삭제  -->
	<delete id="deleteFreegiftSectionInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.deleteFreegiftSectionInfo : 사은품 적용 조건 정보 삭제 */
		UPDATE TB_FREEGIFT_SECTION SET
			DEL_YN = 'Y'
		  , UPD_NO = #{updNo}
		  , UPD_DT = CURRENT_TIMESTAMP
		WHERE FREEGIFT_SQ = #{freegiftSq}
		  AND DEL_YN = 'N'
	</delete>

	<!-- 사은품 프로모션 지급 사은품 정보 삭제 -->
	<delete id="deleteFreegiftValInfo" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.deleteFreegiftValInfo : 사은품 프로모션 지급 사은품 정보 삭제 */
		UPDATE TB_FREEGIFT_VAL SET
			DEL_YN = 'Y'
		  , UPD_NO = #{updNo}
		  , UPD_DT = CURRENT_TIMESTAMP
		WHERE FREEGIFT_SQ = #{freegiftSq}
		  AND DEL_YN = 'N'
	</delete>

	<!-- 사은품 프로모션 상태 수정 -->
	<update id="updateFreegoodsPromotionStat" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.updateFreegoodsPromotionStat : 사은품 프로모션 상태 수정 */
		UPDATE TB_FREEGIFT SET
			  FREEGIFT_STAT = #{freegiftStat}
		<if test="freegiftStat == 'G232_14'">
			, DEL_YN = 'Y'
		</if>
			, UPD_NO = #{updNo}
			, UPD_DT = CURRENT_TIMESTAMP
		WHERE FREEGIFT_SQ = #{freegiftSq}
	</update>

	<!-- 사은품 프로모션 상태 수정 -->
	<update id="updateFreegoodsPromotionName" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.updateFreegoodsPromotionName : 사은품 프로모션 상태 수정 */
		UPDATE TB_FREEGIFT SET
		       FREEGIFT_NM = #{freegiftNm}
		     , UPD_NO = #{updNo}
		     , UPD_DT = NOW()
		WHERE  FREEGIFT_SQ = #{freegiftSq}
	</update>

	<!-- 사은품 프로모션 지급 사은품 정보 삭제 -->
	<delete id="deleteFreegiftGoodsApply" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.deleteFreegiftGoodsApply : 적용 업체 및 브랜드 목록 제거 */
		DELETE FROM TB_FREEGIFT_GOODS_APPLY
			  WHERE FREEGIFT_SQ = #{freegiftSq}
	</delete>

	<!-- 실사용 업체/브랜드 리스트 등록 -->
	<insert id="insertFreegiftGoodsApplyList" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.insertFreegiftGoodsApplyList : 실사용 업체/브랜드 리스트 등록 */
		INSERT INTO TB_FREEGIFT_GOODS_APPLY
		SELECT FREEGIFT_SQ
			 , TARGET_GB
			 , TARGET_VAL
			 , #{regNo}
			 , NOW()
		  FROM TB_FREEGIFT_GOODS
		 WHERE 1=1
		   AND FREEGIFT_SQ = #{freegiftSq}
		   AND DEL_YN = 'N'
		   AND TARGET_GB IN ('G260_12', 'G260_13')
	</insert>

	<!-- 실사용 업체/브랜드 리스트 등록 -->
	<insert id="insertFreegiftGoodsApplyCompanyOrBrandList" parameterType="FreeGoodsPromotion">
		/* TsaMarketing.insertFreegiftGoodsApplyList : 실사용 업체/브랜드 리스트 등록 */
		INSERT INTO TB_FREEGIFT_GOODS_APPLY
		SELECT DISTINCT FG.FREEGIFT_SQ
		<if test="targetGb == 'G260_13'">		<!-- 업체일 경우 업체에 등록된 브랜드 코드 입력 -->
		     , 'G260_12' AS TARGET_GB
		     , BS.BRAND_CD AS TARGET_VAL
		</if>
		<if test="targetGb == 'G260_12'">		<!-- 브랜드일 경우 업체에 등록된 업체 코드 입력 -->
			, 'G260_13' AS TARGET_GB
			 , BS.SUPPLY_COMP_CD AS TARGET_VAL
		</if>
			 , #{regNo} AS REG_NO
			 , NOW() AS REG_DT
		FROM   TB_FREEGIFT_GOODS FG
		INNER  JOIN TB_BRAND_SUPPLY BS
		<if test="targetGb == 'G260_13'">
		ON     FG.TARGET_VAL = BS.SUPPLY_COMP_CD
		</if>
		<if test="targetGb == 'G260_12'">
		ON     FG.TARGET_VAL = BS.BRAND_CD
		</if>
		WHERE  1=1
		AND    FG.FREEGIFT_SQ = #{freegiftSq}
		AND    FG.TARGET_GB = #{targetGb}
		AND    FG.DEL_YN = 'N'
	</insert>
</mapper>