Procházet zdrojové kódy

상품상세 - 사이즈레이어

eskim před 5 roky
rodič
revize
5ae29ec84d

+ 23 - 1
src/main/java/com/style24/front/biz/dao/TsfGoodsDao.java

@@ -14,8 +14,10 @@ import com.style24.persistence.domain.GoodsNotiInfo;
 import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.GoodsViewHst;
+import com.style24.persistence.domain.Measurement;
 import com.style24.persistence.domain.Notice;
 import com.style24.persistence.domain.ReinboundInform;
+import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.VideoDisploc;
 
 /**
@@ -253,5 +255,25 @@ public interface TsfGoodsDao {
 	 * @date 2021. 3. 10
 	 */
 	void updateReinboundInform(ReinboundInform reinboundInform);
-
+	
+	/**
+	 * 실측사이즈 조회
+	 *
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	Collection<Measurement> getMeasurementList(Goods goods);
+	
+	/**
+	 * 사이즈 정보 조회
+	 *
+	 * @param sizeInfo
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 11
+	 */
+	Collection<SizeInfo> getSizeInfoList(SizeInfo sizeInfo);
+	
 }

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

@@ -21,8 +21,10 @@ import com.style24.persistence.domain.GoodsNotiInfo;
 import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.GoodsViewHst;
+import com.style24.persistence.domain.Measurement;
 import com.style24.persistence.domain.Notice;
 import com.style24.persistence.domain.ReinboundInform;
+import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.VideoDisploc;
 
 import lombok.extern.slf4j.Slf4j;
@@ -497,4 +499,29 @@ public class TsfGoodsService {
 		}
 
 	}
+	
+	/**
+	 * 실측사이즈 조회
+	 *
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	public Collection<Measurement> getMeasurementList(Goods goods) {
+		return goodsDao.getMeasurementList(goods);
+	}
+	
+	/**
+	 * 사이즈 정보 조회
+	 *
+	 * @param sizeInfo
+	 * @return
+	 * @author eskim
+	 * @date 2021. 3. 10
+	 */
+	public Collection<SizeInfo> getSizeInfoList(SizeInfo sizeInfo) {
+		return goodsDao.getSizeInfoList(sizeInfo);
+	}
+	
 }

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

@@ -1,5 +1,8 @@
 package com.style24.front.biz.web;
 
+import java.util.ArrayList;
+import java.util.Collection;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -27,7 +30,9 @@ import com.style24.persistence.domain.Counsel;
 import com.style24.persistence.domain.Goods;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.Lookbook;
+import com.style24.persistence.domain.Measurement;
 import com.style24.persistence.domain.ReinboundInform;
+import com.style24.persistence.domain.SizeInfo;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -465,17 +470,58 @@ public class TsfGoodsController extends TsfBaseController {
 	 * @author eskim
 	 * @since 2021. 3. 8
 	 */
-	@PostMapping("/sizeInfo/layer/{goodsCd}")
-	public ModelAndView goodsSizeInfoForm(@PathVariable String goodsCd) {
+	@PostMapping("/sizeInfo/layer/{goodsCd}/{colorCd}")
+	public ModelAndView goodsSizeInfoForm(@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);
+		
+		// 실측 사이즈 정보 - 자사상품만
+		String typeCd = "";
+		String typeWith = "";
+		Collection<Measurement> measurementList= new ArrayList<Measurement>();
+		if ("Y".equals(goods.getSelfGoodsYn())) {
+			paramsGoods.setOptCd1(colorCd);
+			measurementList = goodsService.getMeasurementList(paramsGoods);
+			if (measurementList != null && !measurementList.isEmpty()) {
+				typeCd =  measurementList.iterator().next().getTypecd();
+				if ("하의".equals(typeCd)) {
+					typeWith =  Integer.toString(((int)Math.floor(100 / 6)));
+				}
+			}
+		}
+		
+		// 표준사이즈 - 공통
+		SizeInfo sizeInfo = new SizeInfo();
+		sizeInfo.setSizeGb("1"); 	// 사이즈구분정보 1:표준사이즈. 2:측정사이즈
+		sizeInfo.setSizeCate1Cd("00"); 	// 사이즈카테고리1 표준사이즈일경우   공통(00),자사브랜드코드)
+		Collection<SizeInfo> commonSizeInfoList = goodsService.getSizeInfoList(sizeInfo);
+		
+		// 표준사이즈 - 자사브랜드
+		Collection<SizeInfo> brandSizeInfoList =  new ArrayList<SizeInfo>();
+		if ("Y".equals(goods.getSelfGoodsYn())) {
+			sizeInfo.setSizeCate1Cd(goods.getBrandCd());	// 자사브랜드코드(브랜드그룹코드아님)
+			brandSizeInfoList = goodsService.getSizeInfoList(sizeInfo);
+		}
+		
+		// 측정사이즈
+		sizeInfo.setSizeGb("2");
+		sizeInfo.setSizeCate1Cd("");
+		Collection<SizeInfo> measurementSizeInfoList = goodsService.getSizeInfoList(sizeInfo);		
+		
+		mav.addObject("measurementList", measurementList);
+		mav.addObject("typeCd", typeCd);
+		mav.addObject("typeWith", typeWith);
+		mav.addObject("commonSizeInfoList", commonSizeInfoList);
+		mav.addObject("brandSizeInfoList", brandSizeInfoList);
+		mav.addObject("measurementSizeInfoList", measurementSizeInfoList);
 
 		mav.setViewName(super.getDeviceViewName("goods/GoodsSizeInfoForm"));
 		return mav;

+ 36 - 0
src/main/java/com/style24/persistence/domain/Measurement.java

@@ -0,0 +1,36 @@
+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 Measurement extends TscBaseDomain {
+
+	private String skucode;			// wms옵션번호
+	private Integer productno;		// wms상품번호
+	private Integer productcode;	// wms상품 코드
+	private String typecd;			// 상하의타입 - 상의, 하의
+	private String washingmethod;	// 세탁방법
+	private float value1;			// 치수1
+	private float value2;			// 치수2
+	private float value3;			// 치수3
+	private float value4;			// 치수4
+	private float value5;			// 치수5
+	private String memo;			// 메모
+	private String isuse;			// 사용여부(1: 사용, 0: 미사용)
+	
+	private String optCd;
+	private String optCd1;
+	private String optCd2;
+	private String goodsCd;
+	
+
+}

+ 29 - 0
src/main/java/com/style24/persistence/domain/SizeInfo.java

@@ -0,0 +1,29 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 사이즈정보  Domain
+ *
+ * @author eskim
+ * @since 2021. 01. 26
+ */
+@SuppressWarnings("serial")
+@Data
+public class SizeInfo extends TscBaseDomain {
+
+	private String sizeGb;
+	private String sizeCate1Cd;
+	private String sizeCate1Nm;
+	private String sizeCate2Cd;
+	private String sizeCate2Nm;
+	private String sizeInfo;
+	private int dispOrd;
+	private String useYn;
+
+	private String selfYn;
+	private String brandCd;
+
+}

+ 40 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -787,4 +787,44 @@
 		WHERE RINBD_INFO_SQ = #{rinbdInfoSq}
 	</update>
 	
+	<!-- 실측사이즈 조회 -->
+	<select id="getMeasurementList" parameterType="Goods" resultType="Measurement">
+		/* TsfGoods.getMeasurementList */
+		SELECT A.GOODS_CD 
+		     , A.OPT_CD 
+		     , A.OPT_CD1 
+		     , A.OPT_CD2 
+		     , B.TYPECD 
+		     , B.VALUE1 
+		     , B.VALUE2
+		     , B.VALUE3
+		     , B.VALUE4
+		     , B.VALUE5
+		FROM TB_OPTION A
+		INNER JOIN TB_IF_MEASUREMENT B ON A.OPT_CD = B.SKUCODE 
+		AND B.ISUSE = '1'                                               -- 사용
+		WHERE A.GOODS_CD  =  #{goodsCd}
+		AND A.OPT_CD1 = #{optCd1}
+	</select>
+	
+	<!-- 사이즈 정보 조회 -->
+	<select id="getSizeInfoList" parameterType="SizeInfo" resultType="SizeInfo">
+		/* TsfGoods.getSizeInfoList */
+		SELECT A.SIZE_GB
+		     , A.SIZE_CATE1_CD
+		     , A.SIZE_CATE1_NM
+		     , A.SIZE_CATE2_CD
+		     , A.SIZE_CATE2_NM
+		     , A.SIZE_INFO
+		     , A.DISP_ORD
+		     , A.USE_YN
+		FROM TB_SIZE_INFO A
+		WHERE A.USE_YN = 'Y' 
+		AND A.SIZE_GB = #{sizeGb}
+		<if test="sizeCate1Cd != null and sizeCate1Cd != ''">
+		AND A.SIZE_CATE1_CD = #{sizeCate1Cd}
+		</if>
+		ORDER BY A.SIZE_GB, A.DISP_ORD
+	</select>
+	
 </mapper>

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

@@ -176,7 +176,7 @@
 											<em id="selectOptCd1"></em>
 											<em id="selectOptCd1addPrice"></em>
 										</span>
-										<button type="button" id="btn_infoSize_pop" class="btn_popup" th:onclick="cfGoodsSizeInfo([[${goodsInfo.goodsCd}]])"><span>사이즈정보</span></button>
+										<button type="button" id="btn_infoSize_pop" class="btn_popup" th:onclick="cfGoodsSizeInfo([[${goodsInfo.goodsCd}]],[[${goodsInfo.colorCd}]] )"><span>사이즈정보</span></button>
 									</div>
 									<div class="form_field">
 										<div  th:each="goodsOption2, status : ${goodsOption2List}">

+ 55 - 874
src/main/webapp/WEB-INF/views/web/goods/GoodsSizeInfoFormWeb.html

@@ -23,17 +23,17 @@
 			<div class="pop_cont">
 				<div class="tab_nav">
 					<ul>
-						<li class="active"><a href="javascript:void(0)">실측 사이즈</a></li>
-						<li><a href="javascript:void(0)">표준 사이즈</a></li>
-						<li><a href="javascript:void(0)">측정 사이즈</a></li>
+						<li class="active"><a href="javascript:void(0);" th:if="${measurementList != null and !measurementList.empty}">실측 사이즈</a></li>
+						<li><a href="javascript:void(0);" th:if="${(commonSizeInfoList != null and !commonSizeInfoList.empty) or (brandSizeInfoList != null and !brandSizeInfoList.empty)}">표준 사이즈</a></li>
+						<li><a href="javascript:void(0);" th:if="${measurementSizeInfoList != null and !measurementSizeInfoList.empty}">측정 사이즈</a></li>
 					</ul>
 				</div>
 				<div class="tab_cont_wrap">
-					<div class="tab_cont">
+					<div class="tab_cont" th:if="${measurementList != null and !measurementList.empty}">
 						<!-- 실측 사이즈 -->
 						<div class="size_head">
-							<span class="tit_sub">TBJ</span>
-							<span class="tit_header">남성 테이퍼드 핏 겨울 기모면 스판 올 밴딩 팬츠</span>
+							<span class="tit_sub" th:text="${goodsInfo.brandGroupNm}">TBJ</span>
+							<span class="tit_header" th:text="${goodsInfo.goodsNm}">남성 테이퍼드 핏 겨울 기모면 스판 올 밴딩 팬츠</span>
 						</div>
 						<div class="size_cont">
 							<div class="size_tbl_box">
@@ -41,49 +41,41 @@
 								<div class="tbl type2">
 									<table>
 										<colgroup>
-											<col width="20%">
-											<col width="20%">
-											<col width="20%">
-											<col width="20%">
-											<col width="20%">
+											<col/>
+											<col th:attr="width=${typeWith+'%'}">
+											<col th:attr="width=${typeWith+'%'}">
+											<col th:attr="width=${typeWith+'%'}">
+											<col th:attr="width=${typeWith+'%'}">
+											<th:block th:if="${typeCd == '하의'}">
+											<col th:attr="width=${typeWith+'%'}">
+											</th:block>
 										</colgroup>
 										<thead>
 											<tr>
 												<th scope="col">&nbsp;</th>
-												<th scope="col">M</th>
-												<th scope="col">L</th>
-												<th scope="col">XL</th>
-												<th scope="col">XXL</th>
-											</tr>
-										</thead>
-										<tbody>
-											<tr>
+												<th:block th:if="${typeCd == '상의'}">
 												<th scope="col">가슴둘레</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
-											</tr>
-											<tr>
 												<th scope="col">어깨너비</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
-											</tr>
-											<tr>
 												<th scope="col">팔길이</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
-											</tr>
-											<tr>
 												<th scope="col">총길이</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
+												</th:block>
+												<th:block th:unless="${typeCd == '상의'}">
+												<th scope="col">허리둘레</th>
+												<th scope="col">밑위</th>
+												<th scope="col">엉덩이둘레</th>
+												<th scope="col">허벅지둘레</th>
+												<th scope="col">총길이</th>
+												</th:block>
+											</tr>
+										</thead>
+										<tbody>
+											<tr th:each="measurement, status : ${measurementList}">
+												<th scope="col" th:text="${measurement.optCd2}"></th>
+												<td th:text="${measurement.value1}">95</td>
+												<td th:text="${measurement.value2}">100</td>
+												<td th:text="${measurement.value3}">105</td>
+												<td th:text="${measurement.value4}">110</td>
+												<td th:text="${measurement.value5}" th:if="${typeCd == '하의'}">110</td>
 											</tr>
 										</tbody>
 									</table>
@@ -92,711 +84,40 @@
 						</div>
 						<!-- //실측 사이즈 -->
 					</div>
-					<div class="tab_cont">
+					<div class="tab_cont" th:if="${(commonSizeInfoList != null and !commonSizeInfoList.empty) or (brandSizeInfoList != null and !brandSizeInfoList.empty)}">
 						<!-- 표준 사이즈 카테고리 구분일때 -->
+						<th:block th:if="${(commonSizeInfoList != null and !commonSizeInfoList.empty) and (brandSizeInfoList == null or brandSizeInfoList.empty)}">
 						<div class="size_head">
 							<!-- 표준 사이즈 > 카테고리 선택 -->
 							<div class="sub_tab_nav">
 								<ul>
-									<li class="active"><a href="javascript:void(0)">여성</a></li>
-									<li><a href="javascript:void(0)">남성</a></li>
-									<li><a href="javascript:void(0)">캐주얼</a></li>
-									<li><a href="javascript:void(0)">유아동</a></li>
-									<li><a href="javascript:void(0)">신발</a></li>
-									<li><a href="javascript:void(0)">언더웨어</a></li>
+									<li th:each="commonSizeInfo, status : ${commonSizeInfoList}"  th:class="${status.first}? 'active' : ''" ><a href="javascript:void(0)" th:text="${commonSizeInfo.sizeCate2Nm}">여성</a></li>
 								</ul>
 							</div>
 							<!-- //표준 사이즈 > 카테고리 선택 -->
 						</div>
 						<div class="size_cont">
 							<div class="sub_tab_cont_wrap">
-								<!-- 표준 사이즈 > 카테고리 내용(여성) -->
-								<div class="sub_tab_cont">
-									<div class="size_tbl_box">
-										<h6>여성 상의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">XS/44/85</th>
-														<th scope="col">S/55/90</th>
-														<th scope="col">M/66/95</th>
-														<th scope="col">L/77/100</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">가슴둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr> 
-													<tr>
-														<th scope="col">신장</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>											   
-												</tbody>
-											</table>
-										</div>
-									</div>
-									<div class="size_tbl_box">
-										<h6>여성 하의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">27</th>
-														<th scope="col">28</th>
-														<th scope="col">29</th>
-														<th scope="col">30</th>
-														<th scope="col">32</th>
-														<th scope="col">34</th>
-														<th scope="col">36</th>
-														<th scope="col">38</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>69</td>
-														<td>71</td>
-														<td>74</td>
-														<td>76</td>
-														<td>81</td>
-														<td>86</td>
-														<td>91</td>
-														<td>97</td>
-													</tr>									
-												</tbody>
-											</table>
-										</div>
-									</div>
-								</div>	
-								<!-- //표준 사이즈 > 카테고리 내용(여성) --> 
-								<!-- 표준 사이즈 > 카테고리 내용(남성) -->
-								<div class="sub_tab_cont">
-									<div class="size_tbl_box">
-										<h6>남성 상의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">XS/44/85</th>
-														<th scope="col">S/55/90</th>
-														<th scope="col">M/66/95</th>
-														<th scope="col">L/77/100</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">가슴둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr> 
-													<tr>
-														<th scope="col">신장</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>											   
-												</tbody>
-											</table>
-										</div>
-									</div>
-									<div class="size_tbl_box">
-										<h6>남성 하의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">27</th>
-														<th scope="col">28</th>
-														<th scope="col">29</th>
-														<th scope="col">30</th>
-														<th scope="col">32</th>
-														<th scope="col">34</th>
-														<th scope="col">36</th>
-														<th scope="col">38</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>69</td>
-														<td>71</td>
-														<td>74</td>
-														<td>76</td>
-														<td>81</td>
-														<td>86</td>
-														<td>91</td>
-														<td>97</td>
-													</tr>									
-												</tbody>
-											</table>
-										</div>
-									</div>
-								</div>	
-								<!-- //표준 사이즈 > 카테고리 내용(남성) -->
-								<!-- 표준 사이즈 > 카테고리 내용(캐주얼) -->
-								<div class="sub_tab_cont">
-									<div class="size_tbl_box">
-										<h6>캐주얼 상의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">XS/44/85</th>
-														<th scope="col">S/55/90</th>
-														<th scope="col">M/66/95</th>
-														<th scope="col">L/77/100</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">가슴둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr> 
-													<tr>
-														<th scope="col">신장</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>											   
-												</tbody>
-											</table>
-										</div>
-									</div>
-									<div class="size_tbl_box">
-										<h6>캐주얼 하의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">27</th>
-														<th scope="col">28</th>
-														<th scope="col">29</th>
-														<th scope="col">30</th>
-														<th scope="col">32</th>
-														<th scope="col">34</th>
-														<th scope="col">36</th>
-														<th scope="col">38</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>69</td>
-														<td>71</td>
-														<td>74</td>
-														<td>76</td>
-														<td>81</td>
-														<td>86</td>
-														<td>91</td>
-														<td>97</td>
-													</tr>									
-												</tbody>
-											</table>
-										</div>
-									</div>
-								</div>	
-								<!-- //표준 사이즈 > 카테고리 내용(캐주얼) -->
-								<!-- 표준 사이즈 > 카테고리 내용(유아동) -->
-								<div class="sub_tab_cont">
-									<div class="size_tbl_box">
-										<h6>유아동 상의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">XS/44/85</th>
-														<th scope="col">S/55/90</th>
-														<th scope="col">M/66/95</th>
-														<th scope="col">L/77/100</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">가슴둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr> 
-													<tr>
-														<th scope="col">신장</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>											   
-												</tbody>
-											</table>
-										</div>
-									</div>
-									<div class="size_tbl_box">
-										<h6>유아동 하의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">27</th>
-														<th scope="col">28</th>
-														<th scope="col">29</th>
-														<th scope="col">30</th>
-														<th scope="col">32</th>
-														<th scope="col">34</th>
-														<th scope="col">36</th>
-														<th scope="col">38</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>69</td>
-														<td>71</td>
-														<td>74</td>
-														<td>76</td>
-														<td>81</td>
-														<td>86</td>
-														<td>91</td>
-														<td>97</td>
-													</tr>									
-												</tbody>
-											</table>
-										</div>
-									</div>
-								</div>	
-								<!-- //표준 사이즈 > 카테고리 내용(유아동) -->	 
-								<!-- 표준 사이즈 > 카테고리 내용(신발) -->
-								<div class="sub_tab_cont">
-									<div class="size_tbl_box">
-										<h6>신발 상의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">XS/44/85</th>
-														<th scope="col">S/55/90</th>
-														<th scope="col">M/66/95</th>
-														<th scope="col">L/77/100</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">가슴둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr> 
-													<tr>
-														<th scope="col">신장</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>											   
-												</tbody>
-											</table>
-										</div>
-									</div>
-									<div class="size_tbl_box">
-										<h6>신발 하의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">27</th>
-														<th scope="col">28</th>
-														<th scope="col">29</th>
-														<th scope="col">30</th>
-														<th scope="col">32</th>
-														<th scope="col">34</th>
-														<th scope="col">36</th>
-														<th scope="col">38</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>69</td>
-														<td>71</td>
-														<td>74</td>
-														<td>76</td>
-														<td>81</td>
-														<td>86</td>
-														<td>91</td>
-														<td>97</td>
-													</tr>									
-												</tbody>
-											</table>
-										</div>
-									</div>
-								</div>	
-								<!-- //표준 사이즈 > 카테고리 내용(신발) -->	  
-								<!-- 표준 사이즈 > 카테고리 내용(언더웨어) -->
-								<div class="sub_tab_cont">
-									<div class="size_tbl_box">
-										<h6>언더웨어 상의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-													<col width="20%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">XS/44/85</th>
-														<th scope="col">S/55/90</th>
-														<th scope="col">M/66/95</th>
-														<th scope="col">L/77/100</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">가슴둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr> 
-													<tr>
-														<th scope="col">신장</th>
-														<td>95</td>
-														<td>100</td>
-														<td>105</td>
-														<td>110</td>
-													</tr>											   
-												</tbody>
-											</table>
-										</div>
-									</div>
-									<div class="size_tbl_box">
-										<h6>언더웨어 하의</h6>
-										<p class="size_unit">단위 : cm</p>
-										<div class="tbl type2">
-											<table>
-												<colgroup>
-													<col width="20%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-													<col width="10%">
-												</colgroup>
-												<thead>
-													<tr>
-														<th scope="col">&nbsp;</th>
-														<th scope="col">27</th>
-														<th scope="col">28</th>
-														<th scope="col">29</th>
-														<th scope="col">30</th>
-														<th scope="col">32</th>
-														<th scope="col">34</th>
-														<th scope="col">36</th>
-														<th scope="col">38</th>
-													</tr>
-												</thead>
-												<tbody>
-													<tr>
-														<th scope="col">허리둘레</th>
-														<td>69</td>
-														<td>71</td>
-														<td>74</td>
-														<td>76</td>
-														<td>81</td>
-														<td>86</td>
-														<td>91</td>
-														<td>97</td>
-													</tr>									
-												</tbody>
-											</table>
-										</div>
-									</div>
-								</div>	
-								<!-- //표준 사이즈 > 카테고리 내용(언더웨어) -->
-							</div>															   
-						</div>
-						<div class="size_footer">
-							<div class="info_txt">
-								<ul>
-									<li>본 사이즈 조견표는 표준 가이드로, 각 제품마다 다소간의 차이는 있을 수 있습니다.</li>
-									<li>보다 자세한 사이즈는 각 상품 별 상품설명을 참조해주시기 바랍니다.</li>
-								</ul>
+								<th:block th:each="commonSizeInfo, status : ${commonSizeInfoList}" th:utext="${#strings.unescapeJava(#strings.escapeJava(commonSizeInfo.sizeInfo))}"></th:block>
 							</div>
 						</div>
-						<!-- //표준 사이즈 카테고리별 구분일때 -->
+						</th:block>
+						<th:block th:if="${brandSizeInfoList != null and !brandSizeInfoList.empty}">
 						<!-- 표준 사이즈 브랜드별 구분일때 -->
 						<div class="size_head">
-							<span class="tit_header">
-								페르지노몬티 FERGINO MONTI
-							</span>
+							<span class="tit_sub" th:text="${goodsInfo.brandGroupNm}">페르지노몬티 FERGINO MONTI</span>
+							<div class="sub_tab_nav">
+								<ul>
+									<li th:each="brandSizeInfo, status : ${brandSizeInfoList}"  th:class="${status.first}? 'active' : ''" ><a href="javascript:void(0)" th:text="${brandSizeInfo.sizeCate2Nm}">여성</a></li>
+								</ul>
+							</div>
 						</div>
 						<div class="size_cont">
-							<div class="size_tbl_box">
-								<h6>남성 상의</h6>
-								<p class="size_unit">단위 : cm</p>
-								<div class="tbl type2">
-									<table>
-										<colgroup>
-											<col width="20%">
-											<col width="20%">
-											<col width="20%">
-											<col width="20%">
-											<col width="20%">
-										</colgroup>
-										<thead>
-											<tr>
-												<th scope="col">&nbsp;</th>
-												<th scope="col">XS/44/85</th>
-												<th scope="col">S/55/90</th>
-												<th scope="col">M/66/95</th>
-												<th scope="col">L/77/100</th>
-											</tr>
-										</thead>
-										<tbody>
-											<tr>
-												<th scope="col">가슴둘레</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
-											</tr>
-											<tr>
-												<th scope="col">허리둘레</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
-											</tr> 
-											<tr>
-												<th scope="col">신장</th>
-												<td>95</td>
-												<td>100</td>
-												<td>105</td>
-												<td>110</td>
-											</tr>											   
-										</tbody>
-									</table>
-								</div>
+							<div class="sub_tab_cont_wrap">
+								<th:block th:each="brandSizeInfo, status : ${brandSizeInfoList}" th:utext="${#strings.unescapeJava(#strings.escapeJava(brandSizeInfo.sizeInfo))}"></th:block>
 							</div>
-							<div class="size_tbl_box">
-								<h6>남성 하의</h6>
-								<p class="size_unit">단위 : cm</p>
-								<div class="tbl type2">
-									<table>
-										<colgroup>
-											<col width="20%">
-											<col width="10%">
-											<col width="10%">
-											<col width="10%">
-											<col width="10%">
-											<col width="10%">
-											<col width="10%">
-											<col width="10%">
-											<col width="10%">
-										</colgroup>
-										<thead>
-											<tr>
-												<th scope="col">&nbsp;</th>
-												<th scope="col">27</th>
-												<th scope="col">28</th>
-												<th scope="col">29</th>
-												<th scope="col">30</th>
-												<th scope="col">32</th>
-												<th scope="col">34</th>
-												<th scope="col">36</th>
-												<th scope="col">38</th>
-											</tr>
-										</thead>
-										<tbody>
-											<tr>
-												<th scope="col">허리둘레</th>
-												<td>69</td>
-												<td>71</td>
-												<td>74</td>
-												<td>76</td>
-												<td>81</td>
-												<td>86</td>
-												<td>91</td>
-												<td>97</td>
-											</tr>									
-										</tbody>
-									</table>
-								</div>
-							</div>													  
 						</div>
+						</th:block>
 						<div class="size_footer">
 							<div class="info_txt">
 								<ul>
@@ -805,165 +126,25 @@
 								</ul>
 							</div>
 						</div>
-						<!-- //표준 사이즈 브랜드 구분일때 -->							
-					</div>   
-					<div class="tab_cont">
+					</div>
+					<div class="tab_cont" th:if="${measurementSizeInfoList != null and !measurementSizeInfoList.empty}">
 						<!-- 측정 사이즈 -->
 						<div class="size_head">
 							<!-- 측정 사이즈 > 카테고리 선택 -->
 							<div class="sub_tab_nav">
 								<ul>
-									<li class="active"><a href="javascript:void(0)">상의</a></li>
-									<li><a href="javascript:void(0)">하의</a></li>
-									<li><a href="javascript:void(0)">가방</a></li>
-									<li><a href="javascript:void(0)">신발</a></li>
-									<li><a href="javascript:void(0)">언더웨어</a></li>
+									<li th:each="measurementSizeInfo, status : ${measurementSizeInfoList}"  th:class="${status.first}? 'active' : ''" ><a href="javascript:void(0)" th:text="${measurementSizeInfo.sizeCate2Nm}">여성</a></li>
 								</ul>
 							</div>
 							<!-- //측정 사이즈 > 카테고리 선택 -->
 						</div>
 						<div class="size_cont">
 							<div class="sub_tab_cont_wrap">
-								<!-- 측정 사이즈 > 카테고리 내용(상의) -->
-								<div class="sub_tab_cont">
-									<span class="img_sizeinfo">
-										<img src="/images/pc/info_size_top.jpg" alt="상의 측정 사이즈">
-									</span>
-									<dl>
-										<div>
-											<dt>가슴둘레</dt>
-											<dd>양쪽 겨드랑이 밑선 단면을 잰 길이x2</dd>
-										</div>
-										<div>
-											<dt>어깨너비</dt>
-											<dd>좌측어깨에서 우측어깨끝 봉제선 단면을 잰 길이 (어깨봉제선이 없을경우 어깨길이와 팔길이는 측정 안함)</dd>
-										</div>
-										<div>
-											<dt>팔길이</dt>
-											<dd>어깨 봉제선부터 소매 끝까지 잰 길</dd>
-										</div>
-										<div>
-											<dt>총길이</dt>
-											<dd>카라부분(혹은 후드)를 제외 한 지점부터 밑단 끝까지 잰 길이 (라운드티셔츠의 경우 목라인을 포함 해 네크라인부터 밑단 끝까지의 길이를 측정)</dd>
-										</div>
-									</dl>
-								</div>	
-								<!-- //측정 사이즈 > 카테고리 내용(상의) -->
-								<!-- 측정 사이즈 > 카테고리 내용(하의) -->
-								<div class="sub_tab_cont">
-									<span class="img_sizeinfo">
-										<img src="/images/pc/info_size_pants.jpg" alt="하의 측정 사이즈">
-									</span>
-									<dl>
-										<div>
-											<dt>허리둘레</dt>
-											<dd>허리선을 일자로 맞추고 한쪽의 허리끝단부터 반대편 끝까지 단면을 잰 길이x2</dd>
-										</div>
-										<div>
-											<dt>밑위</dt>
-											<dd>허리부터 가랑이 끝점까지 잰 길이</dd>
-										</div>
-										<div>
-											<dt>엉덩이둘레</dt>
-											<dd>밑위 중간부분 단면을 잰 길이x2</dd>
-										</div>
-										<div>
-											<dt>허벅지둘레</dt>
-											<dd>가랑이 부분부터 바깥쪽 허벅지 끝나는 지점까지의 단면을 잰 길이x2</dd>
-										</div>
-										<div>
-											<dt>총길이</dt>
-											<dd>허리끝선부터 바지밑단 끝선 까지 잰 길이</dd>
-										</div>
-									</dl>
-								</div>	
-								<!-- //측정 사이즈 > 카테고리 내용(하의) -->	  
-								<!-- 측정 사이즈 > 카테고리 내용(가방) -->
-								<div class="sub_tab_cont">
-									<span class="img_sizeinfo">
-										<img src="/images/pc/info_size_bag.jpg" alt="가방 측정 사이즈">
-									</span>
-									<dl>
-										<div>
-											<dt>가로</dt>
-											<dd>가장 넓은 부분의 수평 길이</dd>
-										</div>
-										<div>
-											<dt>세로</dt>
-											<dd>바닥부터 가방의 가로 중앙지점까지 수직 길이</dd>
-										</div>
-										<div>
-											<dt>끈길이</dt>
-											<dd>가방 끝의 전체 길이(길이 조절이 가능한 경우 최소~최대 길이 표기)</dd>
-										</div>
-										<div>
-											<dt>손잡이높이</dt>
-											<dd>가방의 가로 가운데 지점부터 손잡이를 세웠을 때의 가장 높은 부분까지의 높이</dd>
-										</div>
-										<div>
-											<dt>끈폭</dt>
-											<dd>가방 끈의 수평폭</dd>
-										</div>
-										<div>
-											<dt>폭</dt>
-											<dd>가방 옆 부분의 두께</dd>
-										</div>
-									</dl>
-								</div> 
-								<!-- //측정 사이즈 > 카테고리 내용(가방) -->
-								<!-- 측정 사이즈 > 카테고리 내용(신발) -->
-								<div class="sub_tab_cont">
-									<span class="img_sizeinfo">
-										<img src="/images/pc/info_size_shoe.jpg" alt="신발 측정 사이즈">
-									</span>
-									<dl>
-										<div>
-											<dt>굽높이</dt>
-											<dd>설명 필요</dd>
-										</div>
-										<div>
-											<dt>볼너비</dt>
-											<dd>설명 필요</dd>
-										</div>
-										<div>
-											<dt>총길이</dt>
-											<dd>설명 필요</dd>
-										</div>
-									</dl>
-									<!--<div class="info_txt">
-										<ul>
-											<li>
-												국내 브랜드는 브랜드, 스타일마다 사이즈가 다르게 전개될 수 있으니, 개별 상품 상세페이지에 기재된 상세 사이즈안내를 참조하세요.
-											</li>
-										</ul>
-									</div>-->
-								</div> 
-								<!-- //측정 사이즈 > 카테고리 내용(신발) --> 
-								<!-- 측정 사이즈 > 카테고리 내용(언더웨어) -->
-								<div class="sub_tab_cont">
-									<span class="img_sizeinfo">
-										<img src="/images/pc/info_size_underwear.jpg" alt="속옷 측정 사이즈">
-									</span>
-									<dl>
-										<div>
-											<dt>밑가슴둘레</dt>
-											<dd>유방의 바로 밑을 수평으로 잰 길이</dd>
-										</div>
-										<div>
-											<dt>컵</dt>
-											<dd>밑가슴둘레와 가슴둘레의 차이</dd>
-										</div>
-										<div>
-											<dt>가슴둘레</dt>
-											<dd>유방을중심으로 수평으로 잰길이</dd>
-										</div>
-									</dl>
-								</div> 
-								<!-- //측정 사이즈 > 카테고리 내용(언더웨어) -->																					
-							</div>															   
-						</div>							
+								<th:block th:each="measurementSizeInfo, status : ${measurementSizeInfoList}" th:utext="${#strings.unescapeJava(#strings.escapeJava(measurementSizeInfo.sizeInfo))}"></th:block>
+							</div>
+						</div>
 						<!-- //측정 사이즈 -->
-					</div>						 
+					</div>
 				</div>
 			</div>
 		</div>

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

@@ -443,14 +443,14 @@ function cfGoodsShopBenefitInfo(goodsCd) {
 *		cfGoodsSizeInfo(goodsCd);
 * </pre>
 */
-function cfGoodsSizeInfo(goodsCd) {
+function cfGoodsSizeInfo(goodsCd, colorCd) {
 	var str = '<div class="modal fade pd_pop info_size_pop" id="layer_size_info" tabindex="-1" role="dialog" aria-labelledby="infoSizeLabel" aria-hidden="true">';
 
 	if ($('#layer_size_info').length == 0) {
 		$('body').append(str);
 	}
 
-	cfOpenLayer(_PAGE_GOODS_SIZEINFO_LAYER+goodsCd, 'layer_size_info');
+	cfOpenLayer(_PAGE_GOODS_SIZEINFO_LAYER+goodsCd +'/'+colorCd, 'layer_size_info');
 }
 
 /**