Bläddra i källkod

다다익선 수정

bin2107 5 år sedan
förälder
incheckning
7a388cab7c

+ 19 - 56
src/main/java/com/style24/admin/biz/dao/TsaMorebetterDao.java

@@ -196,42 +196,6 @@ public interface TsaMorebetterDao {
      */
     void deleteTmtbBurdenList(MoreBetterBurden moreBetterBurden);
 
-    /**
-     * 다다익선 - 진행중인 다다익선 상품 조회
-     * @param moreBetterGoods
-     * @return
-     * @author bin2107
-     * @since 2021. 1. 22
-     */
-    Collection<MoreBetterGoods> getMorebetterUsingGoodsList(MoreBetterGoods moreBetterGoods);
-
-    /**
-     * 다다익선 - 진행중인 다다익선 상품 delete
-     * @param
-     * @return
-     * @author bin2107
-     * @since 2021. 1. 22
-     */
-    void deleteTmtbGoodsTemp(MoreBetterGoods moreBetterGoods);
-
-    /**
-     * 다다익선 - 진행중인 다다익선 상품 조회 insert
-     * @param
-     * @return
-     * @author bin2107
-     * @since 2021. 1. 22
-     */
-    void createTmtbGoodsTemp(MoreBetterGoods moreBetterGoods);
-
-    /**
-     * 다다익선 - 입력받은 다다익선 적용 상품 insert
-     * @param
-     * @return
-     * @author bin2107
-     * @since 2021. 1. 22
-     */
-    void createTmtbApplyGoodsTemp(MoreBetterGoods moreBetterGoods);
-
     /**
      * 다다익선 중복 상품 조회
      * @param moreBetterGoods
@@ -250,26 +214,6 @@ public interface TsaMorebetterDao {
      */
     void updateMorebetterStat(MoreBetter moreBetter);
 
-    /**
-     * 다다익선 - 중복제거 적용 상품 리스트 delete
-     * @param
-     * @return
-     * @author bin2107
-     * @since 2021. 1. 22
-     */
-    void deleteTmtbApplyGoodsTemp(MoreBetterGoods moreBetterGoods);
-
-    /**
-     * 다다익선 중복제거 적용 상품 리스트 조회
-     * @param
-     * @return
-     * @author bin2107
-     * @since 2021. 2. 1
-     */
-    List<MoreBetterGoods> getMorebetterRealApplyGoodsList(MoreBetter moreBetter);
-
-    List<MoreBetterGoods> getMorebetterCompBrandGoodsList(MoreBetterGoods moreBetterGoods);
-
     /**
      * 다다익선 업체,브랜드,상품 (TB_TMTB_GOODS) 삭제
      * @param moreBetter
@@ -314,5 +258,24 @@ public interface TsaMorebetterDao {
      * @since 2021. 2. 8
      */
     void deleteTmtbApplyGoods(MoreBetter moreBetter);
+
+    /**
+     * 다다익선 공급업체 & 브랜드 적용상품 (TB_TMTB_APPLY_GOODS) 저장
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 22
+     */
+    void insertMorebetterApplyGoods(MoreBetterGoods moreBetterGoods);
+
+    /**
+     * 다다익선 적용상품 temp
+     * @param
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 23
+     */
+    void deleteMorebetterApplyGoodsTemp(MoreBetter moreBetter);
+    void insertMorebetterApplyGoodsTemp(MoreBetter moreBetter);
     /* // CSB 진행 */
 }

+ 50 - 51
src/main/java/com/style24/admin/biz/service/TsaMorebetterService.java

@@ -188,21 +188,6 @@ public class TsaMorebetterService {
             morebetterDao.saveMorebetterGoods(regApplyGoods);
         }
 
-        // apply_goods
-        List<MoreBetterGoods> realApplyGoodsList = morebetterDao.getMorebetterRealApplyGoodsList(moreBetter);
-        for(MoreBetterGoods realApplyGoods : realApplyGoodsList){
-            for(MoreBetterGoods regApplyGoods : moreBetter.getApplyGoodsList()){
-                if(regApplyGoods.getGoodsCd().equals(realApplyGoods.getGoodsCd())){
-                    // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
-                    regApplyGoods.setTmtbSq(moreBetter.getTmtbSq());
-                    regApplyGoods.setTargetVal(realApplyGoods.getGoodsCd());
-                    regApplyGoods.setRegNo(moreBetter.getRegNo());
-                    regApplyGoods.setUpdNo(moreBetter.getUpdNo());
-                    morebetterDao.saveMorebetterApplyGoods(regApplyGoods);
-                }
-            }
-        }
-
         // 제외상품
         for(MoreBetterGoods regExceptGoods : moreBetter.getExceptGoodsList()){
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
@@ -236,6 +221,39 @@ public class TsaMorebetterService {
             morebetterDao.saveMorebetterBurden(regBurden);
         }
 
+        // 업체&브랜드 상품
+        MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
+        StringBuilder sb = new StringBuilder();
+        //int i = 1;
+        if(moreBetter.getApplyGoodsList().size()>0){
+            for(int i=0; i<moreBetter.getApplyGoodsList().size(); i++){
+                sb.append("SELECT   '").append(moreBetter.getApplyGoodsList().get(i).getGoodsCd()).append("' AS GOODS_CD ");
+                if(i<moreBetter.getApplyGoodsList().size()-1){
+                    sb.append("\n UNION ALL \n");
+                }
+            }
+        }
+        moreBetterGoods.setApplySql(sb.toString());
+
+        StringBuilder sb2 = new StringBuilder();
+        if(moreBetter.getExceptGoodsList().size()>0){
+            for(int i=0; i<moreBetter.getExceptGoodsList().size(); i++){
+                sb2.append("SELECT   '").append(moreBetter.getExceptGoodsList().get(i).getGoodsCd()).append("' AS GOODS_CD ");
+                if(i<moreBetter.getExceptGoodsList().size()-1){
+                    sb2.append("\n UNION ALL \n");
+                }
+            }
+        }
+        moreBetterGoods.setExceptSql(sb2.toString());
+        moreBetterGoods.setTmtbSq(moreBetter.getTmtbSq());
+        moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
+        moreBetterGoods.setUpdNo(TsaSession.getInfo().getUserNo());
+        moreBetterGoods.setMultiSupplyCompCd(moreBetter.getMultiSupplyCompCd());
+        moreBetterGoods.setMultiBrand(moreBetter.getMultiBrand());
+        moreBetterGoods.setMultiApplyGoods(moreBetter.getMultiApplyGoods());
+        moreBetterGoods.setMultiExceptGoods(moreBetter.getMultiExceptGoods());
+        morebetterDao.insertMorebetterApplyGoods(moreBetterGoods);
+
         log.info("newBurdenSq = {}, newTmtbSq = {}, newSupplyCd = {}, newBurdenRate = {} , newUseYn = {}");
     }
 
@@ -348,42 +366,6 @@ public class TsaMorebetterService {
         }
     }
 
-    /**
-     * 다다익선 - 진행중인 다다익선 상품 TMEP 테이블 생성
-     * @param
-     * @return
-     * @author bin2107
-     * @since 2021. 1. 22
-     */
-    @Transactional("shopTxnManager")
-    public void createMorebetterGoodsTemp(MoreBetterGoods moreBetterGoods){
-        moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
-
-        morebetterDao.deleteTmtbApplyGoodsTemp(moreBetterGoods);
-
-        // 적용상품 그리드 데이터
-        List<MoreBetterGoods> applyGoodsList = moreBetterGoods.getGridApplyGoodsList();
-
-        if(moreBetterGoods.getMultiSupplyCompCd().length > 0 || moreBetterGoods.getMultiBrand().length > 0){
-            // 공급업체, 브랜드에 해당하는 상품
-            List<MoreBetterGoods> compBrandGoodsList = morebetterDao.getMorebetterCompBrandGoodsList(moreBetterGoods);
-            if(compBrandGoodsList.size() > 0){
-                for(int i=0; i<compBrandGoodsList.size(); i++){
-                    moreBetterGoods.setGoodsCd(compBrandGoodsList.get(i).getGoodsCd());
-                    morebetterDao.createTmtbApplyGoodsTemp(moreBetterGoods);
-                    applyGoodsList.add(compBrandGoodsList.get(i));
-                }
-            }
-        }
-
-        for(int i=0; i<moreBetterGoods.getMultiApplyGoods().length; i++){
-            moreBetterGoods.setGoodsCd(moreBetterGoods.getMultiApplyGoods()[i]);
-            morebetterDao.createTmtbApplyGoodsTemp(moreBetterGoods);
-        }
-        morebetterDao.deleteTmtbGoodsTemp(moreBetterGoods);
-        morebetterDao.createTmtbGoodsTemp(moreBetterGoods);
-    }
-
     /**
      * 다다익선 - 진행중인 다다익선 상품 조회
      * @param moreBetterGoods
@@ -408,5 +390,22 @@ public class TsaMorebetterService {
         morebetterDao.updateMorebetterStat(moreBetter);
     }
 
+    /**
+     * 다다익선 적용상품 temp
+     * @param
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 23
+     */
+    @Transactional("shopTxnManager")
+    public void insertMorebetterApplyGoodsTemp(MoreBetter moreBetter) {
+        moreBetter.setRegNo(TsaSession.getInfo().getUserNo());
+        moreBetter.setUpdNo(TsaSession.getInfo().getUserNo());
+        if(moreBetter.getMultiApplyGoods().length > 0){
+            morebetterDao.deleteMorebetterApplyGoodsTemp(moreBetter);
+            morebetterDao.insertMorebetterApplyGoodsTemp(moreBetter);
+        }
+    }
+
     /* // CSB 진행 */
 }

+ 8 - 21
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -740,19 +740,12 @@ public class TsaMarketingController extends TsaBaseController {
 
 		try{
 			MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
-			moreBetterGoods.setMultiSupplyCompCd(moreBetter.getMultiSupplyCompCd());
-			moreBetterGoods.setMultiBrand(moreBetter.getMultiBrand());
-			moreBetterGoods.setMultiApplyGoods(moreBetter.getMultiApplyGoods());
-			moreBetterGoods.setMultiExceptGoods(moreBetter.getMultiExceptGoods());
-
-			// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
-			moreBetterGoods.setApplyGoodsList(moreBetter.getApplyGoodsList());
-			moreBetterGoods.setGridApplyGoodsList(moreBetter.getApplyGoodsList());
-			moreBetterGoods.setSectionGb(moreBetter.getSectionGb());
-
-			morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
+			// 적용상품 으로 tb_goods 조회해서 temp 테이블 insert
+			morebetterService.insertMorebetterApplyGoodsTemp(moreBetter);
 			morebetterService.saveMoreBetterDetail(moreBetter);
 
+			moreBetterGoods.setTmtbSq(moreBetter.getTmtbSq());
+			moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
 			// 다른 다다에서 사용중인 상품 조회
 			Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
 			// SELECT -> 지금 내가 선택한 업체&브랜드 + 적용상품에 해당하는 상품 조회 MINUS TMTB_GOODS_TEMP 상품
@@ -881,18 +874,12 @@ public class TsaMarketingController extends TsaBaseController {
 			MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
 
 			if("G232_11".equals(moreBetter.getTmtbStat())){
-				moreBetterGoods.setMultiSupplyCompCd(moreBetter.getMultiSupplyCompCd());
-				moreBetterGoods.setMultiBrand(moreBetter.getMultiBrand());
-				moreBetterGoods.setMultiApplyGoods(moreBetter.getMultiApplyGoods());
-				moreBetterGoods.setMultiExceptGoods(moreBetter.getMultiExceptGoods());
-
-				// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
-				moreBetterGoods.setApplyGoodsList(moreBetter.getApplyGoodsList());
-				moreBetterGoods.setGridApplyGoodsList(moreBetter.getApplyGoodsList());
-				moreBetterGoods.setSectionGb(moreBetter.getSectionGb());
-				morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
+				// 적용상품 으로 tb_goods 조회해서 temp 테이블 insert
+				morebetterService.insertMorebetterApplyGoodsTemp(moreBetter);
 
 				// 다른 다다에서 사용중인 상품 조회
+				moreBetterGoods.setTmtbSq(moreBetter.getTmtbSq());
+				moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
 				Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
 
 				// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기

+ 5 - 0
src/main/java/com/style24/persistence/domain/MoreBetter.java

@@ -89,6 +89,11 @@ public class MoreBetter extends TscBaseDomain {
 	private String eventEdHH;				// 다다익선종료일시
 	private String eventEdMM;				// 다다익선종료일시
 
+	private String multiGb;
+	private String compSql;		// 공급업체, 브랜드 쿼리문
+	private String applySql;	// 적용 상품 쿼리문
+	private String exceptSql;	// 적용 상품 쿼리문
+
 	// Pagination
 	private TscPageRequest pageable;
 	private int pageNo = 1;

+ 2 - 0
src/main/java/com/style24/persistence/domain/MoreBetterGoods.java

@@ -33,6 +33,8 @@ public class MoreBetterGoods extends TscBaseDomain {
 	private String goodsNm;
 
 	private String sectionGb;		// 구간설정 구분값(G810_10:수량,G810_11:금액)
+	private String applySql;	// 적용 상품 쿼리문
+	private String exceptSql;	// 적용 상품 쿼리문
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] arrCompanySq;

+ 111 - 104
src/main/java/com/style24/persistence/mybatis/shop/TsaMorebetter.xml

@@ -537,59 +537,19 @@
 		</if>
 	</delete>
 
-	<delete id="deleteTmtbGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMorebetter.deleteTmtbGoodsTemp */
-		DELETE FROM TB_TMTB_USING_GOODS_TEMP
-		WHERE	REG_NO = #{regNo}
-	</delete>
-
-	<insert id="createTmtbGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMorebetter.createTmtbGoodsTemp */
-		INSERT INTO TB_TMTB_USING_GOODS_TEMP
-			SELECT Z.REG_NO
-				, Z.GOODS_CD
-				, Z.GOODS_NM
-			FROM (
-					SELECT 	#{regNo} AS REG_NO
-							, B.GOODS_CD
-							, G.GOODS_NM
-							, (SELECT SECTION_GB FROM TB_TMTB_SECTION WHERE A.TMTB_SQ = TMTB_SQ GROUP BY SECTION_GB) AS SECTION_GB
-					  FROM 	TB_TMTB A
-				INNER JOIN  TB_TMTB_APPLY_GOODS B
-						ON  A.TMTB_SQ = B.TMTB_SQ
-				INNER JOIN  TB_GOODS G
-						ON  B.GOODS_CD = G.GOODS_CD
-					WHERE 1=1
-					  AND NOW() BETWEEN DATE_FORMAT(A.TMTB_ST_DT, '%Y-%m-%d %H:%i:%S') AND DATE_FORMAT(A.TMTB_ED_DT, '%Y-%m-%d %H:%i:%S')
-					  AND A.TMTB_STAT = 'G232_11'
-					  AND A.DEL_YN = 'N'
-					  AND B.GOODS_GB IN ('G800_10','G800_20')
-					  AND B.DEL_YN = 'N'
-					  AND B.GOODS_CD NOT IN (
-											SELECT	GOODS_CD
-											FROM	TB_TMTB_APPLY_GOODS C
-											WHERE	1=1
-											  AND		B.TMTB_SQ = C.TMTB_SQ
-											  AND		C.GOODS_GB = 'G800_30'
-					      					  AND 		C.DEL_YN = 'N'
-										)
-			) Z
-			WHERE 1=1
-			AND Z.SECTION_GB = #{sectionGb}
-	</insert>
-
 	<select id="getMorebetterDuplicateList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
 		/* TsaMorebetter.getMorebetterDuplicateList */
-		SELECT 	B.REG_NO
-				, B.GOODS_CD
-				, B.GOODS_NM
-		FROM 	TB_TMTB_APPLY_GOODS_TEMP A
-		JOIN 	TB_TMTB_USING_GOODS_TEMP B
-			ON 	A.REG_NO = B.REG_NO
-			AND A.GOODS_CD = B.GOODS_CD
-		WHERE 1=1
-		  AND A.REG_NO = #{regNo}
-		;
+		SELECT 	REG_NO
+				, GOODS_CD
+				, GOODS_NM
+		 FROM	TB_TMTB_APPLY_GOODS_TEMP
+		WHERE	1=1
+		  AND	REG_NO = #{regNo}
+		  AND	GOODS_CD NOT IN (
+							SELECT	GOODS_CD
+							FROM	TB_TMTB_APPLY_GOODS
+							WHERE	TMTB_SQ = #{tmtbSq}
+							)
 	</select>
 
 	<update id="updateMorebetterStat" parameterType="MoreBetter">
@@ -604,59 +564,6 @@
 		WHERE TMTB_SQ = #{tmtbSq}
 	</update>
 
-	<delete id="deleteTmtbApplyGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMorebetter.deleteTmtbApplyGoodsTemp */
-		DELETE FROM TB_TMTB_APPLY_GOODS_TEMP
-		WHERE	REG_NO = #{regNo}
-	</delete>
-
-	<insert id="createTmtbApplyGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMorebetter.createTmtbApplyGoodsTemp */
-		INSERT INTO TB_TMTB_APPLY_GOODS_TEMP(
-											 REG_NO
-											,GOODS_CD
-		)
-		VALUES (
-				   #{regNo}
-			   ,#{goodsCd}
-			   )
-	</insert>
-
-	<select id="getMorebetterRealApplyGoodsList" parameterType="MoreBetter" resultType="MoreBetterGoods">
-		/* TsaMorebetter.getMorebetterRealApplyGoodsList */
-		SELECT	GOODS_CD
-		  FROM	TB_TMTB_APPLY_GOODS_TEMP
-		 WHERE	1=1
-		   AND	REG_NO = #{regNo}
-		   AND	GOODS_CD NOT IN (
-							SELECT	GOODS_CD
-							FROM	TB_TMTB_USING_GOODS_TEMP
-							WHERE	1=1
-							  AND	REG_NO = #{regNo}
-							)
-	</select>
-
-	<select id="getMorebetterCompBrandGoodsList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMorebetter.getMorebetterCompBrandGoodsList */
-		SELECT  G.GOODS_CD
-				,'G800_20' AS GOODS_GB
-				,'G260_10' AS TARGET_GB
-		FROM  TB_GOODS G
-		WHERE  1=1
-		<if test="multiSupplyCompCd != null and multiSupplyCompCd.length>0">
-			AND G.SUPPLY_COMP_CD IN
-			<foreach collection="multiSupplyCompCd" item="item" index="index"  open="(" close=")" separator=",">
-				#{item}
-			</foreach>
-		</if>
-		<if test="multiBrand != null and multiBrand.length>0">
-			OR G.BRAND_CD IN
-			<foreach collection="multiBrand" item="item" index="index"  open="(" close=")" separator=",">
-				#{item}
-			</foreach>
-		</if>
-	</select>
-
 	<update id="deleteTmtbGoods" parameterType="MoreBetter">
 		/* TsaMorebetter.deleteTmtbGoods */
 		UPDATE TB_TMTB_GOODS SET
@@ -703,5 +610,105 @@
 		WHERE	TMTB_SQ = #{tmtbSq}
 	</delete>
 
+	<insert id="insertMorebetterApplyGoods" parameterType="MoreBetterGoods">
+		/* TsaMarketing.insertMorebetterApplyGoods */
+		<selectKey keyProperty="tmtbApplyGoodsSq" resultType="int" order="AFTER">
+			SELECT LAST_INSERT_ID()
+		</selectKey>
+		INSERT INTO TB_TMTB_APPLY_GOODS(
+			  TMTB_SQ
+			, GOODS_GB
+			, GOODS_CD
+			, DEL_YN
+			, REG_NO
+			, REG_DT
+			, UPD_NO
+			, UPD_DT
+		)
+		SELECT #{tmtbSq} AS TMTB_SQ
+				, 'G800_10' AS GOODS_GB
+				, Z.GOODS_CD AS GOODS_CD
+				, 'N' AS DEL_YN
+				, #{regNo} AS REG_NO
+				, NOW() AS REG_DT
+				, #{updNo} AS UPD_NO
+				, NOW() AS UPD_DT
+		FROM	(
+			SELECT T.GOODS_CD
+			FROM (
+				<if test="multiSupplyCompCd!= null and multiSupplyCompCd.length>0">
+					SELECT GOODS_CD
+					FROM TB_GOODS
+					WHERE SUPPLY_COMP_CD IN
+					<foreach collection="multiSupplyCompCd" item="item" open="(" separator="," close=")">
+						#{item}
+					</foreach>
+					UNION ALL
+				</if>
+				<if test="multiBrand!= null and multiBrand.length>0">
+					SELECT	GOODS_CD
+					FROM	TB_GOODS
+					WHERE 	BRAND_CD IN
+					<foreach collection="multiBrand" item="item" open="(" separator="," close=")">
+						#{item}
+					</foreach>
+					UNION ALL
+				</if>
+				${applySql}
+			) T
+			WHERE	1=1
+			<if test="multiExceptGoods!= null and multiExceptGoods.length>0">
+			AND 	T.GOODS_CD NOT IN ( ${exceptSql} )
+			</if>
+		) Z
+		WHERE	1=1
+		AND 	Z.GOODS_CD NOT IN (
+									SELECT	b.TARGET_VAL
+									FROM 	TB_TMTB A
+									LEFT OUTER JOIN TB_TMTB_GOODS B
+									ON A.TMTB_SQ = B.TMTB_SQ
+									WHERE	A.TMTB_ST_DT <![CDATA[<=]]> NOW()
+									AND 	A.TMTB_ED_DT <![CDATA[>=]]> NOW()
+									AND 	A.TMTB_STAT = 'G232_11'
+									AND 	B.GOODS_GB <![CDATA[<>]]> 'G800_30'
+								)
+	</insert>
+
+	<delete id="deleteMorebetterApplyGoodsTemp" parameterType="MoreBetter">
+		/* TsaMorebetter.deleteMorebetterApplyGoodsTemp */
+		DELETE FROM TB_TMTB_APPLY_GOODS_TEMP
+		WHERE	REG_NO = #{regNo}
+	</delete>
+
+	<insert id="insertMorebetterApplyGoodsTemp" parameterType="MoreBetter">
+		/* TsaMorebetter.insertMorebetterApplyGoodsTemp */
+		INSERT INTO TB_TMTB_APPLY_GOODS_TEMP
+		SELECT	T.*
+		FROM (
+			SELECT	#{regNo} AS REG_NO
+					, GOODS_CD
+					, GOODS_NM
+			FROM	TB_GOODS
+			WHERE	1=1
+			<if test="multiApplyGoods != null and multiApplyGoods.length>0">
+				AND GOODS_CD IN
+				<foreach collection="multiApplyGoods" item="item" open="(" separator="," close=")">
+					#{item}
+				</foreach>
+			</if>
+		) T
+		WHERE	1=1
+		<if test="multiExceptGoods != null and multiExceptGoods.length>0">
+		AND 	T.GOODS_CD NOT IN (
+		    						SELECT	GOODS_CD
+		    						FROM	TB_GOODS
+		    						WHERE	1=1
+		    						AND 	GOODS_CD IN
+									<foreach collection="multiExceptGoods" item="item" open="(" separator="," close=")">
+										#{item}
+									</foreach>
+								)
+		</if>
+	</insert>
 	<!--// CSB 진행 -->
 </mapper>