Преглед на файлове

Merge branch 'card007' into develop

card007 преди 4 години
родител
ревизия
3570c156f0

+ 6 - 4
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -150,10 +150,12 @@ public class TsfOrderService {
 				&& !TscConstants.OrderDetailStat.DEPOSIT_WAIT.value().equals(tmpOrder.getOrdDtlStat())
 				&& !TscConstants.OrderDetailStat.PAYMENT_COMPLETE.value().equals(tmpOrder.getOrdDtlStat())
 				&& !TscConstants.OrderDetailStat.GOODS_PREPARE.value().equals(tmpOrder.getOrdDtlStat())) {
-				// 2021.06.28 취소수량 존재 시 전체취소 불가 처리
-				if (tmpOrder.getCnclRtnQty() > 0) {
-					allCanYn = "N";
-				}
+				allCanYn = "N";
+			}
+
+			// 2021.06.28 취소수량 존재 시 전체취소 불가 처리
+			if ("Y".equals(allCanYn) && tmpOrder.getCnclRtnQty() > 0) {
+				allCanYn = "N";
 			}
 
 			// 전체 구매확정 가능 여부 설정

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml

@@ -108,7 +108,7 @@
 		                 WHERE Z.SHIP_COMP_CD = OD.SHIP_COMP_CD)                        AS SHIP_COMP_NM
 		             , OD.INVOICE_NO
 		             , OD.SUPPLY_COMP_CD
-		             , OD.DELV_FEE_CD
+		             , IF(G.SELF_GOODS_YN = 'Y', 'WMS', OD.DELV_FEE_CD)                 AS DELV_FEE_CD
 		             , OD.SHOT_DELV_YN
 		             , OD.CHANGEABLE_YN
 		             , OD.RETURNABLE_YN

+ 21 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml

@@ -146,15 +146,22 @@
 			</otherwise>
 		</choose>
 		<if test="delvFeeCd != null and delvFeeCd != ''">
+			<choose>
+				<when test="delvFeeCd == 'WMS'">
+		           AND G.SELF_GOODS_YN = 'Y'
+				</when>
+				<otherwise>
 		           AND OD.DELV_FEE_CD = #{delvFeeCd}
+				</otherwise>
+			</choose>
 		</if>
 		           AND O.DISP_YN = 'Y'
 		           AND OD.ORD_QTY - OD.CNCL_RTN_QTY > 0
 		       ) Z
 		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.ORD_NM, Z.ORD_PHNNO, Z.GIFT_ADDR_INP_YN, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
 		        , Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT
-		        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.SHIP_COMP_CD, Z.GIFT_PACK_YN, Z.SHIP_COMP_NM, Z.INVOICE_NO
-		        , Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM
+		        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.SHIP_COMP_CD, Z.GIFT_PACK_YN , Z.SHIP_COMP_NM
+		        , Z.INVOICE_NO, Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM
 		        , Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY, Z.BANK_CD, Z.ACCOUNT_NO, Z.ACCOUNT_NM
 		 ORDER BY Z.ORD_NO DESC, Z.ORD_DTL_STAT, Z.SELF_GOODS_YN DESC, Z.SHOT_DELV_YN DESC, Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD
 	</select>
@@ -303,7 +310,14 @@
 		           AND O.ORD_NO = #{ordNo}
 		</if>
 		<if test="delvFeeCd != null and delvFeeCd != ''">
+			<choose>
+				<when test="delvFeeCd == 'WMS'">
+		           AND G.SELF_GOODS_YN = 'Y'
+				</when>
+				<otherwise>
 		           AND OD.DELV_FEE_CD = #{delvFeeCd}
+				</otherwise>
+			</choose>
 		</if>
 		<choose>
 			<when test="chgGb == 'G680_30'">
@@ -456,6 +470,8 @@
 		     , Z.ADD_PAY_COST
 		     , Z.SYS_IMG_NM
 		     , Z.GIFT_PACK_YN
+		     , Z.GIFT_ADDR_INP_YN
+		     , Z.GIFT_CANCEL_DAY
 		     , Z.REFUND_AMT
 		  FROM (SELECT OC.ORD_CHG_SQ
 		             , OC.CHG_GB
@@ -486,6 +502,8 @@
 		             , CASE WHEN G1.GOODS_TYPE != 'G056_S' AND G1.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
 		                    ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = IFNULL(G1.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
 		             , OD.GIFT_PACK_YN
+		             , OD.GIFT_ADDR_INP_YN
+		             , TIMESTAMPDIFF(DAY, O.ORD_DT, OCDH.REG_DT)                        AS GIFT_CANCEL_DAY
 		             , R.REFUND_AMT
 		          FROM TB_ORDER_CHANGE OC
 		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
@@ -598,7 +616,7 @@
 		</if>
 		  ) Z
 		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_ORD_DTL_NO, Z.CHG_STAT, Z.CHG_STAT_NM, Z.ORD_NO, Z.ORD_DTL_NO, Z.GOODS_CD, Z.BRAND_NM
-		        , Z.SHOT_DELV_YN, Z.SELF_GOODS_YN, Z.GOODS_NM, Z.GOODS_TYPE, Z.LIST_PRICE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.REFUND_AMT
+		        , Z.SHOT_DELV_YN, Z.SELF_GOODS_YN, Z.GOODS_NM, Z.GOODS_TYPE, Z.LIST_PRICE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.GIFT_ADDR_INP_YN, Z.GIFT_CANCEL_DAY, Z.REFUND_AMT
 		 ORDER BY Z.ORD_CHG_SQ DESC
 	</select>
 

+ 10 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreCancelDetailFormMob.html

@@ -39,7 +39,11 @@
 				<th:block th:if="${cancelDetailList.cancelDetailList}" th:each="cancelDtl, status : ${cancelDetailList.cancelDetailList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 					<div class="goods_section">
 						<div class="goods_status">
-							<p class="dlvr_staus" 	th:if="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}">주문취소</p>
+							<!-- 2021.07.01 선물하기 기간완료 처리 -->
+							<th:block th:if="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}">
+								<p class="dlvr_staus"	th:if="${cancelDtl.giftPackYn == 'Y' and cancelDtl.giftAddrInpYn == 'N' and cancelDtl.giftCancelDay >= 3}">선물취소</p>
+								<p class="dlvr_staus"	th:unless="${cancelDtl.giftPackYn == 'Y' and cancelDtl.giftAddrInpYn == 'N' and cancelDtl.giftCancelDay >= 3}">주문취소</p>
+							</th:block>
 							<p class="dlvr_staus" 	th:unless="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}" th:text="${cancelDtl.chgStatNm}"></p>
 							<p class="dlvr_desc" 	th:text="|${cancelDtl.chgDate} ${cancelDtl.chgTime}|"></p>
 						</div>
@@ -96,6 +100,11 @@
 								</button>
 							</div>
 						</div>
+						<th:block th:if="${cancelDtl.giftPackYn == 'Y' and cancelDtl.giftAddrInpYn == 'N' and cancelDtl.giftCancelDay >= 3 and cancelDtl.chgStat == 'G685_18'}">
+							<div class="goods_txt">
+								<p class="cf_txt cf_desc">주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p>
+							</div>
+						</th:block>
 					</div>
 				</th:block>
 			</div>

+ 13 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListInfoMob.html

@@ -20,7 +20,11 @@
 					<div class="goods_section">
 						<div class="goods_status">
 							<!-- 상태값 처리 -->
-							<p class="dlvr_staus" th:if="${cre.chgStat == 'G685_17' or cre.chgStat == 'G685_18'}">주문취소</p>
+							<th:block th:if="${cre.chgStat == 'G685_17' or cre.chgStat == 'G685_18'}">
+								<!-- 2021.07.01 선물하기 기간완료 처리 -->
+								<p class="dlvr_staus" th:if="${cre.giftPackYn == 'Y' and cre.giftAddrInpYn == 'N' and cre.giftCancelDay >= 3}">선물취소</p>
+								<p class="dlvr_staus" th:unless="${cre.giftPackYn == 'Y' and cre.giftAddrInpYn == 'N' and cre.giftCancelDay >= 3}">주문취소</p>
+							</th:block>
 							<th:block th:if="${cre.chgStat == 'G685_40'}" th:each="exchange, index : ${creList.exchangeOptionList}">
 								<p class="dlvr_staus" th:if="${cre.chgOrdDtlNo == exchange.ordDtlNo && (exchange.ordDtlStat == 'G013_20' or exchange.ordDtlStat == 'G013_30' or exchange.ordDtlStat == 'G013_35' or exchange.ordDtlStat == 'G013_40' or exchange.ordDtlStat == 'G013_50')}">교환진행중</p>
 								<p class="dlvr_staus" th:if="${cre.chgOrdDtlNo == exchange.ordDtlNo && (exchange.ordDtlStat == 'G013_60' or exchange.ordDtlStat == 'G013_70')}">교환완료</p>
@@ -157,6 +161,14 @@
 						<!-- //취소,반품,교환 상태별 버튼기능정의 -->
 						
 						<!-- 취소,반품,교환 상태별 문구정의 -->
+						<!-- 선물취소 -->
+						<!-- 2021.07.01 선물하기 기간완료 처리 -->
+						<th:block th:if="${cre.giftPackYn == 'Y' and cre.giftAddrInpYn == 'N' and cre.giftCancelDay >= 3 and cre.chgStat == 'G685_18'}">
+							<div class="goods_txt">
+								<p class="cf_txt cf_desc">주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p>
+							</div>
+						</th:block>
+						<!-- //선물취소 -->
 						<!-- 교환접수 -->
 						<th:block th:if="${cre.chgStat} == 'G685_20'">
 							<div class="goods_txt">

+ 0 - 14
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListInfoMob.html

@@ -33,12 +33,6 @@
 									<p class="dlvr_staus">선물 완료</p>
 								</th:block>
 								<!-- //배송지등록완료, 결제전취소, 결제후취소 아닐경우 -->
-								
-								<!-- 선물 취소 -->
-								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_98' and ${ordDtl.ordDtlStat} == 'G013_99'">
-									<p class="dlvr_staus">선물 취소</p>
-								</th:block>
-								<!-- //선물 취소 -->
 							</th:block>
 							<!-- //선물배송일때 -->
 							
@@ -480,14 +474,6 @@
 								</th:block>
 							</th:block>
 							<!-- //배송지등록완료, 결제전취소, 결제후취소 아닐경우 -->
-							
-							<!-- 선물 취소 -->
-							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_98' and ${ordDtl.ordDtlStat} == 'G013_99'">
-								<div class="goods_txt">
-									<p class="cf_txt cf_desc">주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p>
-								</div>
-							</th:block>
-							<!-- //선물 취소 -->
 						</th:block>
 						<!-- //선물배송일때 -->
 						<!-- //상태문구정리 -->

+ 0 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html

@@ -651,7 +651,6 @@ var fnChangeReturnQty = function(param) {
 
 		let data 				= {};
 		data.ordNo 				= oneData.ordNo;
-		data.delvFeeCd 			= oneData.delvFeeCd;
 		data.chgGb 				= 'G680_30';
 		data.ordDtlNoArr 		= ordDtlNoArr;
 		data.cnclRtnReqQtyArr 	= cnclRtnReqQtyArr;

+ 0 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberReturnFormMob.html

@@ -656,7 +656,6 @@ var fnChangeReturnQty = function(param) {
 
 		let data 				= {};
 		data.ordNo 				= oneData.ordNo;
-		data.delvFeeCd 			= oneData.delvFeeCd;
 		data.chgGb 				= 'G680_30';
 		data.ordDtlNoArr 		= ordDtlNoArr;
 		data.cnclRtnReqQtyArr 	= cnclRtnReqQtyArr;

+ 7 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCreCancelDetailFormWeb.html

@@ -79,7 +79,10 @@
 										</div>
 										<div class="status_box">
 											<p>
-												<th:block th:if="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}" th:text="|주문취소|"></th:block>
+												<th:block th:if="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}">
+													<th:block th:if="${cancelDtl.giftPackYn == 'Y' and cancelDtl.giftAddrInpYn == 'N' && cancelDtl.giftCancelDay >= 3}" th:text="|선물취소|"></th:block>
+													<th:block th:unless="${cancelDtl.giftPackYn == 'Y' and cancelDtl.giftAddrInpYn == 'N' && cancelDtl.giftCancelDay >= 3}" th:text="|주문취소|"></th:block>
+												</th:block>
 												<th:block th:unless="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}" th:text="${cancelDtl.chgStatNm}"></th:block>
 												<span class="date" th:text="${cancelDtl.chgDate}"></span>
 												<span class="time" th:text="${cancelDtl.chgTime}"></span>
@@ -89,6 +92,9 @@
 											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>
 										</div>
 									</div>
+
+									<!-- 선물취소 -->
+									<div class="order_text" th:if="${cancelDtl.giftPackYn == 'Y' && cancelDtl.giftAddrInpYn == 'N' && cancelDtl.giftCancelDay >= 3 && cancelDtl.chgStat == 'G685_18'}"><p>주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p></div>
 								</div>
 							</th:block>
 							<!-- //주문상품 -->

+ 10 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html

@@ -423,7 +423,12 @@
 					tag += '										<div class="status_box">\n';
 					tag += '											<p>\n';
 					if (cre.chgStat == 'G685_17' || cre.chgStat == 'G685_18') {
-						tag += '												주문취소\n';
+						// 2021.07.01 선물하기 기간완료 처리
+						if (cre.giftPackYn == 'Y' && cre.giftAddrInpYn == 'N' && cre.giftCancelDay >= 3) {
+							tag += '												선물취소\n';
+						} else {
+							tag += '												주문취소\n';
+						}
 					} else if (cre.chgStat == 'G685_40') {
 						$.each(creList.exchangeOptionList, function(index, exchange) {
 							if (cre.chgOrdDtlNo == exchange.ordDtlNo && (exchange.ordDtlStat == 'G013_20' || exchange.ordDtlStat == 'G013_30' || exchange.ordDtlStat == 'G013_35' || exchange.ordDtlStat == 'G013_40' || exchange.ordDtlStat == 'G013_50')) {
@@ -467,6 +472,10 @@
 					//}
 					// cre.chgGb == 'G680_30' : 반품
 					// cre.chgGb == 'G680_40' : 교환
+					// 2021.07.01 선물하기 기간완료 처리
+					if (cre.giftPackYn == 'Y' && cre.giftAddrInpYn == 'N' && cre.giftCancelDay >= 3 && cre.chgStat == 'G685_18') {
+						tag += '									<div class="order_text"><p>주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p></div>\n';
+					}
 					// 교환접수
 					if (cre.chgStat == 'G685_20') {
 						tag += '									<div class="order_text"><p>교환 신청이 접수 되었습니다. 신속하게 처리하여 드리겠습니다.</p></div>\n';

+ 0 - 7
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html

@@ -474,8 +474,6 @@
 							tag += '											<p>주소 입력 대기중</p>\n';
 						} else if (ordDtl.giftAddrInpYn == 'Y' && ordDtl.ordDtlStat != 'G013_98' && ordDtl.ordDtlStat != 'G013_99') {
 							tag += '											<p>선물 완료</p>\n';
-						} else if (ordDtl.ordDtlStat == 'G013_98' || ordDtl.ordDtlStat == 'G013_99' || ordDtl.giftLimitDay < 0) {
-							tag += '											<p>선물 취소</p>\n';
 						}
 					} else if (ordDtl.ordDtlStat == 'G013_10') {
 						tag += '											<p>주문접수</p>\n';
@@ -572,11 +570,6 @@
 						if (ordDtl.giftAddrInpYn == 'Y' && ordDtl.ordDtlStat != 'G013_98' && ordDtl.ordDtlStat != 'G013_99') {
 							tag += '									<div class="order_text"><p>' + ordDtl.recipNm + '님께 선물이 발송되었습니다.</p></div>\n';
 						}
-						
-						// 선물 취소
-						if (ordDtl.ordDtlStat == 'G013_98' && ordDtl.ordDtlStat == 'G013_99') {
-							tag += '									<div class="order_text"><p>주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p></div>\n';
-						}
 					} else {
 						// 주문 접수
 						if (ordDtl.ordDtlStat == 'G013_10') {

+ 0 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html

@@ -497,7 +497,6 @@
 
 			let data = {};
 			data.ordNo = oneData.ordNo;
-			data.delvFeeCd = oneData.delvFeeCd;
 			data.chgGb = 'G680_30';
 			data.ordDtlNoArr = ordDtlNoArr;
 			data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;

+ 0 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberReturnFormWeb.html

@@ -500,7 +500,6 @@
 			data.ordNm = oneData.ordNm;
 			data.ordPhnno = oneData.ordPhnno;
 			data.chgGb = 'G680_30';
-			data.delvFeeCd = oneData.delvFeeCd;
 			data.ordDtlNoArr = ordDtlNoArr;
 			data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;