Bläddra i källkod

상품상세 알림톡 개발중

eskim 5 år sedan
förälder
incheckning
e3465dbac0

+ 31 - 0
src/main/java/com/style24/front/biz/dao/TsfGoodsDao.java

@@ -15,6 +15,7 @@ import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.GoodsViewHst;
 import com.style24.persistence.domain.Notice;
+import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.VideoDisploc;
 
 /**
@@ -222,5 +223,35 @@ public interface TsfGoodsDao {
 	 * @date 2021. 3. 8
 	 */
 	Collection<Goods> getTmtbGoodsList(Goods goods);
+	
+	/**
+	 * 재입고 알림 미 알림 조회
+	 *
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	ReinboundInform getNotReinboundInform(ReinboundInform reinboundInform);
+	
+	/**
+	 * 재입고알림 생성
+	 *
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	void createReinboundInform(ReinboundInform reinboundInform);
+	
+	/**
+	 * 재입고알림 수정
+	 *
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	void updateReinboundInform(ReinboundInform reinboundInform);
 
 }

+ 36 - 0
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -22,6 +22,7 @@ import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.GoodsViewHst;
 import com.style24.persistence.domain.Notice;
+import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.VideoDisploc;
 
 import lombok.extern.slf4j.Slf4j;
@@ -431,4 +432,39 @@ public class TsfGoodsService {
 		return goodsDao.getTmtbGoodsList(goods);
 	}
 	
+	/**
+	 * 재입고 알림 미 알림 조회
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	public ReinboundInform getNotReinboundInform(ReinboundInform reinboundInform) {
+		return goodsDao.getNotReinboundInform(reinboundInform);
+	}
+	
+	/**
+	 * 재입고알림 생성
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	@Transactional("shopTxnManager")
+	public void createReinboundInform(ReinboundInform reinboundInform) {
+		goodsDao.createReinboundInform(reinboundInform);
+	}
+	
+	/**
+	 * 재입고알림 수정
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	@Transactional("shopTxnManager")
+	public void updateReinboundInform(ReinboundInform reinboundInform) {
+		goodsDao.updateReinboundInform(reinboundInform);
+	}
+	
 }

+ 6 - 2
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -485,17 +485,21 @@ public class TsfGoodsController extends TsfBaseController {
 	 * @author eskim
 	 * @since 2021. 3. 8
 	 */
-	@PostMapping("/instock/alarm/layer/{goodsCd}")
-	public ModelAndView goodsInstockAlarmForm(@PathVariable String goodsCd) {
+	@PostMapping("/instock/alarm/layer/{goodsCd}/{colorCd}")
+	public ModelAndView goodsInstockAlarmForm(@PathVariable String goodsCd, @PathVariable String colorCd) {
 		ModelAndView mav = new ModelAndView();
 		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
 		Goods paramsGoods = new Goods();
 		paramsGoods.setGoodsCd(goodsCd);
+		paramsGoods.setColorCd(colorCd);
 		setGoods(paramsGoods);
 		Goods goods = goodsService.getGoodsInfo(paramsGoods);
 		
 		// 상품 기본정보
 		mav.addObject("goodsInfo", goods);
+		
+		// 자사 일반상품- 옵션2(사이즈) 정보
+		mav.addObject("goodsOption2List", goodsService.getGoodsOption2List(paramsGoods));
 
 		mav.setViewName(super.getDeviceViewName("goods/GoodsInstockAlarmForm"));
 		return mav;

+ 26 - 0
src/main/java/com/style24/persistence/domain/ReinboundInform.java

@@ -0,0 +1,26 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 재입고알림 Domain
+ *
+ * @author eskim
+ * @since 2021. 03. 10
+ */
+@SuppressWarnings("serial")
+@Data
+public class ReinboundInform extends TscBaseDomain {
+
+	private Integer rinbdInfoSq;
+	private Integer custNo;
+	private String goodsCd;
+	private String optCd;
+	private String optCd1;
+	private String optCd2;
+	private String reqDt;
+	private String informDt;
+	
+}

+ 65 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -105,7 +105,6 @@
 		     , G.GOODS_STAT
 		     , (CASE WHEN #{frontGb} = 'P' THEN G.PNT_PRATE ELSE G.PNT_MRATE END) AS PNT_RATE
 		     , (CASE WHEN #{frontGb} = 'P' THEN G.PRE_PPNT_USABLE_YN ELSE G.PRE_MPNT_USABLE_YN END) AS PRE_PNT_USABLE_YN
-		    -- 
 		     , G.MIN_ORD_QTY
 		     , G.MAX_ORD_QTY
 		     , G.DAY_MAX_ORD_QTY
@@ -120,6 +119,7 @@
 		        FROM TB_ITEMKIND
 		        WHERE ITEMKIND_CD = G.ITEMKIND_CD) AS NI_CLSF_CD
 		     , G.MAIN_COLOR_CD
+		     , (IFNULL(NULLIF(#{colorCd},'') , G.MAIN_COLOR_CD )) AS COLOR_CD
 		     , G.SUPPLY_COMP_CD
 		     , G.SELF_MALL_YN
 		     , G.AGE_GRP_CD
@@ -132,7 +132,7 @@
 		     , G.ORIGIN_CD
 		     , FN_GET_CODE_NM('G076',G.ORIGIN_CD) AS ORIGIN_NM
 		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(#{colorCd}, IFNULL(G.MAIN_COLOR_CD,'XX')) AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
-		     , (SELECT COLOR_KNM FROM tb_color C WHERE COLOR_CD = IFNULL(NULLIF(#{colorCd},'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y') AS COLOR_NM
+		     , (SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(#{colorCd},'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y') AS COLOR_NM
 		     -- , BP.CURR_PRICE AS BENEFIT_PRICE
 		     , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
 		     , (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
@@ -722,4 +722,67 @@
 		LIMIT #{maxRownum}
 	</select>
 	
+	<!-- 재입고 알림 미 알림 조회 -->
+	<select id="getNotReinboundInform" parameterType="ReinboundInform" resultType="ReinboundInform">
+		/* TsfGoods.getNotReinboundInform */
+		SELECT RINBD_INFO_SQ
+		    , CUST_NO
+		    , GOODS_CD
+		    , OPT_CD
+		    , OPT_CD1
+		    , OPT_CD2
+		    , REQ_DT
+		    , INFORM_DT
+		FROM TB_REINBOUND_INFORM
+		WHERE CUST_NO = #{custNo}
+		AND GOODS_CD = #{GOODS_CD}
+		AND OPT_CD = #{optCd}
+		AND INFORM_DT IS NOT NULL  -- 미알림
+		AND DATE_FORMAT(NOW(), '%Y%m%d' ) > DATE_FORMAT(DATE_ADD(A.REQ_DT, INTERVAL 15 DAY),'%Y%m%d')   -- 요청일기준15일경과
+		ORDER BY  RINBD_INFO_SQ DESC 
+		LIMIT 1
+	</select>
+	
+	<!-- 재입고알림 생성 -->
+	<insert id="createReinboundInform" parameterType="ReinboundInform">
+		/* TsfGoods.createReinboundInform */
+		INSERT INTO TB_REINBOUND_INFORM
+		    (
+		    RINBD_INFO_SQ
+		  , CUST_NO
+		  , GOODS_CD
+		  , OPT_CD
+		  , OPT_CD1
+		  , OPT_CD2
+		  , REQ_DT
+		  , REG_NO
+		  , REG_DT
+		  , UPD_NO
+		  , UPD_DT
+		    )
+		VALUS(
+		    NULL
+		  , #{custNo}
+		  , #{goodsCd}
+		  , #{optCd}
+		  , #{optCd1}
+		  , #{optCd2}
+		  , NOW()
+		  , #{regNo}
+		  , NOW()
+		  , #{updNo}
+		  , NOW()
+		    )
+	</insert>
+	
+	<!-- 재입고알림 수정 -->
+	<update id="updateReinboundInform" parameterType="ReinboundInform">
+		/* TsfGoods.updateReinboundInform */
+		UPDATE TB_REINBOUND_INFORM
+		SET REQ_DT = NOW()
+		  , UPD_NO = #{updNo}
+		  , UPD_DT = NOW()
+		WHERE RINBD_INFO_SQ = #{rinbdInfoSq}
+	</update>
+	
 </mapper>

+ 25 - 39
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -180,7 +180,7 @@
 									</div>
 									<div class="form_field">
 										<div  th:each="goodsOption2, status : ${goodsOption2List}">
-											<input type="radio" name="rdi-optsize"  th:disabled="${goodsOption2.soldoutYn == 'Y' or goodsOption2.stockQty <= 0}" 
+											<input type="radio" name="opt"  th:id="${'size'+goodsOption2.optCd}" th:disabled="${goodsOption2.soldoutYn == 'Y' or goodsOption2.stockQty <= 0}" 
 													th:attr="addPrice=${goodsOption2.addPrice}, optCd1=${goodsOption2.optCd1}, optCd=${goodsOption2.optCd}">
 											<label th:for="${goodsInfo.goodsCd + '-'+ goodsInfo.colorCd + '-' +goodsOption2.optCd2}"><span th:text="${goodsOption2.optCd2}" th:onclick="jfViewStock(this, [[${goodsInfo.goodsCd}]],[[${goodsOption2.optCd1}]],[[${goodsOption2.optCd2}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]] )">100</span></label>
 										</div>
@@ -240,42 +240,10 @@
 								</div>
 								</th:block>
 								<!-- 해당 상품 품절시 노출 -->
-								<div class="info_restock">
-									<a href="javascript:void(0);" id="btn_pushRestock_pop" class="btn_popup" th:onclick="cfGoodsInstockAlarmInfo([[${goodsInfo.goodsCd}]])">재입고 시 알림을 받아보세요</a>
+								<div class="info_restock" style="display:none;">
+									<a href="javascript:void(0);" id="btn_pushRestock_pop" class="btn_popup" th:onclick="cfGoodsInstockAlarmInfo([[${goodsInfo.goodsCd}]], [[${goodsInfo.colorCd}]])">재입고 시 알림을 받아보세요</a>
 								</div>
 								<!-- //해당 상품 품절시 노출 -->
-								<!-- <div class="opt_result">
-									<div class="result_item">
-										<div class="opt_header">
-											<span class="item_name">[상품1] 남성 테이퍼드핏 기모면 올밴딩 팬트</span>
-											<span class="item_option">다크그레이/XXL</span>
-										</div>
-										<div class="number_count">
-											<span class="minus"><em class="sr-only">감소</em></span>
-											<input type="text" name="" maxlength="3" style="ime-mode:disabled" value="1">
-											<span class="plus"><em class="sr-only">추가</em></span>
-										</div>
-										<div class="item_price">
-											<p><em>99,999,999</em>원</p>
-										</div>
-										<button type="button" class="btn_delete_item"><span>삭제</span></button>
-									</div>
-									<div class="result_item">
-										<div class="opt_header">
-											<span class="item_name">[상품1] 남성 테이퍼드핏 기모면 올밴딩 팬트</span>
-											<span class="item_option">블루그레이/S</span>
-										</div>
-										<div class="number_count">
-											<span class="minus"><em class="sr-only">감소</em></span>
-											<input type="text" name="" maxlength="3" style="ime-mode:disabled" value="1">
-											<span class="plus"><em class="sr-only">추가</em></span>
-										</div>
-										<div class="item_price">
-											<p><em>99,999,999</em>원</p>
-										</div>
-										<button type="button" class="btn_delete_item"><span>삭제</span></button>
-									</div>
-								</div> -->
 								<div class="opt_count">
 									<div class="opt_header">
 										<span class="title">수량</span>
@@ -747,13 +715,14 @@
 	var jfGoodsLikeSearch = function(params) {
 		gagajf.ajaxSubmit("/goods/detail/like/frame", "html", "goodsLikebArea", params);
 	}
-
 	
 	//사이즈 클릭시
 	var jfViewStock = function(obj, goodsCd, optCd1, optCd2,  minOrdQty, maxOrdQty) {
-		let $obj = $(obj);
+		debugger;
+		alert(optCd);
+		var $obj = $(obj);
 
-		var $target = $obj.parent().parent().children('input[name="rdi-optsize"]');
+		var $target = $obj.parent().parent().children('input[name="opt"]');
 		$target.prop("checked",true);
 		var addPrice  = $target.attr("addPrice");
 		var optCd  = $target.attr("optCd");
@@ -876,7 +845,6 @@
 		}
 
 		jfSetTotalPrice();
-
 	}
 	
 	//합계 계산
@@ -993,6 +961,23 @@
 		}
 	}
 	
+	var jfOptionSoldout = function(){
+		var $target=$("#cartForm").find('.form_field');
+		var soldout = false;
+		for(var i=0;i<$target.find('input[name="opt"]').length;i++){
+			
+			if($target.find('input[name="opt"]').eq(i).attr('disabled')) {
+				soldout = true;
+			}
+		}
+
+		var goodsType = [[${goodsInfo.goodsType}]];
+		if (soldout && goodsType == 'G056_N') {
+			$(".info_restock").show();
+		}
+	}
+	
+	
 	$(document).ready( function() {
 		
 		var params = new Object();
@@ -1190,6 +1175,7 @@
 			});
 		}; */
 		
+		jfOptionSoldout();
 	});
 	
 /*]]>*/

+ 68 - 94
src/main/webapp/WEB-INF/views/web/goods/GoodsInstockAlarmFormWeb.html

@@ -20,128 +20,102 @@
 			<h5 class="modal-title" id="pushRestockLabel">재입고 알림 신청</h5>
 		</div>
 		<div class="modal-body">
+			<form name="goodsInstockAlarmForm" id="goodsInstockAlarmForm" method="post">
 			<div class="pop_cont">
 				<div class="item_blk">
-					<div class="item_prod">
+					<div class="item_prod" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}">
 						<div class="item_state">
-							<a href="#none" class="itemLink">
+							<a href="javascript:void(0);" class="itemLink">
 								<div class="itemPic">
-									<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdDetail1.jpg">
+									<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm}">
 								</div>
-								<p class="itemBrand">BRAND NAME1</p>
-								<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-								<p class="itemPrice">80,100
-									<span class="itemPrice_original">89,000</span>
-									<span class="itemPercent">10%</span>
+								<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">NBA 키즈</p>
+								<div class="itemName" th:text="${goodsInfo.goodsFullNm}">유니 삼단블록 플리스 집업 유니 삼단블록 플리스 집업 유니 삼단블록 플리스 집업</div>
+								<p class="itemPrice"><th:block th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}"> 134,100</th:block>
+									<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">149,000</span>
+									<span class="itemPercent" th:if="${goodsInfo.dcRate > 0}" th:text="|${#numbers.formatDecimal(goodsInfo.dcRate,0,0)}%|">30%</span>
 								</p>
 							</a>
 						</div>
 					</div>
 				</div>
-				<div class="select_blk">
+				<th:block th:if="${goodsInfo.selfGoodsYn =='Y' }">
+				<div class="select_blk" th:if="${goodsOption2List != null and !goodsOption2List.empty}" >
 					<h6>사이즈 선택</h6>
 					<div class="opt_size">
 						<div class="form_field">
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize11" value="">
-								<label for="rdi-optsize11"><span>90</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize12" value="">
-								<label for="rdi-optsize12"><span>95</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize13" value="">
-								<label for="rdi-optsize13"><span>100</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize14" value="">
-								<label for="rdi-optsize14"><span>105</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize15" value="">
-								<label for="rdi-optsize15"><span>110</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize16" value="">
-								<label for="rdi-optsize16"><span>115</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize17" value="">
-								<label for="rdi-optsize17"><span>free</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize18" value="">
-								<label for="rdi-optsize18"><span>size1</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-optsize" id="rdi-optsize19" value="">
-								<label for="rdi-optsize19"><span>size2</span></label>
+							<div th:each="goodsOption2, status : ${goodsOption2List}">
+								<th:block th:if="${goodsOption2.soldoutYn == 'Y' or goodsOption2.stockQty <= 0}" >
+								<input type="radio" name="opt" th:id="${'size'+goodsOption2.optCd}" th:value="${goodsOption2.optCd}">
+								<label th:for="${'size'+goodsOption2.optCd}"><span th:text="${goodsOption2.optCd2}" >90</span></label>
+								</th:block>
 							</div>
 						</div>
 					</div>
 				</div>
+				</th:block>
+				<th:block th:if="${goodsInfo.selfGoodsYn =='N' }">
 				<div class="select_blk">
 					<h6>옵션 선택</h6>
 					<div class="opt_select">
 						<div class="opt_header">
-									<span class="title">옵션</span>
-									<button type="button" id="btn_infoSize_pop" class="btn_popup"><span>사이즈정보</span></button>
-								</div>
-						<form class="form_wrap">
-							<div class="form_field">
-								<div class="select_custom item_opt3">
-									<div class="combo">
-										<div class="select">선택</div>
-										<ul class="list">
-											<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가  -->
-											<li class="selected">선택</li> 
-											<li>상품옵션01</li>
-											<li>상품옵션02</li>
-											<li>상품옵션03</li>
-											<li aria-disabled="true">
-												<div>상품옵션05</div>
-												<div>120,000원</div>
-											</li>
-											<li>상품옵션06</li>
-											<li aria-disabled="true" data-soldout="true">
-												<div>상품옵션07</div>
-												<div>120,000원</div>
-											</li>
-										</ul>
-									</div>
+							<span class="title">옵션</span>
+							<button type="button" id="btn_infoSize_pop" class="btn_popup"><span>사이즈정보</span></button>
+						</div>
+						<div class="form_field">
+							<div class="select_custom item_opt3">
+								<div class="combo">
+									<div class="select">선택</div>
+									<ul class="list">
+										<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가  -->
+										<li class="selected">선택</li> 
+										<li>상품옵션01</li>
+										<li>상품옵션02</li>
+										<li>상품옵션03</li>
+										<li aria-disabled="true">
+											<div>상품옵션05</div>
+											<div>120,000원</div>
+										</li>
+										<li>상품옵션06</li>
+										<li aria-disabled="true" data-soldout="true">
+											<div>상품옵션07</div>
+											<div>120,000원</div>
+										</li>
+									</ul>
 								</div>
 							</div>
-							<div class="form_field">
-								<div class="select_custom item_opt4" disabled>
-									<div class="combo">
-										<div class="select">선택</div>
-										<ul class="list">
-											<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가  -->
-											<li class="selected">선택</li> 
-											<li>상품옵션11</li>
-											<li>상품옵션12</li>
-											<li>상품옵션13</li>
-											<li aria-disabled="true">
-												<div>상품옵션15</div>
-												<div>120,000원</div>
-											</li>
-											<li>상품옵션16</li>
-											<li aria-disabled="true" data-soldout="true">
-												<div>상품옵션17</div>
-												<div>120,000원</div>
-											</li>
-										</ul>
-									</div>
+						</div>
+						<div class="form_field">
+							<div class="select_custom item_opt4" disabled>
+								<div class="combo">
+									<div class="select">선택</div>
+									<ul class="list">
+										<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가  -->
+										<li class="selected">선택</li> 
+										<li>상품옵션11</li>
+										<li>상품옵션12</li>
+										<li>상품옵션13</li>
+										<li aria-disabled="true">
+											<div>상품옵션15</div>
+											<div>120,000원</div>
+										</li>
+										<li>상품옵션16</li>
+										<li aria-disabled="true" data-soldout="true">
+											<div>상품옵션17</div>
+											<div>120,000원</div>
+										</li>
+									</ul>
 								</div>
 							</div>
-						</form>
-					</div>   
-				</div>	  
+						</div>
+					</div>
+				</div>
+				</th:block>
 			</div>
+			</form>
 		</div>
 		<div class="modal-footer">
-			<button type="button" id="" class="btn btn_dark"><span>신청</span></button>
+			<button type="button"  class="btn btn_dark" onclick=""><span>신청</span></button>
 		</div>
 	</div>
 </div>

+ 2 - 2
src/main/webapp/ux/style24_link.js

@@ -459,14 +459,14 @@ function cfGoodsSizeInfo(goodsCd) {
 *		cfGoodsInstockAlarmInfo(goodsCd);
 * </pre>
 */
-function cfGoodsInstockAlarmInfo(goodsCd) {
+function cfGoodsInstockAlarmInfo(goodsCd, colorCd) {
 	var str = '<div class="modal fade pd_pop push_restock_pop" id="layer_instock_alarm" tabindex="-1" role="dialog" aria-labelledby="pushRestockLabel" aria-hidden="true">';
 
 	if ($('#layer_instock_alarm').length == 0) {
 		$('body').append(str);
 	}
 
-	cfOpenLayer(_PAGE_GOODS_INSTOCK_ALARM_LAYER+goodsCd, 'layer_instock_alarm');
+	cfOpenLayer(_PAGE_GOODS_INSTOCK_ALARM_LAYER+goodsCd+'/'+colorCd, 'layer_instock_alarm');
 }
 
 /**