Pārlūkot izejas kodu

교환 옵션 optCd2 -> optCd로 변경 임시 커밋

card007 4 gadi atpakaļ
vecāks
revīzija
47c9a5d1c6

+ 1 - 0
src/main/java/com/style24/front/biz/service/TsfOrderChangeService.java

@@ -162,6 +162,7 @@ public class TsfOrderChangeService {
 	public Collection<OrderChange> getExchangeOptionInfo(OrderChange orderChange) {
 		Collection<OrderChange> exchangeOptionInfo = new ArrayList<>(); 
 		for (OrderChange tmpOrderChange : orderChangeDao.getExchangeOptionInfo(orderChange)) {
+			tmpOrderChange.setOptCdArr(tmpOrderChange.getChgOptCd().split(","));
 			tmpOrderChange.setOptCd2Arr(tmpOrderChange.getChgOptCd2().split(","));
 			tmpOrderChange.setCurrStockQtyArr(tmpOrderChange.getChgCurrStockQty().split(","));
 			tmpOrderChange.setSoldoutYnArr(tmpOrderChange.getChgSoldoutYn().split(","));

+ 7 - 4
src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml

@@ -408,21 +408,24 @@
 		     , Z.SELF_GOODS_YN
 		     , Z.ITEM_NM
 		     , Z.GOODS_STAT
-		     , GROUP_CONCAT(Z.CHG_OPT_CD2 ORDER BY Z.DISP_ORD SEPARATOR ',') AS CHG_OPT_CD2
+		     , GROUP_CONCAT(Z.CHG_OPT_CD ORDER BY Z.DISP_ORD SEPARATOR ',')     AS CHG_OPT_CD
+		     , GROUP_CONCAT(Z.CHG_OPT_CD2 ORDER BY Z.DISP_ORD SEPARATOR ',')    AS CHG_OPT_CD2
 		     , GROUP_CONCAT(Z.CURR_STOCK_QTY ORDER BY Z.DISP_ORD SEPARATOR ',') AS CHG_CURR_STOCK_QTY
-		     , GROUP_CONCAT(Z.SOLDOUT_YN ORDER BY Z.DISP_ORD SEPARATOR ',') AS CHG_SOLDOUT_YN
+		     , GROUP_CONCAT(Z.SOLDOUT_YN ORDER BY Z.DISP_ORD SEPARATOR ',')     AS CHG_SOLDOUT_YN
 		  FROM (SELECT O.ORD_NO
 		             , OD.ORD_DTL_NO
 		             , ODI.ORD_DTL_ITEM_SQ
 		             , ODI.ITEM_CD
+		             , ODI.OPT_CD
 		             , ODI.OPT_CD1
 		             , ODI.OPT_CD2
 		             , IFNULL((SELECT COLOR_KNM FROM TB_COLOR WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G1.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
 		             , OD.GOODS_TYPE
 		             , G1.SELF_GOODS_YN
-		             , G2.GOODS_NM AS ITEM_NM
+		             , G2.GOODS_NM                           AS ITEM_NM
 		             , G2.GOODS_STAT
-		             , OP.OPT_CD2 AS CHG_OPT_CD2
+		             , OP.OPT_CD                             AS CHG_OPT_CD
+		             , OP.OPT_CD2                            AS CHG_OPT_CD2
 		             , OP.SOLDOUT_YN
 		             , OP.DISP_ORD
 		             , VS.CURR_STOCK_QTY - VS.BASE_STOCK_QTY AS CURR_STOCK_QTY

+ 11 - 3
src/main/webapp/WEB-INF/views/mob/mypage/ChangeOptionPopupFormMob.html

@@ -8,6 +8,7 @@
 				<ul>
 					<!-- 자사일때 opt2 교환 -->
 					<th:block th:if="${oneData.selfGoodsYn == 'Y'}">
+						<input type="hidden" name="chgOptCd" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd}">
 						<input type="hidden" name="chgOptCd2" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd2}">
 						<li>
 							<div class="option_name">
@@ -20,7 +21,9 @@
 							</div>
 							<div class="option_box">
 								<th:block th:if="${oneData.optCd2Arr.length > 0}" th:each="option, idx : ${oneData.optCd2Arr}">
-									<button type="button" class="btn btn_default" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">
+									<!-- 2021.07.26 교환옵션 optCd2 -> optCd로 변경 처리 -->
+<!--									<button type="button" class="btn btn_default" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">-->
+									<button type="button" class="btn btn_default" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${oneData.optCdArr[idx.index]}" th:attr="optCd2=${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">
 										<span th:text="${option}"></span>
 									</button>
 								</th:block>
@@ -71,12 +74,13 @@
 		<div class="popup_con">
 			<div class="button_list">
 				<th:block th:each="option, idx : ${oneData.optCd2Arr}">
-					<button type="button" th:disabled="${oneData.optCd2Arr.length} > 0 and (${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} <= 0 or ${oneData.soldoutYnArr[idx.index]} == 'Y')" th:attr="optCd2=${option}" th:checked="${oneData.optCd2 == option}" onclick="fnSelectOption(this);">
+					<button type="button" th:disabled="${oneData.optCd2Arr.length} > 0 and (${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} <= 0 or ${oneData.soldoutYnArr[idx.index]} == 'Y')" th:attr="optCd=${oneData.optCdArr[idx.index]}, optCd2=${option}" th:checked="${oneData.optCd2 == option}" onclick="fnSelectOption(this);">
 						<span th:text="${option}"></span>
 					</button>
 					</th:block>
 				</th:block>
 			</div>
+			<input type="hidden" name="chgOptCd" th:unless="${oneData.selfGoodsYn == 'Y'}" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd}" />
 			<input type="hidden" name="chgOptCd2" th:unless="${oneData.selfGoodsYn == 'Y'}" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd2}" />
 		</div>
 	</div>
@@ -103,12 +107,14 @@ $(document).ready( function() {
 
 // 라디오 클릭 이벤트
 var fnRadioOption = function(param) {
-	$(param).parent().parent().parent().find('input[name=chgOptCd2]').val($(param).val());
+	$(param).parent().parent().parent().find('input[name=chgOptCd]').val($(param).val());
+	$(param).parent().parent().parent().find('input[name=chgOptCd2]').val($(param).attr('optCd2'));
 }
 
 // 셀렉트박스 클릭 이벤트
 var fnSelectOption = function(param) {
 	$("#exchangePop .option_list .option_select .select_custom.select_option .select").text($(param).attr('optCd2'));
+	$(param).parent().parent().find('input[name=chgOptCd]').val($(param).attr('optCd'));
 	$(param).parent().parent().find('input[name=chgOptCd2]').val($(param).attr('optCd2'));
 	$('.exchangeOptionPop').hide().removeClass('active');
 }
@@ -123,6 +129,7 @@ var fnSaveOption = function() {
 		let colorNm 		= $(item).attr('colorNm');
 		let itemNm 			= $(item).attr('itemNm');
 		let goodsType 		= $(item).attr('goodsType');
+		let chgOptCd		= $(item).parent().find('input[name=chgOptCd]').val();
 		let chgOptCd2 		= $(item).val();
 
 		let data 			= {};
@@ -132,6 +139,7 @@ var fnSaveOption = function() {
 		data.colorNm 		= colorNm;
 		data.itemNm 		= itemNm;
 		data.goodsType 		= goodsType;
+		data.chgOptCd		= chgOptCd;
 		data.chgOptCd2 		= chgOptCd2;
 		dataArr.push(data);
 	});

+ 3 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberExchangeFormMob.html

@@ -448,7 +448,9 @@ var fnExchange = function() {
 				cancelReq.supplyCompCd 		= supplyCompCd;
 				cancelReq.excDelvFee 		= excDelvFee;
 				cancelReq.rtnDelvFee 		= rtnDelvFee;
-				cancelReq.ordChgOpt 		= chgOpt.chgOptCd2;
+				// 2021.07.26 교환옵션 optCd2 -> optCd로 변경 처리
+				//cancelReq.ordChgOpt 		= chgOpt.chgOptCd2;
+				cancelReq.ordChgOpt 		= chgOpt.chgOptCd;
 				cancelReq.chgQty 			= chgOpt.chgQty;
 				cancelReqList.push(cancelReq);
 			});

+ 13 - 6
src/main/webapp/WEB-INF/views/web/mypage/ChangeOptionPopupFormWeb.html

@@ -13,10 +13,13 @@
 						<div class="select_blk">
 							<!-- 옵션교환 라디오 형태 -->
 							<div class="sel_radio" th:if="${oneData.selfGoodsYn == 'Y'}">
+								<input type="hidden" name="chgOptCd" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd}">
 								<input type="hidden" name="chgOptCd2" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd2}">
 								<div th:class="|form_field ${oneData.ordDtlItemSq}|">
 									<div th:if="${oneData.optCd2Arr.length > 0}" th:each="option, idx : ${oneData.optCd2Arr}">
-										<input type="radio" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">
+										<!-- 2021.07.26 교환옵션 optCd2 -> optCd로 변경 처리 -->
+<!--										<input type="radio" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">-->
+										<input type="radio" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${oneData.optCdArr[idx.index]}" th:attr="optCd2=${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">
 										<label th:for="|${oneData.ordDtlItemSq}_${option}|"><span th:text="${option}"></span></label>
 									</div>
 								</div>
@@ -27,14 +30,14 @@
 								<div class="form_field">
 									<div class="select_custom exchange_option">
 										<div class="combo">
-											<input type="hidden" name="chgOptCd2" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd2}">
+											<input type="hidden" name="chgOptCd2" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd}">
 											<div class="select" th:text="${oneData.optCd2}"></div>
 											<ul class="list">
 												<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가  -->
 <!--												<li class="selected" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, optCd2=''" onclick="fnSelectOption(this);">옵션 선택</li>-->
 												<th:block th:each="option, idx : ${oneData.optCd2Arr}">
-													<li th:if="${oneData.optCd2Arr.length} > 0 and (${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} <= 0 or ${oneData.soldoutYnArr[idx.index]} == 'Y')" th:classappend="${option == oneData.optCd2} ? 'selected'" th:text="${option}" aria-disabled="true" data-soldout="true" th:attr="optCd2=''" onclick="fnSelectOption(this);"></li>
-													<li th:if="${oneData.optCd2Arr.length} > 0 and ${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} > 0 and ${oneData.soldoutYnArr[idx.index]} == 'N'" th:classappend="${option == oneData.optCd2} ? 'selected'" th:text="${option}" th:attr="optCd2=${option}" onclick="fnSelectOption(this);"></li>
+													<li th:if="${oneData.optCd2Arr.length} > 0 and (${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} <= 0 or ${oneData.soldoutYnArr[idx.index]} == 'Y')" th:classappend="${option == oneData.optCd2} ? 'selected'" th:text="${option}" aria-disabled="true" data-soldout="true" th:attr="optCd2='', optCd=''" onclick="fnSelectOption(this);"></li>
+													<li th:if="${oneData.optCd2Arr.length} > 0 and ${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} > 0 and ${oneData.soldoutYnArr[idx.index]} == 'N'" th:classappend="${option == oneData.optCd2} ? 'selected'" th:text="${option}" th:attr="optCd2=${option}, optCd=${oneData.optCdArr[idx.index]}" onclick="fnSelectOption(this);"></li>
 												</th:block>
 											</ul>
 										</div>
@@ -65,11 +68,13 @@
 
 	// 라디오 클릭 이벤트
 	var fnRadioOption = function(param) {
-		$(param).parent().parent().parent().find('input[name=chgOptCd2]').val($(param).val());
+		$(param).parent().parent().parent().find('input[name=chgOptCd]').val($(param).val());
+		$(param).parent().parent().parent().find('input[name=chgOptCd2]').val($(param).attr('optCd2'));
 	}
 
 	// 셀렉트박스 클릭 이벤트
 	var fnSelectOption = function(param) {
+		$(param).parent().parent().find('input[name=chgOptCd]').val($(param).attr('optCd'));
 		$(param).parent().parent().find('input[name=chgOptCd2]').val($(param).attr('optCd2'));
 	}
 	
@@ -83,6 +88,7 @@
 			let colorNm = $(item).attr('colorNm');
 			let itemNm = $(item).attr('itemNm');
 			let goodsType = $(item).attr('goodsType');
+			let chgOptCd = $(item).parent().find('input[name=chgOptCd]').val();
 			let chgOptCd2 = $(item).val();
 
 			let data = {};
@@ -92,10 +98,11 @@
 			data.colorNm = colorNm;
 			data.itemNm = itemNm;
 			data.goodsType = goodsType;
+			data.chgOptCd = chgOptCd;
 			data.chgOptCd2 = chgOptCd2;
 			dataArr.push(data);
 		});
-console.log(dataArr);
+
 		fnChangeOptionCallback(dataArr)
 
 		$('.close-modal').trigger('click');

+ 3 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageExchangeFormWeb.html

@@ -440,7 +440,9 @@
 					cancelReq.supplyCompCd = supplyCompCd;
 					cancelReq.excDelvFee = excDelvFee;
 					cancelReq.rtnDelvFee = rtnDelvFee;
-					cancelReq.ordChgOpt = chgOpt.chgOptCd2;
+					// 2021.07.26 교환옵션 optCd2 -> optCd로 변경 처리
+					//cancelReq.ordChgOpt = chgOpt.chgOptCd2;
+					cancelReq.ordChgOpt = chgOpt.chgOptCd;
 					cancelReq.chgQty = chgOpt.chgQty;
 					cancelReqList.push(cancelReq);
 				});