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

Merge remote-tracking branch 'origin/develop' into jsh77b

tsit14 4 лет назад
Родитель
Сommit
26ea59a129
25 измененных файлов с 226 добавлено и 119 удалено
  1. 12 3
      src/main/java/com/style24/front/biz/service/TsfOrderService.java
  2. 17 7
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  3. 1 0
      src/main/java/com/style24/front/biz/web/TsfNoMemberController.java
  4. 16 37
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  5. 5 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml
  6. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html
  7. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListInfoMob.html
  8. 12 4
      src/main/webapp/WEB-INF/views/mob/mypage/MypageDeliveryInfoFormMob.html
  9. 13 5
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  10. 24 7
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListInfoMob.html
  11. 18 7
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html
  12. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreListInfoMob.html
  13. 9 4
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberDeliveryInfoFormMob.html
  14. 16 5
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html
  15. 18 7
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListInfoMob.html
  16. 4 3
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html
  17. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html
  18. 7 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageDeliveryInfoFormWeb.html
  19. 10 4
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html
  20. 9 3
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html
  21. 4 3
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html
  22. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreListFormWeb.html
  23. 7 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberDeliveryInfoFormWeb.html
  24. 10 5
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html
  25. 8 3
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html

+ 12 - 3
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -111,6 +111,7 @@ public class TsfOrderService {
 		Collection<Order> ordDtlList = new ArrayList<>();
 		String allCanYn = "Y";
 		String allDecideYn = "Y";
+		String canChgAddr = "Y";
 		int ordNo = 0;
 		int index = 0;
 		int ordReqChgQty = 0;
@@ -132,7 +133,7 @@ public class TsfOrderService {
 
 			// 주문 목록 데이터 설정
 			if (index > 0 && ordNo != tmpOrder.getOrdNo()) {
-				orderList.add(setOrderMap(ordDtlList, allCanYn, allDecideYn, ordReqChgQty));
+				orderList.add(setOrderMap(ordDtlList, allCanYn, allDecideYn, ordReqChgQty, canChgAddr));
 
 				ordDtlList = new ArrayList<>();
 				ordDtlList.add(tmpOrder);
@@ -163,19 +164,26 @@ public class TsfOrderService {
 				&& (!TscConstants.OrderDetailStat.DELIVERY_COMPLETE.value().equals(tmpOrder.getOrdDtlStat()) || ordReqChgQty > 0)) {
 				allDecideYn = "N";
 			}
+			
+			// 배송지 수정 가능 여부 설정
+			if ("Y".equals(canChgAddr)
+				&& !TscConstants.OrderDetailStat.DEPOSIT_WAIT.value().equals(tmpOrder.getOrdDtlStat())
+				&& !TscConstants.OrderDetailStat.PAYMENT_COMPLETE.value().equals(tmpOrder.getOrdDtlStat())) {
+				canChgAddr = "N";
+			}
 
 			ordNo = tmpOrder.getOrdNo();
 			index++;
 		}
 
 		if (ordDtlList.size() > 0) {
-			orderList.add(setOrderMap(ordDtlList, allCanYn, allDecideYn, ordReqChgQty));
+			orderList.add(setOrderMap(ordDtlList, allCanYn, allDecideYn, ordReqChgQty, canChgAddr));
 		}
 		
 		return orderList;
 	}
 	
-	private GagaMap setOrderMap(Collection<Order> ordDtlList, String allCanYn, String allDecideYn, int ordReqChgQty) {
+	private GagaMap setOrderMap(Collection<Order> ordDtlList, String allCanYn, String allDecideYn, int ordReqChgQty, String canChgAddr) {
 		Order order = ordDtlList.iterator().next();
 
 		GagaMap map = new GagaMap();
@@ -188,6 +196,7 @@ public class TsfOrderService {
 		map.set("ordReqChgQty", ordReqChgQty);
 		map.set("oneData", order);
 		map.set("ordDtlList", ordDtlList);
+		map.set("canChgAddr", canChgAddr);
 
 		return map;
 	}

+ 17 - 7
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -21,6 +21,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
+import com.gagaframework.web.rest.server.GagaResponseStatus;
+import com.gagaframework.web.util.GagaCookieUtil;
 import com.style24.core.biz.service.TscCouponService;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscEnvsetService;
@@ -70,11 +74,6 @@ import com.style24.persistence.domain.WishList;
 
 import lombok.extern.slf4j.Slf4j;
 
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.rest.server.GagaResponse;
-import com.gagaframework.web.rest.server.GagaResponseStatus;
-import com.gagaframework.web.util.GagaCookieUtil;
-
 /**
  * 마이페이지 Controller
  * 
@@ -167,6 +166,9 @@ public class TsfMypageController extends TsfBaseController {
 	@Autowired
 	private TsfLoginService loginService;
 
+	@Autowired
+	private TscEnvsetService coreEnvsetService;
+
 	/**
 	 * 마이페이지 메인 화면
 	 *
@@ -267,6 +269,7 @@ public class TsfMypageController extends TsfBaseController {
 		Order order = new Order();
 		order.setCustNo(custNo);
 		order.setOrdNo(ordNo);
+		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 
 		// 주문목록 조회
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
@@ -280,6 +283,7 @@ public class TsfMypageController extends TsfBaseController {
 		mav.addObject("oneData", orderList.iterator().next().get("oneData"));
 		mav.addObject("allCanYn", orderList.iterator().next().get("allCanYn"));
 		mav.addObject("allDecideYn", orderList.iterator().next().get("allDecideYn"));
+		mav.addObject("canChgAddr", orderList.iterator().next().get("canChgAddr"));
 
 		// 주문정보 조회
 		mav.addObject("orderInfo", coreOrderService.getOrderInfoList(order).iterator().next());
@@ -338,6 +342,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		if (ordNoList.size() > 0) {
 			order.setOrdNoList(ordNoList.stream().mapToInt(Integer::intValue).toArray());
+			order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 			map.set("orderList", orderService.getOrderListForMypage(order));
 		}
 
@@ -1447,6 +1452,7 @@ public class TsfMypageController extends TsfBaseController {
 		mav.addObject("isLogin", TsfSession.isLogin());
 
 		// 주문목록 조회
+		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
 
 		if (orderList.size() == 0) {
@@ -2443,7 +2449,8 @@ public class TsfMypageController extends TsfBaseController {
 		if (ordNoList.size() > 0) {
 			order.setOrdNoList(ordNoList.stream().mapToInt(Integer::intValue).toArray());
 		}
-		
+
+		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
 				
 		mav.addObject("orderList"		, 	orderList);
@@ -2475,6 +2482,8 @@ public class TsfMypageController extends TsfBaseController {
 		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
 		order.setPageable(pageable);
 
+		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
+
 		result.set("paging"		, order);
 		result.set("totalCnt"	, totalCnt);
 		result.set("endRow"		, pageable.getEndRow());
@@ -2526,8 +2535,9 @@ public class TsfMypageController extends TsfBaseController {
 		// 주문목록조회
 		ModelAndView mav = new ModelAndView();
 
+		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
-		
+
 		mav.addObject("orderList"		, 	orderList);
 		mav.addObject("orderListCnt"	, 	orderList.size());
 		mav.addObject("pageNo"			, 	order.getPageNo());

+ 1 - 0
src/main/java/com/style24/front/biz/web/TsfNoMemberController.java

@@ -224,6 +224,7 @@ public class TsfNoMemberController extends TsfBaseController {
 		mav.addObject("orderList", orderList);
 		mav.addObject("oneData", orderList.iterator().next().get("oneData"));
 		mav.addObject("allCanYn", orderList.iterator().next().get("allCanYn"));
+		mav.addObject("canChgAddr", orderList.iterator().next().get("canChgAddr"));
 
 		// 주문정보 조회
 		mav.addObject("orderInfo", coreOrderService.getOrderInfoList(order).iterator().next());

+ 16 - 37
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -1862,7 +1862,7 @@
 		                 , G.GOODS_CD                                               /*상품코드*/
 		                 , G.GOODS_NM                                               /*상품명*/
 		                 , G.GOODS_GB                                               /*상품구분*/
-		                 , G.SELF_GOODS_YN      /*자사상품여부*/
+		                 , G.SELF_GOODS_YN                                          /*자사상품여부*/
 		                 , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
 		                 , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
 		                 , G.ORDER_MADE_YN                                          /*주문제작여부*/
@@ -1870,62 +1870,41 @@
 		                 , G.MAIN_COLOR_CD                                          /*대표색상코드*/
 		                 , G.LIST_PRICE                                             /*정상가(최초판매가)*/
 		                 , G.CURR_PRICE                                             /*현재판매가*/
-		                <choose>
-		                	<when test="brandGroupNo != null and brandGroupNo != ''">
-		                		, G.REG_DT                                                 /*등록일시*/
-		                	</when>
-		                	<otherwise>
-		                		, CG.REG_DT
-		                	</otherwise>
-		                </choose>
-		            FROM   TB_CATE_4SRCH C4
-		            <choose>
-		                <when test="brandGroupNo != null and brandGroupNo != ''">
-		                , TB_CATE_GOODS CG
-		                </when>
-		                <otherwise>
-		                , TB_CATE_GOODS_RECENT CG
-		                </otherwise>
-		            </choose>
+		                 , RRG.DISP_ORD                                             /*노출순서*/
+		            FROM   TB_RECENT_REG_GOODS RRG
 		                 , TB_GOODS G
 		                 , TB_GOODS_STOCK GS
 		                 , TB_BRAND B
 		                 , TB_BRAND_GROUP BG
-		            WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
-		            AND    CG.GOODS_CD = G.GOODS_CD
-		            AND    CG.GOODS_CD = GS.GOODS_CD
+		            WHERE  RRG.GOODS_CD = G.GOODS_CD
+		            AND    RRG.GOODS_CD = GS.GOODS_CD
 		            AND    G.BRAND_CD = B.BRAND_CD
 		            AND    B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-		            AND    C4.SITE_CD = #{siteCd}
-		            AND    C4.CATE_GB = #{cateGb}
-		            AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		            <if test="(cate1No == null or cate1No == '') and (brandGroupNo == null or brandGroupNo == '')">
+		            AND    RRG.MAIN_GB = 'M' /*몰메인*/
+		            </if>
 		            <if test="cate1No != null and cate1No != ''">
-		            AND    C4.CATE1_NO = #{cate1No}
+		            AND    RRG.MAIN_GB = 'C' /*카테고리메인*/
+		            AND    RRG.CATE_BGRP_NO = #{cate1No}
 		            </if>
 		            <if test="brandGroupNo != null and brandGroupNo != ''">
-		            AND    B.BRAND_GROUP_NO = #{brandGroupNo}
+		            AND    RRG.MAIN_GB = 'B' /*브랜드메인*/
+		            AND    RRG.CATE_BGRP_NO = #{brandGroupNo}
 		            </if>
 		            <if test="exceptGoodsArr != null and exceptGoodsArr.length > 0">
-		            AND	   G.GOODS_CD NOT IN
+		            AND	   RRG.GOODS_CD NOT IN
 		                <foreach collection="exceptGoodsArr" item="item" index="index"  open="(" close=")" separator=",">
 		                #{item}
 		                </foreach>
 		            </if>
 		            AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		            AND    G.FORMAL_GB = 'G009_10' /*정상상품*/
-		            AND    G.SELF_MALL_YN = 'Y'   /*몰노출상품*/
-		            AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT   /*판매기간*/
+		            AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		            AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
 		            AND    GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
 		            AND    B.USE_YN = 'Y'
 		            AND    BG.USE_YN = 'Y'
-		        <choose>
-		        	<when test="brandGroupNo != null and brandGroupNo != ''">
-		        		ORDER BY G.REG_DT DESC, G.GOODS_CD
-		        	</when>
-		        	<otherwise>
-		        		ORDER BY CG.REG_DT DESC
-		        	</otherwise>
-		        </choose>
+		            ORDER  BY RRG.DISP_ORD
 		            <if test="maxRow != null and maxRow !=''">
 		            LIMIT #{maxRow}
 		            </if>

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

@@ -29,6 +29,7 @@
 		     , Z.GIFT_COMPLETE_DT
 		     , Z.GIFT_ADDR_INP_YN
 		     , Z.DELV_EDDT
+		     , Z.AUTO_DECIDE_LEFT_DAY
 		     , Z.ORD_DTL_NO
 		     , Z.ORD_EXCH_GB
 		     , Z.GOODS_CD
@@ -78,6 +79,7 @@
 		             , CASE OD.GIFT_PACK_YN WHEN 'Y' THEN DATE_FORMAT(DA.UPD_DT, '%Y.%m.%d')
 		                END                                                             AS GIFT_COMPLETE_DT
 		             , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')                               AS DELV_EDDT
+		             , DATEDIFF(OD.DELV_EDDT + INTERVAL #{autoDecideDay} DAY, NOW())    AS AUTO_DECIDE_LEFT_DAY
 		             , OD.ORD_DTL_NO
 		             , OD.ORD_EXCH_GB
 		             , OD.GOODS_CD
@@ -223,9 +225,9 @@
 		   AND OD.ORD_QTY - OD.CNCL_RTN_QTY > 0
 		</where>
 				) Z
-		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.GIFT_LIMIT_DT, Z.GIFT_LIMIT_DAY, Z.GIFT_COMPLETE_DT, GIFT_ADDR_INP_YN, Z.DELV_EDDT, 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
+		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.GIFT_LIMIT_DT, Z.GIFT_LIMIT_DAY, Z.GIFT_COMPLETE_DT, GIFT_ADDR_INP_YN, Z.DELV_EDDT, Z.AUTO_DECIDE_LEFT_DAY
+		        , 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.ORD_DTL_STAT_NM, Z.REVIEW_SQ
 		        , Z.REVIEWABLE_YN, Z.PURCHASE_CONFIRM_DAY, Z.DELV_RES_DT, Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY, Z.BANK_CD, Z.ACCOUNT_NO, Z.ACCOUNT_NM
 		        , Z.DELV_ADDR_SQ, Z.RECIP_NM, Z.PAY_STAT

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html

@@ -127,7 +127,7 @@
 								</button>
 							</div>
 							<div th:if="${exchangeDtl.chgStat == 'G685_40' and exchangeDtl.chgOrdDtlStat == 'G013_50'}">
-								<button type="button" class="btn btn_default" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.ordDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this);">
+								<button type="button" class="btn btn_default" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.chgOrdDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this);">
 									<span>배송조회</span>
 								</button>
 							</div>
@@ -198,7 +198,7 @@
 			<div class="tbl_wrap">
 				<div class="tbl_tit"> 
 					<h3>교환 상품 배송지</h3>
-					<th:block th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35' or oneData.chgOrdDtlStat == 'G013_40'}">
+					<th:block th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25'}">
 						<button type="button" id="btn_adrsChange_pop" class="btn_popup" onclick="fnChangeAddr('recip');">
 							<span>배송지 변경</span>
 						</button>

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

@@ -148,7 +148,7 @@
 								<th:block th:each="exchange, index : ${creList.exchangeOptionList}">
 									<th:block th:if="${cre.chgOrdDtlNo} == ${exchange.ordDtlNo} and ${exchange.ordDtlStat} == 'G013_50'">
 										<div>
-											<button type="button" class="btn btn_default" th:attr="ordNo=${cre.ordNo}, ordDtlNo=${cre.ordDtlNo}, shipCompCd=${exchange.shipCompCd}, invoiceNo=${exchange.invoiceNo}" onclick="fnGoToDelivery(this);">
+											<button type="button" class="btn btn_default" th:attr="ordNo=${cre.ordNo}, ordDtlNo=${exchange.ordDtlNo}, shipCompCd=${exchange.shipCompCd}, invoiceNo=${exchange.invoiceNo}" onclick="fnGoToDelivery(this);">
 												<span>배송조회</span>
 											</button>
 										</div>

+ 12 - 4
src/main/webapp/WEB-INF/views/mob/mypage/MypageDeliveryInfoFormMob.html

@@ -59,7 +59,7 @@
 							<div class="goods_detail">
 								<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 								<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
-														
+
 								<a href="javascript:void(0);" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
 										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
@@ -130,9 +130,17 @@
 
 								<!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
-									<div class="goods_btn_wrap btn_group_flex">
-										<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></div>
-									</div>
+									<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+										<div class="goods_btn_wrap btn_group_flex">
+											<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></div>
+										</div>
+									</th:block>
+									<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+										<div class="goods_btn_wrap btn_group_flex">
+											<div><button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></div>
+											<div><button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
+										</div>
+									</th:block>
 								</th:block>
 								<!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
 								

+ 13 - 5
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html

@@ -140,9 +140,17 @@
 
 								<!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
-									<div class="goods_btn_wrap btn_group_flex">
-										<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></div>
-									</div>
+									<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+										<div class="goods_btn_wrap btn_group_flex">
+											<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></div>
+										</div>
+									</th:block>
+									<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+										<div class="goods_btn_wrap btn_group_flex">
+											<div><button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></div>
+											<div><button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
+										</div>
+									</th:block>
 								</th:block>
 								<!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
 								
@@ -422,7 +430,7 @@
 								<!-- 배송완료 -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
 									<div class="goods_txt">
-										<p class="cf_txt cf_desc">15일 후 자동으로 구매확정됩니다.</p>
+										<p class="cf_txt cf_desc" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 									</div>
 								</th:block>
 								<!-- //배송완료 -->
@@ -597,7 +605,7 @@
 							<div class="fold_cont">
 								<div class="ship_info ship_edit">
 									<!--  배송비정보변경가능 -->
-									<th:block th:if="${allCanYn == 'Y'}">
+									<th:block th:if="${canChgAddr == 'Y'}">
 										<button type="button" id="btn_adrsChange_pop" class="btn_popup" onclick="fnChangeDeliveryAddr();">
 											<span>배송지 변경</span>
 										</button>

+ 24 - 7
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListInfoMob.html

@@ -130,14 +130,31 @@
 							<!-- //입금대기 (1:1문의, 쇼핑백 담기) -->
 
 							<!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
+							<!-- 2021.07.08 card007 교환상품은 취소 안되게 수정 -->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
-								<div class="goods_btn_wrap btn_group_flex">
-									<div>
-										<button type="button" class="btn btn_default btn_cncl_complete" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'cancel');">
-											<span>주문 취소</span>
-										</button>
+								<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div>
+											<button type="button" class="btn btn_default btn_cncl_complete" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'cancel');">
+												<span>주문 취소</span>
+											</button>
+										</div>
 									</div>
-								</div>
+								</th:block>
+								<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div>
+											<button type="button" class="btn btn_default btn_cncl_complete" onclick="fnGoToOneToOnePage();">
+												<span>1:1 문의</span>
+											</button>
+										</div>
+										<div>
+											<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+												<span>쇼핑백 담기</span>
+											</button>
+										</div>
+									</div>
+								</th:block>
 							</th:block>
 							<!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
 							
@@ -435,7 +452,7 @@
 							<!-- 배송완료 -->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
 								<div class="goods_txt">
-									<p class="cf_txt cf_desc">15일 후 자동으로 구매확정됩니다.</p>
+									<p class="cf_txt cf_desc" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 								</div>
 							</th:block>
 							<!-- //배송완료 -->

+ 18 - 7
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html

@@ -115,13 +115,24 @@
 								</div>
 							</a>
 						</div>
-						<div class="goods_btn_wrap btn_group_flex" th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}">
-							<div>
-								<button type="button" class="btn btn_default" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);">
-									<span>결제하기</span>
-								</button>
+						<th:block th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}">
+							<div class="goods_btn_wrap btn_group_flex">
+								<div>
+									<button type="button" class="btn btn_default" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);">
+										<span>결제하기</span>
+									</button>
+								</div>
 							</div>
-						</div>
+						</th:block>
+						<th:block th:if="${exchangeDtl.chgStat == 'G685_40' && exchangeDtl.ordDtlStat == 'G013_50'}">
+							<div class="goods_btn_wrap btn_group_flex">
+								<div>
+									<button type="button" class="btn btn_default" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.chgOrdDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this);">
+										<span>배송조회</span>
+									</button>
+								</div>
+							</div>
+						</th:block>
 						<th:block th:if="${exchangeDtl.chgStat == 'G685_21' or (exchangeDtl.chgGb == 'G680_40' and exchangeDtl.chgStat == 'G685_32')}">
 							<div class="goods_txt">
 								<p class="cf_txt cf_desc" th:text="|${#numbers.formatInteger(exchangeDtl.addPayCost, 1, 'COMMA')}원 결제 후 교환 가능합니다.|"></p>
@@ -183,7 +194,7 @@
 			<div class="tbl_wrap">
 				<div class="tbl_tit"> 
 					<h3>교환 상품 배송지</h3>
-					<th:block th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35' or oneData.chgOrdDtlStat == 'G013_40'}">
+					<th:block th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25'}">
 						<button type="button" class="btn_popup" onclick="fnChangeAddr('recip');">
 							<span>배송지 변경</span>
 						</button>

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

@@ -135,7 +135,7 @@
 								<th:block th:each="exchange, index : ${creList.exchangeOptionList}">
 									<th:block th:if="${cre.chgOrdDtlNo} == ${exchange.ordDtlNo} and ${exchange.ordDtlStat} == 'G013_50'">
 										<div>
-											<button type="button" class="btn btn_default" th:attr="ordNo=${cre.ordNo}, ordDtlNo=${cre.ordDtlNo}, shipCompCd=${exchange.shipCompCd}, invoiceNo=${exchange.invoiceNo}" onclick="fnGoToDelivery(this);">
+											<button type="button" class="btn btn_default" th:attr="ordNo=${cre.ordNo}, ordDtlNo=${exchange.ordDtlNo}, shipCompCd=${exchange.shipCompCd}, invoiceNo=${exchange.invoiceNo}" onclick="fnGoToDelivery(this);">
 												<span>배송조회</span>
 											</button>
 										</div>

+ 9 - 4
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberDeliveryInfoFormMob.html

@@ -110,9 +110,14 @@
 
 							<!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
-								<div class="goods_btn_wrap btn_group_flex">
-									<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></div>
-								</div>
+								<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></div>
+									</div>
+								</th:block>
+								<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+									<div><button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
+								</th:block>
 							</th:block>
 							<!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
 
@@ -236,7 +241,7 @@
 							<!-- 배송완료 -->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
 								<div class="goods_txt">
-									<p class="cf_txt cf_desc">15일 후 자동으로 구매확정됩니다.</p>
+									<p class="cf_txt cf_desc" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 								</div>
 							</th:block>
 							<!-- //배송완료 -->

+ 16 - 5
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html

@@ -123,9 +123,20 @@
 
 								<!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
-									<div class="goods_btn_wrap btn_group_flex">
-										<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></div>
-									</div>
+									<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+										<div class="goods_btn_wrap btn_group_flex">
+											<div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></div>
+										</div>
+									</th:block>
+									<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+										<div class="goods_btn_wrap btn_group_flex">
+											<div>
+												<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+													<span>쇼핑백 담기</span>
+												</button>
+											</div>
+										</div>
+									</th:block>
 								</th:block>
 								<!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
 								
@@ -302,7 +313,7 @@
 								<!-- 배송완료 -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
 									<div class="goods_txt">
-										<p class="cf_txt cf_desc">15일 후 자동으로 구매확정됩니다.</p>
+										<p class="cf_txt cf_desc" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 									</div>
 								</th:block>
 								<!-- //배송완료 -->
@@ -446,7 +457,7 @@
 							<div class="fold_cont">
 								<div class="ship_info ship_edit">
 									<!--  배송비정보변경가능 -->
-									<th:block th:if="${allCanYn == 'Y'}">
+									<th:block th:if="${canChgAddr == 'Y'}">
 										<button type="button" id="btn_adrsChange_pop" class="btn_popup" onclick="fnChangeDeliveryAddr();">
 											<span>배송지 변경</span>
 										</button>

+ 18 - 7
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListInfoMob.html

@@ -88,13 +88,24 @@
 
 							<!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
-								<div class="goods_btn_wrap btn_group_flex">
-									<div>
-										<button type="button" class="btn btn_default btn_cncl_complete" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'cancel', 'noMember');">
-											<span>주문 취소</span>
-										</button>
+								<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div>
+											<button type="button" class="btn btn_default btn_cncl_complete" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'cancel', 'noMember');">
+												<span>주문 취소</span>
+											</button>
+										</div>
 									</div>
-								</div>
+								</th:block>
+								<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div>
+											<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+												<span>쇼핑백 담기</span>
+											</button>
+										</div>
+									</div>
+								</th:block>
 							</th:block>
 							<!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
 							
@@ -242,7 +253,7 @@
 						<!-- 배송완료 -->
 						<th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
 							<div class="goods_txt">
-								<p class="cf_txt cf_desc">15일 후 자동으로 구매확정됩니다.</p>
+								<p class="cf_txt cf_desc" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 							</div>
 						</th:block>
 						<!-- //배송완료 -->

+ 4 - 3
src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html

@@ -102,7 +102,7 @@
 										<div class="button_box">
 <!--											<p th:if="${exchangeDtl.chgStat == 'G685_20' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}, cancelGb=${exchangeDtl.chgGb}" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>-->
 											<p th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
-											<p th:if="${exchangeDtl.chgStat == 'G685_40' and exchangeDtl.ordDtlStat == 'G013_50'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.ordDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this);"><span>배송조회</span></button></p>
+											<p th:if="${exchangeDtl.chgStat == 'G685_40' and exchangeDtl.ordDtlStat == 'G013_50'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.chgOrdDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this);"><span>배송조회</span></button></p>
 											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>
 										</div>
 									</div>
@@ -165,11 +165,11 @@
 												</li>
 												<li>
 													<span id="recipAddr" th:text="|${oneData.recipBaseAddr} ${oneData.recipDtlAddr}|"></span>
-													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
+													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
 												</li>
 												<li>
 													배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${oneData.delvMemo}">직접 받고 부재 시 문 앞</span>
-													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
+													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
 												</li>
 											</ul>
 										</div>
@@ -297,6 +297,7 @@
 	let oneData = [[${oneData}]];
 	let ordNo = oneData.ordNo;
 	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+	var jsonObj = {};
 
 	// 추가배송비 전표 데이터 설정
 	let paymentInfo = {};

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

@@ -468,7 +468,7 @@
 					if (cre.chgStat == 'G685_40') {
 						$.each(creList.exchangeOptionList, function(index, exchange) {
 							if (cre.chgOrdDtlNo == exchange.ordDtlNo && exchange.ordDtlStat == 'G013_50') {
-								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordDtlNo="' + cre.ordDtlNo + '" shipCompCd="' + exchange.shipCompCd + '" invoiceNo="' + exchange.invoiceNo + '" onclick="fnGoToDelivery(this);"><span>배송조회</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordDtlNo="' + exchange.ordDtlNo + '" shipCompCd="' + exchange.shipCompCd + '" invoiceNo="' + exchange.invoiceNo + '" onclick="fnGoToDelivery(this);"><span>배송조회</span></button></p>\n';
 							}
 						});
 					}

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

@@ -129,7 +129,13 @@
 												<th:block th:unless="${order.giftPackYn == 'Y'}">
 													<!-- 주문취소 버튼(결제완료, 상품준비중, 출고처지정) -->
 													<th:block th:if="${ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35'}">
-														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+														<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+														</th:block>
+														<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+															<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>
+														</th:block>
 													</th:block>
 
 													<!-- 교환/반품 신청 버튼(배송중, 출고완료, 배송완료) -->

+ 10 - 4
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html

@@ -135,7 +135,13 @@
 													<th:block th:unless="${order.giftPackYn == 'Y'}">
 														<!-- 주문취소 버튼(결제완료, 상품준비중, 출고처지정) -->
 														<th:block th:if="${ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35'}">
-															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+															<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+																<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+															</th:block>
+															<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+																<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>
+																<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>
+															</th:block>
 														</th:block>
 														
 														<!-- 교환/반품 신청 버튼(배송중, 출고완료, 배송완료) -->
@@ -253,7 +259,7 @@
 													<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
 													<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
 													<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
-													<p th:if="${ordDtl.ordDtlStat == 'G013_60'}">15일 후 자동으로 구매확정됩니다.</p>
+													<p th:if="${ordDtl.ordDtlStat == 'G013_60'}"  th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 												</div>
 												
 												<!-- 구매확정 -->
@@ -364,11 +370,11 @@
 													</li>
 													<li>
 														<span th:text="|${deliveryAddrInfo.recipBaseAddr} ${deliveryAddrInfo.recipDtlAddr}|" id="recipAddr"></span>
-														<button type="button" class="btn btn_default btn_sm" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryAddr()"><span>배송지 변경</span></button>
+														<button type="button" class="btn btn_default btn_sm" th:if="${canChgAddr == 'Y'}" onclick="fnChangeDeliveryAddr()"><span>배송지 변경</span></button>
 													</li>
 													<li>
 														배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${deliveryAddrInfo.delvMemo}"></span>
-														<button type="button" class="btn_underline" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
+														<button type="button" class="btn_underline" th:if="${canChgAddr == 'Y'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
 													</li>
 												</ul>
 											</div>

+ 9 - 3
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html

@@ -513,8 +513,14 @@
 						}
 					} else {
 						// 주문취소 버튼(결제완료, 상품준비중, 출고처지정)
+						// 2021.07.08 card007 교환상품은 취소 안되게 수정
 						if (ordDtl.ordDtlStat == 'G013_20' || ordDtl.ordDtlStat == 'G013_30' || ordDtl.ordDtlStat == 'G013_35') {
-							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" delvFeeCd="' + ordDtl.delvFeeCd + '" onclick="fnCreateChange(this, \'cancel\');"><span>주문 취소</span></button></p>\n';
+							if (ordDtl.ordExchGb == 'O') {
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" delvFeeCd="' + ordDtl.delvFeeCd + '" onclick="fnCreateChange(this, \'cancel\');"><span>주문 취소</span></button></p>\n';
+							} else {
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>\n';
+							}
 						}
 
 						// 교환신청 버튼(배송중, 출고완료, 배송완료)
@@ -560,7 +566,7 @@
 							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>\n';
 						}
 
-						// 1:1문의 버튼(구매확정)
+						// 1:1문의 버튼(입금대기, 배송준비중, 구매확정)
 						if (ordDtl.ordDtlStat == 'G013_10' || ordDtl.ordDtlStat == 'G013_40' || (ordDtl.ordDtlStat == 'G013_70' && (ordDtl.reviewableYn == 'N' || ordDtl.reviewSq > 0))) {
 							tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>\n';
 						}
@@ -644,7 +650,7 @@
 								
 								tag += '									</div>';
 							} else if (ordDtl.ordDtlStat == 'G013_60') {
-								tag += '									<div class="order_text"><p>15일 후 자동으로 구매확정됩니다.</p></div>\n';
+								tag += '									<div class="order_text"><p>' + ordDtl.autoDecideLeftDay + '일 후 자동으로 구매확정됩니다.</p></div>\n';
 							}
 						}
 

+ 4 - 3
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html

@@ -100,7 +100,7 @@
 										</div>
 										<div class="button_box">
 											<p th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
-											<p th:if="${exchangeDtl.chgStat == 'G685_40' && exchangeDtl.ordDtlStat == 'G013_50'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.ordDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this, 'noMember');"><span>배송조회</span></button></p>
+											<p th:if="${exchangeDtl.chgStat == 'G685_40' && exchangeDtl.ordDtlStat == 'G013_50'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordDtlNo=${exchangeDtl.chgOrdDtlNo}, shipCompCd=${exchangeDtl.exchangeShipCompCd}, invoiceNo=${exchangeDtl.exchangeInvoiceNo}" onclick="fnGoToDelivery(this, 'noMember');"><span>배송조회</span></button></p>
 										</div>
 									</div>
 									<!-- 교환결제대기 -->
@@ -162,11 +162,11 @@
 												</li>
 												<li>
 													<span id="recipAddr" th:text="|${oneData.recipBaseAddr} ${oneData.recipDtlAddr}|"></span>
-													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
+													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
 												</li>
 												<li>
 													배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${oneData.delvMemo}"></span>
-													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
+													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
 												</li>
 											</ul>
 										</div>
@@ -294,6 +294,7 @@
 	let oneData = [[${oneData}]];
 	let ordNo = oneData.ordNo;
 	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+	var jsonObj = {};
 
 	// 추가배송비 전표 데이터 설정
 	let paymentInfo = {};

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

@@ -454,7 +454,7 @@
 					if (cre.chgStat == 'G685_40') {
 						$.each(creList.exchangeOptionList, function(index, exchange) {
 							if (cre.chgOrdDtlNo == exchange.ordDtlNo && exchange.ordDtlStat == 'G013_50') {
-								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordDtlNo="' + cre.ordDtlNo + '" shipCompCd="' + exchange.shipCompCd + '" invoiceNo="' + exchange.invoiceNo + '" onclick="fnGoToDelivery(this, \'noMember\');"><span>배송조회</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordDtlNo="' + exchange.ordDtlNo + '" shipCompCd="' + exchange.shipCompCd + '" invoiceNo="' + exchange.invoiceNo + '" onclick="fnGoToDelivery(this, \'noMember\');"><span>배송조회</span></button></p>\n';
 							}
 						});
 					}

+ 7 - 2
src/main/webapp/WEB-INF/views/web/mypage/NoMemberDeliveryInfoFormWeb.html

@@ -93,7 +93,12 @@
 												<th:block th:unless="${order.giftPackYn == 'Y'}">
 													<!-- 주문취소 버튼(결제완료, 상품준비중, 출고처지정) -->
 													<th:block th:if="${ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35'}">
-														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+														<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+														</th:block>
+														<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>
+														</th:block>
 													</th:block>
 
 													<!-- 교환/반품 신청 버튼(배송중, 출고완료, 배송완료) -->
@@ -159,7 +164,7 @@
 											<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다.</p>
 											<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다.</p>
 											<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다.</p>
-											<p th:if="${ordDtl.ordDtlStat == 'G013_60'}">15일 후 자동으로 구매확정됩니다.</p>
+											<p th:if="${ordDtl.ordDtlStat == 'G013_60'}" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 										</div>
 										</th:block>
 									</div>

+ 10 - 5
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html

@@ -95,8 +95,13 @@
 												</div>
 												<div class="button_box">
 													<!-- 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중) -->
-													<th:block th:if="${ordDtl.payStat != 'G016_10' && (ordDtl.ordDtlStat == 'G013_10' or ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35')}">
-														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></p>
+													<th:block th:if="${ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35'}">
+														<th:block th:if="${ordDtl.ordExchGb == 'O'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></p>
+														</th:block>
+														<th:block th:unless="${ordDtl.ordExchGb == 'O'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>
+														</th:block>
 													</th:block>
 													
 													<!-- 교환/반품 신청 버튼(배송중, 출고완료, 배송완료) -->
@@ -175,7 +180,7 @@
 												<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다.</p>
 												<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다.</p>
 												<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다.</p>
-												<p th:if="${ordDtl.ordDtlStat == 'G013_60'}">15일 후 자동으로 구매확정됩니다.</p>
+												<p th:if="${ordDtl.ordDtlStat == 'G013_60'}" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
 											</div>
 
 										</div>
@@ -249,11 +254,11 @@
 													</li>
 													<li>
 														<span th:text="|${deliveryAddrInfo.recipBaseAddr} ${deliveryAddrInfo.recipDtlAddr}|" id="recipAddr"></span>
-														<button type="button" class="btn btn_default btn_sm" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryAddr()"><span>배송지 변경</span></button>
+														<button type="button" class="btn btn_default btn_sm" th:if="${canChgAddr == 'Y'}" onclick="fnChangeDeliveryAddr()"><span>배송지 변경</span></button>
 													</li>
 													<li>
 														배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${deliveryAddrInfo.delvMemo}"></span>
-														<button type="button" class="btn_underline" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
+														<button type="button" class="btn_underline" th:if="${canChgAddr == 'Y'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
 													</li>
 												</ul>
 											</div>

+ 8 - 3
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html

@@ -403,8 +403,13 @@
 
 					// 버튼 처리
 					// 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중)
-					if (ordDtl.payStat != 'G016_10' && (ordDtl.ordDtlStat == 'G013_10' || ordDtl.ordDtlStat == 'G013_20' || ordDtl.ordDtlStat == 'G013_30' || ordDtl.ordDtlStat == 'G013_35')) {
-						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" delvFeeCd="' + ordDtl.delvFeeCd + '" onclick="fnCreateChange(this, \'cancel\', \'noMember\');"><span>주문 취소</span></button></p>\n';
+					// 2021.07.08 card007 교환상품은 취소 안되게 수정
+					if (ordDtl.ordDtlStat == 'G013_20' || ordDtl.ordDtlStat == 'G013_30' || ordDtl.ordDtlStat == 'G013_35') {
+						if (ordDtl.ordExchGb == 'O') {
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" delvFeeCd="' + ordDtl.delvFeeCd + '" onclick="fnCreateChange(this, \'cancel\', \'noMember\');"><span>주문 취소</span></button></p>\n';
+						} else {
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>\n';
+						}
 					}
 
 					// 교환신청 버튼(배송중, 출고완료, 배송완료)
@@ -505,7 +510,7 @@
 							
 							tag += '									</div>';
 						} else if (ordDtl.ordDtlStat == 'G013_60') {
-							tag += '									<div class="order_text"><p>15일 후 자동으로 구매확정됩니다.</p></div>\n';
+							tag += '									<div class="order_text"><p>' + ordDtl.autoDecideLeftDay + '일 후 자동으로 구매확정됩니다.</p></div>\n';
 						}
 					}
 					tag += '								</div>';