Ver código fonte

Merge branch 'sowon' into develop

sowon4187 5 anos atrás
pai
commit
e16f5f99ba

+ 35 - 0
src/main/java/com/style24/admin/biz/dao/TsaPlanDao.java

@@ -279,6 +279,41 @@ public interface TsaPlanDao {
 	 */
 	void createPlanGoodsCopy(Plan param);
 
+	/**
+	 * 기획전 회원구분 등록
+	 *
+	 * @param
+	 * @author sowon
+	 * @since 2021. 2. 23
+	 */
+	void createPlanCustGb(Plan param);
+	
+	/**
+	 * 기획전 회원등급 등록
+	 *
+	 * @param
+	 * @author sowon
+	 * @since 2021. 2. 23
+	 */
+	void createPlanCustGrade(Plan param);
+	
+	/**
+	 * 기획전 회원구분 조회
+	 *
+	 * @param
+	 * @author sowon
+	 * @since 2021. 2. 23
+	 */
+	Collection<Plan> getPlanCustGbList(Plan param);
+	
+	/**
+	 * 기획전 회원등급 조회
+	 *
+	 * @param
+	 * @author sowon
+	 * @since 2021. 2. 23
+	 */
+	Collection<Plan> getPlanCustGradeList(Plan param);
 
 
 }

+ 56 - 11
src/main/java/com/style24/admin/biz/service/TsaPlanService.java

@@ -69,7 +69,7 @@ public class TsaPlanService {
 		String[] brand = param.getMultiBrand();
 		// 기획전 브랜드 insert
 		for (int j = 0; j < brand.length; j++) {
-			plan.setBrandCd(brand[j]);
+			plan.setBrandGroupNo(brand[j]);
 			plan.setPlanSq(param.getPlanSq());
 			plan.setRegNo(TsaSession.getInfo().getUserNo());
 			plan.setUpdNo(TsaSession.getInfo().getUserNo());
@@ -85,6 +85,24 @@ public class TsaPlanService {
 			plan.setUpdNo(TsaSession.getInfo().getUserNo());
 			planDao.createPlanCate(plan);
 		}
+		
+		// 기획전 회원구분 insert
+		String[] custGb = param.getUsableCustGbArr();
+		for (int j = 0; j < custGb.length; j++) {
+			plan.setCustGb(custGb[j]);
+			plan.setPlanSq(param.getPlanSq());
+			plan.setRegNo(TsaSession.getInfo().getUserNo());
+			planDao.createPlanCustGb(plan);
+		}
+		
+		// 기획전 회원등급 insert
+		String[] custGrade = param.getUsableCustGradeArr();
+		for (int j = 0; j < custGrade.length; j++) {
+			plan.setCustGrade(custGrade[j]);
+			plan.setPlanSq(param.getPlanSq());
+			plan.setRegNo(TsaSession.getInfo().getUserNo());
+			planDao.createPlanCustGrade(plan);
+		}
 
 		log.debug("planSq : {}", param.getPlanSq());
 
@@ -370,14 +388,15 @@ public class TsaPlanService {
 		}
 
 		if (("Y").equals(param.getOrgReplyImgDelYn())) {
-			param.setReplyImg(null);
+			//param.setReplyImg(null);
 			deleteFile(targetPath, param.getOrgReplyImg());
 		}
 
 		// 기존 기획전 카테고리 삭제 
-		for (int i = 0; i < param.getMultiCate().length; i++) {
-			planDao.deletePlanCate(param);
-		}
+		planDao.deletePlanCate(param);
+//		for (int i = 0; i < param.getMultiCate().length; i++) {
+//			planDao.deletePlanCate(param);
+//		}
 		
 		String[] cate = param.getMultiCate();
 		// 기획전 카테고리insert
@@ -389,15 +408,17 @@ public class TsaPlanService {
 			planDao.createPlanCate(plan);
 		}
 		
-		// 기존 기획전 카테고리 삭제 
-		for (int i = 0; i < param.getMultiCate().length; i++) {
-			planDao.deletePlanCate(param);
-		}
+		// 기존 기획전 카테고리 삭제
+		planDao.deletePlanCate(param);
+//		for (int i = 0; i < param.getMultiCate().length; i++) {
+//			planDao.deletePlanCate(param);
+//		}
+		
 		
 		String[] brand = param.getMultiBrand();
 		// 기획전 브랜드 insert
 		for (int j = 0; j < brand.length; j++) {
-			plan.setBrandCd(brand[j]);
+			plan.setBrandGroupNo(brand[j]);
 			plan.setPlanSq(param.getPlanSq());
 			plan.setRegNo(TsaSession.getInfo().getUserNo());
 			plan.setUpdNo(TsaSession.getInfo().getUserNo());
@@ -463,7 +484,7 @@ public class TsaPlanService {
 		
 		for(Plan brandCd : brandList){
 			plan.setPlanSq(param.getPlanSq());
-			plan.setBrandCd(brandCd.getBrandCd());
+			plan.setBrandGroupNo(brandCd.getBrandGroupNo());
 			plan.setCopyPlanSq(param.getCopyPlanSq()); 
 			planDao.createPlanBrandCopy(plan);
 		}
@@ -800,5 +821,29 @@ public class TsaPlanService {
 			savePlanCornerGoods(goods);
 		}
 	}
+	
+	/**
+	 * 기획전 회원구분 조회
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 2. 23
+	 */
+	public Collection<Plan> getPlanCustGbList(Plan param) {
+		return planDao.getPlanCustGbList(param);	
+	}
+	
+	/**
+	 * 기획전 회원등급 조회
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 2. 23
+	 */
+	public Collection<Plan> getPlanCustGradeList(Plan param) {
+		return planDao.getPlanCustGradeList(param);	
+	}
 
 }

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

@@ -1687,9 +1687,11 @@ public class TsaMarketingController extends TsaBaseController {
 			// 상위제휴채널 조회
 			mav.addObject("upperAfLinkCdList", rendererService.getAvailCommonCodeList("G053"));
 
-			//mav.addObject("planQuestionList", planService.getPlanQuestionList(param));
-
-			//mav.addObject("brandList", rendererService.getSupplyCompanyBrandList("W"));
+			// 선택한 회원유형
+			mav.addObject("gbList", planService.getPlanCustGbList(param));
+			
+			// 선택한 회원등급
+			mav.addObject("gradeList", planService.getPlanCustGradeList(param));
 		}
 
 		// 사이트 목록
@@ -1713,7 +1715,7 @@ public class TsaMarketingController extends TsaBaseController {
 	}
 	
 	/**
-	 * 기획전 등록
+	 * 기획전 등록
 	 *
 	 * @return
 	 * @author sowon

+ 9 - 3
src/main/java/com/style24/persistence/domain/Plan.java

@@ -85,10 +85,10 @@ public class Plan extends TscBaseDomain{
 		private String copyBrandCd;	        //복사할 브랜드코드
 		private String adminPreview;	// 어드민미리보기 여부 (Y:미리보기)
 		// 기획전 브랜드
-		private String brandCd;		//기획전브랜드코드
+		private String brandGroupNo;	//기획전브랜드그룹번호
 		private String DispYn;      	//표시여부           
-		private String brandKnm;    // 브랜드명(한글)
-		private String brandEnm;    // 브랜드명(영문)
+		private String brandGroupKnm; 	// 브랜드 그룹명(한글)
+		private String brandGroupEnm; 	// 브랜드 그룹명(영어)
 		/* Multi CheckBox 항목*/
 		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 		private String[] multiBrand;
@@ -164,5 +164,11 @@ public class Plan extends TscBaseDomain{
 		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 		private String[] conditionList;
 		
+		 // 사용가능고객등급
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	    private String[] usableCustGradeArr;
 		
+	    // 사용가능고객구분
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	    private String[] usableCustGbArr;
 }

+ 65 - 40
src/main/java/com/style24/persistence/mybatis/shop/TsaPlan.xml

@@ -12,10 +12,6 @@
 		       PLAN_SQ               
 		     , PLAN_NM               
 		     , PLAN_GB               
-		     <!-- , CUST_GB -->
-		    <!--  , CUST_GRADE -->
-		     <!-- , PLAN_SNM -->
-		     , TEMPLATE_TYPE         
 		     , SITE_CD               
 		     , FRONT_GB              
 		     , DISP_STDT             
@@ -25,16 +21,12 @@
 		     , DTL_PIMG              
 		     , DTL_MIMG              
 		     , DTL_TITLE1            
-		     <!-- , DTL_TITLE2 -->          
-		     <!-- , CATE_CD               
-		     , CATE_DISP_YN   -->        
 		     , REPLY_YN              
 		     , REPLY_LOC           
 		     , REPLY_IMG           
 		     , REPLY_TITLE1        
 		     , REPLY_TITLE2        
 		     , POLL_SQ             
-		     <!-- , PRIVACY_POLICY -->
 		     , DEV_URL             
 		     , CORNER_NM_DISP_YN   
 		     , GOODS_LIMIT_YN      
@@ -54,10 +46,6 @@
 		       #{planSq}
 		     , #{planNm}
 		     , #{planGb}
-		    <!--  , #{custGb} -->
-		     <!-- , #{custGrade} -->
-		     <!-- , #{planSnm} -->
-		     , #{templateType}
 		     , #{siteCd}
 		     , #{frontGb}
 		     , DATE_FORMAT(#{dispStdt} , '%Y-%m-%d %H:%i:%s')
@@ -67,15 +55,12 @@
 		     , #{dtlPimg}
 		     , #{dtlMimg}
 		     , #{dtlTitle1}
-		     <!-- , #{cateCd}
-		     , NVL(#{cateDispYn}, 'N') -->
 		     , #{replyYn}
 		     , #{replyLoc}
 		     , #{replyImg}
 		     , #{replyTitle1}
 		     , #{replyTitle2}
 		     , #{pollSq}
-		     <!-- , #{privacyPolicy} -->
 		     , #{devUrl}
 		     , #{cornerNmDispYn}
 		     , IFNULL(#{goodsLimitYn}, 'N')
@@ -105,10 +90,6 @@
 					SELECT PLAN_SQ                
 					     , PLAN_NM                
 					     , PLAN_GB                
-					     <!-- , CUST_GB -->
-					     <!-- , CUST_GRADE -->
-					     <!-- , PLAN_SNM -->
-					     , TEMPLATE_TYPE          
 					     , SITE_CD                
 					     , FRONT_GB               
 					     , DISP_STDT    
@@ -118,16 +99,12 @@
 					     , DTL_PIMG               
 					     , DTL_MIMG               
 					     , DTL_TITLE1             
-					     <!-- , DTL_TITLE2 -->
-					     <!-- , CATE_CD -->
-					     <!-- , CATE_DISP_YN -->           
 					     , REPLY_YN               
 					     , REPLY_TITLE1           
 					     , REPLY_TITLE2           
 					     , REPLY_LOC              
 					     , REPLY_IMG              
 					     , POLL_SQ                
-					     <!-- , PRIVACY_POLICY -->
 					     , DEV_URL                
 					     , CORNER_NM_DISP_YN      
 					     , GOODS_LIMIT_YN         
@@ -201,9 +178,6 @@
 		<if test="planGb != null and planGb != ''">
 		AND    PLAN_GB = #{planGb}
 		</if>
-		<if test="templateType != null and templateType != ''">
-		AND    TEMPLATE_TYPE = #{templateType}
-		</if>
 		<if test="dispStdt != null and dispStdt != ''">
 		AND    DISP_EDDT <![CDATA[>=]]> DATE_FORMAT(#{dispStdt}, '%Y-%m-%d %H:%i:%S')
 		</if>
@@ -304,7 +278,6 @@
 		     <!-- , CUST_GB = #{custGb} -->
 		     <!-- , CUST_GRADE = #{custGrade} -->
 		     <!-- , PLAN_SNM = #{planSnm} -->
-		     , TEMPLATE_TYPE = #{templateType}
 		     , FRONT_GB = #{frontGb}
 		     , PLAN_NM = #{planNm}
 		     , DISP_STDT = DATE_FORMAT(#{dispStdt} , '%Y-%m-%d %H:%i:%s')
@@ -376,7 +349,6 @@
 		          <!-- , CUST_GB -->
 		          <!-- , CUST_GRADE -->
 		          <!-- , PLAN_SNM -->
-		          , TEMPLATE_TYPE
 		          , SITE_CD
 		          , FRONT_GB
 		          , DISP_STDT
@@ -416,7 +388,6 @@
 		             <!-- , CUST_GB -->
 		             <!-- , CUST_GRADE -->
 		             <!-- , PLAN_SNM -->
-		             , TEMPLATE_TYPE
 		             , SITE_CD
 		             , FRONT_GB
 		             , DISP_STDT
@@ -458,7 +429,7 @@
 		/* TsaMarketing.createPlanBrand */
 		INSERT INTO TB_PLAN_BRAND
 			(
-				BRAND_CD
+				BRAND_GROUP_NO
 			  , PLAN_SQ
 			  , DISP_YN
 			  , REG_NO
@@ -468,7 +439,7 @@
 			)
 		VALUES
 		   (
-			  #{brandCd}
+			  #{brandGroupNo}
 			, #{planSq}
 			,'Y'
 			, #{regNo}
@@ -488,14 +459,14 @@
 	<select id="getPlanBrandList" parameterType="Plan" resultType="Plan">
 		/* TsaMarketing.getPlanBrandList */
 		SELECT TP.PLAN_NM AS PLAN_NM
-		     , TP.PLAN_SQ AS PLAN_SQ
-		     , TB.BRAND_ENM AS BRAND_ENM
-		     , TB.BRAND_CD AS BRAND_CD
-		     , TB.BRAND_KNM AS BRAND_KNM
+				     , TP.PLAN_SQ AS PLAN_SQ
+				     , TB.BRAND_GROUP_ENM AS BRAND_GROUP_ENM
+				     , TB.BRAND_GROUP_NO AS BRAND_GROUP_NO
+				     , TB.BRAND_GROUP_KNM AS BRAND_GROUP_KNM
 		FROM TB_PLAN TP  LEFT OUTER JOIN TB_PLAN_BRAND TPB 
 							   ON TP.PLAN_SQ = TPB.PLAN_SQ 
-		            	 LEFT OUTER JOIN  TB_BRAND TB 
-		   					   ON TPB.BRAND_CD = TB.BRAND_CD 
+		            	 LEFT OUTER JOIN  TB_BRAND_GROUP TB
+		   					   ON TPB.BRAND_GROUP_NO = TB.BRAND_GROUP_NO 
 		WHERE 1=1
 		 	AND TP.PLAN_SQ = TPB.PLAN_SQ 
 		 	AND TP.PLAN_SQ = #{planSq}
@@ -507,14 +478,14 @@
 			INSERT INTO
 					 TB_PLAN_BRAND 
 					 (
-			           BRAND_CD
+			           BRAND_GROUP_NO
 					  ,PLAN_SQ 
 					  ,DISP_YN 
 					  ,REG_NO  
 					  ,REG_DT  
 					  ,UPD_NO  
 					  ,UPD_DT  
-     			      ) SELECT 	BRAND_CD
+     			      ) SELECT 	BRAND_GROUP_NO
 						  , ${planSq} 
 						  , DISP_YN 
 						  , REG_NO  
@@ -524,7 +495,7 @@
 	        	   FROM   TB_PLAN_BRAND
 	        	   WHERE 1=1
 					 AND PLAN_SQ = #{copyPlanSq}
-	        	     AND BRAND_CD = #{brandCd}
+	        	     AND BRAND_GROUP_NO = #{brandGroupNo}
 	</insert>
 	
 	<insert id="createPlanCate" parameterType="Plan">
@@ -894,6 +865,60 @@
 		       )
 	</insert>
 	
+	<insert id="createPlanCustGb" parameterType="Plan">
+		/* TsaMarketing.createPlanCustGb */
+		INSERT INTO TB_PLAN_CUST_DIVISION
+						(
+							PLAN_SQ
+						  , CUST_GB
+						  , REG_NO
+						  , REG_DT
+						)
+				VALUES(
+						   #{planSq}
+						,  #{custGb}
+					    ,  #{regNo}
+					   , CURRENT_TIMESTAMP
+					  )
+	</insert>
+	
+	<insert id="createPlanCustGrade" parameterType="Plan">
+		/* TsaMarketing.createPlanCustGrade */
+		INSERT INTO TB_PLAN_CUST_GRADE
+				(
+					PLAN_SQ
+				  , CUST_GRADE
+				  , REG_NO
+				  , REG_DT
+				)
+			VALUES(
+					#{planSq}
+				  , #{custGrade}
+				  , #{regNo}
+				  , CURRENT_TIMESTAMP
+				 )
+	</insert>
+	
+	<select id="getPlanCustGbList" parameterType="Plan" resultType="Plan">
+		/* TsaMarketing.createPlanCustGrade */
+		SELECT CUST_GB 
+			  ,PLAN_SQ 
+			  ,REG_DT 
+			  ,REG_NO 
+		FROM TB_PLAN_CUST_DIVISION
+		WHERE PLAN_SQ = #{planSq}
+	</select>
+	
+	<select id="getPlanCustGradeList" parameterType="Plan" resultType="Plan">
+		/* TsaMarketing.getPlanCustGradeList */
+		SELECT CUST_GRADE 
+		      ,PLAN_SQ 
+		      ,REG_DT 
+		      ,REG_NO 
+		FROM TB_PLAN_CUST_GRADE
+		WHERE PLAN_SQ = #{planSq}
+	</select>
+	
 	
 	
 </mapper>

+ 296 - 130
src/main/webapp/WEB-INF/views/marketing/PlanDetailPopupForm.html

@@ -14,7 +14,7 @@
  * 1.0  2020.02.04   sowon   최초 작성
  *******************************************************************************
  -->
-<div class="modalPopup" data-width="1100" id="planRegisterFormDiv">
+<div class="modalPopup" data-width="1135" id="planRegisterFormDiv">
 	<div class="panelStyle">
 		<div class="panelTitle">
 			<h2 th:text="${'기획전 ' + (mode == 'N' ? '등록' : '수정')}"></h2>
@@ -37,23 +37,23 @@
 						<col/>
 					</colgroup>
 					<tr>
-						<th>기획전구분<i class="star"></i></th>
+						<th>사이트</th>
+						<td>
+							<select name="siteCd" th:field="*{siteCd}">
+								<option value="">선택</option>
+								<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
+							</select>
+						</td>
+						<th>기획전구분<em class="required" title="필수"></em></th>
 						<td>
 							<select name="planGb" id="planGb" th:field="*{planGb}" onchange="fnChangePlanGb(this);">
 								<option value="P">기획전</option>
 								<option value="E">이벤트</option>
 							</select>
 						</td>
-						<th>기획전탬플릿유형<i class="star"></i></th>
-						<td colspan="3">
-							<select name="templateType" th:field="*{templateType}">
-								<option value="H">HTML</option>
-								<option value="T">TEXT</option>
-							</select>
-						</td>
 					</tr>
 					<tr>
-						<th>프론트 구분<i class="star"></i></th>
+						<th>프론트 구분<em class="required" title="필수"></em></th>
 						<td>
 							<select name="frontGb" id="frontGb" th:field="*{frontGb}">
 								<option value="A">전체</option>
@@ -61,14 +61,24 @@
 								<option value="M">모바일</option>
 							</select>
 						</td>
-						<th>기획전명<i class="star"></i></th>
-						<td colspan="3">
-							<input type="text" name="planNm" id="planNm" th:field="*{planNm}"/>
+						<th>전시순서</th>
+						<td>
+							<input type="text" name="dispOrd" class="w100 aR" th:value="*{dispOrd}"/>
 						</td>
 					</tr>
 					<tr>
-						<th>진행기간<i class="star"></i></th>
+						<th>기획전명<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" name="planNm" id="planNm" th:field="*{planNm}"/>
+						</td>
+						<th>서브제목<em class="required" title="필수"></em></th>
 						<td>
+							<input type="text" name="dtlTitle1" id="dtlTitle1" th:value="*{dtlTitle1}"/>
+						</td>
+					</tr>
+					<tr>
+						<th>진행기간<em class="required" title="필수"></em></th>
+						<td colspan="3">
 							<input type="text" class="schDate w100" name="startSearchDate" maxlength="10" required="required" data-valid-name="노출기간" th:field="*{startSearchDate}"/>
 							<select name="startSearchHour" required="required" data-valid-name="진행기간 시작시간">
 								<th:block th:each="num, index  : ${#numbers.sequence(0,23)}">
@@ -95,19 +105,16 @@
 							<input type="hidden" name="dispStdt" id="dispStdt"/>
 							<input type="hidden" name="dispEddt" id="dispEddt"/>
 						</td>
-						<th>서브제목</th>
-						<td colspan="3">
-							<input type="text" name="dtlTitle1" id="dtlTitle1" th:value="*{dtlTitle1}"/>
-						</td>
+						
 					</tr>
 					<tr>
-						<th>코너명노출 여부<i class="star"></i></th>
+						<th>코너명노출 여부<em class="required" title="필수"></em></th>
 						<td>
 							<select name="cornerNmDispYn" th:field="*{cornerNmDispYn}">
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
 							</select>
 						</td>
-						<th>오픈여부<i class="star"></i></th>
+						<th>오픈여부<em class="required" title="필수"></em></th>
 						<td>
 							<select name="openYn" th:field="*{openYn}">
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
@@ -115,17 +122,6 @@
 						</td>
 					</tr>
 					<tr>
-						<th>사이트<i class="star"></i></th>
-						<td>
-							<select name="siteCd" th:field="*{siteCd}">
-								<option value="">선택</option>
-								<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
-							</select>
-						</td>
-						<th>전시순서</th>
-						<td>
-							<input type="text" name="dispOrd" class="w100 aR" th:value="*{dispOrd}"/>
-						</td>
 					</tr>
 					<tr>
 						<th>사용고객등급구분<em class="required" title="필수"></em></th>
@@ -143,18 +139,12 @@
 					</tr>
 					<tr>
 						<th>제휴채널<em class="required" title="필수"></em></th>
-						<td>
+						<td colspan="3">
 							<label class="chkBox" th:if="${upperAfLinkCdList}" th:each="oneData, status : ${upperAfLinkCdList}">
 								<input type="checkbox" name="upperAfLinkCdArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
 							</label>
   						</td>
-						<th>댓글여부</th>
-						<td>
-							<select name="replyYn" th:field="*{replyYn}">
-								<option value="">선택</option>
-								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
-							</select>
-						</td>
+						
 					</tr>
 					<tr>
 						<th>PC 메인 이미지<i id="pMimgStar"></i><br/>[삭제여부<label class="chkBox"><input type="checkbox" name="orgMainPimgDelYn" value="Y"/></label>]</th>
@@ -188,6 +178,56 @@
 							</div>
 						</td>
 					</tr>
+					<tr>
+						<th>댓글여부</th>
+						<td colspan="3">
+							<select name="replyYn" th:field="*{replyYn}">
+								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
+							</select>
+						</td>
+					</tr>
+					<tr style="display:none" id="append1">
+						<th>댓글제목<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" name="replyTitle1" id="replyTitle1" maxlength="50" required="required" data-valid-name="댓글제목" th:field="*{replyTitle1}"/>
+						</td>
+						
+						<th>댓글서브제목<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" name="replyTitle2" id="replyTitle2" maxlength="50" required="required" data-valid-name="댓글서브제목" th:field="*{replyTitle2}"/>
+						</td>
+					
+					</tr>
+					<tr style="display:none" id="append2">
+						<th>댓글위치<em class="required" title="필수"></em></th>
+						<td>
+							<label class="rdoBtn"><input type="radio" name="replyLoc" value="U" />상품리스트 상단</label>
+							<label class="rdoBtn"><input type="radio" name="replyLoc" value="D"/>상품리스트 하단</label>
+						</td>
+						
+						<th>투표일련번호<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" class="w100 aR" name="pollSq" th:field="*{pollSq}"/>
+						</td>
+					
+					</tr>
+					<tr style="display:none" id="append3">
+						<th>댓글이미지<em class="required" title="필수"></em><br/>[삭제여부<label class="chkBox"><input type="checkbox" name="orgReplyImgDelYn" value="Y"/></label>]</th>
+						<td>
+							<div th:if=*{replyImg} id="replyImgView" style="float:left;">
+								<img id="replyImgUrl" th:src="${@environment.getProperty('upload.image.view') + '/planning/'} + *{replyImg}" style="max-width:720px;"/>
+							</div>
+						</td>
+						<td colspan="5">
+							<div class="uFile w400">
+								<input id="registerReplyImg" name="registerReplyImg" type="file" accept="image/*" class="uFileInput w400"/>
+								<label for="registerReplyImg" class="uFileLabel w400">파일선택</label>
+								<input type="hidden" name="orgReplyImg" id="orgReplyImg" th:value="*{replyImg}"/>
+								<input type="hidden" name="replyImg" id="replyImg" th:value="*{replyImg}"/>
+							</div>
+						</td>
+					
+					</tr>
 				</tbody>
 				<tbody>
 					<!-- <tr>
@@ -207,10 +247,11 @@
 						</td>
 					</tr> -->
 				</table>
+				
 				<div class="panelStyle" style="margin: unset;">
 						<!-- TITLE -->
 						<div class="panelTitle">
-							<h2>카테고리 / 브랜드 등록</h2>
+							<h2>기획전 컨텐츠 등록</h2>
 							<span class="panelControl"> <i
 								class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
 							</span>
@@ -224,7 +265,7 @@
 										<col width="90%" />
 									</colgroup>
 									<tr>
-										<th>카테고리/브랜드</th>
+										<th> &nbsp;기획전 &nbsp; 컨텐츠&nbsp;</th>
 										<td>
 											<!-- 수정시 프로모션명 입력 : before -->
 											<div class="padding10"
@@ -234,31 +275,8 @@
 													<span class="buttonSpan">
 														<button type="button"
 															class="btn btnRight btn-success btn-lg"
-															id="btnAddCate">카테고리 추가</button>
-														<button type="button"
-															class="btn btnRight btn-success btn-lg"
-															id="btnDeleteCate">선택삭제</button>
+															onclick="fnPlanTemplatePopup();">기획전 템플릿</button>
 													</span> <br />
-													<div id="gridFGCateList"
-														style="width: 100%; height: 200px;"
-														class="ag-theme-balham"></div>
-												</div>
-											</div>
-											<div class="padding10"
-												style="display: inline-block; width: 49%;">
-												<!--<span>브랜드 설정</span>-->
-												<div class="padding10 inner-tb-solid">
-													<span class="buttonSpan">
-														<button type="button"
-															class="btn btnRight btn-success btn-lg" id="btnAddBrand">브랜드
-															추가</button>
-														<button type="button"
-															class="btn btnRight btn-success btn-lg"
-															id="btnDeleteBrand">선택삭제</button>
-													</span> <br />
-													<div id="gridFGBrandList"
-														style="width: 100%; height: 200px;"
-														class="ag-theme-balham"></div>
 												</div>
 											</div>
 										</td>
@@ -267,6 +285,64 @@
 							</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> <!-- 열림/닫힘 화살표 -->
+							</span>
+						</div>
+						<!-- //TITLE -->
+						<div class="panelContent">
+							<table class="frmStyle">
+								<colgroup>
+									<col width="10%" />
+									<col width="90%" />
+								</colgroup>
+								<tr>
+									<th>카테고리/브랜드</th>
+									<td>
+										<!-- 수정시 프로모션명 입력 : before -->
+										<div class="padding10"
+											style="display: inline-block; width: 49%;">
+											<!--<span>공급업체 설정</span>-->
+											<div class="padding10 inner-tb-solid">
+												<span class="buttonSpan">
+													<button type="button"
+														class="btn btnRight btn-success btn-lg"
+														id="btnAddCate">카테고리 추가</button>
+													<button type="button"
+														class="btn btnRight btn-success btn-lg"
+														id="btnDeleteCate">선택삭제</button>
+												</span> <br />
+												<div id="gridFGCateList"
+													style="width: 100%; height: 200px;"
+													class="ag-theme-balham"></div>
+											</div>
+										</div>
+										<div class="padding10"
+											style="display: inline-block; width: 49%;">
+											<!--<span>브랜드 설정</span>-->
+											<div class="padding10 inner-tb-solid">
+												<span class="buttonSpan">
+													<button type="button"
+														class="btn btnRight btn-success btn-lg" id="btnAddBrand">브랜드
+														추가</button>
+													<button type="button"
+														class="btn btnRight btn-success btn-lg"
+														id="btnDeleteBrand">선택삭제</button>
+												</span> <br />
+												<div id="gridFGBrandList"
+													style="width: 100%; height: 200px;"
+													class="ag-theme-balham"></div>
+											</div>
+										</div>
+									</td>
+								</tr>
+							</table>
+						</div>
+					</div>
 			</div>
 			<div style='margin: 13px;'>
 			<ul class="panelBar">
@@ -286,7 +362,7 @@
 			<div>
 				<table class="frmStyle">
 					<colgroup>
-						<col style="width:13%;"/>
+						<col style="width:12.5%;"/>
 						<col/>
 					</colgroup>
 					<tr>
@@ -314,24 +390,22 @@
 						<col/>
 					</colgroup>
 					<tr>
-						<th>기획전구분<i class="star"></i></th>
+						<th>사이트<i class="star"></i></th>
+						<td>
+							<select name="siteCd" required="required" data-valid-name="사이트">
+								<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
+							</select>
+						</td>
+						<th>기획전구분<em class="required" title="필수"></em></th>
 						<td>
 							<select name="planGb" required="required" data-valid-name="기획전구분" onchange="fnChangePlanGb(this);">
 								<option value="P">기획전</option>
 								<option value="E">이벤트</option>
 							</select>
 						</td>
-						<th>기획전탬플릿유형<i class="star"></i></th>
-						<td colspan="3">
-							<button type="button" class="btn btn-default btn-lg" onclick="fnPlanTemplatePopup();">템플릿</button>
-							<!-- <select name="templateType" required="required" data-valid-name="기획전탬플릿유형">
-								<option value="H">HTML</option>
-								<option value="T">TEXT</option>
-							</select> -->
-						</td>
 					</tr>
 					<tr>
-						<th>프론트 구분<i class="star"></i></th>
+						<th>프론트 구분<em class="required" title="필수"></em></th>
 						<td>
 							<select name="frontGb" id="frontGb" required="required" data-valid-name="프론트 구분">
 								<option value="A">전체</option>
@@ -339,14 +413,24 @@
 								<option value="M">모바일</option>
 							</select>
 						</td>
-						<th>기획전명<i class="star"></i></th>
-						<td colspan="3">
-							<input type="text" name="planNm" id="planNm" maxlength="50" required="required" data-valid-name="기획전명"/>
+						<th>전시순서</th>
+						<td>
+							<input type="text" class="w100 aR" name="dispOrd"/>
 						</td>
 					</tr>
 					<tr>
-						<th>진행기간<i class="star"></i></th>
+						<th>기획전명<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" name="planNm" id="planNm" maxlength="50" required="required" data-valid-name="기획전명"/>
+						</td>
+						<th>서브제목<em class="required" title="필수"></em></th>
 						<td>
+							<input type="text" name="dtlTitle1" id="dtlTitle1"/>
+						</td>
+					</tr>
+					<tr>
+						<th>진행기간<em class="required" title="필수"></em></th>
+						<td colspan="3">
 							<input type="text" class="schDate w100" id="viewStartDtNew" name="startSearchDate" maxlength="10" required="required" data-valid-name="노출기간" />
 							<select name="startSearchHour" required="required" data-valid-name="진행기간 시작시간">
 								<th:block th:each="num, index  : ${#numbers.sequence(0,23)}">
@@ -373,19 +457,16 @@
 							<input type="hidden" name="dispStdt" id="dispStdt"/>
 							<input type="hidden" name="dispEddt" id="dispEddt"/>
 						</td>
-						<th>서브제목</th>
-						<td colspan="3">
-							<input type="text" name="dtlTitle1" id="dtlTitle1"/>
-						</td>
+						
 					</tr>
 					<tr>
-						<th>코너명노출 여부<i class="star"></i></th>
+						<th>코너명노출 여부<em class="required" title="필수"></em></th>
 						<td>
 							<select name="cornerNmDispYn" required="required" data-valid-name="코너명노출 여부">
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
 							</select>
 						</td>
-						<th>오픈여부<i class="star"></i></th>
+						<th>오픈여부<em class="required" title="필수"></em></th>
 						<td colspan="3">
 							<select name="openYn" required="required" data-valid-name="오픈여부">
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
@@ -393,16 +474,7 @@
 						</td>
 					</tr>
 					<tr>
-						<th>사이트<i class="star"></i></th>
-						<td>
-							<select name="siteCd" required="required" data-valid-name="사이트">
-								<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
-							</select>
-						</td>
-						<th>전시순서</th>
-						<td colspan="3">
-							<input type="text" class="w100 aR" name="dispOrd"/>
-						</td>
+						
 					</tr>
 					<tr>
 						<th>사용고객등급구분<em class="required" title="필수"></em></th>
@@ -420,17 +492,11 @@
 					</tr>
 					<tr>
 						<th>제휴채널<em class="required" title="필수"></em></th>
-						<td>
+						<td colspan="3">
 							<label class="chkBox" th:if="${upperAfLinkCdList}" th:each="oneData, status : ${upperAfLinkCdList}">
 								<input type="checkbox" name="upperAfLinkCdArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
 							</label>
   						</td>
-						<th>댓글여부</th>
-						<td colspan="5">
-							<select name="replyYn">
-								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'N'" th:text="|${oneData.cdNm}|"></option>
-							</select>
-						</td>
 					</tr>
 					<tr>
 						<th>PC 메인 이미지<i id="pMimgStar"></i></th>
@@ -452,26 +518,52 @@
 							</div>
 						</td>
 					</tr>
-				</tbody>
-				<tbody>
-					<!-- <tr>
-						<th>웹용소스</th>
+					<tr>
+						<th>댓글여부<em class="required" title="필수"></em></th>
 						<td colspan="5">
-							<div style="margin-top:5px;">
-								<textarea name="fsrcPc" id="fsrcPcRegister" rows="15" cols="95" style="width:1280px;"></textarea>
-								<textarea class="textareaR4" id="fsrcPcDetail" name="fsrcPc"></textarea>
-							</div>
+							<select name="replyYn">
+								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'N'" th:text="|${oneData.cdNm}|"></option>
+							</select>
 						</td>
 					</tr>
-					<tr>
-						<th>모바일용소스</th>
+					<tr style="display:none" id="append1">
+						<th>댓글제목<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" name="replyTitle1" id="replyTitle1" maxlength="50" required="required" data-valid-name="댓글제목"/>
+						</td>
+						
+						<th>댓글서브제목<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" name="replyTitle2" id="replyTitle3" maxlength="50" required="required" data-valid-name="댓글서브제목"/>
+						</td>
+					
+					</tr>
+					<tr style="display:none" id="append2">
+						<th>댓글위치<em class="required" title="필수"></em></th>
+						<td>
+							<label class="rdoBtn"><input type="radio" name="replyLoc" value="U"/>상품리스트 상단</label>
+							<label class="rdoBtn"><input type="radio" name="replyLoc" value="D"/>상품리스트 하단</label>
+						</td>
+						
+						<th>투표일련번호<em class="required" title="필수"></em></th>
+						<td>
+							<input type="text" class="w100 aR" name="pollSq"/>
+						</td>
+					
+					</tr>
+					<tr style="display:none" id="append3">
+						<th>댓글이미지<em class="required" title="필수"></em></th>
 						<td colspan="5">
-							<div style="margin-top:5px;">
-								<textarea name="fsrcMobile" id="fsrcMobileRegister" rows="15" cols="95" style="width:1280px;"></textarea>
-								<textarea class="textareaR4" id="fsrcMobileDetail" name="fsrcMobile"></textarea>
+							<div class="uFile w400">
+								<input id="registerReplyImg" name="registerReplyImg" type="file" accept="image/*" class="uFileInput w400"/>
+								<label for="registerReplyImg" class="uFileLabel w400">파일선택</label>
+								<input type="hidden" name="replyImg" id="replyImg" value=""/>
 							</div>
 						</td>
-					</tr> -->
+					
+					</tr>
+				</tbody>
+				<tbody>
 				</table>
 					<div class="panelStyle" style="margin: unset;">
 						<!-- TITLE -->
@@ -556,6 +648,8 @@
 	var fsrcMobile = [[${fsrcMobile}]];
 	var planBrandList = [[${planBrandList}]];
 	var planCateList = [[${planCateList}]];
+	var custGbList = [[${gbList}]];
+	var custGradeList =	[[${gradeList}]]; 
 	var snOptions;
 
 	// 카테고리 전시 여부
@@ -598,6 +692,60 @@
 		$("#searchTxt").val("[" + result[0].planSq + "] " +result[0].planNm);
 		
 	}
+	
+	// 댓글여부에 입력창 추가
+	$('select[name=replyYn]').on('change', function() {
+		if($('select[name=replyYn]').val() == 'Y'){
+			$("#append1").removeAttr('style');
+			$("#append2").removeAttr('style');
+			$("#append3").removeAttr('style');
+		}else{
+			$("#append1").css('display','none');
+			$("#append2").css('display','none');
+			$("#append3").css('display','none');
+		}
+	})
+	
+	// 불러오기 댓글
+	if($('#planUpdateForm select[name=replyYn]').val()=='Y'){
+			$("#append1").removeAttr('style');
+			$("#append2").removeAttr('style');
+			$("#append3").removeAttr('style');
+			
+			if(custGbList.length > 0){
+				var chkboxCnt = $('#planUpdateForm input:checkbox[name=usableCustGbArr]').length;
+				var dataCnt = custGbList.length;
+				for(let i=0; i<chkboxCnt; i++){
+					for(let j=0; j<dataCnt; j++){
+						var data = custGbList[j].custGb;
+						if($('#planUpdateForm input:checkbox[name=usableCustGbArr]').eq(i).val() == data){
+							$('#planUpdateForm input:checkbox[name=usableCustGbArr]').eq(i).prop('checked', true);
+							$("#planUpdateForm input:checkbox[name=usableCustGbArr]").eq(i).parent().addClass('checked');
+						}
+					}
+				}
+			}
+			
+			if(custGradeList.length > 0){
+				var chkboxCnt = $('#planUpdateForm input:checkbox[name=usableCustGradeArr]').length;
+				var dataCnt = custGradeList.length;
+				for(let i=0; i<chkboxCnt; i++){
+					for(let j=0; j<dataCnt; j++){
+						var data = custGradeList[j].custGrade;
+						if($('#planUpdateForm input:checkbox[name=usableCustGradeArr]').eq(i).val() == data){
+							$('#planUpdateForm input:checkbox[name=usableCustGradeArr]').eq(i).prop('checked', true);
+							$("#planUpdateForm input:checkbox[name=usableCustGradeArr]").eq(i).parent().addClass('checked');
+						}
+					}
+				}
+			}
+	}else{
+		$("#append1").css('display','none');
+		$("#append2").css('display','none');
+		$("#append3").css('display','none');
+	}
+	
+	
 
 	// 기획전 복사
 	var fnPlanCopyPopup = function() {
@@ -659,15 +807,15 @@
 		$(formId + ' input[name=dispStdt]').val(stDate + ' ' + $(formId + ' select[name=startSearchHour]').val() + ':' + $(formId + ' select[name=startSearchMin]').val() + ':00');
 		$(formId + ' input[name=dispEddt]').val(edDate + ' ' + $(formId + ' select[name=endSearchHour]').val() + ':' + $(formId + ' select[name=endSearchMin]').val() + ':59');
 
-		/* // 댓글여부에 따른 위치 체크
-		if ($('#replyYn').val() == 'Y') {
+		
+	/* 	if ($('#replyYn').val() == 'Y') {
 			var replyLoc = $(':radio[name="replyLoc"]:checked').val();
 
 			if (typeof replyLoc == 'undefined') {
 				mcxDialog.alert('댓글 사용 시 댓글위치를 선택해야합니다.');
 				return;
 			}
-		} */
+		}  */
 
 		// poll 관리일련번호 유효성 체크
 		/* if (!gagajf.isNull($(formId + ' input[name=pollSq]').val())) {
@@ -708,7 +856,7 @@
 				$(formId + ' input[name=dtlMimg]').val($(formId + ' input[name=orgDtlMimg]').val());
 			}
 
-			if ((!$('input[name=orgReplyImgYn]').is(':checked') ? true : false) &&
+			if ((!$('input[name=orgReplyImgDelYn]').is(':checked') ? true : false) &&
 				(gagajf.isNull($(formId + ' input[name=replyImg]').val()) == true) ) {
 				$(formId + ' input[name=replyImg]').val($(formId + ' input[name=orgReplyImg]').val());
 			}
@@ -730,7 +878,7 @@
 		let allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
 		var multiBrand = [];
 		$.each(allBrandData, function(idx, item) {
-			multiBrand.push(item.brandCd);
+			multiBrand.push(item.brandGroupNo);
 		});
 		
 		let allCateData = gagaAgGrid.getAllRowData(gridOptionsFGCateList);
@@ -739,6 +887,18 @@
 			multiCate.push(item.cateNo);
 		});
 		
+		var usableCustGradeArr = [];
+		var chkCustGrade = $('#planRegisterForm input:checkbox[name=usableCustGradeArr]:checked');
+		for(let i=0; i< chkCustGrade.length; i++){
+			usableCustGradeArr.push(chkCustGrade.eq(i).val());
+		}
+		
+		var usableCustGbArr = [];
+		var chkCustGb = $('#planRegisterForm input:checkbox[name=usableCustGbArr]:checked');
+		for(let i=0; i< chkCustGb.length; i++){
+			usableCustGbArr.push(chkCustGb.eq(i).val());
+		}
+		
 		// 기획전 등록
 		if (formId == '#planRegisterForm') {
 			mcxDialog.confirm('등록 하시겠습니까?', {
@@ -751,10 +911,11 @@
 							,brandList : allBrandData
 							,multiCate : multiCate
 							,CateList : allCateData
+							,usableCustGradeArr : usableCustGradeArr
+							,usableCustGbArr : usableCustGbArr
 						    ,mode : $('#planRegisterForm input[name=mode]').val()
 						    ,planSq : $('#planRegisterForm input[name=planSq]').val()
 							,planGb	: $('#planRegisterForm select[name=planGb]').val()
-							,templateType :	$('#planRegisterForm select[name=templateType]').val()
 							,frontGb : $('#planRegisterForm select[name=frontGb]').val()
 							,planNm : $('#planRegisterForm input[name=planNm]').val()
 							,startSearchDate : $('#planRegisterForm input[name=startSearchDate]').val()
@@ -775,6 +936,12 @@
 							,mainMimg : $('#planRegisterForm input[name=mainMimg]').val()
 							,fsrcPc :  $('#planRegisterForm input[name=fsrcPc]').val()
 							,fsrcMobile : $('#planRegisterForm input[name=fsrcMobile]').val()
+							,replyImg : $('#planRegisterForm input[name=replyImg]').val()
+							,replyLoc : $('#planRegisterForm input:radio[name="replyLoc"]:checked').val()
+							,replyTitle1 : $('#planRegisterForm input[name=replyTitle1]').val()
+							,replyTitle2 : $('#planRegisterForm input[name=replyTitle2]').val()
+							,pollSq : $('#planRegisterForm input[name=pollSq]').val()
+							 
 						}	
 					
 					var jsonData =  JSON.stringify(data);
@@ -798,7 +965,6 @@
 						    ,mode : $('#planUpdateForm input[name=mode]').val()
 						    ,planSq : $('#planUpdateForm input[name=planSq]').val()
 							,planGb	: $('#planUpdateForm select[name=planGb]').val()
-							,templateType :	$('#planUpdateForm select[name=templateType]').val()
 							,frontGb : $('#planUpdateForm select[name=frontGb]').val()
 							,planNm : $('#planUpdateForm input[name=planNm]').val()
 							,startSearchDate : $('#planUpdateForm input[name=startSearchDate]').val()
@@ -912,9 +1078,9 @@
 	// 브랜드 리스트 설정
 	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: "brandGrpNm", width: 150, cellClass: 'text-center'},
+		{headerName: "브랜드그룹NO", field: "brandGroupNo", width: 110, cellClass: 'text-center'},
+		{headerName: "브랜드그룹명", field: "brandGroupKnm", width: 120, cellClass: 'text-center'},
+		{headerName: "브랜드영문명", field: "brandGroupEnm", width: 150, cellClass: 'text-center'},
 		{headerName: "", field: "brandKnm", 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},
@@ -928,7 +1094,7 @@
 	
 	// 브랜드 추가 버튼 클릭시 (복수 브랜드때 수정 필요)
 	$('#btnAddBrand').on('click', function() {
-		cfnOpenBrandListPopup("fnSetPopupBrandInfo", "M");
+		cfnOpenBrandGroupListPopup("fnSetPopupBrandInfo", "S", "C");
 	});
 	
 	 // 브랜드 설정 선택삭제 버튼 클릭시
@@ -943,12 +1109,12 @@
 
 			// 받아온 data for
 			for(let j = 0 ; j < gridListValue.length ; j++) {
-				if(gridListValue[j].brandCd == result[i].brandCd) {	addChk = false;	}					// 중복체크
+				if(gridListValue[j].brandGroupNo == result[i].brandGroupNo) {	addChk = false;	}					// 중복체크
 			}
 
 			// 중복되지 않은 데이터 리스트에 추가
 			if(addChk) {
-				gagaAgGrid.addRowData(gridOptionsFGBrandList, {"brandCd" : result[i].brandCd, "brandEnm" : result[i].brandEnm, "brandKnm" : result[i].brandKnm});
+				gagaAgGrid.addRowData(gridOptionsFGBrandList, {"brandGroupNo" : result[i].brandGroupNo, "brandGroupKnm" : result[i].brandGroupKnm, "brandGroupEnm" : result[i].brandGroupEnm});
 			}
 		}
 	};

+ 2 - 2
src/main/webapp/WEB-INF/views/marketing/PlanListForm.html

@@ -81,12 +81,12 @@
 								<option value="P">기획전</option>
 								<option value="E">이벤트</option>
 						</select></td>
-						<th>기획전템플릿유형</th>
+						<!-- <th>기획전템플릿유형</th>
 						<td colspan="1"><select name="templateType">
 								<option value="">전체</option>
 								<option value="H">HTML</option>
 								<option value="T">TEXT</option>
-						</select></td>
+						</select></td> -->
 					</tr>
 
 					<tr>

+ 715 - 75
src/main/webapp/WEB-INF/views/marketing/PlanTemplatePopupForm.html

@@ -199,74 +199,473 @@
 				</div>
 			</div>
 			
-			<div class="panelContent">
-				<div class="panelStyle" style="margin: unset;">
-					<!-- TITLE -->
-					<div class="panelTitle">
-						<h2>상품</h2>
-						<button type="button" class="btn btnRight btn-success btn-lg" id="">추가</button><br>
-						<span class="panelControl"> 
-							<i class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
-						</span>
-					</div>
-					<!-- //TITLE -->
-					<div class="inner-panelContent">
-						<div class="panelContent">
-						<strong>화면 구성:</strong>
-							<select>
-								<option>1</option>
-								<option>2</option>
-								<option>4</option>
-							</select><br>
-							<table class="frmStyle">
-								<colgroup>
-									<col width="10%" />
-									<col width="90%" />
-								</colgroup>
-								<tr>
-									<th>상품</th>
-									<td>
-										<div class="padding10">
-											<ul class="panelBar">
-											<li class="right">
-												<button type="button" class="btn btn-base btn-lg" id="">상품 조회</button>
-												<button type="button" class="btn btn-danger btn-lg" id="">행 삭제</button>
-											</li>
-											</ul><br />
-												<table class="frmStyle">
-													<colgroup>
-														<col width="10%" />
-														<col width="90%" />
-													</colgroup>
+					<!-- 팡업창 하단부분 시작 -->
+		
+		<div class="panelStyle" style="margin:unset;">
+				<!-- TITLE -->
+				<div class="panelTitle">
+					<h2>상품 등록</h2>
+					<span class="panelControl">
+						<i class="fa inner-fa-chevron-up"></i>    <!-- 열림/닫힘 화살표 -->
+					</span>
+				</div>
+				<!-- //상품 전시 설정 -->
+				<div class="inner-panelContent">
+					<div class="panelContent">
+					<ul class="panelBar">
+						<li class="left">
+							<p>최대 10개 까지 상품을 추가하실 수 있습니다.</p>
+						</li>
+						<li class="right">
+							<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddGrid" onclick="btnAddGrid();">구분추가하기</button>
+						</li>
+					</ul>
+						<!-- 구분 1 -->
+						<div class="inner-panelContent" id="btnAddGridNum" style="display:none;">
+							<input type="hidden" name="btnAddGridNumUseYn"  value ="Y">
+							<input type="hidden" name="mailtcSq">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 1<br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum();">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
 													<tr>
-														<th>상품이름</th>
-														<td colspan="5">
-															<div style="margin-top: 5px;">
-
-															</div>
+														<th>상품 노출 기준</th>		
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="4"/>4개</label>
 														</td>
-														<th>재고</th>
-														<td colspan="5">
-															<div style="margin-top: 5px;">
-
-															</div>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c1');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c1');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList1" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분 1 -->
+						
+						<!-- 구분2 -->
+						<div class="inner-panelContent" id="btnAddGridNum2" style="display:none;">
+							<input type="hidden" name="btnAddGridNum2UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 2<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum2();">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="4"/>4개</label>
 														</td>
 													</tr>
 												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c2');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c2');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList2" style="width:100%; height:200px;" class="ag-theme-balham"></div>
 											</div>
-									</td>
-									
-									<th>전시순서</th>
-									<td><input type="text" value="" placeholder="5" class="w100 aR"></td>
-								</tr>
-							</table>
+										</td>
+									</tr>
+								</table>
+							</div>
 						</div>
-					</div>
-				</div>
+						<!-- 구분2  -->
+						
+						<!-- 구분3 -->
+						<div class="inner-panelContent" id="btnAddGridNum3" style="display:none;">
+							<input type="hidden" name="btnAddGridNum3UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 3<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum3('gridOptions_c3');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c3');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c3');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList3" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분3 -->
+						
+						<!-- 구분4 -->
+						<div class="inner-panelContent" id="btnAddGridNum4" style="display:none;">
+							<input type="hidden" name="btnAddGridNum4UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 4<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum4('gridOptions_c4');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c4');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c4');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList4" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분4 -->
+						
+						<!-- 구분5 -->
+						<div class="inner-panelContent" id="btnAddGridNum5" style="display:none;">
+							<input type="hidden" name="btnAddGridNum5UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 5<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum5('gridOptions_c5');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c5');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c5');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList5" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분5 -->
+						
+						<!-- 구분6 -->
+						<div class="inner-panelContent" id="btnAddGridNum6" style="display:none;">
+							<input type="hidden" name="btnAddGridNum6UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 6<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum5('gridOptions_c6');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr6" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr6" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr6" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c6');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c6');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList6" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분6 -->
+						
+						<!-- 구분7 -->
+						<div class="inner-panelContent" id="btnAddGridNum7" style="display:none;">
+							<input type="hidden" name="btnAddGridNum7UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 7<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum5('gridOptions_c7');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr7" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr7" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr7" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c7');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c7');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList7" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분7 -->
+						
+						<!-- 구분8 -->
+						<div class="inner-panelContent" id="btnAddGridNum8" style="display:none;">
+							<input type="hidden" name="btnAddGridNum8UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 8<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum8('gridOptions_c8');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr8" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr8" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr8" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c8');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c8');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList8" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분8 -->
+						
+						<!-- 구분9 -->
+						<div class="inner-panelContent" id="btnAddGridNum9" style="display:none;">
+							<input type="hidden" name="btnAddGridNum9UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 9<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum8('gridOptions_c9');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr9" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr9" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr9" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c9');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c9');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList9" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분9 -->
+						
+						<!-- 구분10 -->
+						<div class="inner-panelContent" id="btnAddGridNum10" style="display:none;">
+							<input type="hidden" name="btnAddGridNum10UseYn" value="Y">
+							<div class="panelContent">
+								<table class="frmStyle">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<tr>
+										<th>상품 구분 10<br><br>
+											<button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum8('gridOptions_c10');">구분 삭제</button>
+										</th>
+										<td>
+											<div class="">
+												<table  class="frmStyle">
+													<tr>
+														<th>상품 노출 기준</th>
+														<td>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr10" value="1"/>1개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr10" value="2"/>2개</label>
+															<label class="rdoBtn"><input type="radio" name="goodsCpr10" value="4"/>4개</label>
+														</td>
+													</tr>
+												</table>
+												<ul class="panelBar">
+													<li class="left">
+														<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDeleteRow('gridOptions_c10');">상품삭제</button>
+													</li>
+													<li class="right">
+														<button type="button" class="btn btn-info btn-lg" onclick="fnOpenGoodsPopup('gridOptions_c10');">상품추가</button>
+													</li>													
+												</ul>
+												<!-- Agrid -->
+												<div id="gridSectionGbList10" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
+										</td>
+									</tr>
+								</table>
+							</div>
+						</div>
+						<!-- 구분10 -->
+						
+					</div> <!-- panelContent -->
+				</div> <!-- end of inner-panelContent -->
 			</div>
-			
-			
-		</form>
+				<!-- 버튼 배치 영역 -->
+				<ul class="panelBar">
+					<li class="right">
+						<button type="button" class="btn btn-danger btn-lg"
+							id="btndeleteTemplate">닫기</button>
+						<button type="button" class="btn btn-info btn-lg"
+							id="btnSaveTemplate">저장</button>
+					</li>
+
+				</ul>
+				<!-- //버튼 배치 영역 -->
+			</form>
 	</div>
 </div>
 </div>
@@ -291,13 +690,64 @@
 		{headerName: "", field: "", width: 150, cellClass: 'text-center'},
 	];
 	
-	// 상품 리스트 설정
-	//var columnGoodsList = [
-	//	{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-	//	{headerName: "상품ID", field: "", width: 110, cellClass: 'text-center'},
-	//	{headerName: "", field: "", width: 120, cellClass: 'text-center'},
-	//	{headerName: "", field: "", width: 150, cellClass: 'text-center'},
-	//];
+	//팝업창 삭제버튼
+	$('#btndeleteTemplate').on('click', function() {
+		mcxDialog.confirm("창을 닫으시겠습니까?<br>닫은 내용은 복원하실 수 없습니다.", {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function() {
+				uifnPopupClose('popupPlanTemplate');
+			}
+		});
+	});
+	
+	//상품 전시 그리드 그리기
+	var columnDefs = [
+		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
+		{headerName: "Product ID", field: "goodsCd" , width: 120, cellClass: 'text-center'},
+		{headerName: "브랜드명", field: "brandEnm" , width: 200, cellClass: 'text-center'},
+		{headerName: "상품명", field: "goodNms" , width: 200, cellClass: 'text-center'},
+		{headerName: "판매상태", field: "cdNm" , width: 100, cellClass: 'text-center'	},
+		{headerName: "정상가", field: "listPrice" , width: 120, cellClass: 'text-center'},
+		{headerName: "판매가", field: "listPrice" , width: 120, cellClass: 'text-center'},
+		{headerName: "순번", field: "dispOrd" , width: 120, cellClass: 'text-center'}
+	]
+	
+	// Add on options
+	var gridOptions_c1 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c2 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c3 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c4 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c5 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c6 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c7 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c8 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c9 = gagaAgGrid.getGridOptions(columnDefs);
+	var gridOptions_c10 = gagaAgGrid.getGridOptions(columnDefs);
+	
+	
+	// 표시순번 수정가능
+	gridOptions_c1.defaultColDef.editable = true;
+	gridOptions_c2.defaultColDef.editable = true;
+	gridOptions_c3.defaultColDef.editable = true;
+	gridOptions_c4.defaultColDef.editable = true;
+	gridOptions_c5.defaultColDef.editable = true;
+	gridOptions_c6.defaultColDef.editable = true;
+	gridOptions_c7.defaultColDef.editable = true;
+	gridOptions_c8.defaultColDef.editable = true;
+	gridOptions_c9.defaultColDef.editable = true;
+	gridOptions_c10.defaultColDef.editable = true;
+	gridOptions_c1.suppressRowClickSelection = true;
+	gridOptions_c2.suppressRowClickSelection = true;
+	gridOptions_c3.suppressRowClickSelection = true;
+	gridOptions_c4.suppressRowClickSelection = true;
+	gridOptions_c5.suppressRowClickSelection = true;
+	gridOptions_c6.suppressRowClickSelection = true;
+	gridOptions_c7.suppressRowClickSelection = true;
+	gridOptions_c8.suppressRowClickSelection = true;
+	gridOptions_c9.suppressRowClickSelection = true;
+	gridOptions_c10.suppressRowClickSelection = true;
+	
 	
 	
 	// 리뷰 그리드 설정
@@ -310,13 +760,6 @@
 	gridOptionsPlanCouponeList.rowSelection = "single";
 	gridOptionsPlanCouponeList.suppressRowClickSelection = true;
 	
-	// 상품 그리드 설정
-	//var gridOptionsPlanGoodsList = gagaAgGrid.getGridOptions(columnGoodsList);
-	//gridOptionsPlanGoodsList.rowSelection = "single";
-	//gridOptionsPlanGoodsList.suppressRowClickSelection = true;
-	
-	
-	
 	
 	// 첨부파일 삭제
 	var fnDeleteFile = function(obj, noticeSq, seq, sysFileNm) {
@@ -337,6 +780,182 @@
 		});
 	}
 	
+	// 상품 구분 추가 버튼 추가 버튼 표시는 1~5까지 순서대로 표시
+	$('#btnAddGrid').on('click', function(){
+		if($('#btnAddGridNum').css('display') == 'none'){
+			$('#btnAddGridNum').show();
+		}else if($('#btnAddGridNum2').css('display') == 'none' && $('#btnAddGridNum').css('display') != 'none'){
+			$('#btnAddGridNum2').show();
+		}else if($('#btnAddGridNum3').css('display') == 'none' && $('#btnAddGridNum2').css('display') != 'none'){
+			$('#btnAddGridNum3').show();
+		}else if($('#btnAddGridNum4').css('display') == 'none' && $('#btnAddGridNum3').css('display') != 'none'){
+			$('#btnAddGridNum4').show();
+		}else if($('#btnAddGridNum5').css('display') == 'none' && $('#btnAddGridNum4').css('display') != 'none'){
+			$('#btnAddGridNum5').show();
+		}else if($('#btnAddGridNum6').css('display') == 'none' && $('#btnAddGridNum5').css('display') != 'none'){
+			$('#btnAddGridNum6').show();
+		}else if($('#btnAddGridNum7').css('display') == 'none' && $('#btnAddGridNum6').css('display') != 'none'){
+			$('#btnAddGridNum7').show();
+		}else if($('#btnAddGridNum8').css('display') == 'none' && $('#btnAddGridNum7').css('display') != 'none'){
+			$('#btnAddGridNum8').show();
+		}else if($('#btnAddGridNum9').css('display') == 'none' && $('#btnAddGridNum8').css('display') != 'none'){
+			$('#btnAddGridNum9').show();
+		}else if($('#btnAddGridNum10').css('display') == 'none' && $('#btnAddGridNum9').css('display') != 'none'){
+			$('#btnAddGridNum10').show();
+		}else if($('#btnAddGridNum10').css('display') != 'none'){
+			mcxDialog.alertC("구분자는 최대 10개까지 등록가능합니다.", {
+				sureBtnText: "확인"
+			});
+			return false;
+		}
+	});
+	
+	// 버튼별 상품추가 팝업
+	var fnOpenGoodsPopup = function(param) {
+		switch (param){
+		case 'gridOptions_c1': 
+			AddgridRow = gridOptions_c1;
+			break;
+		case 'gridOptions_c2' : 
+			AddgridRow = gridOptions_c2;
+			break;
+		case 'gridOptions_c3' : 
+			AddgridRow = gridOptions_c3;
+			break;
+		case 'gridOptions_c4' : 
+			AddgridRow = gridOptions_c4;
+			break;
+		case 'gridOptions_c5' : 
+			AddgridRow = gridOptions_c5;
+			break;
+		case 'gridOptions_c6' : 
+			AddgridRow = gridOptions_c6;
+			break;
+		case 'gridOptions_c7' : 
+			AddgridRow = gridOptions_c7;
+			break;
+		case 'gridOptions_c8' : 
+			AddgridRow = gridOptions_c8;
+			break;
+		case 'gridOptions_c9' : 
+			AddgridRow = gridOptions_c9;
+			break;
+		case 'gridOptions_c10' : 
+			AddgridRow = gridOptions_c10;
+			break;
+		}
+		
+		cfnOpenGoodsPopup('fnFetchGoods');
+	}
+	
+	// 상품 삭제
+	var fnGoodsDeleteRow = function(param) {
+		switch (param){
+		case 'gridOptions_c1': 
+			AddgridRow = gridOptions_c1;
+			break;
+		case 'gridOptions_c2' : 
+			AddgridRow = gridOptions_c2;
+			break;
+		case 'gridOptions_c3' : 
+			AddgridRow = gridOptions_c3;
+			break;
+		case 'gridOptions_c4' : 
+			AddgridRow = gridOptions_c4;
+			break;
+		case 'gridOptions_c5' : 
+			AddgridRow = gridOptions_c5;
+			break;
+		case 'gridOptions_c6' : 
+			AddgridRow = gridOptions_c6;
+			break;
+		case 'gridOptions_c7' : 
+			AddgridRow = gridOptions_c7;
+			break;
+		case 'gridOptions_c8' : 
+			AddgridRow = gridOptions_c8;
+			break;
+		case 'gridOptions_c9' : 
+			AddgridRow = gridOptions_c9;
+			break;
+		case 'gridOptions_c10' : 
+			AddgridRow = gridOptions_c10;
+			break;
+		}
+		
+		var selectedData = gagaAgGrid.selectedRowData(AddgridRow);
+	
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return false;
+		}		
+		//화면에서 삭제
+		gagaAgGrid.removeRowData(AddgridRow, false);
+	}
+	
+	// 상품 구분 삭제 버튼  삭제는 해당 하는 폼이 삭제
+	function btnDeleteGridNum(param){
+		if($('#btnAddGridNum').css('display') !='none'){
+			$('#btnAddGridNum').hide();
+			$('#btnAddGridNum')[0].reset();
+		}
+	}		
+	function btnDeleteGridNum2(param){
+		if($('#btnAddGridNum2').css('display') !='none'){
+			$('#btnAddGridNum2').hide();
+			$('#searchForm2')[0].reset();
+		}			
+	}			
+	function btnDeleteGridNum3(param){
+		if ($('#btnAddGridNum3').css('display') !='none'){
+			$('#btnAddGridNum3').hide();
+			$('#searchForm3')[0].reset();
+		}			
+	}		
+	function btnDeleteGridNum4(param){
+		if ($('#btnAddGridNum4').css('display') !='none'){
+			$('#btnAddGridNum4').hide();
+			$('#searchForm3')[0].reset();
+		}			
+	}
+	function btnDeleteGridNum5(param){
+		if ($('#btnAddGridNum5').css('display') !='none'){
+			$('#btnAddGridNum5').hide();
+			$('#searchForm5')[0].reset();
+		}
+	} 
+	function btnDeleteGridNum6(param){
+		if ($('#btnAddGridNum6').css('display') !='none'){
+			$('#btnAddGridNum6').hide();
+			$('#searchForm6')[0].reset();
+		}
+	} 
+	function btnDeleteGridNum7(param){
+		if ($('#btnAddGridNum7').css('display') !='none'){
+			$('#btnAddGridNum7').hide();
+			$('#searchForm7')[0].reset();
+		}
+	} 
+	function btnDeleteGridNum8(param){
+		if ($('#btnAddGridNum8').css('display') !='none'){
+			$('#btnAddGridNum8').hide();
+			$('#searchForm8')[0].reset();
+		}
+	} 
+	function btnDeleteGridNum9(param){
+		if ($('#btnAddGridNum9').css('display') !='none'){
+			$('#btnAddGridNum9').hide();
+			$('#searchForm9')[0].reset();
+		}
+	} 
+	function btnDeleteGridNum10(param){
+		if ($('#btnAddGridNum10').css('display') !='none'){
+			$('#btnAddGridNum10').hide();
+			$('#searchForm10')[0].reset();
+		}
+	} 
+	
+	
 	
 	// 첨부파일 개수 선택시
 	$("#fileCnt").on("change", function() {
@@ -382,7 +1001,28 @@ $(document).ready(function() {
 		// 그리드 그리기
 		gagaAgGrid.createGrid("gridListPlanReview", gridOptionsPlanReviewList);
 		gagaAgGrid.createGrid("gridListPlanCoupon", gridOptionsPlanCouponeList);
-		//gagaAgGrid.createGrid("gridListPlanGoods", gridOptionsPlanGoodsList);
+		gagaAgGrid.createGrid("gridSectionGbList1", gridOptions_c1);
+		gagaAgGrid.createGrid("gridSectionGbList2", gridOptions_c2);
+		gagaAgGrid.createGrid("gridSectionGbList3", gridOptions_c3);
+		gagaAgGrid.createGrid("gridSectionGbList4", gridOptions_c4);
+		gagaAgGrid.createGrid("gridSectionGbList5", gridOptions_c5);
+		gagaAgGrid.createGrid("gridSectionGbList6", gridOptions_c6);
+		gagaAgGrid.createGrid("gridSectionGbList7", gridOptions_c7);
+		gagaAgGrid.createGrid("gridSectionGbList8", gridOptions_c8);
+		gagaAgGrid.createGrid("gridSectionGbList9", gridOptions_c9);
+		gagaAgGrid.createGrid("gridSectionGbList10", gridOptions_c10);
+		/* 
+		gridOptions_c1.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c2.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c3.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c4.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c5.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c6.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c7.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c8.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c9.api.setRowData(mktmailGoodsInfo);
+		gridOptions_c10.api.setRowData(mktmailGoodsInfo);
+		 */
 		
 		$("#fileCnt").trigger('change');