瀏覽代碼

다다익선 수정

bin2107 5 年之前
父節點
當前提交
d5202d28fe

+ 45 - 0
src/main/java/com/style24/admin/biz/dao/TsaMorebetterDao.java

@@ -269,5 +269,50 @@ public interface TsaMorebetterDao {
     List<MoreBetterGoods> getMorebetterRealApplyGoodsList(MoreBetter moreBetter);
 
     List<MoreBetterGoods> getMorebetterCompBrandGoodsList(MoreBetterGoods moreBetterGoods);
+
+    /**
+     * 다다익선 업체,브랜드,상품 (TB_TMTB_GOODS) 삭제
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 2. 8
+     */
+    void deleteTmtbGoods(MoreBetter moreBetter);
+
+    /**
+     * 다다익선 분담율 (TB_TMTB_BURDEN) 삭제
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 2. 8
+     */
+    void deleteTmtbBurden(MoreBetter moreBetter);
+
+    /**
+     * 다다익선 할인 구간 (TB_TMTB_SECTION) 삭제
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 2. 8
+     */
+    void deleteTmtbSection(MoreBetter moreBetter);
+
+    /**
+     * 다다익선 할인값 (TB_TMTB_VAL) 삭제
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 2. 8
+     */
+    void deleteTmtbVal(MoreBetter moreBetter);
+
+    /**
+     * 다다익선 임시 적용상품 (TB_TMTB_APPLY_GOODS_TEMP) 삭제
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 2. 8
+     */
+    void deleteTmtbApplyGoods(MoreBetter moreBetter);
     /* // CSB 진행 */
 }

+ 22 - 5
src/main/java/com/style24/admin/biz/service/TsaMorebetterService.java

@@ -145,6 +145,14 @@ public class TsaMorebetterService {
         Gson gson = new Gson();
         String jsonData = gson.toJson(moreBetter);
 
+        if("U".equals(moreBetter.getMode())){
+            morebetterDao.deleteTmtbGoods(moreBetter);      // TB_TMTB_GOODS DEL_YN 'Y' UPDATE
+            morebetterDao.deleteTmtbBurden(moreBetter);     // TB_TMTB_BURDEN DEL_YN 'Y' UPDATE
+            morebetterDao.deleteTmtbSection(moreBetter);    // TB_TMTB_SECTION DEL_YN 'Y' UPDATE
+            morebetterDao.deleteTmtbVal(moreBetter);        // TB_TMTB_VAL DEL_YN 'Y' UPDATE
+            morebetterDao.deleteTmtbApplyGoods(moreBetter); // TB_TMTB_APPLY_GOODS DELETE
+        }
+
         // TMTB 마스터(TB_TMTB) 저장
         morebetterDao.saveMorebetterMst(moreBetter);
 
@@ -166,12 +174,22 @@ public class TsaMorebetterService {
             regBrand.setTargetVal(regBrand.getBrandCd());
             regBrand.setRegNo(moreBetter.getRegNo());
             regBrand.setUpdNo(moreBetter.getUpdNo());
-
             morebetterDao.saveMorebetterGoods(regBrand);
         }
 
-        List<MoreBetterGoods> realApplyGoodsList = morebetterDao.getMorebetterRealApplyGoodsList(moreBetter);
         // 적용상품
+        for(MoreBetterGoods regApplyGoods : moreBetter.getGridApplyGoodsList()){
+            // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
+            regApplyGoods.setTmtbSq(moreBetter.getTmtbSq());
+            regApplyGoods.setTargetVal(regApplyGoods.getGoodsCd());
+            regApplyGoods.setRegNo(moreBetter.getRegNo());
+            regApplyGoods.setUpdNo(moreBetter.getUpdNo());
+            regApplyGoods.setMultiDuplicateGoods(moreBetter.getMultiDuplicateGoods());
+            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())){
@@ -180,8 +198,6 @@ public class TsaMorebetterService {
                     regApplyGoods.setTargetVal(realApplyGoods.getGoodsCd());
                     regApplyGoods.setRegNo(moreBetter.getRegNo());
                     regApplyGoods.setUpdNo(moreBetter.getUpdNo());
-
-                    morebetterDao.saveMorebetterGoods(regApplyGoods);
                     morebetterDao.saveMorebetterApplyGoods(regApplyGoods);
                 }
             }
@@ -190,6 +206,7 @@ public class TsaMorebetterService {
         // 제외상품
         for(MoreBetterGoods regExceptGoods : moreBetter.getExceptGoodsList()){
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
+            log.info("exception::{}",moreBetter.getExceptGoodsList());
             regExceptGoods.setTmtbSq(moreBetter.getTmtbSq());
             regExceptGoods.setTargetVal(regExceptGoods.getGoodsCd());
             regExceptGoods.setRegNo(moreBetter.getRegNo());
@@ -345,7 +362,7 @@ public class TsaMorebetterService {
         morebetterDao.deleteTmtbApplyGoodsTemp(moreBetterGoods);
 
         // 적용상품 그리드 데이터
-        List<MoreBetterGoods> applyGoodsList = moreBetterGoods.getApplyGoodsList();
+        List<MoreBetterGoods> applyGoodsList = moreBetterGoods.getGridApplyGoodsList();
 
         if(moreBetterGoods.getMultiSupplyCompCd().length > 0 || moreBetterGoods.getMultiBrand().length > 0){
             // 공급업체, 브랜드에 해당하는 상품

+ 4 - 2
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -718,9 +718,10 @@ public class TsaMarketingController extends TsaBaseController {
 
 			// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
 			moreBetterGoods.setApplyGoodsList(moreBetter.getApplyGoodsList());
+			moreBetterGoods.setGridApplyGoodsList(moreBetter.getApplyGoodsList());
 			moreBetterGoods.setSectionGb(moreBetter.getSectionGb());
-			morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
 
+			morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
 			morebetterService.saveMoreBetterDetail(moreBetter);
 
 			// 다른 다다에서 사용중인 상품 조회
@@ -858,6 +859,7 @@ public class TsaMarketingController extends TsaBaseController {
 
 				// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
 				moreBetterGoods.setApplyGoodsList(moreBetter.getApplyGoodsList());
+				moreBetterGoods.setGridApplyGoodsList(moreBetter.getApplyGoodsList());
 				moreBetterGoods.setSectionGb(moreBetter.getSectionGb());
 				morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
 
@@ -924,7 +926,7 @@ public class TsaMarketingController extends TsaBaseController {
 
 	/**
 	 * 쿠폰 상태 변경
-	 * @param param
+	 * @param coupon
 	 * @return
 	 * @author bin2107
 	 * @since 2021. 02. 05

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

@@ -61,6 +61,7 @@ public class MoreBetter extends TscBaseDomain {
 	List<MoreBetterGoods> supplyCompList;
 	List<MoreBetterGoods> brandList;
 	List<MoreBetterGoods> applyGoodsList;
+	List<MoreBetterGoods> gridApplyGoodsList;
 	List<MoreBetterGoods> exceptGoodsList;
 	List<MoreBetterBurden> burdenList;
 	List<MoreBetterSection> sectionGbList;

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

@@ -63,9 +63,6 @@ public class MoreBetterGoods extends TscBaseDomain {
 	private String[] multiDuplicateGoods;
 
 	List<MoreBetterGoods> applyGoodsList;
-/*
-	List<MoreBetterGoods> multiSupplyCompCd;
-	List<MoreBetterGoods> multiBrand;
-	List<MoreBetterGoods> multiGoods;
-	List<MoreBetterGoods> multiExceptGoods;*/
+	List<MoreBetterGoods> gridApplyGoodsList;
+
 }

+ 89 - 31
src/main/java/com/style24/persistence/mybatis/shop/TsaMorebetter.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.style24.admin.biz.dao.TsaMorebetterDao">
 	<!-- // CSB 진행 -->
 	<select id="getMorebetterListCount" parameterType="MoreBetter" resultType="int">
-		/* TsaMarketing.getMorebetterListCount */
+		/* TsaMorebetter.getMorebetterListCount */
 		SELECT  COUNT(*) AS TOTCNT
 		FROM	TB_TMTB T
 		WHERE	1=1
@@ -21,7 +21,7 @@
 	</select>
 
 	<select id="getMorebetterList" parameterType="MoreBetter" resultType="MoreBetter">
-		/* TsaMarketing.getMorebetterList */
+		/* TsaMorebetter.getMorebetterList */
 		SELECT Z.*
 		FROM(
 			SELECT @rownum := @rownum + 1 AS RNUM
@@ -70,7 +70,7 @@
 	</sql>
 
 	<select id="getMorebetterMstInfo" parameterType="Integer" resultType="MoreBetter">
-		/* TsaMarketing.getMorebetterMstInfo */
+		/* TsaMorebetter.getMorebetterMstInfo */
 		SELECT	   	   TT.TMTB_SQ
 					 , TT.TMTB_NM
 					 , TT.TMTB_STAT
@@ -106,7 +106,7 @@
 	</select>
 
 	<select id="getMorebetterSectionValList" parameterType="Integer" resultType="MoreBetterSection">
-		/* TsaMarketing.getMorebetterSectionValList */
+		/* TsaMorebetter.getMorebetterSectionValList */
 		SELECT    TS.TMTB_SQ
 				 ,TS.TMTB_SECTION_SQ
 				 ,TV.TMTB_VAL_SQ
@@ -125,11 +125,12 @@
 		AND		TS.TMTB_SECTION_SQ = TV.TMTB_SECTION_SQ
 		WHERE 	1=1
 		  AND 	TS.TMTB_SQ = #{tmtbSq}
+		  AND   TS.DEL_YN = 'N'
 		ORDER BY TS.TMTB_SQ, TS.TMTB_SECTION_SQ, TV.TMTB_VAL_SQ
 	</select>
 
 	<select id="getMorebetterSupplyCompList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterSupplyCompList */
+		/* TsaMorebetter.getMorebetterSupplyCompList */
 		SELECT 	 TMTB_GOODS_SQ
 				 , TMTB_SQ
 				 , GOODS_GB
@@ -146,10 +147,11 @@
 		WHERE 1=1
 		  AND TMTB_SQ = #{tmtbSq}
 		  AND TARGET_GB = 'G260_13'
+		  AND DEL_YN = 'N'
 	</select>
 
 	<select id="getMorebetterBrandList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterBrandList */
+		/* TsaMorebetter.getMorebetterBrandList */
 		SELECT 	 TMTB_GOODS_SQ
 				 , TMTB_SQ
 				 , GOODS_GB
@@ -171,10 +173,11 @@
 		WHERE 1=1
 		  AND TMTB_SQ = #{tmtbSq}
 		  AND TARGET_GB = 'G260_12'
+		  AND DEL_YN = 'N'
 	</select>
 
 	<select id="getMorebetterApplyGoodsList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterApplyGoodsList */
+		/* TsaMorebetter.getMorebetterApplyGoodsList */
 		SELECT 	 A.TMTB_GOODS_SQ
 				 , A.TMTB_SQ
 				 , B.TMTB_APPLY_GOODS_SQ
@@ -199,10 +202,11 @@
 		  AND A.TMTB_SQ = #{tmtbSq}
 		  AND A.TARGET_GB = 'G260_10'
 		  AND A.GOODS_GB IN ('G800_10','G800_20')
+ 		  AND A.DEL_YN = 'N'
 	</select>
 
 	<select id="getMorebetterExceptGoodsList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterExceptGoodsList */
+		/* TsaMorebetter.getMorebetterExceptGoodsList */
 		SELECT 	 A.TMTB_GOODS_SQ
 				 , A.TMTB_SQ
 				 , B.TMTB_APPLY_GOODS_SQ
@@ -227,10 +231,11 @@
 		  AND A.TMTB_SQ = #{tmtbSq}
 		  AND A.TARGET_GB = 'G260_10'
 		  AND A.GOODS_GB IN ('G800_30')
+		  AND A.DEL_YN = 'N'
 	</select>
 
 	<select id="getMorebetterBurdenList" parameterType="Integer" resultType="MoreBetterBurden">
-		/* TsaMarketing.getMorebetterBurdenList */
+		/* TsaMorebetter.getMorebetterBurdenList */
 		SELECT 		TB_TMTB_BURDEN_SQ
 				   , TMTB_SQ
 				   , TMTB_SUPPLY_CD
@@ -243,10 +248,11 @@
 		FROM TB_TMTB_BURDEN
 		WHERE 1=1
 		  AND TMTB_SQ = #{tmtbSq}
+		  AND USE_YN = 'Y'
 	</select>
 
 	<insert id="saveMorebetterMst" parameterType="MoreBetter" keyProperty="tmtbSq">
-		/* TsaMarketing.saveMorebetterMst */
+		/* TsaMorebetter.saveMorebetterMst */
 		INSERT INTO TB_TMTB(
 		        TMTB_SQ
 		        ,TMTB_NM
@@ -285,7 +291,7 @@
 	</insert>
 
 	<insert id="saveMorebetterGoods" parameterType="MoreBetterGoods" keyProperty="tmtbGoodsSq">
-		/* TsaMarketing.saveMorebetterGoods */
+		/* TsaMorebetter.saveMorebetterGoods */
 		INSERT INTO TB_TMTB_GOODS(
 		         	 TMTB_GOODS_SQ
 		        	,TMTB_SQ
@@ -314,12 +320,13 @@
 						 GOODS_GB = #{goodsGb}
 						,TARGET_GB = #{targetGb}
 						,TARGET_VAL = #{targetVal}
+			    		,DEL_YN = #{delYn}
 						,UPD_NO = #{updNo}
 						,UPD_DT = NOW()
 	</insert>
 
 	<insert id="saveMorebetterApplyGoods" parameterType="MoreBetterGoods" keyProperty="tmtbApplyGoodsSq">
-		/* TsaMarketing.saveMorebetterApplyGoods */
+		/* TsaMorebetter.saveMorebetterApplyGoods */
 		INSERT INTO TB_TMTB_APPLY_GOODS(
 					TMTB_APPLY_GOODS_SQ
 					,TMTB_SQ
@@ -350,7 +357,7 @@
 	</insert>
 
 	<insert id="saveMorebetterSection" parameterType="MoreBetterSection" keyProperty="tmtbSectionSq">
-		/* TsaMarketing.saveMorebetterSection */
+		/* TsaMorebetter.saveMorebetterSection */
 		INSERT INTO TB_TMTB_SECTION(
 					 TMTB_SECTION_SQ
 					,TMTB_SQ
@@ -376,12 +383,13 @@
 			ON DUPLICATE KEY UPDATE
 						 SECTION_GB = #{sectionGb}
 						,SECTION_VAL = #{sectionVal}
+						,DEL_YN = #{delYn}
 						,UPD_NO = #{updNo}
 						,UPD_DT = NOW()
 	</insert>
 
 	<insert id="saveMorebetterVal" parameterType="MoreBetterSection" keyProperty="tmtbValSq">
-		/* TsaMarketing.saveMorebetterVal */
+		/* TsaMorebetter.saveMorebetterVal */
 		INSERT INTO TB_TMTB_VAL(
 					 TMTB_VAL_SQ
 					,TMTB_SQ
@@ -409,12 +417,13 @@
 			ON DUPLICATE KEY UPDATE
 						 DC_WAY = #{dcWay}
 						,DC_VAL = #{dcVal}
+						,DEL_YN = #{delYn}
 						,UPD_NO = #{updNo}
 						,UPD_DT = NOW()
 	</insert>
 
 	<insert id="saveMorebetterBurden" parameterType="MoreBetterBurden" keyProperty="tbTmtbBurdenSq">
-		/* TsaMarketing.saveMorebetterBurden */
+		/* TsaMorebetter.saveMorebetterBurden */
 		INSERT INTO TB_TMTB_BURDEN(
 								  TB_TMTB_BURDEN_SQ
 		                          ,TMTB_SQ
@@ -445,7 +454,7 @@
 	</insert>
 
 	<delete id="deleteTmtbSupplyCompanyList" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbSupplyCompanyList */
+		/* TsaMorebetter.deleteTmtbSupplyCompanyList */
 		DELETE FROM TB_TMTB_GOODS
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrCompanySq != null and arrCompanySq.length>0">
@@ -457,7 +466,7 @@
 	</delete>
 
 	<delete id="deleteTmtbBrandList" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbBrandList */
+		/* TsaMorebetter.deleteTmtbBrandList */
 		DELETE FROM TB_TMTB_GOODS
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrBrandSq != null and arrBrandSq.length>0">
@@ -469,7 +478,7 @@
 	</delete>
 
 	<delete id="deleteTmtbApplyGoodsList" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbApplyGoodsList */
+		/* TsaMorebetter.deleteTmtbApplyGoodsList */
 		DELETE FROM TB_TMTB_GOODS
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrApplyGoodsSq != null and arrApplyGoodsSq.length>0">
@@ -481,7 +490,7 @@
 	</delete>
 
 	<delete id="deleteTmtbExceptGoodsList" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbExceptGoodsList */
+		/* TsaMorebetter.deleteTmtbExceptGoodsList */
 		DELETE FROM TB_TMTB_GOODS
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrExceptGoodsSq != null and arrExceptGoodsSq.length>0">
@@ -493,7 +502,7 @@
 	</delete>
 
 	<delete id="deleteTmtbSectionList" parameterType="MoreBetterSection">
-		/* TsaMarketing.deleteTmtbSectionList */
+		/* TsaMorebetter.deleteTmtbSectionList */
 		DELETE FROM TB_TMTB_SECTION
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrSectionSq != null and arrSectionSq.length>0">
@@ -505,7 +514,7 @@
 	</delete>
 
 	<delete id="deleteTmtbValList" parameterType="MoreBetterSection">
-		/* TsaMarketing.deleteTmtbValList */
+		/* TsaMorebetter.deleteTmtbValList */
 		DELETE FROM TB_TMTB_VAL
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrSectionSq != null and arrSectionSq.length>0">
@@ -517,7 +526,7 @@
 	</delete>
 
 	<delete id="deleteTmtbBurdenList" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbBurdenList */
+		/* TsaMorebetter.deleteTmtbBurdenList */
 		DELETE FROM TB_TMTB_BURDEN
 		WHERE TMTB_SQ =  #{tmtbSq}
 		<if test="arrBurdenSq != null and arrBurdenSq.length>0">
@@ -529,13 +538,13 @@
 	</delete>
 
 	<delete id="deleteTmtbGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbGoodsTemp */
+		/* TsaMorebetter.deleteTmtbGoodsTemp */
 		DELETE FROM TB_TMTB_USING_GOODS_TEMP
 		WHERE	REG_NO = #{regNo}
 	</delete>
 
 	<insert id="createTmtbGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMarketing.createTmtbGoodsTemp */
+		/* TsaMorebetter.createTmtbGoodsTemp */
 		INSERT INTO TB_TMTB_USING_GOODS_TEMP
 			SELECT Z.REG_NO
 				, Z.GOODS_CD
@@ -553,6 +562,7 @@
 					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 (
@@ -561,6 +571,7 @@
 											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
@@ -568,7 +579,7 @@
 	</insert>
 
 	<select id="getMorebetterDuplicateList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterDuplicateList */
+		/* TsaMorebetter.getMorebetterDuplicateList */
 		SELECT 	B.REG_NO
 				, B.GOODS_CD
 				, B.GOODS_NM
@@ -582,7 +593,7 @@
 	</select>
 
 	<update id="updateMorebetterStat" parameterType="MoreBetter">
-		/* TsaMarketing.updateMorebetterStat */
+		/* TsaMorebetter.updateMorebetterStat */
 		UPDATE TB_TMTB SET
 			TMTB_STAT = #{tmtbStat}
 		<if test="tmtbStat == 'G232_14'">
@@ -594,13 +605,13 @@
 	</update>
 
 	<delete id="deleteTmtbApplyGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMarketing.deleteTmtbApplyGoodsTemp */
+		/* TsaMorebetter.deleteTmtbApplyGoodsTemp */
 		DELETE FROM TB_TMTB_APPLY_GOODS_TEMP
 		WHERE	REG_NO = #{regNo}
 	</delete>
 
 	<insert id="createTmtbApplyGoodsTemp" parameterType="MoreBetterGoods">
-		/* TsaMarketing.createTmtbApplyGoodsTemp */
+		/* TsaMorebetter.createTmtbApplyGoodsTemp */
 		INSERT INTO TB_TMTB_APPLY_GOODS_TEMP(
 											 REG_NO
 											,GOODS_CD
@@ -612,7 +623,7 @@
 	</insert>
 
 	<select id="getMorebetterRealApplyGoodsList" parameterType="MoreBetter" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterRealApplyGoodsList */
+		/* TsaMorebetter.getMorebetterRealApplyGoodsList */
 		SELECT	GOODS_CD
 		  FROM	TB_TMTB_APPLY_GOODS_TEMP
 		 WHERE	1=1
@@ -626,7 +637,7 @@
 	</select>
 
 	<select id="getMorebetterCompBrandGoodsList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
-		/* TsaMarketing.getMorebetterCompBrandGoodsList */
+		/* TsaMorebetter.getMorebetterCompBrandGoodsList */
 		SELECT  G.GOODS_CD
 				,'G800_20' AS GOODS_GB
 				,'G260_10' AS TARGET_GB
@@ -639,11 +650,58 @@
 			</foreach>
 		</if>
 		<if test="multiBrand != null and multiBrand.length>0">
-			AND G.BRAND_CD IN
+			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
+			DEL_YN = 'Y'
+			, UPD_NO = #{updNo}
+			, UPD_DT = CURRENT_TIMESTAMP
+		WHERE TMTB_SQ = #{tmtbSq}
+		  AND DEL_YN = 'N'
+	</update>
+
+	<update id="deleteTmtbBurden" parameterType="MoreBetter">
+		/* TsaMorebetter.deleteTmtbBurden */
+		UPDATE TB_TMTB_BURDEN SET
+			USE_YN = 'N'
+			, UPD_NO = #{updNo}
+			, UPD_DT = CURRENT_TIMESTAMP
+		WHERE TMTB_SQ = #{tmtbSq}
+		  AND USE_YN = 'Y'
+	</update>
+
+	<update id="deleteTmtbSection" parameterType="MoreBetter">
+		/* TsaMorebetter.deleteTmtbSection */
+		UPDATE TB_TMTB_SECTION SET
+			DEL_YN = 'Y'
+			, UPD_NO = #{updNo}
+			, UPD_DT = CURRENT_TIMESTAMP
+		WHERE TMTB_SQ = #{tmtbSq}
+		  AND DEL_YN = 'N'
+	</update>
+
+	<update id="deleteTmtbVal" parameterType="MoreBetter">
+		/* TsaMorebetter.deleteTmtbVal */
+		UPDATE TB_TMTB_VAL SET
+			DEL_YN = 'Y'
+			, UPD_NO = #{updNo}
+			, UPD_DT = CURRENT_TIMESTAMP
+		WHERE TMTB_SQ = #{tmtbSq}
+		  AND DEL_YN = 'N'
+	</update>
+
+	<delete id="deleteTmtbApplyGoods" parameterType="MoreBetter">
+		/* TsaMarketing.deleteTmtbApplyGoods */
+		DELETE FROM TB_TMTB_APPLY_GOODS
+		WHERE	TMTB_SQ = #{tmtbSq}
+	</delete>
+
 	<!--// CSB 진행 -->
 </mapper>

+ 186 - 179
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -355,7 +355,8 @@
 		{headerName: "공급처ID", field: "supplyCompCd", width: 120, cellClass: 'text-center'},
 		{headerName: "공급업체명", field: "supplyCompNm", width: 150, cellClass: 'text-center'},
 		{headerName: "적용대상", field: "targetGb", width: 150, cellClass: 'text-center', hide: true},
-		{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true},
+		{headerName: "삭제여부", field: "delYn", width: 150, cellClass: 'text-center', hide: true}
 	];
 	// 브랜드 리스트 설정
 	var columnBrandList = [
@@ -364,7 +365,8 @@
 		{headerName: "브랜드명", field: "brandEnm", width: 120, cellClass: 'text-center'},
 		{headerName: "공급업체명", field: "supplyCompNm", width: 150, cellClass: 'text-center'},
 		{headerName: "적용대상", field: "targetGb", width: 150, cellClass: 'text-center', hide: true},
-		{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true},
+		{headerName: "삭제여부", field: "delYn", width: 150, cellClass: 'text-center', hide: true}
 	];
 	// 적용상품 리스트 설정
 	var columnApplyGoodsList = [
@@ -379,7 +381,8 @@
 		{headerName: "상품명", field: "goodsNm", width: 120, cellClass: 'text-center'},
 		{headerName: "적용대상", field: "targetGb", width: 150, cellClass: 'text-center', hide: true},
 		{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true},
-		{headerName: "실제적용대상 시퀀스", field: "tmtbApplyGoodsSq", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "실제적용대상 시퀀스", field: "tmtbApplyGoodsSq", width: 150, cellClass: 'text-center', hide: true},
+		{headerName: "삭제여부", field: "delYn", width: 150, cellClass: 'text-center', hide: true}
 	];
 	// 제외상품 리스트 설정
 	var columnExceptGoodsList = [
@@ -394,7 +397,8 @@
 		{headerName: "상품명", field: "goodsNm", width: 120, cellClass: 'text-center'},
 		{headerName: "적용대상", field: "targetGb", width: 150, cellClass: 'text-center', hide: true},
 		{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true},
-		{headerName: "실제적용대상 시퀀스", field: "tmtbApplyGoodsSq", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "실제적용대상 시퀀스", field: "tmtbApplyGoodsSq", width: 150, cellClass: 'text-center', hide: true},
+		{headerName: "삭제여부", field: "delYn", width: 150, cellClass: 'text-center', hide: true}
 	];
 
 	// 업체분담율 리스트 설정
@@ -413,7 +417,7 @@
 			//cellEditor: 'textCellEditor',
 			cellEditorParams: { maxlength: 3, validType: 'numeric'}
 		},
-		{headerName: "사용여부", field: "useYn" , width: 120, cellClass: 'text-center'},
+		{headerName: "사용여부", field: "useYn" , width: 120, cellClass: 'text-center', hide: true},
 		{headerName: "시퀀스", field: "tmtbBurdenSq", width: 150, cellClass: 'text-center', hide: true}
 	];
 
@@ -462,7 +466,8 @@
 			cellEditorParams: { maxlength: 14, validType: 'numeric'}
 		},
 		{headerName: "구간시퀀스", field: "tmtbSectionSq", width: 150, cellClass: 'text-center', hide: true},
-		{headerName: "할인값시퀀스", field: "tmtbValSq", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "할인값시퀀스", field: "tmtbValSq", width: 150, cellClass: 'text-center', hide: true},
+		{headerName: "삭제여부", field: "delYn", width: 150, cellClass: 'text-center', hide: true}
 	];
 	// 다른 다다익선 사용중인 중복상품 엑셀 리스트 설정
 	var columnDuplicateGoodsList = [
@@ -712,6 +717,7 @@
 			, supplyCompList : allSupplyCompData
 			, brandList : allBrandData
 			, applyGoodsList : allApplyGoodsData
+			, gridApplyGoodsList : allApplyGoodsData
 			, exceptGoodsList : allExceptGoodsData
 			, burdenList : allApplyBurdenData
 			, sectionGbList : allSectionGbData
@@ -828,7 +834,6 @@
 		gridAddGoodsList(gridOptionsFGExceptGoodsList, result , "except");
 	};
 
-
 	// ag-grid 상품관련 list 콜백함수
 	function gridAddGoodsList(OriginGridListOption, result, gubun) {
 		var goodsGbVal = "G800_10";
@@ -887,7 +892,10 @@
 		cfnOpenCompanyListPopup("fnSetPopupApplyBurdenInfo");
 	});
 
-	/*
+	// 할인구간 선택삭제 버튼 클릭시
+	$('#moreBetterForm #btnDelSectionRow').on('click', function() {
+		gridOptionsSectionGbList.api.updateRowData({remove:gagaAgGrid.selectedRowData(gridOptionsSectionGbList)});
+	});
     // 공급업체 설정 선택삭제 버튼 클릭시
     $('#moreBetterForm #btnDeleteCompany').on('click', function() {
         gridOptionsFGCompanyList.api.updateRowData({remove:gagaAgGrid.selectedRowData(gridOptionsFGCompanyList)});
@@ -908,7 +916,7 @@
     $('#moreBetterForm #btnDelApplyBurden').on('click', function() {
         gridOptionsApplyBurdenList.api.updateRowData({remove:gagaAgGrid.selectedRowData(gridOptionsApplyBurdenList)});
     });
-    */
+
 	//패널영역 줄이기
 	$(document).on("click",".panelControl .inner-fa-chevron-up", function() {
 		$(this).parent().parent().parent().find(".inner-panelContent").slideUp(100);
@@ -935,39 +943,6 @@
 		gagaAgGrid.addRowData(gridOptionsSectionGbList, data, "sectionVal");
 	});
 
-	// 구간할인 행삭제
-	$('#btnDelSectionRow').on('click', function() {
-		var selectedData = gridOptionsSectionGbList.api.getSelectedRows();
-		if (selectedData.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-
-		var removedData = gagaAgGrid.removeRowData(gridOptionsSectionGbList, false);
-
-		var arrSectionSq = [];
-
-		$.each(selectedData, function(idx, item) {
-			arrSectionSq.push(item.tmtbSectionSq);
-		});
-
-		if (removedData.length > 0) {
-
-			mcxDialog.confirm('삭제하시겠습니까?', {
-				cancelBtnText: "취소",
-				sureBtnText: "확인",
-				sureBtnClick: function(){
-					var data = { arrSectionSq : arrSectionSq
-						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-					};
-
-					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/sectionVal/delete', jsonData);
-				}
-			});
-		}
-	});
-
 	// 할인구간 선택 시 기본 조건 변경
 	$("#moreBetterForm input[name=sectionGb]").bind('click change', function () {
 		var sectionGbValue = $(this).val();
@@ -1010,142 +985,6 @@
 		}
 	});
 
-	// 공급업체 행삭제
-	$('#btnDeleteCompany').on('click', function() {
-		var selectedData = gridOptionsFGCompanyList.api.getSelectedRows();
-		if (selectedData.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-		var removedData = gagaAgGrid.removeRowData(gridOptionsFGCompanyList, false);
-		var arrCompanySq = [];
-		$.each(selectedData, function(idx, item) {
-			arrCompanySq.push(item.tmtbGoodsSq);
-		});
-		if (removedData.length > 0) {
-			mcxDialog.confirm('삭제하시겠습니까?', {
-				cancelBtnText: "취소",
-				sureBtnText: "확인",
-				sureBtnClick: function(){
-					var data = { arrCompanySq : arrCompanySq
-						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-					};
-					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/supplyCompany/delete', jsonData);
-				}
-			});
-		}
-	});
-
-	// 브랜드 행삭제
-	$('#btnDeleteBrand').on('click', function() {
-		var selectedData = gridOptionsFGBrandList.api.getSelectedRows();
-		if (selectedData.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-		var removedData = gagaAgGrid.removeRowData(gridOptionsFGBrandList, false);
-		var arrBrandSq = [];
-		$.each(selectedData, function(idx, item) {
-			arrBrandSq.push(item.tmtbGoodsSq);
-		});
-		if (removedData.length > 0) {
-			mcxDialog.confirm('삭제하시겠습니까?', {
-				cancelBtnText: "취소",
-				sureBtnText: "확인",
-				sureBtnClick: function(){
-					var data = { arrBrandSq : arrBrandSq
-						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-					};
-					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/brand/delete', jsonData);
-				}
-			});
-		}
-	});
-
-	// 적용상품 행삭제
-	$('#btnDeleteApplyGoods').on('click', function() {
-		var selectedData = gridOptionsFGApplyGoodsList.api.getSelectedRows();
-		if (selectedData.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-		var removedData = gagaAgGrid.removeRowData(gridOptionsFGApplyGoodsList, false);
-		var arrApplyGoodsSq = [];
-		$.each(selectedData, function(idx, item) {
-			arrApplyGoodsSq.push(item.tmtbGoodsSq);
-		});
-		if (removedData.length > 0) {
-			mcxDialog.confirm('삭제하시겠습니까?', {
-				cancelBtnText: "취소",
-				sureBtnText: "확인",
-				sureBtnClick: function(){
-					var data = { arrApplyGoodsSq : arrApplyGoodsSq
-						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-					};
-					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/applyGoods/delete', jsonData);
-				}
-			});
-		}
-	});
-
-	// 제외상품 행삭제
-	$('#btnDeleteExtGoods').on('click', function() {
-		var selectedData = gridOptionsFGExceptGoodsList.api.getSelectedRows();
-		if (selectedData.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-		var removedData = gagaAgGrid.removeRowData(gridOptionsFGExceptGoodsList, false);
-		var arrExceptGoodsSq = [];
-		$.each(selectedData, function(idx, item) {
-			arrExceptGoodsSq.push(item.tmtbGoodsSq);
-		});
-		if (removedData.length > 0) {
-			mcxDialog.confirm('삭제하시겠습니까?', {
-				cancelBtnText: "취소",
-				sureBtnText: "확인",
-				sureBtnClick: function(){
-					var data = { arrExceptGoodsSq : arrExceptGoodsSq
-						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-					};
-					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/exceptGoods/delete', jsonData);
-				}
-			});
-		}
-	});
-
-	// 업체분담율 행삭제
-	$('#btnDelApplyBurden').on('click', function() {
-		var selectedData = gridOptionsApplyBurdenList.api.getSelectedRows();
-		if (selectedData.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-		var removedData = gagaAgGrid.removeRowData(gridOptionsApplyBurdenList, false);
-		var arrBurdenSq = [];
-		$.each(selectedData, function(idx, item) {
-			arrBurdenSq.push(item.tmtbBurdenSq);
-		});
-		if (removedData.length > 0) {
-			mcxDialog.confirm('삭제하시겠습니까?', {
-				cancelBtnText: "취소",
-				sureBtnText: "확인",
-				sureBtnClick: function(){
-					var data = { arrBurdenSq : arrBurdenSq
-						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-					};
-					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/burden/delete', jsonData);
-				}
-			});
-		}
-	});
-
-
 	// 수정 버튼 클릭시
 	$('#btnMorebetterUpdate').on('click', function() {
 		// validation
@@ -1293,6 +1132,7 @@
 						, supplyCompList : allSupplyCompData
 						, brandList : allBrandData
 						, applyGoodsList : allApplyGoodsData
+						, gridApplyGoodsList : allApplyGoodsData
 						, exceptGoodsList : allExceptGoodsData
 						, burdenList : allApplyBurdenData
 						, sectionGbList : allSectionGbData
@@ -1309,7 +1149,6 @@
 	});
 
 	var fnMorebetterChangeStatCollback = function(result){
-		console.log('<fnMorebetterChangeStatCollback result>');
 		if(result.duplicateYn == "Y"){
 			for(let i=0; i<result.duplicateGoodsList.length; i++){
 				gagaAgGrid.addRowData(gridOptionsDuplicateGoodsList, {"goodsCd" : result.duplicateGoodsList[i].goodsCd, "goodsNm" : result.duplicateGoodsList[i].goodsNm});
@@ -1358,7 +1197,175 @@
 		});
 	});
 
+/*
+	// 공급업체 행삭제
+	$('#btnDeleteCompany').on('click', function() {
+		var selectedData = gridOptionsFGCompanyList.api.getSelectedRows();
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+		var removedData = gagaAgGrid.removeRowData(gridOptionsFGCompanyList, false);
+		var arrCompanySq = [];
+		$.each(selectedData, function(idx, item) {
+			arrCompanySq.push(item.tmtbGoodsSq);
+		});
+		if (removedData.length > 0) {
+			mcxDialog.confirm('삭제하시겠습니까?', {
+				cancelBtnText: "취소",
+				sureBtnText: "확인",
+				sureBtnClick: function(){
+					var data = { arrCompanySq : arrCompanySq
+						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+					};
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/supplyCompany/delete', jsonData);
+				}
+			});
+		}
+	});
+
+	// 브랜드 행삭제
+	$('#btnDeleteBrand').on('click', function() {
+		var selectedData = gridOptionsFGBrandList.api.getSelectedRows();
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+		var removedData = gagaAgGrid.removeRowData(gridOptionsFGBrandList, false);
+		var arrBrandSq = [];
+		$.each(selectedData, function(idx, item) {
+			arrBrandSq.push(item.tmtbGoodsSq);
+		});
+		if (removedData.length > 0) {
+			mcxDialog.confirm('삭제하시겠습니까?', {
+				cancelBtnText: "취소",
+				sureBtnText: "확인",
+				sureBtnClick: function(){
+					var data = { arrBrandSq : arrBrandSq
+						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+					};
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/brand/delete', jsonData);
+				}
+			});
+		}
+	});
+
+	// 적용상품 행삭제
+	$('#btnDeleteApplyGoods').on('click', function() {
+		var selectedData = gridOptionsFGApplyGoodsList.api.getSelectedRows();
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+		var removedData = gagaAgGrid.removeRowData(gridOptionsFGApplyGoodsList, false);
+		var arrApplyGoodsSq = [];
+		$.each(selectedData, function(idx, item) {
+			arrApplyGoodsSq.push(item.tmtbGoodsSq);
+		});
+		if (removedData.length > 0) {
+			mcxDialog.confirm('삭제하시겠습니까?', {
+				cancelBtnText: "취소",
+				sureBtnText: "확인",
+				sureBtnClick: function(){
+					var data = { arrApplyGoodsSq : arrApplyGoodsSq
+						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+					};
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/applyGoods/delete', jsonData);
+				}
+			});
+		}
+	});
+
+	// 제외상품 행삭제
+	$('#btnDeleteExtGoods').on('click', function() {
+		var selectedData = gridOptionsFGExceptGoodsList.api.getSelectedRows();
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+		var removedData = gagaAgGrid.removeRowData(gridOptionsFGExceptGoodsList, false);
+		var arrExceptGoodsSq = [];
+		$.each(selectedData, function(idx, item) {
+			arrExceptGoodsSq.push(item.tmtbGoodsSq);
+		});
+		if (removedData.length > 0) {
+			mcxDialog.confirm('삭제하시겠습니까?', {
+				cancelBtnText: "취소",
+				sureBtnText: "확인",
+				sureBtnClick: function(){
+					var data = { arrExceptGoodsSq : arrExceptGoodsSq
+						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+					};
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/exceptGoods/delete', jsonData);
+				}
+			});
+		}
+	});
+
+	// 업체분담율 행삭제
+	$('#btnDelApplyBurden').on('click', function() {
+		var selectedData = gridOptionsApplyBurdenList.api.getSelectedRows();
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+		var removedData = gagaAgGrid.removeRowData(gridOptionsApplyBurdenList, false);
+		var arrBurdenSq = [];
+		$.each(selectedData, function(idx, item) {
+			arrBurdenSq.push(item.tmtbBurdenSq);
+		});
+		if (removedData.length > 0) {
+			mcxDialog.confirm('삭제하시겠습니까?', {
+				cancelBtnText: "취소",
+				sureBtnText: "확인",
+				sureBtnClick: function(){
+					var data = { arrBurdenSq : arrBurdenSq
+						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+					};
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/burden/delete', jsonData);
+				}
+			});
+		}
+	});
+*/
+
+	// 구간할인 행삭제
+	/*$('#btnDelSectionRow').on('click', function() {
+		var selectedData = gridOptionsSectionGbList.api.getSelectedRows();
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+
+		var removedData = gagaAgGrid.removeRowData(gridOptionsSectionGbList, false);
+
+		var arrSectionSq = [];
+
+		$.each(selectedData, function(idx, item) {
+			arrSectionSq.push(item.tmtbSectionSq);
+		});
 
+		if (removedData.length > 0) {
+
+			mcxDialog.confirm('삭제하시겠습니까?', {
+				cancelBtnText: "취소",
+				sureBtnText: "확인",
+				sureBtnClick: function(){
+					var data = { arrSectionSq : arrSectionSq
+						,tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+					};
+
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/sectionVal/delete', jsonData);
+				}
+			});
+		}
+	});*/
 
 </script>
 </html>