Selaa lähdekoodia

[프로모션] 다다익선 등록오류

jsh77b 4 vuotta sitten
vanhempi
commit
638c4aaf10

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

@@ -267,6 +267,24 @@ public interface TsaMorebetterDao {
      * @since 2021. 3. 22
      */
     void insertMorebetterApplyGoods(MoreBetterGoods moreBetterGoods);
+    
+    /**
+     * 기본상품등록 (다다익선적용상품테이블) 기본상품존재
+     * @param moreBetter
+     * @return
+     * @author jsh77b
+     * @since 2021. 11. 09
+     */
+    void insertMorebetterDefaultGoods(MoreBetterGoods moreBetterGoods);
+    
+    /**
+     * 기본상품등록 (다다익선적용상품테이블) 기본상품없음 적용상품
+     * @param moreBetter
+     * @return
+     * @author jsh77b
+     * @since 2021. 11. 09
+     */
+    void insertMorebetterDefaultGoodsApply(MoreBetterGoods moreBetterGoods);
 
     /**
      * 다다익선 적용상품 temp

+ 82 - 60
src/main/java/com/style24/admin/biz/service/TsaMorebetterService.java

@@ -141,12 +141,8 @@ public class TsaMorebetterService {
      */
     @Transactional("shopTxnManager")
     public void saveMoreBetterDetail(MoreBetter moreBetter) {
-        // <,> replace 처리
         moreBetter.setRegNo(TsaSession.getInfo().getUserNo());
         moreBetter.setUpdNo(TsaSession.getInfo().getUserNo());
-        
-        Gson gson = new Gson();
-        String jsonData = gson.toJson(moreBetter);
 
         if ("U".equals(moreBetter.getMode())){
             morebetterDao.deleteTmtbGoods(moreBetter);      // TB_TMTB_GOODS DEL_YN 'Y' UPDATE
@@ -159,7 +155,7 @@ public class TsaMorebetterService {
         // TMTB 마스터(TB_TMTB) 저장
         morebetterDao.saveMorebetterMst(moreBetter);
 
-        // 공급업체
+        // 1. 공급업체
         for (MoreBetterGoods regSupplyComp : moreBetter.getSupplyCompList()) {
             regSupplyComp.setTmtbSq(moreBetter.getTmtbSq());
             regSupplyComp.setGoodsGb("G800_20");
@@ -169,8 +165,8 @@ public class TsaMorebetterService {
             morebetterDao.saveMorebetterGoods(regSupplyComp);
         }
 
-        // 브랜드
-        for(MoreBetterGoods regBrand : moreBetter.getBrandList()){
+        // 2. 브랜드
+        for (MoreBetterGoods regBrand : moreBetter.getBrandList()) {
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
             regBrand.setTmtbSq(moreBetter.getTmtbSq());
             regBrand.setGoodsGb("G800_20");
@@ -180,8 +176,8 @@ public class TsaMorebetterService {
             morebetterDao.saveMorebetterGoods(regBrand);
         }
 
-        // 기준상품
-        for(MoreBetterGoods regDefaultGoods : moreBetter.getDefaultGoodsList()){
+        // 3. 기준상품
+        for (MoreBetterGoods regDefaultGoods : moreBetter.getDefaultGoodsList()) {
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
             regDefaultGoods.setTmtbSq(moreBetter.getTmtbSq());
             regDefaultGoods.setTargetVal(regDefaultGoods.getGoodsCd());
@@ -190,33 +186,9 @@ public class TsaMorebetterService {
             regDefaultGoods.setMultiDuplicateGoods(moreBetter.getMultiDuplicateGoods());
             morebetterDao.saveMorebetterGoods(regDefaultGoods);
         }
-
-        // 기준상품 + 적용상품 중복제거
-        List<MoreBetterGoods> dgList = moreBetter.getDefaultGoodsList();		// 기준상품
-        List<MoreBetterGoods> agList = moreBetter.getGridApplyGoodsList();		// 적용상품
-        List<MoreBetterGoods> applyList = new ArrayList<>();
-        
-        int dupCnt = 0;
         
-        if (agList.size() > 0){
-            applyList = dgList;
-            
-            for (int i=0 ; i<agList.size() ; i++) {
-                for (int j=0; j<dgList.size(); j++) {
-                    if (agList.get(i).getGoodsCd().equals(dgList.get(j).getGoodsCd())) {
-                        dupCnt++;
-                    }
-                }
-                if (dupCnt == 0) {                	
-                    applyList.add(agList.get(i));
-                }
-            }
-        } else {
-            applyList = dgList;
-        }
-
-        for(MoreBetterGoods regApplyGoods : applyList){
-            // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
+        // 4. 적용상품
+        for (MoreBetterGoods regApplyGoods : moreBetter.getGridApplyGoodsList()) {
             regApplyGoods.setTmtbSq(moreBetter.getTmtbSq());
             regApplyGoods.setTargetVal(regApplyGoods.getGoodsCd());
             regApplyGoods.setRegNo(moreBetter.getRegNo());
@@ -224,11 +196,9 @@ public class TsaMorebetterService {
             regApplyGoods.setMultiDuplicateGoods(moreBetter.getMultiDuplicateGoods());
             morebetterDao.saveMorebetterGoods(regApplyGoods);
         }
-
-        // 제외상품
+        
+        // 5. 제외상품
         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());
@@ -237,8 +207,8 @@ public class TsaMorebetterService {
             morebetterDao.saveMorebetterGoods(regExceptGoods);
             morebetterDao.saveMorebetterApplyGoods(regExceptGoods);
         }
-
-        // 다다익선 할인구간 저장
+        
+        // 6. 다다익선 할인구간 저장
         for(MoreBetterSection regSection : moreBetter.getSectionGbList()){
             // 다다익선 할인구간설정 2차조건(TB_TMTB_SECTION) 저장
             regSection.setTmtbSq(moreBetter.getTmtbSq());
@@ -249,7 +219,7 @@ public class TsaMorebetterService {
             morebetterDao.saveMorebetterVal(regSection);
         }
 
-        // 다다익선 업체분담율(TB_TMTB_BURDEN) 저장
+        // 7. 다다익선 업체분담율(TB_TMTB_BURDEN) 저장
         for (MoreBetterBurden regBurden : moreBetter.getBurdenList()) {
             regBurden.setTmtbSq(moreBetter.getTmtbSq());
             regBurden.setRegNo(moreBetter.getRegNo());
@@ -257,27 +227,53 @@ public class TsaMorebetterService {
 
             morebetterDao.saveMorebetterBurden(regBurden);
         }
+        
+        // 기준상품 + 적용상품 중복제거
+        List<MoreBetterGoods> dgList = moreBetter.getDefaultGoodsList();		// 기준상품
+        List<MoreBetterGoods> agList = moreBetter.getGridApplyGoodsList();		// 적용상품
+
+        // 적용상품존재여부체크
+        //int dupCnt = 0;
+        /*
+        if (agList.size() > 0) {
+            applyList = dgList;
+            
+            // 적용상품 반복문
+            for (int i=0 ; i<agList.size() ; i++) {
+            	// 기준상품 반복문
+                for (int j=0; j<dgList.size(); j++) {
+                    if (agList.get(i).getGoodsCd().equals(dgList.get(j).getGoodsCd())) {
+                        dupCnt++;
+                    }
+                }
+                if (dupCnt == 0) {
+                    applyList.add(agList.get(i));
+                }
+            }
+        } else {
+            applyList = dgList;
+        }
+        */
+
+        
 
-        // 업체&브랜드 상품
+        // 업체 & 브랜드 상품
         MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
         StringBuilder sb = new StringBuilder();
         StringBuilder sb3 = new StringBuilder();
-        //int i = 1;
-
-        if (applyList.size() > 0) {
-            for (int i=0; i<applyList.size(); i++) {
-            	log.info("goodCd >>> {}", applyList.get(i).getGoodsCd());
-            	log.info("goodGb >>> {}", applyList.get(i).getGoodsGb());
-            	
-                sb.append("SELECT   '").append(applyList.get(i).getGoodsCd()).append("' AS GOODS_CD ");
+        
+        // 2021.11.09 적용상품등록
+        if (agList.size() > 0) {
+            for (int i=0; i<agList.size(); i++) {
+                sb.append("SELECT   '").append(agList.get(i).getGoodsCd()).append("' AS GOODS_CD ");
                 
-                if (i < applyList.size()-1) {
+                if (i < agList.size()-1) {
                     sb.append("\n UNION ALL \n");
                 }
 
-                sb3.append("SELECT   '").append(applyList.get(i).getGoodsCd()).append("' AS GOODS_CD ");
-                sb3.append(" , '").append(applyList.get(i).getGoodsGb()).append("' AS GOODS_GB ");
-                if(i<applyList.size()-1){
+                sb3.append("SELECT   '").append(agList.get(i).getGoodsCd()).append("' AS GOODS_CD ");
+                sb3.append(" , '").append(agList.get(i).getGoodsGb()).append("' AS GOODS_GB ");
+                if (i < agList.size()-1) {
                     sb3.append("\n UNION ALL \n");
                 }
             }
@@ -285,16 +281,17 @@ public class TsaMorebetterService {
 
         moreBetterGoods.setApplySql(sb.toString());
         moreBetterGoods.setApplyGbSql(sb3.toString());
-
+        
         StringBuilder sb2 = new StringBuilder();
-        if(moreBetter.getExceptGoodsList().size()>0){
-            for(int i=0; i<moreBetter.getExceptGoodsList().size(); i++){
+        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){
+                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());
@@ -306,6 +303,31 @@ public class TsaMorebetterService {
         moreBetterGoods.setMultiExceptGoods(moreBetter.getMultiExceptGoods());
         moreBetterGoods.setSectionGb(moreBetter.getSectionGb());
         morebetterDao.insertMorebetterApplyGoods(moreBetterGoods);
+        
+        // 2021.11.09 기본상품 있으면 기본상품 등록, 없으면 적용상품 등록
+        // 2021.11.09 기본상품등록
+        if (dgList.size() > 0) {
+            for (int i=0; i<dgList.size(); i++) {
+                sb3.append("SELECT   '").append(dgList.get(i).getGoodsCd()).append("' AS GOODS_CD ");
+                sb3.append(" , '").append(dgList.get(i).getGoodsGb()).append("' AS GOODS_GB ");
+                if (i < agList.size()-1) {
+                    sb3.append("\n UNION ALL \n");
+                }
+            }
+
+            moreBetterGoods.setTmtbSq(moreBetter.getTmtbSq());
+            moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
+            moreBetterGoods.setUpdNo(TsaSession.getInfo().getUserNo());
+            moreBetterGoods.setMultiDefaultGoods(moreBetter.getMultiDefaultGoods());
+            morebetterDao.insertMorebetterDefaultGoods(moreBetterGoods);
+        } 
+        else {
+        	moreBetterGoods.setTmtbSq(moreBetter.getTmtbSq());
+            moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
+            moreBetterGoods.setUpdNo(TsaSession.getInfo().getUserNo());
+            moreBetterGoods.setMultiDefaultGoods(moreBetter.getMultiDefaultGoods());
+            morebetterDao.insertMorebetterDefaultGoodsApply(moreBetterGoods);
+        }
 
         log.info("newBurdenSq = {}, newTmtbSq = {}, newSupplyCd = {}, newBurdenRate = {} , newUseYn = {}");
     }
@@ -463,7 +485,7 @@ public class TsaMorebetterService {
 
         moreBetter.setMultiDefaultGoods(applyArr);
 
-        if(moreBetter.getMultiDefaultGoods().length > 0){
+        if (moreBetter.getMultiDefaultGoods().length > 0) {
             morebetterDao.deleteMorebetterApplyGoodsTemp(moreBetter);
             morebetterDao.insertMorebetterApplyGoodsTemp(moreBetter);
         }

+ 3 - 0
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -1305,6 +1305,8 @@ public class TsaMarketingController extends TsaBaseController {
 			
 			// 적용상품 으로 tb_goods 조회해서 temp 테이블 insert
 			morebetterService.insertMorebetterApplyGoodsTemp(moreBetter);
+			
+			// 다다익선 상품 등록
 			morebetterService.saveMoreBetterDetail(moreBetter);
 
 			moreBetterGoods.setTmtbSq(moreBetter.getTmtbSq());
@@ -1322,6 +1324,7 @@ public class TsaMarketingController extends TsaBaseController {
 				// 조회 건수 없으면 -> 저장으로 넘어감
 				map.set("duplicateYn", "N");
 			}
+			
 			map.set("message", message.getMessage("SUCC_0001"));
 		} catch (Exception e) {
 			e.printStackTrace();

+ 118 - 53
src/main/java/com/style24/persistence/mybatis/shop/TsaMorebetter.xml

@@ -543,20 +543,21 @@
 	<!-- 진행중인 다다익선 상품과 중복 체크 -->
 	<select id="getMorebetterDuplicateList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
 		/* TsaMorebetter.getMorebetterDuplicateList */
-		SELECT  TG.GOODS_CD
-		      , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = TG.GOODS_CD) AS GOODS_NM
-		FROM    TB_TMTB T, TB_TMTB_APPLY_GOODS TG
-		WHERE   T.TMTB_SQ = TG.TMTB_SQ
-		  AND   T.TMTB_STAT = 'G232_11'
-		  AND   NOW() BETWEEN T.TMTB_ST_DT AND T.TMTB_ED_DT
-		  AND   T.TMTB_SQ NOT IN (#{tmtbSq})
-		  AND   EXISTS (
-		            SELECT  TMP.GOODS_CD
-		            FROM    TB_TMTB_APPLY_GOODS_TEMP TMP
-		            WHERE   1=1
-		              AND   TMP.REG_NO = #{regNo}
-		              AND   TMP.GOODS_CD = TG.GOODS_CD
-			)
+		SELECT TG.GOODS_CD
+		     , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = TG.GOODS_CD) AS GOODS_NM
+		FROM   TB_TMTB T
+		     , TB_TMTB_APPLY_GOODS TG
+		WHERE  T.TMTB_SQ = TG.TMTB_SQ
+		  AND  T.TMTB_STAT = 'G232_11'
+		  AND  NOW() BETWEEN T.TMTB_ST_DT AND T.TMTB_ED_DT
+		  AND  T.TMTB_SQ NOT IN (#{tmtbSq})
+		  AND  EXISTS (
+		    SELECT TMP.GOODS_CD
+		    FROM   TB_TMTB_APPLY_GOODS_TEMP TMP
+		    WHERE  1=1
+		    AND    TMP.REG_NO = #{regNo}
+		    AND    TMP.GOODS_CD = TG.GOODS_CD
+		)
 	</select>
 
 	<update id="updateMorebetterStat" parameterType="MoreBetter">
@@ -573,22 +574,22 @@
 
 	<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 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 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">
@@ -610,43 +611,50 @@
 		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>
-
+	
+	<!-- 적용상품등록 (다다익선적용상품테이블) -->
 	<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
+		      TMTB_SQ
+		    , GOODS_GB
+		    , GOODS_CD
+		    , DEL_YN
+		    , REG_NO
+		    , REG_DT
+		    , UPD_NO
+		    , UPD_DT
 		)
-		SELECT #{tmtbSq} AS TMTB_SQ
-				, Z.GOODS_GB 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
-			     , T.GOODS_GB
+		SELECT #{tmtbSq}      AS TMTB_SQ
+		     , Z.GOODS_GB     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
+		         , T.GOODS_GB
 			FROM (
-				<if test="multiSupplyCompCd!= null and multiSupplyCompCd.length>0">
+		        SELECT 99999 AS GOODS_CD
+				     , 'G800_99' AS GOODS_GB
+				FROM   TB_GOODS
+				WHERE  1=2
+				<if test="multiSupplyCompCd != null and multiSupplyCompCd.length > 0">
+				    UNION  ALL
 					SELECT GOODS_CD
-					     , 'G800_10' AS GOODS_GB
+					     , 'G800_20' AS GOODS_GB
 					FROM TB_GOODS
 					WHERE SUPPLY_COMP_CD IN
 					<foreach collection="multiSupplyCompCd" item="item" open="(" separator="," close=")">
@@ -656,12 +664,14 @@
 					<foreach collection="multiBrand" item="item" open="(" separator="," close=")">
 						#{item}
 					</foreach>
-					<if test="multiDefaultGoods != null and multiDefaultGoods.length>0">
+					<if test="multiDefaultGoods != null and multiDefaultGoods.length > 0">
 						AND GOODS_CD NOT IN ( ${applySql} )
 					</if>
+				</if>
+				<if test="multiApplyGoods != null and multiApplyGoods.length > 0">
 					UNION ALL
+					${applyGbSql}
 				</if>
-				${applyGbSql}
 			) T
 			WHERE	1=1
 			<if test="multiExceptGoods != null and multiExceptGoods.length >0">
@@ -679,13 +689,68 @@
 									WHERE	A.TMTB_ST_DT <![CDATA[<=]]> NOW()
 									AND 	A.TMTB_ED_DT <![CDATA[>=]]> NOW()
 									AND 	A.TMTB_STAT = 'G232_11'
-		                            <if test="tmtbSq != null and tmtbSq != ''">
+									<if test="tmtbSq != null and tmtbSq != ''">
 									AND     A.TMTB_SQ <![CDATA[<>]]> #{tmtbSq}
 									</if>
 									AND 	B.GOODS_GB <![CDATA[<>]]> 'G800_30'
-		                            AND     TS.SECTION_GB = #{sectionGb}
+									AND     TS.SECTION_GB = #{sectionGb}
 								)
 	</insert>
+	
+	<!-- 기본상품등록 (다다익선적용상품테이블) 기본상품존재 -->
+	<insert id="insertMorebetterDefaultGoods" parameterType="MoreBetterGoods">
+		/* TsaMarketing.insertMorebetterDefaultGoods */
+		INSERT INTO TB_TMTB_APPLY_GOODS(
+		      TMTB_SQ
+		    , GOODS_GB
+		    , GOODS_CD
+		    , DEL_YN
+		    , REG_NO
+		    , REG_DT
+		    , UPD_NO
+		    , UPD_DT
+		)
+		SELECT TMTB_SQ
+		     , 'G800_10'      AS GOODS_GB
+		     , TARGET_VAL
+		     , DEL_YN
+		     , REG_NO
+		     , NOW()
+		     , UPD_NO
+		     , NOW()
+		FROM   TB_TMTB_GOODS
+		WHERE  1=1
+		AND    TMTB_SQ = #{tmtbSq}
+		AND    GOODS_GB = 'G800_10'
+		AND    DEL_YN = 'N'
+	</insert>
+	
+	<!-- 기본상품등록 (다다익선적용상품테이블) 기본상품없음 적용상품 -->
+	<insert id="insertMorebetterDefaultGoodsApply" parameterType="MoreBetterGoods">
+		/* TsaMarketing.insertMorebetterDefaultGoodsApply */
+		INSERT INTO TB_TMTB_APPLY_GOODS(
+		      TMTB_SQ
+		    , GOODS_GB
+		    , GOODS_CD
+		    , DEL_YN
+		    , REG_NO
+		    , REG_DT
+		    , UPD_NO
+		    , UPD_DT
+		)
+		SELECT TMTB_SQ
+		     , 'G800_10'      AS GOODS_GB
+		     , GOODS_CD
+		     , DEL_YN
+		     , REG_NO
+		     , NOW()
+		     , UPD_NO
+		     , NOW()
+		FROM   TB_TMTB_APPLY_GOODS 
+		WHERE  1=1
+		AND    TMTB_SQ = #{tmtbSq}
+		AND    GOODS_GB = 'G800_20'
+	</insert>
 
 	<delete id="deleteMorebetterApplyGoodsTemp" parameterType="MoreBetter">
 		/* TsaMorebetter.deleteMorebetterApplyGoodsTemp */

+ 141 - 331
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -105,21 +105,19 @@
 					<tr>
 						<th>상태<em class="required" title="필수"></em></th>
 						<td>
-							<!-- 상태 입력 : before
-                            <input class="w50p" type="text" id="disTmtbStat" name="disTmtbStat" maxlength="30" th:value="${params.tmtbStat}" disabled=""/>-->
 							<label class="rdoBtn" th:if="${tmtbStatList}" th:each="oneData, status : ${tmtbStatList}" ><input type="radio" id="disTmtbStat" name="disTmtbStat" th:value="${oneData.cd}" th:text="${oneData.cdNm}" data-valid-name="상태" disabled="disabled"/></label>
 							<input type="hidden" id="tmtbStat" name="tmtbStat"/>
 						</td>
 					</tr>
-
 				</table>
 			</div>
+			
 			<div class="panelStyle" style="margin:unset;">
 				<!-- TITLE -->
 				<div class="panelTitle">
 					<h2>할인 구간</h2>
 					<span class="panelControl">
-						<i class="fa inner-fa-chevron-up"></i>    <!-- 열림/닫힘 화살표 -->
+						<i class="fa inner-fa-chevron-up"></i><!-- 열림/닫힘 화살표 -->
 					</span>
 				</div>
 				<!-- //TITLE -->
@@ -147,12 +145,13 @@
 					</div>
 				</div>
 			</div>
+			
 			<div class="panelStyle" style="margin:unset;">
 				<!-- TITLE -->
 				<div class="panelTitle">
 					<h2>기준 상품</h2>
 					<span class="panelControl">
-						<i class="fa inner-fa-chevron-up"></i>    <!-- 열림/닫힘 화살표 -->
+						<i class="fa inner-fa-chevron-up"></i><!-- 열림/닫힘 화살표 -->
 					</span>
 				</div>
 				<!-- //TITLE -->
@@ -180,6 +179,7 @@
 					</div>
 				</div>
 			</div>
+			
 			<div class="panelStyle" style="margin:unset;">
 				<!-- TITLE -->
 				<div class="panelTitle">
@@ -242,8 +242,8 @@
 									</div>
 								</td>
 							</tr>
-							<tr class="off"> <!---->
-								<th>업체&브랜드상품</th>
+							<tr class="off">
+								<th>다른다다익선중복상품</th>
 								<td>
 									<div class="padding10" style="display: none;"> <!---->
 										<div id="gridDuplicateGoodsList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
@@ -260,8 +260,8 @@
 				<div class="panelTitle">
 					<h2>제외 대상 상품</h2>
 					<span class="panelControl">
-							<i class="fa inner-fa-chevron-up"></i>    <!-- 열림/닫힘 화살표 -->
-						</span>
+						<i class="fa inner-fa-chevron-up"></i>    <!-- 열림/닫힘 화살표 -->
+					</span>
 				</div>
 				<!-- //TITLE -->
 				<div class="inner-panelContent">
@@ -353,8 +353,6 @@
 			<li  class="right">
 				<button type="button" class="btn btnRight btn-success btn-lg" id="btnSearchList">목록</button>
 				<button type="button" class="btn btnRight btn-success btn-lg tmtbButton" id="btnMorebetterSave" style="display: none;">저장</button>
-				<!--<button type="button" th:if="${mode == 'N'}" class="btn btnRight btn-success btn-lg" id="btnMorebetterSave">저장</button>
-				<button type="button" th:if="${mode == 'U'}" class="btn btnRight btn-success btn-lg" id="btnMorebetterUpdate">수정</button>-->
 				<button type="button" class="btn btnRight btn-success btn-lg tmtbButton" id="btnChangeStatIng" style="display: none;">진행</button>
 				<button type="button" class="btn btnRight btn-success btn-lg tmtbButton" id="btnMorebetterDelete" style="display: none;">삭제</button>
 				<button type="button" class="btn btnRight btn-success btn-lg tmtbButton" id="btnMorebetterStop" style="display: none;">중지</button>
@@ -366,98 +364,103 @@
 <script th:inline="javascript">
 	// 상세 조회시 데이터 리스트
 	let confirmBtnText = ["확인", "취소"];
-	var mode = [[${mode}]];
-	var tmtbMstInfo = [[${tmtbMstInfo}]];
-	var tmtbSectionValList = [[${tmtbSectionValList}]];
-	var tmtbSupplyCompList = [[${tmtbSupplyCompList}]];
-	var tmtbBrandList = [[${tmtbBrandList}]];
-	var tmtbDefaultGoodsList = [[${tmtbDefaultGoodsList}]];
-	var tmtbApplyGoodsList = [[${tmtbApplyGoodsList}]];
-	var tmtbExceptGoodsList = [[${tmtbExceptGoodsList}]];
-	var tmtbBurdenList = [[${tmtbBurdenList}]];
+	
+	var mode 					= [[${mode}]];
+	var tmtbMstInfo 			= [[${tmtbMstInfo}]];
+	var tmtbSectionValList 		= [[${tmtbSectionValList}]];
+	var tmtbSupplyCompList 		= [[${tmtbSupplyCompList}]];
+	var tmtbBrandList 			= [[${tmtbBrandList}]];
+	var tmtbDefaultGoodsList 	= [[${tmtbDefaultGoodsList}]];
+	var tmtbApplyGoodsList 		= [[${tmtbApplyGoodsList}]];
+	var tmtbExceptGoodsList 	= [[${tmtbExceptGoodsList}]];
+	var tmtbBurdenList 			= [[${tmtbBurdenList}]];
 
 	// 공통 코드 리스트
-	var FGAddGoodsStatList = gagajf.convertToArray([[${goodsStatList}]]);		// 상품 상태 리스트
-	var sectionGbList = gagajf.convertToArray([[${sectionGbList}]]);	// 할인구간 리스트
-	var dcWayList = gagajf.convertToArray([[${dcWayList}]]);	// 할인구분 리스트
-	var defaultGoodsGbList = gagajf.convertToArray([[${defaultGoodsGbList}]]);	// 기준 상품구분 목록
-	var applyGoodsGbList = gagajf.convertToArray([[${applyGoodsGbList}]]);	// 적용 상품구분 목록
-	var exceptGoodsGbList = gagajf.convertToArray([[${exceptGoodsGbList}]]);	// 제외 상품구분 목록
+	var FGAddGoodsStatList 		= gagajf.convertToArray([[${goodsStatList}]]);		// 상품 상태 리스트
+	var sectionGbList 			= gagajf.convertToArray([[${sectionGbList}]]);		// 할인구간 리스트
+	var dcWayList 				= gagajf.convertToArray([[${dcWayList}]]);			// 할인구분 리스트
+	var defaultGoodsGbList 		= gagajf.convertToArray([[${defaultGoodsGbList}]]);	// 기준 상품구분 목록
+	var applyGoodsGbList 		= gagajf.convertToArray([[${applyGoodsGbList}]]);	// 적용 상품구분 목록
+	var exceptGoodsGbList 		= gagajf.convertToArray([[${exceptGoodsGbList}]]);	// 제외 상품구분 목록
 
 	// 공급업체 리스트 설정
 	var columnFGCompanyList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{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: "delYn", width: 150, cellClass: 'text-center', hide: true}
+		{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: "delYn"			, width: 150, cellClass: 'text-center', hide: true}
 	];
+	
 	// 브랜드 리스트 설정
 	var columnBrandList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "브랜드ID", field: "brandCd", width: 110, cellClass: 'text-center'},
-		{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: "delYn", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "브랜드ID"		, field: "brandCd"			, width: 110, cellClass: 'text-center'},
+		{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: "delYn"			, width: 150, cellClass: 'text-center', hide: true}
 	];
+	
 	// 기준상품 리스트 설정
 	var columnDefaultGoodsList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "상품구분", field: "goodsGb", width: 100, cellClass: 'text-center',
+		{headerName: "상품구분"		, field: "goodsGb"			, width: 100, cellClass: 'text-center',
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(defaultGoodsGbList), required: true },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(defaultGoodsGbList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(defaultGoodsGbList, params.newValue); }
 		},
-		{headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center'},
-		{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: "delYn", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "상품코드"			, field: "goodsCd"			, width: 120, cellClass: 'text-center'},
+		{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: "delYn"			, width: 150, cellClass: 'text-center', hide: true}
 	];
+	
 	// 적용상품 리스트 설정
 	var columnApplyGoodsList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "상품구분", field: "goodsGb", width: 100, cellClass: 'text-center',
+		{headerName: "상품구분"			, field: "goodsGb"			, width: 100, cellClass: 'text-center',
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(applyGoodsGbList), required: true },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(applyGoodsGbList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(applyGoodsGbList, params.newValue); }
 		},
-		{headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center'},
-		{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: "delYn", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "상품코드"			, field: "goodsCd"			, width: 120, cellClass: 'text-center'},
+		{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: "delYn"			, width: 150, cellClass: 'text-center', hide: true}
 	];
+	
 	// 제외상품 리스트 설정
 	var columnExceptGoodsList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "상품구분", field: "goodsGb", width: 100, cellClass: 'text-center',
+		{headerName: "상품구분"			, field: "goodsGb"			, width: 100, cellClass: 'text-center',
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(exceptGoodsGbList), required: true },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(exceptGoodsGbList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(exceptGoodsGbList, params.newValue); }
 		},
-		{headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center'},
-		{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: "delYn", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "상품코드"			, field: "goodsCd"			, width: 120, cellClass: 'text-center'},
+		{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: "delYn"			, width: 150, cellClass: 'text-center', hide: true}
 	];
 
 	// 업체분담율 리스트 설정
 	var columnApplyBurdenList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "업체ID", field: "tmtbSupplyCd" , width: 120, cellClass: 'text-center', editable: false},
-		{headerName: "업체명", field: "supplyCompNm" , width: 120, cellClass: 'text-center', editable: false},
-		{headerName: "분담율(%)", field: "tmtbBurdenRate" , width: 120, cellClass: 'text-center',required: true
+		{headerName: "업체ID"			, field: "tmtbSupplyCd" 	, width: 120, cellClass: 'text-center', editable: false},
+		{headerName: "업체명"				, field: "supplyCompNm" 	, width: 120, cellClass: 'text-center', editable: false},
+		{headerName: "분담율(%)"			, field: "tmtbBurdenRate" 	, width: 120, cellClass: 'text-center',required: true
 			,editable: true
 			,cellRenderer: function (params) {
 				if(params.value > 100) {
@@ -467,32 +470,24 @@
 					return params.value;
 				}
 			}
-			// ,valueFormatter: function(params) {
-			// 	if(params.value && params.value > 0) {
-			// 		return params.value.addComma();
-			// 	} else {
-			// 		return '0';
-			// 	}
-			// },
-			//cellEditor: 'textCellEditor',
 			,cellEditorParams: { maxlength: 3, validType: 'numeric'}
 		},
-		{headerName: "사용여부", field: "useYn" , width: 120, cellClass: 'text-center', hide: true},
-		{headerName: "시퀀스", field: "tmtbBurdenSq", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "사용여부"			, field: "useYn" 			, width: 120, cellClass: 'text-center', hide: true},
+		{headerName: "시퀀스"				, field: "tmtbBurdenSq"		, width: 150, cellClass: 'text-center', hide: true}
 	];
 
 	// 구간 할인/혜택 설정
 	var columnSectionGbList = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: 'No', width: 60, cellClass: 'text-center', valueGetter: function(params) { return params.node.rowIndex + 1 }},
-		{headerName: "시퀀스", field: "tmtbSq", width: 100, cellClass: 'text-center', hide: true},
-		{headerName: "할인구간", field: "sectionGb", width: 100, cellClass: 'text-center', editable: false,
+		{headerName: 'No'			, width: 60, cellClass: 'text-center', valueGetter: function(params) { return params.node.rowIndex + 1 }},
+		{headerName: "시퀀스"			, field: "tmtbSq"			, width: 100, cellClass: 'text-center', hide: true},
+		{headerName: "할인구간"		, field: "sectionGb"		, width: 100, cellClass: 'text-center', editable: false,
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(sectionGbList), required: true },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(sectionGbList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(sectionGbList, params.newValue); }
 		},
-		{headerName: "구간값", field: "sectionVal", width: 100, cellClass: 'text-right', required: true
+		{headerName: "구간값"			, field: "sectionVal"		, width: 100, cellClass: 'text-right', required: true
 			,valueFormatter: function(params) {
 				if(params.value && params.value > 0) {
 					return params.value.addComma();
@@ -502,13 +497,13 @@
 			},
 			cellEditorParams: { maxlength: 14, validType: 'numeric'}
 		},
-		{headerName: "할인구분", field: "dcWay", width: 100, cellClass: 'text-center', editable: false,
+		{headerName: "할인구분"		, field: "dcWay"			, width: 100, cellClass: 'text-center', editable: false,
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(dcWayList), required: true },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(dcWayList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(dcWayList, params.newValue); }
 		},
-		{headerName: "할인값", field: "dcVal", width: 100, cellClass: 'text-right', required: true
+		{headerName: "할인값"			, field: "dcVal"			, width: 100, cellClass: 'text-right', required: true
 			,valueFormatter: function(params) {
 				if(params.value && params.value > 0) {
 					if(params.data.dcWay == "G240_11"){
@@ -525,15 +520,16 @@
 			},
 			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: "delYn", width: 150, cellClass: 'text-center', hide: true}
+		{headerName: "구간시퀀스"		, field: "tmtbSectionSq"	, 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 = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center'},
-		{headerName: "상품명", field: "goodsNm", width: 120, cellClass: 'text-center'}
+		{headerName: "상품코드"		, field: "goodsCd"			, width: 120, cellClass: 'text-center'},
+		{headerName: "상품명"			, field: "goodsNm"			, width: 120, cellClass: 'text-center'}
 	];
 
 	// 공급업체 리스트 설정
@@ -572,20 +568,20 @@
 
 	$(document).ready(function() {
 		// 1.그리드 그리기
-		gagaAgGrid.createGrid("gridFGPromotionCompanyList", gridOptionsFGCompanyList);
-		gagaAgGrid.createGrid("gridFGBrandList", gridOptionsFGBrandList);
-		gagaAgGrid.createGrid("gridTmtbDefaultList", gridOptionsDefaultGoodsList);
-		gagaAgGrid.createGrid("gridFGApplyGoodsList", gridOptionsFGApplyGoodsList);
-		gagaAgGrid.createGrid("gridFGExceptGoodsList", gridOptionsFGExceptGoodsList);
-		gagaAgGrid.createGrid("gridApplyBurdenList", gridOptionsApplyBurdenList);
-		gagaAgGrid.createGrid("gridSectionGbList", gridOptionsSectionGbList);
-		gagaAgGrid.createGrid("gridDuplicateGoodsList", gridOptionsDuplicateGoodsList);
+		gagaAgGrid.createGrid("gridFGPromotionCompanyList"		, gridOptionsFGCompanyList);
+		gagaAgGrid.createGrid("gridFGBrandList"					, gridOptionsFGBrandList);
+		gagaAgGrid.createGrid("gridTmtbDefaultList"				, gridOptionsDefaultGoodsList);
+		gagaAgGrid.createGrid("gridFGApplyGoodsList"			, gridOptionsFGApplyGoodsList);
+		gagaAgGrid.createGrid("gridFGExceptGoodsList"			, gridOptionsFGExceptGoodsList);
+		gagaAgGrid.createGrid("gridApplyBurdenList"				, gridOptionsApplyBurdenList);
+		gagaAgGrid.createGrid("gridSectionGbList"				, gridOptionsSectionGbList);
+		gagaAgGrid.createGrid("gridDuplicateGoodsList"			, gridOptionsDuplicateGoodsList);
 
 		// 일단 버튼 숨김
 		$(".tmtbButton").hide();
 
 		// 2. 그리드 데이터 바인딩
-		if(mode == "U"){
+		if (mode == "U") {
 			gridOptionsFGCompanyList.api.setRowData(tmtbSupplyCompList);
 			gridOptionsFGBrandList.api.setRowData(tmtbBrandList);
 			gridOptionsDefaultGoodsList.api.setRowData(tmtbDefaultGoodsList);
@@ -604,30 +600,35 @@
 			$("input:radio[name='dcWay']:radio[value="+tmtbMstInfo.dcWay+"]").prop('checked', true); // 선택하기
 
 			let edDtArr = tmtbMstInfo.tmtbEddt.split(" ");
-			if(edDtArr[1] == "23:59:59") {
+			if (edDtArr[1] == "23:59:59") {
 				edHour = "24";
 				edMinute = "00";
 				$('#moreBetterForm #eventEdHH option:last').show().prop("selected", true);
 				$("#moreBetterForm #eventEdMM option").hide();
 				$('#moreBetterForm #eventEdMM option:first').show().prop("selected", true);
 			}
-
-			if(tmtbMstInfo.tmtbStat == "G232_10"){
+			
+			// 대기일때
+			if (tmtbMstInfo.tmtbStat == "G232_10") {
 				$("#btnMorebetterSave").show();		// 저장버튼
 				$("#btnChangeStatIng").show();		// 진행버튼
 				$("#btnMorebetterDelete").show();	// 삭제버튼
 				$("#moreBetterForm .buttonSpan").show();	//행추가,삭제버튼
-			}else if(tmtbMstInfo.tmtbStat == "G232_11"){
+			} 
+			// 진행일때
+			else if(tmtbMstInfo.tmtbStat == "G232_11") {
 				$("#btnMorebetterSave").hide();		// 저장버튼
 				$("#btnMorebetterStop").show();		// 중지버튼
 				$("#btnMorebetterDelete").show();	// 삭제버튼
 				$("#moreBetterForm .buttonSpan").hide();	//행추가,삭제버튼
-			}else{
+			} 
+			// 중지, 종료, 삭제 일때
+			else {
 				$("#moreBetterForm .buttonSpan").hide();	//행추가,삭제버튼
 			}
 
 			// 대기모드 아닐시 수정안되게 비활성화
-			if(tmtbMstInfo.tmtbStat != "G232_10"){
+			if (tmtbMstInfo.tmtbStat != "G232_10") {
 				$("#moreBetterForm").find("input[name=tmtbNm]").attr('disabled',true);		// 프로모션명
 				$("#moreBetterForm").find("input[name=eventStdt]").attr('disabled',true);		// 시작일
 				$("#moreBetterForm select[name=eventStHH]").attr("readonly", true);
@@ -649,31 +650,31 @@
 		}
 
 		// 구분 -> 대기로 체크
-		if(mode=="N"){
-			$("input:radio[name='disTmtbStat']:radio[value='G232_10']").prop('checked', true); // 선택하기
-			$("#btnMorebetterSave").show();	// 저장버튼
+		if (mode == "N") {
+			$("input:radio[name='disTmtbStat']:radio[value='G232_10']").prop('checked', true); 	// 선택하기
+			$("#btnMorebetterSave").show();														// 저장버튼
 			$("#moreBetterForm .buttonSpan").show();
 
-			if(tmtbMstInfo.eventEdHH == "24"){
+			if (tmtbMstInfo.eventEdHH == "24") {
 				$("#moreBetterForm #eventEdHH option:last").show().prop("selected", true);
 				$("#moreBetterForm #eventEdMM option").hide();
 				$('#moreBetterForm #eventEdMM option:first').show().prop("selected", true);
 			}
 		}
-		//cfnCreateCalendar('#tmtbTerms', 'tmtbStdt', 'tmtbEddt', true, '행사기간', 'X');
 		cfnCreateCalendar('#tmtbTerms', 'eventStdt', 'eventEddt', true, '행사기간', 'X');
 	});
 
 	// 종료시간 클릭 시
 	$("#moreBetterForm #eventEdHH").bind('click change', function () {
-		if(this.value == 24) {
+		if (this.value == 24) {
 			$("#moreBetterForm #eventEdMM option").hide();
 			$('#moreBetterForm #eventEdMM option:first').show().prop("selected", true);
 		} else {
 			$("#moreBetterForm #eventEdMM option").show();
 		}
 	});
-
+	
+	// 기준상품 유무체크
 	var fnGoodsGbCheck = function (){
 		let applyGoodsData = gagaAgGrid.getAllRowData(gridOptionsDefaultGoodsList);
 		var checkCnt = 0;
@@ -683,14 +684,15 @@
 			}
 		});
 
-		if(checkCnt < 1){
+		if (checkCnt < 1) {
 			mcxDialog.alert("기준상품을 1개 이상 지정해주세요.");
 			return false;
 		}
 
 		return true;
 	};
-
+	
+	// 업체분담율 100% 이하 체크
 	var fnBurdenValueCheck = function (){
 		let burdenData = gagaAgGrid.getAllRowData(gridOptionsApplyBurdenList);
 		let totalValue = 0;
@@ -755,11 +757,12 @@
 		if(!checkDateValidation()){
 			return false;
 		}
-
+		
+		// 2021.11.09 기준상품은 필수값이 아님
 		// 적용상품 그리드에 기본상품 1개이상 있는지 체크
-		if(!fnGoodsGbCheck()) {
-			return false;
-		}
+		//if(!fnGoodsGbCheck()) {
+			//return false;
+		//}
 
 		// 업체분담율 토탈 100% 넘는지 체크
 		// if(!fnBurdenValueCheck()) {
@@ -830,37 +833,38 @@
 		});
 
 		var data = {
-			mode : $('#moreBetterForm input[name=mode]').val()
-			, tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-			, tmtbNm : $('#moreBetterForm input[name=tmtbNm]').val()
-			, tmtbStat : $('input:radio[name="disTmtbStat"]:checked').val()
-			, tmtbStdt : $('#moreBetterForm input[name=tmtbStdt]').val()
-			, tmtbEddt : $('#moreBetterForm input[name=tmtbEddt]').val()
-			, sectionGb : $('input:radio[name="sectionGb"]:checked').val()
-			, applyGb : $('input:radio[name="sectionGb"]:checked').val()
-			, dcWay : $('input:radio[name="dcWay"]:checked').val()
-			, supplyCompList : allSupplyCompData
-			, brandList : allBrandData
-			, applyGoodsList : allApplyGoodsData
-			, gridApplyGoodsList : allApplyGoodsData
-			, exceptGoodsList : allExceptGoodsData
-			, burdenList : allApplyBurdenData
-			, sectionGbList : allSectionGbData
-			, defaultGoodsList : allDefaultGoodsData
-			, multiSupplyCompCd : multiSupplyCompCd
-			, multiBrand : multiBrand
-			, multiApplyGoods : multiApplyGoods
-			, multiExceptGoods : multiExceptGoods
-			, multiDefaultGoods : multiDefaultGoods
+			mode 					: $('#moreBetterForm input[name=mode]').val()
+			, tmtbSq 				: $('#moreBetterForm input[name=disTmtbSq]').val()
+			, tmtbNm 				: $('#moreBetterForm input[name=tmtbNm]').val()
+			, tmtbStat 				: $('input:radio[name="disTmtbStat"]:checked').val()
+			, tmtbStdt 				: $('#moreBetterForm input[name=tmtbStdt]').val()
+			, tmtbEddt 				: $('#moreBetterForm input[name=tmtbEddt]').val()
+			, sectionGb 			: $('input:radio[name="sectionGb"]:checked').val()
+			, applyGb 				: $('input:radio[name="sectionGb"]:checked').val()
+			, dcWay 				: $('input:radio[name="dcWay"]:checked').val()
+			, supplyCompList 		: allSupplyCompData
+			, brandList 			: allBrandData
+			, applyGoodsList 		: allApplyGoodsData
+			, gridApplyGoodsList 	: allApplyGoodsData
+			, exceptGoodsList 		: allExceptGoodsData
+			, burdenList 			: allApplyBurdenData
+			, sectionGbList 		: allSectionGbData
+			, defaultGoodsList 		: allDefaultGoodsData
+			, multiSupplyCompCd 	: multiSupplyCompCd
+			, multiBrand 			: multiBrand
+			, multiApplyGoods 		: multiApplyGoods
+			, multiExceptGoods 		: multiExceptGoods
+			, multiDefaultGoods 	: multiDefaultGoods
 		};
 
 		var jsonData = JSON.stringify(data);
 		console.log(jsonData);
 		gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, fnMorebetterSaveCollback);
 	});
-
+	
+	// 다른다다익선 중복 상품 체크
 	var fnMorebetterSaveCollback = function(result){
-		if(result.duplicateYn == "Y"){
+		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});
 			}
@@ -1356,31 +1360,6 @@
 			multiExceptGoods.push(item.goodsCd);
 		});
 
-		/*var data = {
-			mode : $('#moreBetterForm input[name=mode]').val()
-			, tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
-			, tmtbNm : $('#moreBetterForm input[name=tmtbNm]').val()
-			, tmtbStat : "G232_11"				// 진행
-			, tmtbStdt : $('#moreBetterForm input[name=tmtbStdt]').val()
-			, tmtbEddt : $('#moreBetterForm input[name=tmtbEddt]').val()
-			, sectionGb : $('input:radio[name="sectionGb"]:checked').val()
-			, applyGb : $('input:radio[name="sectionGb"]:checked').val()
-			, dcWay : $('input:radio[name="dcWay"]:checked').val()
-			, supplyCompList : allSupplyCompData
-			, brandList : allBrandData
-			, applyGoodsList : allApplyGoodsData
-			, exceptGoodsList : allExceptGoodsData
-			, burdenList : allApplyBurdenData
-			, sectionGbList : allSectionGbData
-			, multiSupplyCompCd : multiSupplyCompCd
-			, multiBrand : multiBrand
-			, multiApplyGoods : multiApplyGoods
-			, multiExceptGoods : multiExceptGoods
-		};
-
-		var jsonData = JSON.stringify(data);
-		 */
-
 		mcxDialog.confirmC("프로모션을 진행하시겠습니까?<br/>진행 후에는 수정이 제한될 수 있습니다.", {
 			btn: confirmBtnText,
 			btnClick: function(index) {
@@ -1416,7 +1395,8 @@
 			}
 		});
 	});
-
+	
+	// 다른 다다익선 중복체크
 	var fnMorebetterChangeStatCollback = function(result){
 		if(result.duplicateYn == "Y"){
 			for(let i=0; i<result.duplicateGoodsList.length; i++){
@@ -1465,176 +1445,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);
-				}
-			});
-		}
-	});
-*/
-
-	// 구간할인 행삭제
-	/*$('#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>