Просмотр исходного кода

이태영 - 20210119 중간커밋

xodud1202 5 лет назад
Родитель
Сommit
07ee3b6182

+ 8 - 0
src/main/java/com/style24/admin/biz/dao/TsaMarketingDao.java

@@ -162,6 +162,14 @@ public interface TsaMarketingDao {
 	 */
 	 */
 	void deleteFreegiftValInfo(FreeGoodsPromotion param);
 	void deleteFreegiftValInfo(FreeGoodsPromotion param);
 
 
+	/**
+	 * 사은품 프로모션 상태 수정
+	 * @param param
+	 * @author xodud1202
+	 * @since 2021. 01. 20
+	 */
+	void updateFreegoodsPromotionStat(FreeGoodsPromotion param);
+
 	/* // xodud1202 진행 */
 	/* // xodud1202 진행 */
 
 
 }
 }

+ 6 - 0
src/main/java/com/style24/admin/biz/service/TsaMarketingService.java

@@ -280,6 +280,12 @@ public class TsaMarketingService {
 		}
 		}
 	}
 	}
 
 
+	@Transactional("shopTxnManager")
+	public void updateFreegoodsPromotionStat(FreeGoodsPromotion param) {
+		param.setUpdNo(TsaSession.getInfo().getUserNo());
+		marketingDao.updateFreegoodsPromotionStat(param);
+	}
+
 	/* // xodud1202 진행 */
 	/* // xodud1202 진행 */
 
 
 }
 }

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

@@ -165,6 +165,26 @@ public class TsaMarketingController extends TsaBaseController {
 		return super.ok(message.getMessage("SUCC_0001"));
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 	}
 
 
+	/**
+	 * 사은품 프로모션 등록
+	 * @param param
+	 * @return ModelAndView
+	 * @author xodud1202
+	 * @since 2021. 01. 14
+	 */
+	@ResponseBody
+	@PostMapping("/freeGoodsPromotion/changeStat")
+	public GagaResponse freeGoodsPromotionChangeStat(@RequestBody FreeGoodsPromotion param) {
+		try {
+			marketingService.updateFreegoodsPromotionStat(param);
+		} catch(Exception e) {
+			e.printStackTrace();
+			return super.error(message.getMessage("FAIL_0001"));
+		}
+
+		return super.ok(message.getMessage("SUCC_0001"));
+	}
+
 
 
 	/* // xodud1202 진행 */
 	/* // xodud1202 진행 */
 
 

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

@@ -48,6 +48,7 @@ public class FreeGoodsPromotion extends TscBaseDomain {
 	// 사은품 프로모션 브랜드
 	// 사은품 프로모션 브랜드
 	private String brandCd;				// 브랜드코드
 	private String brandCd;				// 브랜드코드
 	private String brandKnm;			// 브랜드국문명
 	private String brandKnm;			// 브랜드국문명
+	private String brandEnm;			// 브랜드국문명
 
 
 	// 사은품 프로모션 적용 및 제외 상품
 	// 사은품 프로모션 적용 및 제외 상품
 	private String goodsGb;				// 상품 구분 (G800_10|기본상품, G800_20|적용상품, G800_30|제외상품, G800_40|ALL)
 	private String goodsGb;				// 상품 구분 (G800_10|기본상품, G800_20|적용상품, G800_30|제외상품, G800_40|ALL)

+ 13 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaMarketing.xml

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

+ 0 - 1
src/main/webapp/WEB-INF/views/marketing/FreeGoodsPromotionForm.html

@@ -126,7 +126,6 @@
 	// Row Click
 	// Row Click
 	gridOptions.onCellClicked = function(event) {
 	gridOptions.onCellClicked = function(event) {
 		var freegiftSq = event.data.freegiftSq;
 		var freegiftSq = event.data.freegiftSq;
-		alert(freegiftSq);
 		if (event.colDef.field == "freegiftNm"){
 		if (event.colDef.field == "freegiftNm"){
 			cfnOpenFreeGoodsPromotionSetPopup('U', freegiftSq);
 			cfnOpenFreeGoodsPromotionSetPopup('U', freegiftSq);
 		}
 		}

+ 322 - 235
src/main/webapp/WEB-INF/views/marketing/FreeGoodsPromotionRegiForm.html

@@ -15,262 +15,265 @@
  *******************************************************************************
  *******************************************************************************
  -->
  -->
 <div class="modalPopup frGoodsPro" data-width="1100">
 <div class="modalPopup frGoodsPro" data-width="1100">
-	<div class="panelStyle" style="max-height:700px;overflow-y:scroll;">
+	<div class="panelStyle">
 		<div class="panelTitle">
 		<div class="panelTitle">
 			<h2>사은품 프로모션 관리</h2>
 			<h2>사은품 프로모션 관리</h2>
 			<button type="button" class="close" onclick="fnFreeGoodsPromotionFormClose()"><i class="fa fa-times"></i></button>
 			<button type="button" class="close" onclick="fnFreeGoodsPromotionFormClose()"><i class="fa fa-times"></i></button>
 		</div>
 		</div>
-
-		<form id="freeGoodsPromotionForm" name="freeGoodsPromotionForm" th:method="post" >
-			<input type="hidden" name="gbn" th:value="${param.gbn}" />				<!-- 신규/수정 구분 -->
-			<input type="hidden" id="freegiftSq" name="freegiftSq" th:value="${param.freegiftSq}"/>	<!-- 사은품 프로모션 번호 -->
-			<input type="hidden" id="supplyCompCds" name="supplyCompCds"/>			<!-- 공급업체 리스트 -->
-			<input type="hidden" id="brandCds" name="brandCds"/>					<!-- 브랜드 리스트 -->
-
-			<div class="panelContent">
-				<table class="frmStyle">
-					<colgroup>
-						<col width="10%"/>
-						<col width="50%"/>
-						<col width="10%"/>
-						<col width="40%"/>
-					</colgroup>
-					<tr>
-						<th>프로모션명<em class="required" title="필수"></em></th>
-						<td>
-							<input class="w50p" type="text" id="freegiftNm" name="freegiftNm" minlength="2" maxlength="30" required="required" data-valid-name="프로모션명"/>
-						</td>
-						<th>프로모션ID</th>
-						<td>
-							<span name="freegiftSqText"></span>
-						</td>
-					</tr>
-					<tr>
-						<th>행사 기간<em class="required" title="필수"></em></th>
-						<td>
-							<input type="text" class="schDate w100" id="freegiftStdt" name="freegiftStdt" maxlength="10" required="required" data-valid-name="시작일자"/>
-							~
-							<input type="text" class="schDate w100" id="freegiftEddt" name="freegiftEddt" maxlength="10" required="required" data-valid-name="종료일자"/>
-						</td>
-						<!-- <td id="promotionTerms">수정시 행사기간 입력되도록 수정(JAVASCRIPT?) : before</td> -->
-						<th>상태</th>
-						<td>
-							<!-- 상태 입력 : before -->
-							<span name="freegiftStatText"></span>
-						</td>
-					</tr>
-					<tr>
-						<th>적용 몰 구분<em class="required" title="필수"></em></th>
-						<td colspan="3">
-							<label class="chkBox"><input type="checkbox" id="selfYn" name="selfYn" value="Y"/>자사몰</label>
-							<label class="chkBox" id="G011_20"><input type="checkbox" id="extmallYn" name="extmallYn" value="Y"/>제휴몰</label>
-							<button type="button" class="btn btnRight btn-success btn-lg" id="btnExtmallPopup">선택</button><span id="extmallCntArea"> 선택 : <span id="extmallCnt">00</span>개</span>
-							<div id="gridFGExtmallList" style="display:none;"></div>
-						</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>    <!-- 열림/닫힘 화살표 -->
-						</span>
+		<div class="marT10" style="height:650px;overflow-y:auto;padding:0 10px;">
+			<form id="freeGoodsPromotionForm" name="freeGoodsPromotionForm" th:method="post">
+				<input type="hidden" name="gbn" th:value="${param.gbn}" />				<!-- 신규/수정 구분 -->
+				<input type="hidden" id="freegiftSq" name="freegiftSq" th:value="${param.freegiftSq}"/>	<!-- 사은품 프로모션 번호 -->
+				<input type="hidden" id="supplyCompCds" name="supplyCompCds"/>			<!-- 공급업체 리스트 -->
+				<input type="hidden" id="brandCds" name="brandCds"/>					<!-- 브랜드 리스트 -->
+
+				<div class="panelContent">
+					<table class="frmStyle">
+						<colgroup>
+							<col width="10%"/>
+							<col width="50%"/>
+							<col width="10%"/>
+							<col width="40%"/>
+						</colgroup>
+						<tr>
+							<th>프로모션명<em class="required" title="필수"></em></th>
+							<td>
+								<input class="w50p disabledPoint" type="text" id="freegiftNm" name="freegiftNm" minlength="2" maxlength="30" required="required" data-valid-name="프로모션명"/>
+							</td>
+							<th>프로모션ID</th>
+							<td>
+								<span name="freegiftSqText"></span>
+							</td>
+						</tr>
+						<tr>
+							<th>행사 기간<em class="required" title="필수"></em></th>
+							<td>
+								<input type="text" class="schDate w100" id="freegiftStdt" name="freegiftStdt" maxlength="10" required="required" data-valid-name="시작일자"/>
+								~
+								<input type="text" class="schDate w100" id="freegiftEddt" name="freegiftEddt" maxlength="10" required="required" data-valid-name="종료일자"/>
+							</td>
+							<!-- <td id="promotionTerms">수정시 행사기간 입력되도록 수정(JAVASCRIPT?) : before</td> -->
+							<th>상태</th>
+							<td>
+								<!-- 상태 입력 : before -->
+								<span name="freegiftStatText"></span>
+							</td>
+						</tr>
+						<tr>
+							<th>적용 몰 구분<em class="required" title="필수"></em></th>
+							<td colspan="3">
+								<label class="chkBox disabledPoint"><input type="checkbox" id="selfYn" name="selfYn" value="Y" class="disabledPoint"/>자사몰</label>
+								<label class="chkBox disabledPoint" id="G011_20"><input type="checkbox" id="extmallYn" name="extmallYn" value="Y" class="disabledPoint"/>제휴몰</label>
+								<button type="button" class="btn btnRight btn-success btn-lg" id="btnExtmallPopup">선택</button><span id="extmallCntArea"> 선택 : <span id="extmallCnt">00</span>개</span>
+								<div id="gridFGExtmallList" style="display:none;"></div>
+							</td>
+						</tr>
+					</table>
 				</div>
 				</div>
-				<!-- //TITLE -->
-				<div class="inner-panelContent">
-					<div><i class="fa fa-info-circle"></i> 브랜드/공급업체/상품 중 1가지는 필수로 지정하셔야 합니다.</div>
-					<div><i class="fa fa-info-circle"></i> 브랜드와 공급업체는 지정 시, 해당 브랜드의 공급처와 같은 AND조건으로 적용됩니다.(예시:A브랜드 상품 중 B업체 상품만)</div>
-					<div><i class="fa fa-info-circle"></i> 공급업체와 브랜드를 적용하시더라도 적용상품은 별개로 등록된 상품을 기준으로 사은품 지급기준으로 적용하실 수 있습니다.</div>
-
-					<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">
-											<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddCompany">업체 추가</button>
-											<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteCompany">선택삭제</button>
-											<br/>
-											<div id="gridFGPromotionCompanyList" style="width:100%; height:200px;" class="ag-theme-balham"></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="inner-panelContent">
+						<div><i class="fa fa-info-circle"></i> 브랜드/공급업체/상품 중 1가지는 필수로 지정하셔야 합니다.</div>
+						<div><i class="fa fa-info-circle"></i> 브랜드와 공급업체는 지정 시, 해당 브랜드의 공급처와 같은 AND조건으로 적용됩니다.(예시:A브랜드 상품 중 B업체 상품만)</div>
+						<div><i class="fa fa-info-circle"></i> 공급업체와 브랜드를 적용하시더라도 적용상품은 별개로 등록된 상품을 기준으로 사은품 지급기준으로 적용하실 수 있습니다.</div>
+
+						<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">
+												<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddCompany">업체 추가</button>
+												<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteCompany">선택삭제</button>
+												<br/>
+												<div id="gridFGPromotionCompanyList" 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">
+												<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>
+												<br/>
+												<!-- 브랜드 선택 팝업(단수 선택 팝업... 복수를 새로 만들어야하는지 ? 아니면 변수처리해야하는지 ? -->
+												<div id="gridFGBrandList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											</div>
 										</div>
 										</div>
-									</div>
-									<div class="padding10" style="display:inline-block;width:49%;">
-										<span>브랜드 설정</span>
-										<div class="padding10 inner-tb-solid">
-											<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>
+									</td>
+								</tr>
+								<tr>
+									<th>적용상품</th>
+									<td>
+										<div class="padding10">
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddApplyGoods">상품 추가</button>
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteApplyGoods">선택삭제</button>
 											<br/>
 											<br/>
-											<!-- 브랜드 선택 팝업(단수 선택 팝업... 복수를 새로 만들어야하는지 ? 아니면 변수처리해야하는지 ? -->
-											<div id="gridFGBrandList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+											<div id="gridFGApplyGoodsList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
 										</div>
 										</div>
-									</div>
-								</td>
-							</tr>
-							<tr>
-								<th>적용상품</th>
-								<td>
-									<div class="padding10">
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddApplyGoods">상품 추가</button>
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteApplyGoods">선택삭제</button>
-										<br/>
-										<div id="gridFGApplyGoodsList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
-									</div>
-								</td>
-							</tr>
-						</table>
+									</td>
+								</tr>
+							</table>
+						</div>
 					</div>
 					</div>
 				</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="inner-panelContent">
-					<div class="panelContent">
-						<table class="frmStyle">
-							<colgroup>
-								<col width="10%"/>
-								<col width="90%"/>
-							</colgroup>
-							<tr>
-								<th>제외 대상</th>
-								<td>
-									<div class="padding10">
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddExceptGoods">상품 추가</button>
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteExtGoods">선택삭제</button>
-										<br/>
-										<div id="gridFGExceptGoodsList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
-									</div>
-								</td>
-							</tr>
-						</table>
+
+				<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="inner-panelContent">
+						<div class="panelContent">
+							<table class="frmStyle">
+								<colgroup>
+									<col width="10%"/>
+									<col width="90%"/>
+								</colgroup>
+								<tr>
+									<th>제외 대상</th>
+									<td>
+										<div class="padding10">
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddExceptGoods">상품 추가</button>
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteExtGoods">선택삭제</button>
+											<br/>
+											<div id="gridFGExceptGoodsList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+										</div>
+									</td>
+								</tr>
+							</table>
+						</div>
 					</div>
 					</div>
 				</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="inner-panelContent">
-					<div class="panelContent">
-						<table class="frmStyle">
-							<colgroup>
-								<col width="10%"/>
-								<col width="90%"/>
-							</colgroup>
-							<tr>
-								<th>지급 방법<em class="required" title="필수"></em></th>
-								<td>
-									<div>
-										<span><label class="rdoBtn"><input type="radio" name="allYn" value="Y" checked/>모두 지급 (설정한 사은품을 모두 지급합니다)</label></span>
-										<span><label class="rdoBtn"><input type="radio" name="allYn" value="N"/>선택 사은품 (목록 중 1개를 선택하게 합니다)</label></span>
-									</div>
-								</td>
-							</tr>
-							<tr>
-								<th>사은품 조건1<em class="required" title="필수"></em><br/>(최대 2개)</th>
-								<td>
-									<div>
-										<div><i class="fa fa-info-circle"></i> 사은품은 최대 <font color="red">5</font>개까지 설정하실 수 있습니다.</div>
-										<div><i class="fa fa-info-circle"></i> 구매 금액 조건을 추가하시면 구매 금액 충족 조건에 맞는 것으로 지급됩니다. 구매금액 조건은 최대 2개까지만등록 하실 수 있습니다.</div>
-										<div><i class="fa fa-info-circle"></i> 장바구니에 담았을 때의 가격 기준으로 적용됩니다.(주문상품쿠폰(다운로드쿠폰)/장바구니 쿠폰 할인 적용 전 판매가)</div>
-										<label for="saleAmt">구매금액</label><input type="text" class="w300" id="saleAmt" name="sectionVal" data-valid-type="numeric"/> <br/>
-										<span>사은품 목록</span>
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddFreeGoods1">+ 사은품 선택</button>
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteFreeGoods1">선택삭제</button>
-										<br/>
-										<div id="gridFreeGoods1List" style="width:100%; height:200px;" class="ag-theme-balham"></div>
-									</div>
-								</td>
-							</tr>
-							<tr>
-								<th>사은품 조건2<br/>(최대 2개)</th>
-								<td>
-									<div>
-										<label for="saleAmt2">구매금액</label><input type="text" class="w300" id="saleAmt2"  name="sectionVal2" data-valid-type="numeric"/> <br/>
-										<span>사은품 목록</span>
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddFreeGoods2">+ 사은품 선택</button>
-										<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteFreeGoods2">선택삭제</button>
-										<br/>
-										<div id="gridFreeGoods2List" style="width:100%; height:200px;" class="ag-theme-balham"></div>
-									</div>
-								</td>
-							</tr>
-						</table>
+
+				<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="inner-panelContent">
+						<div class="panelContent">
+							<table class="frmStyle">
+								<colgroup>
+									<col width="10%"/>
+									<col width="90%"/>
+								</colgroup>
+								<tr>
+									<th>지급 방법<em class="required" title="필수"></em></th>
+									<td>
+										<div>
+											<span><label class="rdoBtn"><input type="radio" name="allYn" value="Y" checked/>모두 지급 (설정한 사은품을 모두 지급합니다)</label></span>
+											<span><label class="rdoBtn"><input type="radio" name="allYn" value="N"/>선택 사은품 (목록 중 1개를 선택하게 합니다)</label></span>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th>사은품 조건1<em class="required" title="필수"></em><br/>(최대 2개)</th>
+									<td>
+										<div>
+											<div><i class="fa fa-info-circle"></i> 사은품은 최대 <font color="red">5</font>개까지 설정하실 수 있습니다.</div>
+											<div><i class="fa fa-info-circle"></i> 구매 금액 조건을 추가하시면 구매 금액 충족 조건에 맞는 것으로 지급됩니다. 구매금액 조건은 최대 2개까지만등록 하실 수 있습니다.</div>
+											<div><i class="fa fa-info-circle"></i> 장바구니에 담았을 때의 가격 기준으로 적용됩니다.(주문상품쿠폰(다운로드쿠폰)/장바구니 쿠폰 할인 적용 전 판매가)</div>
+											<label for="saleAmt">구매금액</label><input type="text" class="w300" id="saleAmt" name="sectionVal" data-valid-type="numeric"/> <br/>
+											<span>사은품 목록</span>
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddFreeGoods1">+ 사은품 선택</button>
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteFreeGoods1">선택삭제</button>
+											<br/>
+											<div id="gridFreeGoods1List" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th>사은품 조건2<br/>(최대 2개)</th>
+									<td>
+										<div>
+											<label for="saleAmt2">구매금액</label><input type="text" class="w300" id="saleAmt2"  name="sectionVal2" data-valid-type="numeric"/> <br/>
+											<span>사은품 목록</span>
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddFreeGoods2">+ 사은품 선택</button>
+											<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteFreeGoods2">선택삭제</button>
+											<br/>
+											<div id="gridFreeGoods2List" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+										</div>
+									</td>
+								</tr>
+							</table>
+						</div>
 					</div>
 					</div>
 				</div>
 				</div>
-			</div>
-			<div class="panelStyle" th:if="${#strings.toString(param.gbn) == 'U'}" style="margin:unset;">
-				<!-- //TITLE -->
-				<div class="inner-panelContent">
-					<div class="panelContent">
-						<table class="frmStyle">
-							<colgroup>
-								<col width="10%"/>
-								<col width="40%"/>
-								<col width="10%"/>
-								<col width="40%"/>
-							</colgroup>
-							<tr>
-								<th>등록자</th>
-								<td>
-									<span id="regInfo">등록자이름(연.월.일 시간:분:초)</span>
-								</td>
-								<th>최종수정자</th>
-								<td>
-									<span id="updInfo">수정자이름(연.월.일 시간:분:초)</span>
-								</td>
-							</tr>
-						</table>
+
+				<div class="panelStyle" th:if="${#strings.toString(param.gbn) == 'U'}" style="margin:unset;">
+					<!-- //TITLE -->
+					<div class="inner-panelContent">
+						<div class="panelContent">
+							<table class="frmStyle">
+								<colgroup>
+									<col width="10%"/>
+									<col width="40%"/>
+									<col width="10%"/>
+									<col width="40%"/>
+								</colgroup>
+								<tr>
+									<th>등록자</th>
+									<td>
+										<span id="regInfo">등록자이름(연.월.일 시간:분:초)</span>
+									</td>
+									<th>최종수정자</th>
+									<td>
+										<span id="updInfo">수정자이름(연.월.일 시간:분:초)</span>
+									</td>
+								</tr>
+							</table>
+						</div>
 					</div>
 					</div>
 				</div>
 				</div>
-			</div>
-		</form>
-
-		<ul class="panelBar">
-			<li  class="right">
-				<!-- <th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}"> -->
-				<button type="button" class="btn btnRight btn-success btn-lg" id="btnSearchList">목록</button>
-				<button type="button" class="btn btnRight btn-success btn-lg" id="btnFreegoodsPromotionSave">저장</button>
-				<button type="button" class="btn btnRight btn-success btn-lg" id="btnChangeStatIng">진행</button>
-				<button type="button" class="btn btnRight btn-success btn-lg" id="btnPromotionDelete">삭제</button>
-				<button type="button" class="btn btnRight btn-success btn-lg" id="btnPromotionStop">중지</button>
-				<!-- </th:block> -->
-			</li>
-		</ul>
+
+				<ul class="panelBar">
+					<li  class="right">
+						<!-- <th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}"> -->
+						<button type="button" class="btn btnRight btn-success btn-lg" id="btnSearchList">목록</button>
+						<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnFreegoodsPromotionSave">저장</button>
+						<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnChangeStatIng">진행</button>
+						<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnPromotionDelete">삭제</button>
+						<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnPromotionStop">중지</button>
+						<!-- </th:block> -->
+					</li>
+				</ul>
+			</form>
+		</div>
 	</div>
 	</div>
 </div>
 </div>
 
 
 <script th:inline="javascript">
 <script th:inline="javascript">
+	let confirmBtnText = ["확인", "취소"];
 	let formId = "freeGoodsPromotionForm";
 	let formId = "freeGoodsPromotionForm";
 	let FGAddGoodsStatList = gagajf.convertToArray([[${goodsStatList}]]);		// 상품 상태 리스트
 	let FGAddGoodsStatList = gagajf.convertToArray([[${goodsStatList}]]);		// 상품 상태 리스트
 	// 제휴몰 리스트 설정 (데이터 송부용 리스트 > 리스트 노출X)
 	// 제휴몰 리스트 설정 (데이터 송부용 리스트 > 리스트 노출X)
 	let columnFGExtmallList = [
 	let columnFGExtmallList = [
 		{headerName: "벤더ID", field: "vendorId", width: 120, cellClass: 'text-center'},
 		{headerName: "벤더ID", field: "vendorId", width: 120, cellClass: 'text-center'},
-		{headerName: "브랜드ID", field: "extmallId", width: 150, cellClass: 'text-center'},
-		{headerName: "브랜드명", field: "extmallNm", width: 150, cellClass: 'text-center'}
+		{headerName: "제휴몰ID", field: "extmallId", width: 150, cellClass: 'text-center'},
+		{headerName: "제휴몰명", field: "extmallNm", width: 150, cellClass: 'text-center'}
 	];
 	];
 	// 공급업체 리스트 설정
 	// 공급업체 리스트 설정
 	let columnFGCompanyList = [
 	let columnFGCompanyList = [
@@ -462,7 +465,7 @@
 	gridOptionsFreeGoods2List.rowSelection = "multiple";
 	gridOptionsFreeGoods2List.rowSelection = "multiple";
 
 
 	var fnFreeGoodsPromotionSearchCallback = function(result) {
 	var fnFreeGoodsPromotionSearchCallback = function(result) {
-		if (result != null) {
+		if (result.freegift != null) {
 			let freegift = result.freegift;
 			let freegift = result.freegift;
 			let freegiftStatNm = freegift.freegiftStatNm;
 			let freegiftStatNm = freegift.freegiftStatNm;
 			let today = new Date();
 			let today = new Date();
@@ -473,7 +476,7 @@
 			// 상태명 상태에 따라 변경
 			// 상태명 상태에 따라 변경
 			if(freegift.freegiftStat == "G232_12") {					// 중지상태일 경우 중지 일시 노출
 			if(freegift.freegiftStat == "G232_12") {					// 중지상태일 경우 중지 일시 노출
 				freegiftStatNm = freegiftStatNm + " (" + freegift.updDt + ")";
 				freegiftStatNm = freegiftStatNm + " (" + freegift.updDt + ")";
-			} else if (freegift.freegiftEddt > yyyy+"."+mm+"."+dd) {	// 종료된 프로모션일 경우 종료일 노출
+			} else if (freegift.freegiftStat == "G232_11" && freegift.freegiftEddt < yyyy+"."+mm+"."+dd) {	// 종료된 프로모션일 경우 종료일 노출
 				freegiftStatNm = "종료 (" + freegift.freegiftEddt + ")";
 				freegiftStatNm = "종료 (" + freegift.freegiftEddt + ")";
 			}
 			}
 
 
@@ -488,6 +491,7 @@
 			$("#freeGoodsPromotionForm #regInfo").text(freegift.regNm + "(" + freegift.regDt + ")");
 			$("#freeGoodsPromotionForm #regInfo").text(freegift.regNm + "(" + freegift.regDt + ")");
 			$("#freeGoodsPromotionForm #updInfo").text(freegift.updNm + "(" + freegift.updDt + ")");
 			$("#freeGoodsPromotionForm #updInfo").text(freegift.updNm + "(" + freegift.updDt + ")");
 			if(freegift.selfYn == "Y") {
 			if(freegift.selfYn == "Y") {
+				$("#freeGoodsPromotionForm input[name=selfYn]").addClass("checked");
 				$("#freeGoodsPromotionForm input[name=selfYn]").parent("label").addClass("checked");
 				$("#freeGoodsPromotionForm input[name=selfYn]").parent("label").addClass("checked");
 			}
 			}
 			if(freegift.extmallList != null && freegift.extmallList.length > 0) {
 			if(freegift.extmallList != null && freegift.extmallList.length > 0) {
@@ -500,6 +504,30 @@
 				$("#freeGoodsPromotionForm #extmallIds").val("");
 				$("#freeGoodsPromotionForm #extmallIds").val("");
 			}
 			}
 
 
+			// 목록 제외 버튼 숨김
+			$("#freeGoodsPromotionForm .fgButton").hide();
+			if(freegift.freegiftStat == "G232_10") {		// 대기 상태일 경우
+				$("#freeGoodsPromotionForm #btnFreegoodsPromotionSave").show();		// 저장
+				$("#freeGoodsPromotionForm #btnChangeStatIng").show();				// 진행
+				$("#freeGoodsPromotionForm #btnPromotionDelete").show();			// 삭제
+			} else {
+				// 대기 상태가 아니면 전체 비활성화해야함.
+				$("#freeGoodsPromotionForm .disabledPoint").prop("disabled", true);
+				$("#freeGoodsPromotionForm .disabledPoint").prop("disabled", true);
+				//$("#freeGoodsPromotionForm label.disabledPoint::before").css("background", "#dbdbdb !important");
+				$("#freeGoodsPromotionForm .hideButten").hide();
+
+				// 반품 > 교환 오면 , 환불금액이나 배송비 업체별로.
+
+				// 진행 상태일 경우
+				if(freegift.freegiftStat == "G232_11") {
+					$("#freeGoodsPromotionForm #btnFreegoodsPromotionSave").show();	// 저장
+					$("#freeGoodsPromotionForm #btnPromotionStop").show();			// 중지
+				}
+
+
+			}
+
 			gridOptionsFGExtmallList.api.setRowData(freegift.extmallList);
 			gridOptionsFGExtmallList.api.setRowData(freegift.extmallList);
 			gridOptionsFGCompanyList.api.setRowData(freegift.supplyCompList);
 			gridOptionsFGCompanyList.api.setRowData(freegift.supplyCompList);
 			gridOptionsFGBrandList.api.setRowData(freegift.brandList);
 			gridOptionsFGBrandList.api.setRowData(freegift.brandList);
@@ -533,6 +561,8 @@
 		if("C" == [[${param.gbn}]]) {
 		if("C" == [[${param.gbn}]]) {
 			$("#freeGoodsPromotionForm #btnExtmallPopup").hide();
 			$("#freeGoodsPromotionForm #btnExtmallPopup").hide();
 			$("#freeGoodsPromotionForm #extmallCntArea").hide();
 			$("#freeGoodsPromotionForm #extmallCntArea").hide();
+			$("#freeGoodsPromotionForm .fgButton").hide();
+			$("#freeGoodsPromotionForm #btnFreegoodsPromotionSave").show();
 		} else {
 		} else {
 			fnFreegiftSearch();
 			fnFreegiftSearch();
 		}
 		}
@@ -595,11 +625,11 @@
 
 
 	// 저장 후 콜백 함수
 	// 저장 후 콜백 함수
 	var fnFreeGoodsPromotionSaveFin = function(result) {
 	var fnFreeGoodsPromotionSaveFin = function(result) {
-
+		fnFreegiftSearch();
 	}
 	}
 
 
 	// 저장 버튼 클릭시
 	// 저장 버튼 클릭시
-	$('#btnFreegoodsPromotionSave').on('click', function() {
+	$('#freeGoodsPromotionForm #btnFreegoodsPromotionSave').on('click', function() {
 		// 각 ag-grid list 수량
 		// 각 ag-grid list 수량
 		let extmallCnt = gagaAgGrid.getAllRowData(gridOptionsFGExtmallList).length;
 		let extmallCnt = gagaAgGrid.getAllRowData(gridOptionsFGExtmallList).length;
 		let supplyCompCnt = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList).length;
 		let supplyCompCnt = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList).length;
@@ -713,6 +743,63 @@
 		gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/save', jsonData, fnFreeGoodsPromotionSaveFin);
 		gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/save', jsonData, fnFreeGoodsPromotionSaveFin);
 	});
 	});
 
 
+	// 목록 버튼 클릭
+	$("#freeGoodsPromotionForm #btnSearchList").on("click", function() {
+		uifnPopupClose('popupFreeGoodsPromotionRegi');
+	});
+
+	// 진행 버튼 클릭
+	$("#freeGoodsPromotionForm #btnChangeStatIng").on("click", function() {
+		mcxDialog.confirmC("프로모션을 진행하시겠습니까?<br/>진행 후에는 수정이 제한될 수 있습니다.", {
+			btn: confirmBtnText,
+			btnClick: function(index) {
+				if(index == 1) {
+					let data = { freegiftStat : "G232_11"				// 진행
+						, freegiftSq : $("#freeGoodsPromotionForm input[name=freegiftSq]").val()
+					}
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/changeStat', jsonData, fnFreeGoodsPromotionSaveFin);
+				}
+			}
+		});
+	});
+
+	// 삭제 버튼 클릭
+	$("#freeGoodsPromotionForm #btnPromotionDelete").on("click", function() {
+		mcxDialog.confirmC("프로모션을 삭제하시겠습니까?<br/>삭제한 프로모션은 복원하실 수 없습니다.", {
+			btn: confirmBtnText,
+			btnClick: function(index) {
+				if(index == 1) {
+					let data = {
+						freegiftStat: "G232_14"			// 삭제
+						, freegiftSq: $("#freeGoodsPromotionForm input[name=freegiftSq]").val()
+					}
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/changeStat', jsonData, function() {
+						uifnPopupClose('popupFreeGoodsPromotionRegi');
+					});
+				}
+			}
+		});
+	});
+
+	// 중지 버튼 클릭
+	$("#freeGoodsPromotionForm #btnPromotionStop").on("click", function() {
+		mcxDialog.confirmC("프로모션을 중지하시겠습니까?<br/>중지 후에는 진행으로 복원하실 수 없습니다.", {
+			btn: confirmBtnText,
+			btnClick: function(index) {
+				if(index == 1) {
+					let data = {
+						freegiftStat: "G232_12"			// 중지
+						, freegiftSq: $("#freeGoodsPromotionForm input[name=freegiftSq]").val()
+					}
+					var jsonData = JSON.stringify(data);
+					gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/changeStat', jsonData, fnFreeGoodsPromotionSaveFin);
+				}
+			}
+		});
+	});
+
 	// 공급업체 설정 / 업체 추가 콜백함수
 	// 공급업체 설정 / 업체 추가 콜백함수
 	var fnSetPopupComapnyInfo = function(result) {
 	var fnSetPopupComapnyInfo = function(result) {
 		fnSetListInfo(result, gridOptionsFGCompanyList, "supplyCompCd");
 		fnSetListInfo(result, gridOptionsFGCompanyList, "supplyCompCd");

+ 1 - 1
src/main/webapp/ux/css/admin.ui.css

@@ -815,7 +815,7 @@ table.mtz-monthpicker {border:1px solid #ddd; border-top:none;}
 
 
 /* 카테고리 Sort */
 /* 카테고리 Sort */
 .categoryOrder {margin-bottom:15px; background:#fcfcfc;}
 .categoryOrder {margin-bottom:15px; background:#fcfcfc;}
-.categoryOrder li {clear:both; padding-left:15px; line-height:40px; cursor:move; border-top:1px dashed red; }
+.categoryOrder li {clear:both; padding-left:15px; line-height:40px; cursor:move; border-top:1px dashed #ff0000; }
 .categoryOrder li button.on {background-image:url(/image/icon_cate_minus.png);}
 .categoryOrder li button.on {background-image:url(/image/icon_cate_minus.png);}
 /* .categoryOrder li:after {content:''; position:absolute; top:8px; left:-10px; width:21px; height:21px; background:url(/image/line_cate.png)} */
 /* .categoryOrder li:after {content:''; position:absolute; top:8px; left:-10px; width:21px; height:21px; background:url(/image/line_cate.png)} */
 .categoryOrder li:before{position:relative; content:''; width:1px; height:100%; background:#ddd;}
 .categoryOrder li:before{position:relative; content:''; width:1px; height:100%; background:#ddd;}

+ 2 - 0
src/main/webapp/ux/js/admin.popup.js

@@ -711,6 +711,8 @@ var cfnOpenBrandListPopup = function(callbackfn, multiGb, searchTxt) {
  * @desc   : 프로모션 등록 팝업
  * @desc   : 프로모션 등록 팝업
  * <pre>
  * <pre>
  *     cfnOpenFreeGoodsPromotionSetPopup('C');
  *     cfnOpenFreeGoodsPromotionSetPopup('C');
+ *     or
+ *     cfnOpenFreeGoodsPromotionSetPopup('U', 11);
  * </pre>
  * </pre>
  * @since  : 2020/12/21
  * @since  : 2020/12/21
  * @author : xodud1202
  * @author : xodud1202