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

주문취소 메일 발송 개발 커밋

card007 5 лет назад
Родитель
Сommit
dce41c0c68

+ 22 - 18
src/main/java/com/style24/core/biz/service/TscKakaotalkService.java

@@ -1030,15 +1030,17 @@ public class TscKakaotalkService {
 			}
 			}
 
 
 			try {
 			try {
-				// 고객접촉이력 정보
-				CustContactHst custContactHst = new CustContactHst();
-				custContactHst.setContactType(TscConstants.ContactType.CANCEL_INFO.value());		// 접촉유형:주문-취소안내(공통코드G054)
-				custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());		// 접촉방법:알림톡+문자(공통코드G055)
-				custContactHst.setContactContents("주문-취소안내");
-				custContactHst.setReceiverNo(orderChange.getCustNo());
-				custContactHst.setSenderNo(senderNo);
-				custContactHst.setRegNo(senderNo);
-				coreCustomerService.createCustomerContactHistory(custContactHst);
+				if (orderChange.getCustNo() > 0) {
+					// 고객접촉이력 정보
+					CustContactHst custContactHst = new CustContactHst();
+					custContactHst.setContactType(TscConstants.ContactType.CANCEL_INFO.value());        // 접촉유형:주문-취소안내(공통코드G054)
+					custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());        // 접촉방법:알림톡+문자(공통코드G055)
+					custContactHst.setContactContents("주문-취소안내");
+					custContactHst.setReceiverNo(orderChange.getCustNo());
+					custContactHst.setSenderNo(senderNo);
+					custContactHst.setRegNo(senderNo);
+					coreCustomerService.createCustomerContactHistory(custContactHst);
+				}
 			} catch (Exception e) {
 			} catch (Exception e) {
 				log.error("error", e);
 				log.error("error", e);
 				// Do nothing
 				// Do nothing
@@ -1106,15 +1108,17 @@ public class TscKakaotalkService {
 			}
 			}
 
 
 			try {
 			try {
-				// 고객접촉이력 정보
-				CustContactHst custContactHst = new CustContactHst();
-				custContactHst.setContactType(contactType);											// 접촉유형:반품-반품접수완료, 반품-추가배송비결제안내(공통코드G054)
-				custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());		// 접촉방법:알림톡+문자(공통코드G055)
-				custContactHst.setContactContents(contactContents);
-				custContactHst.setReceiverNo(orderChange.getCustNo());
-				custContactHst.setSenderNo(senderNo);
-				custContactHst.setRegNo(senderNo);
-				coreCustomerService.createCustomerContactHistory(custContactHst);
+				if (orderChange.getCustNo() > 0) {
+					// 고객접촉이력 정보
+					CustContactHst custContactHst = new CustContactHst();
+					custContactHst.setContactType(contactType);                                            // 접촉유형:반품-반품접수완료, 반품-추가배송비결제안내(공통코드G054)
+					custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());        // 접촉방법:알림톡+문자(공통코드G055)
+					custContactHst.setContactContents(contactContents);
+					custContactHst.setReceiverNo(orderChange.getCustNo());
+					custContactHst.setSenderNo(senderNo);
+					custContactHst.setRegNo(senderNo);
+					coreCustomerService.createCustomerContactHistory(custContactHst);
+				}
 			} catch (Exception e) {
 			} catch (Exception e) {
 				log.error("error", e);
 				log.error("error", e);
 				// Do nothing
 				// Do nothing

+ 38 - 5
src/main/java/com/style24/core/biz/service/TscMailService.java

@@ -1,5 +1,11 @@
 package com.style24.core.biz.service;
 package com.style24.core.biz.service;
 
 
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.thirdparty.NaverShortUrl;
 import com.style24.core.biz.thirdparty.NaverShortUrl;
 import com.style24.core.biz.thirdparty.NetpathyMailSender;
 import com.style24.core.biz.thirdparty.NetpathyMailSender;
@@ -11,11 +17,6 @@ import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Point;
 import com.style24.persistence.domain.Point;
 
 
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 
 /**
 /**
  * 메일 서비스
  * 메일 서비스
@@ -466,4 +467,36 @@ public class TscMailService {
 		}
 		}
 	}
 	}
 
 
+	/**
+	 * 주문 취소 안내
+	 *
+	 * @param GagaMap
+	 * @param Integer
+	 * @author card007
+	 * @since 2021. 06. 10
+	 */
+	@Transactional("shopTxnManager")
+	public void sendOrderCancel(GagaMap replaceInfo, Integer senderNo) {
+
+		// 주문 취소 메일 발송
+		netpathyMailSender.send(NetpathyMailSender.MailAnswerSq.CANCEL_REFUND.value(), replaceInfo.getString("ordEmail"), replaceInfo);
+
+		try {
+			if (replaceInfo.getInt("custNo") > 0) {
+				// 고객접촉이력 정보
+				CustContactHst custContactHst = new CustContactHst();
+				custContactHst.setContactType(TscConstants.ContactType.CANCEL_INFO.value());            // 접촉유형:주문-취소안내(공통코드G054)
+				custContactHst.setContactMethod(TscConstants.ContactMethod.EMAIL.value());                // 접촉방법:알림톡+문자(공통코드G055)
+				custContactHst.setContactContents("주문-취소안내");
+				custContactHst.setReceiverNo(replaceInfo.getInt("custNo"));
+				custContactHst.setSenderNo(senderNo);
+				custContactHst.setRegNo(senderNo);
+				coreCustomerService.createCustomerContactHistory(custContactHst);
+			}
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+	}
+
 }
 }

+ 291 - 164
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -1,5 +1,6 @@
 package com.style24.core.biz.service;
 package com.style24.core.biz.service;
 
 
+import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collection;
@@ -2198,6 +2199,7 @@ public class TscOrderChangeService {
 	@Transactional("shopTxnManager")
 	@Transactional("shopTxnManager")
 	public GagaMap approveCancelRequest(OrderChange orderChange, Integer userNo) {
 	public GagaMap approveCancelRequest(OrderChange orderChange, Integer userNo) {
 		GagaMap result = new GagaMap();
 		GagaMap result = new GagaMap();
+		Integer ordChgSq;
 
 
 		// 1. 환불 사전 정보 조회
 		// 1. 환불 사전 정보 조회
 		// ordChgSq, accountNo, accountNm, bankCd, ipAddress
 		// ordChgSq, accountNo, accountNm, bankCd, ipAddress
@@ -2226,7 +2228,8 @@ public class TscOrderChangeService {
 			orderChange.setUpdNo(userNo);
 			orderChange.setUpdNo(userNo);
 
 
 			// 전체 취소 처리
 			// 전체 취소 처리
-			allCnclComplete(orderChange);
+			ordChgSq = allCnclComplete(orderChange);
+			result.setInt("ordChgSq", ordChgSq);
 		} else {
 		} else {
 			// 3. 환불금액계산
 			// 3. 환불금액계산
 			// 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
 			// 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
@@ -2250,7 +2253,7 @@ public class TscOrderChangeService {
 			result.setString("cashAuthNo"	, refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
 			result.setString("cashAuthNo"	, refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
 
 
 			// 부분취소 처리
 			// 부분취소 처리
-			partialCancelTemp(result, userNo);
+			result = partialCancelTemp(result, userNo);
 		}
 		}
 
 
 		return result;
 		return result;
@@ -2857,6 +2860,7 @@ public class TscOrderChangeService {
 
 
 			// 전체 취소 처리
 			// 전체 취소 처리
 			ordChgSq = allCnclComplete(orderChange);
 			ordChgSq = allCnclComplete(orderChange);
+			result.setInt("ordChgSq", ordChgSq);
 		} else {
 		} else {
 			// 3. 환불금액계산
 			// 3. 환불금액계산
 			// 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
 			// 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
@@ -4140,9 +4144,17 @@ public class TscOrderChangeService {
 		return map;
 		return map;
 	}
 	}
 
 
+	/**
+	 * 주문 취소 자동메일 정보 조회
+	 * 
+	 * @param OrderChange
+	 * @return Gagamap
+	 * @author card007
+	 * @since 2021. 06. 10
+	 */
 	public GagaMap getMailOrderCancelReplaceInfo(OrderChange orderChange) {
 	public GagaMap getMailOrderCancelReplaceInfo(OrderChange orderChange) {
 		GagaMap result = new GagaMap();
 		GagaMap result = new GagaMap();
-
+		DecimalFormat df = new DecimalFormat("###,###");
 
 
 		// 취소 상세 정보 조회
 		// 취소 상세 정보 조회
 		Collection<OrderChange> cancelList = orderChangeDao.getCreCancelDetailInfo(orderChange);
 		Collection<OrderChange> cancelList = orderChangeDao.getCreCancelDetailInfo(orderChange);
@@ -4158,10 +4170,14 @@ public class TscOrderChangeService {
 		result.setInt("ordNo", oneData.getOrdNo());
 		result.setInt("ordNo", oneData.getOrdNo());
 		result.setString("ordDate", oneData.getOrdDate());
 		result.setString("ordDate", oneData.getOrdDate());
 		result.setString("ordDt", oneData.getOrdDt());
 		result.setString("ordDt", oneData.getOrdDt());
+		result.setString("ordEmail", oneData.getOrdEmail());
+		result.setInt("custNo", oneData.getCustNo());
 
 
-		// 취소 정보 설정
-
+		if (StringUtils.isBlank(oneData.getOrdEmail())) {
+			return result;
+		}
 
 
+		// 취소 정보 설정
 		String cancelInfo = this.getMailOrderCancelInfo(cancelList);
 		String cancelInfo = this.getMailOrderCancelInfo(cancelList);
 		result.setString("cancelInfo", cancelInfo);
 		result.setString("cancelInfo", cancelInfo);
 
 
@@ -4172,9 +4188,9 @@ public class TscOrderChangeService {
 		// 결제 정보 조회
 		// 결제 정보 조회
 		int dcAmt = oneData.getRfCpn1Amt() + oneData.getRfTmtb1Amt() + oneData.getRfTmtb2Amt() + oneData.getRfGoodsCpnAmt() + oneData.getRfCartCpnAmt() + oneData.getRfDelvCpnAmt() + oneData.getRfPrePntAmt();
 		int dcAmt = oneData.getRfCpn1Amt() + oneData.getRfTmtb1Amt() + oneData.getRfTmtb2Amt() + oneData.getRfGoodsCpnAmt() + oneData.getRfCartCpnAmt() + oneData.getRfDelvCpnAmt() + oneData.getRfPrePntAmt();
 
 
-		result.setInt("cnclRtnAmt", oneData.getRfCnclAmt());
-		result.setInt("delvFee", oneData.getRfDeliveryFee());
-		result.setInt("dcAmt", dcAmt);
+		result.setString("cnclRtnAmt", df.format(oneData.getRfCnclAmt()));
+		result.setString("delvFee", df.format(oneData.getRfDeliveryFee()));
+		result.setString("dcAmt", dcAmt == 0 ? "0" : "-" + df.format(dcAmt));
 
 
 		// 버튼 URL 설정
 		// 버튼 URL 설정
 		String hasSsl = env.getProperty("has-ssl");
 		String hasSsl = env.getProperty("has-ssl");
@@ -4197,22 +4213,36 @@ public class TscOrderChangeService {
 		return result;
 		return result;
 	}
 	}
 
 
+	/**
+	 * 주문 취소 자동메일 취소 상품 정보 설정
+	 * 
+	 * @param Collection<OrderChange>
+	 * @return String
+	 * @author card007
+	 * @since 2021.06.10
+	 */
 	@SuppressWarnings("unchecked")
 	@SuppressWarnings("unchecked")
 	public String getMailOrderCancelInfo(Collection<OrderChange> cancelList) {
 	public String getMailOrderCancelInfo(Collection<OrderChange> cancelList) {
 		List<GagaMap> cancelDelvList = new ArrayList<>();
 		List<GagaMap> cancelDelvList = new ArrayList<>();
 		List<OrderChange> cancelDetailList = new ArrayList<>();
 		List<OrderChange> cancelDetailList = new ArrayList<>();
 		GagaMap cancelMap = new GagaMap();
 		GagaMap cancelMap = new GagaMap();
+		DecimalFormat df = new DecimalFormat("###,###");
 
 
 		OrderChange oneData = cancelList.iterator().next();
 		OrderChange oneData = cancelList.iterator().next();
 		Integer ordNo = oneData.getOrdNo();
 		Integer ordNo = oneData.getOrdNo();
+		Integer ordChgSq = oneData.getOrdChgSq();
 
 
-		String delvFeeCd = oneData.getDelvFeeCd();
+		String selfGoodsYn = oneData.getSelfGoodsYn();
+		String delvFeeCd = "Y".equals(selfGoodsYn) ? "WMS" : oneData.getDelvFeeCd();
+		String supplyCompNm = oneData.getSupplyCompNm();
 		for (OrderChange cancelInfo : cancelList) {
 		for (OrderChange cancelInfo : cancelList) {
-			if (!delvFeeCd.equals(cancelInfo.getDelvFeeCd())) {
+			String delvFeeCdTemp = "Y".equals(cancelInfo.getSelfGoodsYn()) ? "WMS" : cancelInfo.getDelvFeeCd();
+			if (!delvFeeCd.equals(delvFeeCdTemp)) {
 				// 취소 배송비 정보 조회
 				// 취소 배송비 정보 조회
 				DeliveryFee deliveryFee = new DeliveryFee();
 				DeliveryFee deliveryFee = new DeliveryFee();
 				deliveryFee.setOrdNo(ordNo);
 				deliveryFee.setOrdNo(ordNo);
 				deliveryFee.setDelvFeeCd(delvFeeCd);
 				deliveryFee.setDelvFeeCd(delvFeeCd);
+				deliveryFee.setOrdChgSq(ordChgSq);
 
 
 				Collection<DeliveryFee> deliveryFeeList = deliveryService.getDeliveryFee(deliveryFee);
 				Collection<DeliveryFee> deliveryFeeList = deliveryService.getDeliveryFee(deliveryFee);
 
 
@@ -4225,11 +4255,15 @@ public class TscOrderChangeService {
 				cancelMap.setInt("delvFee", delvFee);
 				cancelMap.setInt("delvFee", delvFee);
 				cancelMap.set("cancelDetailList", cancelDetailList);
 				cancelMap.set("cancelDetailList", cancelDetailList);
 				cancelMap.setString("delvFeeCd", delvFeeCd);
 				cancelMap.setString("delvFeeCd", delvFeeCd);
+				cancelMap.setString("supplyCompNm", supplyCompNm);
+				cancelMap.setString("selfGoodsYn", selfGoodsYn);
 				cancelDelvList.add(cancelMap);
 				cancelDelvList.add(cancelMap);
 
 
 				cancelDetailList = new ArrayList<>();
 				cancelDetailList = new ArrayList<>();
 				cancelMap = new GagaMap();
 				cancelMap = new GagaMap();
-				delvFeeCd = cancelInfo.getDelvFeeCd();
+				delvFeeCd = delvFeeCdTemp;
+				supplyCompNm = cancelInfo.getSupplyCompNm();
+				selfGoodsYn = cancelInfo.getSelfGoodsYn();
 			}
 			}
 
 
 			// 세트상품 옵션별 배열로 담기
 			// 세트상품 옵션별 배열로 담기
@@ -4252,6 +4286,7 @@ public class TscOrderChangeService {
 		DeliveryFee deliveryFee = new DeliveryFee();
 		DeliveryFee deliveryFee = new DeliveryFee();
 		deliveryFee.setOrdNo(ordNo);
 		deliveryFee.setOrdNo(ordNo);
 		deliveryFee.setDelvFeeCd(delvFeeCd);
 		deliveryFee.setDelvFeeCd(delvFeeCd);
+		deliveryFee.setOrdChgSq(ordChgSq);
 
 
 		Collection<DeliveryFee> deliveryFeeList = deliveryService.getDeliveryFee(deliveryFee);
 		Collection<DeliveryFee> deliveryFeeList = deliveryService.getDeliveryFee(deliveryFee);
 
 
@@ -4263,175 +4298,267 @@ public class TscOrderChangeService {
 		cancelMap.setInt("delvFee", delvFee);
 		cancelMap.setInt("delvFee", delvFee);
 		cancelMap.set("cancelDetailList", cancelDetailList);
 		cancelMap.set("cancelDetailList", cancelDetailList);
 		cancelMap.setString("delvFeeCd", delvFeeCd);
 		cancelMap.setString("delvFeeCd", delvFeeCd);
+		cancelMap.setString("supplyCompNm", supplyCompNm);
+		cancelMap.setString("selfGoodsYn", selfGoodsYn);
 		cancelDelvList.add(cancelMap);
 		cancelDelvList.add(cancelMap);
+		
+		// 이미지 URL 설정
+		String hasSsl = env.getProperty("has-ssl");
+		String protocol;
+
+		if ("true".equals(hasSsl)) {
+			protocol = "https:";
+		} else {
+			protocol = "http:";
+		}
+
+		String imgUrl = protocol + env.getProperty("upload.goods.view") + "/";
+		
 
 
 		StringBuilder sb = new StringBuilder();
 		StringBuilder sb = new StringBuilder();
 
 
-		sb.append("											<table style=\"width:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">");
-		sb.append("												<tbody>");
-		sb.append("													<tr>");
-		sb.append("													    <td height=\"50px;\" style=\"height: 50px;\"></td>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("													    <th colspan=\"2\" style=\"text-align: left;font-size: 18px;color: #222222;\" align=\"left\">");
-		sb.append("															주문취소 상품정보");
-		sb.append("														</th>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("													    <td height=\"20px;\" style=\"height: 20px;\"></td>");
-		sb.append("													</tr>");
-		// for문 시작
+		sb.append("											<table style=\"width:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">\n");
+		sb.append("												<tbody>\n");
+		sb.append("													<tr>\n");
+		sb.append("														<td height=\"50px;\" style=\"height: 50px;\"></td>\n");
+		sb.append("													</tr>\n");
+		sb.append("													<tr>\n");
+		sb.append("														<th colspan=\"2\" style=\"text-align: left;font-size: 18px;color: #222222;\" align=\"left\">\n");
+		sb.append("															주문취소 상품정보\n");
+		sb.append("														</th>\n");
+		sb.append("													</tr>\n");
+
 		for (GagaMap map : cancelDelvList) {
 		for (GagaMap map : cancelDelvList) {
-			sb.append("													<tr>");
-			sb.append("														<td>");
-			sb.append("															<table style=\"border: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box; width:100%;margin:0;padding:0\" cellspacing=\"0\" cellpadding=\"0\">");
-			sb.append("																<tbody>");
-			sb.append("																	<tr>");
-			sb.append("																		<td colspan=\"5\" height=\"20px;\" style=\"height: 20px;\"></td>");
-			sb.append("																	</tr>");
-			sb.append("																	<tr>");
-			sb.append("																		<td width=\"40px;\"></td>");
-			sb.append("																		<td colspan=\"3\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:600;color: #222222;\" align=\"left\">");
-			sb.append("																			STYLE24 총알배송");
-			sb.append("																		</td>");
-			sb.append("																	    <td width=\"40px;\"></td>");
-			sb.append("																	</tr>");
-			sb.append("																	<tr>");
-			sb.append("																	    <td colspan=\"5\" height=\"20px;\" style=\"height: 20px;border:0; border-bottom: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box;\"></td>");
-			sb.append("																	</tr>");
-			sb.append("																	<tr>");
-			sb.append("																	    <td height=\"30px;\" style=\"height: 30px;\"></td>");
-			sb.append("																	</tr>");
-			for (OrderChange cancelDetail : (List<OrderChange>) map.get("cancelDetailList")) {
-				sb.append("																	<tr>");
-				sb.append("																	    <td width=\"40px;\" rowspan=\"9\"></td>");
-				sb.append("																	    <td width=\"100px;\" height=\"150px;\" rowspan=\"9\" style=\"margin:0;padding:0\">");
-				sb.append("																	        <a href=\"#none\" target=\"_blank\" style=\"margin:0;padding:0\">"); // 
-				sb.append("																	            <span style=\"background: #f5f5f5;width: 100px;height: 150px;margin:0;padding:0\">");
-				sb.append("																	                <img src=\"/images/mo/thumb/tmp_pdLookbook2.jpg\" alt=\"이미지\" style=\"width: 100px;height: 150px;margin:0;padding:0\">"); // sysImgNm
-				sb.append("																	            </span>");
-				sb.append("																	        </a>");
-				sb.append("																	    </td>");
-				sb.append("																	    <td width=\"30px;\" rowspan=\"9\"></td>");
-				sb.append("																	    <td width=\"370px;\" height=\"10px;\"></td>");
-				sb.append("																	    <td width=\"40px;\" rowspan=\"9\"></td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td style=\"font-family:'Apple SD Gothic Neo',verdana,Arial,'나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;\">");
-				sb.append("																			NBA"); // brandNm
-				sb.append("																		</td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td height=\"5px;\" style=\"height: 5px;\"></td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td style=\"color: #222222;font-size: 16px;font-weight: bold;letter-spacing: -0.05em;\">");
-				sb.append("																	        <a href=\"#none\" target=\"_blank\" style=\"display: block; color: #222222; font-size: 16px; font-weight: bold; letter-spacing: -0.025em; text-decoration: none;\">");
-				sb.append("																				남성 라그란 소매배색 싸이로 티셔츠"); // goodsNm
-				sb.append("																			</a>");
-				sb.append("																	    </td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td height=\"20px;\" style=\"height: 20px;\"></td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td>옵션1</td>"); // option
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td height=\"20px;\" style=\"height: 20px;\"></td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td>");
-				sb.append("																	        <span>1개</span>"); // chgQty
-				sb.append("																	        <span style=\"width: 12px;padding-left:12px;\"></span>");
-				sb.append("																	        <span style=\"width: 2px; height: 14px; background: #f5f5f5;\"></span>");
-				sb.append("																	        <span style=\"width: 12px;padding-right:12px;\"></span>");
-				// sb.append("																	        <span style=\"text-decoration: line-through;color: #888888;\"><span>19,990</span>원</span>");
-				// sb.append("																	        <span style=\"font-weight: 500;\"><span>19,990</span>원</span>");
-				sb.append("																	    </td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td height=\"35px;\" style=\"height: 35px;\"></td>");
-				sb.append("																	</tr>");
-				sb.append("																	<tr>");
-				sb.append("																	    <td height=\"20px;\" style=\"height: 20px;\"></td>");
-				sb.append("																	</tr>");
-				// delvFee 존재할 시 처리
-				sb.append("																	<tr>");
-				sb.append("																	    <td width=\"40px;\"></td>");
-				sb.append("																	    <td colspan=\"3\" height=\"20px;\" style=\"height: 45px; background: #f5f5f5;\" bgcolor=\"#f5f5f5\">");
-				sb.append("																	        <span style=\"width: 12px;padding-left:12px;\"></span>");
-				sb.append("																	        <span>배송비</span>");
-				sb.append("																	        <span style=\"width: 12px;padding-right:12px;\"></span>");
-				sb.append("																	        <span>");
-				sb.append("																	            <span>2,500</span>원"); // delvFee
-				sb.append("																			</span>");
-				sb.append("														                </td>");
-				sb.append("														                <td width=\"40px;\"></td>");
-				sb.append("														            </tr>");
-				// //delvFee 존재할 시 처리
-				sb.append("														            <tr>");
-				sb.append("														                <td height=\"20px;\" style=\"height: 20px;\"></td>");
-				sb.append("														            </tr>");
+			sb.append("													<tr>\n");
+			sb.append("														<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+			sb.append("													</tr>\n");
+			sb.append("													<tr>\n");
+			sb.append("														<td>\n");
+			sb.append("															<table style=\"border: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box; width:100%;margin:0;padding:0\" cellspacing=\"0\" cellpadding=\"0\">\n");
+			sb.append("																<tbody>\n");
+			sb.append("																	<tr>\n");
+			sb.append("																		<td colspan=\"5\" height=\"20px;\" style=\"height: 20px;\"></td>\n");
+			sb.append("																	</tr>\n");
+			sb.append("																	<tr>\n");
+			sb.append("																		<td width=\"40px;\"></td>\n");
+			sb.append("																		<td colspan=\"3\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:600;color: #222222;\" align=\"left\">\n");
+			if ("Y".equals(map.getString("selfGoodsYn"))) {
+				sb.append("																			STYLE24 배송\n");
+			} else {
+				sb.append("																			");
+				sb.append(map.getString("supplyCompNm"));
+				sb.append(" 업체직배송\n");
+			}
+			sb.append("																		</td>\n");
+			sb.append("																		<td width=\"40px;\"></td>\n");
+			sb.append("																	</tr>\n");
+			sb.append("																	<tr>\n");
+			sb.append("																		<td colspan=\"5\" height=\"20px;\" style=\"height: 20px;border:0; border-bottom: 1px; border-color: #dddddd; border-style: solid; box-sizing: border-box;\"></td>\n");
+			sb.append("																	</tr>\n");
+			int idx = 0;
+			for (OrderChange orderChange : (List<OrderChange>) map.get("cancelDetailList")) {
+				if (idx > 0) {
+					sb.append("																	<!-- 점선 -->\n");
+					sb.append("																	<tr>\n");
+					sb.append("																		<td width=\"30px;\"></td>\n");
+					sb.append("																		<td colspan=\"3\" height=\"1\" style=\"border: 1px; border-top-color: #ddd; border-top-style: dashed;\"></td>\n");
+					sb.append("																		<td width=\"30px;\"></td>\n");
+					sb.append("																	</tr>\n");
+					sb.append("																	<!-- 점선 끝 -->\n");
+					sb.append("																	\n");
+				}
+				sb.append("																	<!-- 아이템 테이블 시작 -->\n");
+				sb.append("																	<tr>\n");
+				sb.append("																		<td colspan=\"5\" style=\"text-align: left;font-size: 18px;font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;color: #222222;\">\n");
+				sb.append("																			<!-- 아이템 컨텐츠 시작 -->\n");
+				sb.append("																			<table style=\"width:100%;height:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">\n");
+				sb.append("																				<tbody>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"30px;\" style=\"height: 30px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td width=\"40px;\" rowspan=\"10\"></td>\n");
+				sb.append("																						<td width=\"100px;\" height=\"150px;\" rowspan=\"10\" valign=\"top\" style=\"margin:0;padding:0\">\n");
+				sb.append("																							<a href=\"#none\" target=\"_blank\" style=\"margin:0;padding:0\">\n");
+				sb.append("																								<span style=\"background: #f5f5f5;width: 100px;height: 150px;margin:0;padding:0\">\n");
+				sb.append("																									<img src=\"");
+				sb.append(imgUrl);
+				sb.append(orderChange.getSysImgNm());
+				sb.append("?RS=100\" alt=\"이미지\" style=\"width: 100px;height: 150px;margin:0;padding:0\">\n");
+				sb.append("																								</span>\n");
+				sb.append("																							</a>\n");
+				sb.append("																						</td>\n");
+				sb.append("																						<td width=\"30px;\" rowspan=\"10\"></td>\n");
+				sb.append("																						<td width=\"370px;\" height=\"10px;\"></td>\n");
+				sb.append("																						<td width=\"40px;\" rowspan=\"10\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td style=\"font-family:'Apple SD Gothic Neo',verdana,Arial,'나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;\">\n");
+				sb.append("																							");
+				sb.append(orderChange.getBrandNm());
+				sb.append("\n");
+				sb.append("																						</td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td style=\"color: #222222;font-size: 16px;font-weight: bold;letter-spacing: -0.05em;\">\n");
+				sb.append("																							<a href=\"#none\" target=\"_blank\" style=\"display: block; color: #222222; font-size: 16px; font-weight: bold; letter-spacing: -0.025em; text-decoration: none;\">\n");
+				sb.append("																								");
+				sb.append(orderChange.getGoodsNm());
+				sb.append("\n");
+				sb.append("																							</a>\n");
+				sb.append("																						</td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td>\n");
+				if ("G056_S".equals(orderChange.getGoodsType())) {
+					for (int i=0; i < orderChange.getColorNmArr().length; i++) {
+						sb.append("																							<p style=\"margin: 0; padding: 0; font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:200;color: #666666; line-height: 2;\">");
+						sb.append(orderChange.getItemNmArr()[i]);
+						sb.append(" / ");
+						sb.append(orderChange.getColorNmArr()[i]);
+						sb.append(" / ");
+						sb.append(orderChange.getOptCd2Arr()[i]);
+						sb.append("</p>\n");
+					}
+				} else {
+					sb.append("																							<p style=\"margin: 0; padding: 0; font-family:'Apple SD Gothic Neo','나눔고딕',NanumGothic,'맑은고딕',Malgun Gothic, Helvetica, sans-serif;font-weight:200;color: #666666; line-height: 2;\">");
+					sb.append(orderChange.getColorNm());
+					sb.append(" / ");
+					sb.append(orderChange.getOptCd2());
+					sb.append("</p>\n");
+				}
+				sb.append("																						</td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"5px;\" style=\"height: 5px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td>\n");
+				sb.append("																							<span>");
+				sb.append(orderChange.getChgQty());
+				sb.append("개</span>\n");
+				// sb.append("																							<span style=\"width: 12px;padding-left:12px;\"></span>\n");
+				// sb.append("																							<span style=\"display: inline-block; vertical-align: middle; width: 1px; height: 14px; background: #ddd;\"></span>\n");
+				// sb.append("																							<span style=\"width: 12px;padding-right:12px;\"></span>\n");
+				sb.append("																						</td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"10px;\" style=\"height: 10px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																					<tr>\n");
+				sb.append("																						<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+				sb.append("																					</tr>\n");
+				sb.append("																				</tbody>\n");
+				sb.append("																				<!-- // 아이템 컨텐츠 종료 -->\n");
+				sb.append("																			</table>\n");
+				sb.append("																		</td>\n");
+				sb.append("																	</tr>\n");
+				sb.append("																	<!-- // 아이템 테이블 종료 -->\n");
+				idx++;
 			}
 			}
-			sb.append("														        </tbody>");
-			sb.append("														    </table>");
-			sb.append("														</td>");
-			sb.append("													</tr>");
+			sb.append("																	<!-- 배송비 시작 -->\n");
+			sb.append("																	<tr>\n");
+			sb.append("																		<td width=\"40px;\"></td>\n");
+			sb.append("																		<td colspan=\"3\" height=\"20px;\" style=\"height: 45px; background: #f5f5f5;\" bgcolor=\"#f5f5f5\">\n");
+			sb.append("																			<span style=\"width: 12px;padding-left:12px;\"></span>\n");
+			sb.append("																			<span>배송비</span>\n");
+			sb.append("																			<span style=\"width: 12px;padding-right:12px;\"></span>\n");
+			sb.append("																			<span>\n");
+			sb.append("																				<span>");
+			sb.append(df.format(map.getInt("delvFee")));
+			sb.append("</span>원\n");
+			sb.append("																			</span>\n");
+			sb.append("																		</td>\n");
+			sb.append("																		<td width=\"40px;\"></td>\n");
+			sb.append("																	</tr>\n");
+			sb.append("																	<tr>\n");
+			sb.append("																		<td height=\"30px;\" style=\"height: 30px;\"></td>\n");
+			sb.append("																	</tr>\n");
+			sb.append("																	<!-- 배송비 종료 -->\n");
+			sb.append("																</tbody>\n");
+			sb.append("															</table>\n");
+			sb.append("														</td>\n");
+			sb.append("													</tr>\n");
 		}
 		}
-		// for문 끝
-		sb.append("												</tbody>");
-		sb.append("											</table>");
+
+		sb.append("												</tbody>\n");
+		sb.append("											</table>\n");
 
 
 		return sb.toString();
 		return sb.toString();
 	}
 	}
 
 
+	/**
+	 * 주문 취소 자동메일 취소 사은품 정보 설정
+	 *
+	 * @param OrderChange
+	 * @return String
+	 * @author card007
+	 * @since 2021.06.10
+	 */
 	public String getMailFreeGiftCancelInfo(OrderChange orderChange) {
 	public String getMailFreeGiftCancelInfo(OrderChange orderChange) {
 		Collection<OrderChange> freeGiftList = orderChangeDao.getCancelFreeGiftList(orderChange);
 		Collection<OrderChange> freeGiftList = orderChangeDao.getCancelFreeGiftList(orderChange);
 
 
 		StringBuilder sb = new StringBuilder();
 		StringBuilder sb = new StringBuilder();
 
 
-		sb.append("											<table style=\"width:100%;margin:0;padding:0;font-size: 14px;\" cellspacing=\"0\" cellpadding=\"0\">");
-		sb.append("												<tbody>");
-		sb.append("													<tr>");
-		sb.append("														<td height=\"50px;\" style=\"height: 50px;\"></td>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("														<th colspan=\"4\" style=\"text-align: left;font-size: 18px;color: #222222;\" align=\"left\">");
-		sb.append("															사은품 정보");
-		sb.append("														</th>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("														<td height=\"20px;\" style=\"height: 20px;\"></td>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("													    <td colspan=\"4\" height=\"1\" bgcolor=\"#000000\" style=\"height: 1px; background: #000000;\"></td>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("													    <td height=\"20px;\" style=\"height: 20px;\"></td>");
-		sb.append("													</tr>");
-		// for문 시작
-		sb.append("													<tr>");
-		sb.append("													    <td width=\"40px;\"></td>");
-		sb.append("													    <td width=\"250px;\" align=\"left\" style=\"text-align: left;\">");
-		sb.append("														TBJ 굿즈 인형");
-		sb.append("														</td>");
-		sb.append("														<td width=\"250px;\" align=\"left\" style=\"text-align: left;\">");
-		sb.append("														    <span style=\"color:#fd4802;font-family:verdana,Arial, Helvetica, sans-serif;\">");
-		sb.append("														        <span>-9,999,999</span>P");
-		sb.append("															</span>");
-		sb.append("														</td>");
-		sb.append("														<td width=\"40px;\"></td>");
-		sb.append("													</tr>");
-		sb.append("													<tr>");
-		sb.append("														<td height=\"20px;\" style=\"height: 20px;\"></td>");
-		sb.append("													</tr>");
-		// for문 종료
-		sb.append("													<tr>");
-		sb.append("														<td colspan=\"4\" height=\"1\" bgcolor=\"#dddddd\" style=\"height: 1px; background: #dddddd;\"></td>");
-		sb.append("													</tr>");
-		sb.append("												</tbody>");
-		sb.append("											</table>");
+		if (freeGiftList.size() > 0) {
+			sb.append("											<table style=\"width:100%;margin:0;padding:0\" cellspacing=\"0\" cellpadding=\"0\">\n");
+			sb.append("												<tbody>\n");
+			sb.append("													<tr>\n");
+			sb.append("														<td height=\"50px;\" style=\"height: 50px;\"></td>\n");
+			sb.append("													</tr>\n");
+			sb.append("													<tr>\n");
+			sb.append("														<th colspan=\"4\" style=\"text-align: left;font-size: 18px;color: #222222;\" align=\"left\">\n");
+			sb.append("															사은품 정보\n");
+			sb.append("														</th>\n");
+			sb.append("													</tr>\n");
+			sb.append("													<tr>\n");
+			sb.append("														<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+			sb.append("													</tr>\n");
+			sb.append("													<tr>\n");
+			sb.append("														<td colspan=\"4\" height=\"1\" bgcolor=\"#000000\" style=\"height: 1px; background: #000000;\"></td>\n");
+			sb.append("													</tr>\n");
+			sb.append("													<tr>\n");
+			sb.append("														<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+			sb.append("													</tr>\n");
+			for (OrderChange tmp : freeGiftList) {
+				sb.append("													<tr>\n");
+				sb.append("														<td width=\"40px;\"></td>\n");
+				sb.append("														<td width=\"250px;\" align=\"left\" style=\"text-align: left;\">\n");
+				sb.append("															");
+				sb.append(tmp.getGoodsNm());
+				sb.append("\n");
+				sb.append("														</td>\n");
+				sb.append("														<td width=\"250px;\" align=\"left\" style=\"text-align: left;\">\n");
+				sb.append("															<span style=\"color:#fd4802;font-family:verdana,Arial, Helvetica, sans-serif;\">\n");
+				sb.append("																<span>");
+				if (tmp.getUsePoint() > 0) {
+					sb.append("-");
+				}
+				sb.append(tmp.getUsePoint());
+				sb.append("</span> P\n");
+				sb.append("															</span>\n");
+				sb.append("														</td>\n");
+				sb.append("														<td width=\"40px;\"></td>\n");
+				sb.append("													</tr>\n");
+				sb.append("													<tr>\n");
+				sb.append("														<td height=\"20px;\" style=\"height: 20px;\"></td>\n");
+				sb.append("													</tr>\n");
+			}
+			sb.append("													<tr>\n");
+			sb.append("														<td colspan=\"4\" height=\"1\" bgcolor=\"#dddddd\" style=\"height: 1px; background: #dddddd;\"></td>\n");
+			sb.append("													</tr>\n");
+			sb.append("												</tbody>\n");
+			sb.append("											 </table>\n");
+		}
 
 
 		return sb.toString();
 		return sb.toString();
 	}
 	}

+ 2 - 0
src/main/java/com/style24/persistence/domain/OrderChange.java

@@ -26,6 +26,7 @@ public class OrderChange extends TscBaseDomain {
 	private String orderNm;
 	private String orderNm;
 	private String ordNm;
 	private String ordNm;
 	private String ordPhnno;
 	private String ordPhnno;
+	private String ordEmail;
 	private String delvFeeCd;
 	private String delvFeeCd;
 	private Integer delvAddrSq;
 	private Integer delvAddrSq;
 	
 	
@@ -199,6 +200,7 @@ public class OrderChange extends TscBaseDomain {
 	private int priceOrg;							// 원가격
 	private int priceOrg;							// 원가격
 	private int priceSale;							// 할인가격
 	private int priceSale;							// 할인가격
 	private int usePoint;							// 사은품 사용 포인트
 	private int usePoint;							// 사은품 사용 포인트
+	private String supplyCompNm;					// 공급업체명
 
 
 	// 교환 상세
 	// 교환 상세
 	private String[] chgItemNmArr;					// 교환상품구성상품명 배열
 	private String[] chgItemNmArr;					// 교환상품구성상품명 배열

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

@@ -16,7 +16,7 @@
 		  JOIN tb_order_detail B ON A.ORD_NO = B.ORD_NO 
 		  JOIN tb_order_detail B ON A.ORD_NO = B.ORD_NO 
 		  JOIN tb_order_detail_item C ON  B.ORD_NO = C.ORD_NO AND B.ORD_DTL_NO = C.ORD_DTL_NO 
 		  JOIN tb_order_detail_item C ON  B.ORD_NO = C.ORD_NO AND B.ORD_DTL_NO = C.ORD_DTL_NO 
 		 WHERE B.ORD_NO     = #{ordNo}
 		 WHERE B.ORD_NO     = #{ordNo}
-		   AND B.ORD_DTL_NO = #{ordDtlNo}		
+		   AND B.ORD_DTL_NO = #{ordDtlNo}
 		
 		
 	</select>
 	</select>
 	
 	
@@ -34,6 +34,9 @@
 		</if>
 		</if>
 		<if test="paySq != null and paySq != ''">
 		<if test="paySq != null and paySq != ''">
 		   AND PAY_SQ = #{paySq}
 		   AND PAY_SQ = #{paySq}
+		</if>
+		<if test="ordChgSq != null and ordChgSq != ''">
+		   AND ORD_CHG_SQ = #{ordChgSq}
 		</if>
 		</if>
 		 GROUP BY DELV_FEE_CD
 		 GROUP BY DELV_FEE_CD
 	</select>
 	</select>

+ 553 - 538
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -3835,591 +3835,606 @@
 	<select id="getCreCancelDetailInfo" parameterType="OrderChange" resultType="OrderChange">
 	<select id="getCreCancelDetailInfo" parameterType="OrderChange" resultType="OrderChange">
 		/* TsfOrderChange.getCreCancelDetailInfo */
 		/* TsfOrderChange.getCreCancelDetailInfo */
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
-		, GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
-		, GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
-		, GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
-		, Z.ORD_CHG_SQ
-		, Z.CHG_GB
-		, Z.CHG_QTY
-		, Z.ORD_DT
-		, Z.ORD_DATE
-		, Z.CHG_DATE
-		, Z.CHG_TIME
-		, Z.CHG_DT
-		, Z.COMPLETE_DT
-		, Z.CHG_STAT
-		, Z.CHG_STAT_NM
-		, Z.ORD_NO
-		, Z.ORD_AMT
-		, Z.ORD_QTY
-		, Z.CNCL_RTN_QTY
-		, Z.CNCL_RTN_AMT
-		, Z.CPN1_DC_AMT
-		, Z.REAL_ORD_AMT
-		, Z.PNT_DC_AMT
-		, Z.GFCD_USE_AMT
-		, 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.PRICE_ORG
-		, Z.PRICE_SALE
-		, Z.ADD_PAY_COST
-		, Z.SYS_IMG_NM
-		, Z.GIFT_PACK_YN
-		, Z.DELV_FEE_CD
-		, Z.REFUND_AMT
-		, Z.RF_CPN1_AMT
-		, Z.RF_TMTB1_AMT
-		, Z.RF_TMTB2_AMT
-		, Z.RF_GOODS_CPN_AMT
-		, Z.RF_CART_CPN_AMT
-		, Z.RF_DELV_CPN_AMT
-		, Z.RF_PNT_AMT
-		, Z.RF_PRE_PNT_AMT
-		, Z.RF_GFCD_USE_AMT
-		, Z.RF_CNCL_AMT
-		, Z.RF_DELIVERY_FEE
-		, Z.RF_REAL_CNCL_AMT
-		, Z.PG_TID
-		, Z.PG_GB
-		, Z.PAY_MEANS
-		, Z.PAY_MEANS_NM
+		     , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
+		     , Z.ORD_CHG_SQ
+		     , Z.CHG_GB
+		     , Z.CHG_QTY
+		     , Z.ORD_DT
+		     , Z.ORD_DATE
+		     , Z.CHG_DATE
+		     , Z.CHG_TIME
+		     , Z.CHG_DT
+		     , Z.COMPLETE_DT
+		     , Z.CHG_STAT
+		     , Z.CHG_STAT_NM
+		     , Z.ORD_NO
+		     , Z.ORD_AMT
+		     , Z.ORD_QTY
+		     , Z.CNCL_RTN_QTY
+		     , Z.CNCL_RTN_AMT
+		     , Z.CPN1_DC_AMT
+		     , Z.REAL_ORD_AMT
+		     , Z.PNT_DC_AMT
+		     , Z.GFCD_USE_AMT
+		     , 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.PRICE_ORG
+		     , Z.PRICE_SALE
+		     , Z.ADD_PAY_COST
+		     , Z.SYS_IMG_NM
+		     , Z.GIFT_PACK_YN
+		     , Z.DELV_FEE_CD
+		     , Z.SUPPLY_COMP_NM
+		     , Z.ORD_NM
+		     , Z.CUST_NO
+		     , Z.ORD_EMAIL
+		     , Z.REFUND_AMT
+		     , Z.RF_CPN1_AMT
+		     , Z.RF_TMTB1_AMT
+		     , Z.RF_TMTB2_AMT
+		     , Z.RF_GOODS_CPN_AMT
+		     , Z.RF_CART_CPN_AMT
+		     , Z.RF_DELV_CPN_AMT
+		     , Z.RF_PNT_AMT
+		     , Z.RF_PRE_PNT_AMT
+		     , Z.RF_GFCD_USE_AMT
+		     , Z.RF_CNCL_AMT
+		     , Z.RF_DELIVERY_FEE
+		     , Z.RF_REAL_CNCL_AMT
+		     , Z.PG_TID
+		     , Z.PG_GB
+		     , Z.PAY_MEANS
+		     , Z.PAY_MEANS_NM
 		FROM (SELECT OC.ORD_CHG_SQ
 		FROM (SELECT OC.ORD_CHG_SQ
-		, OC.CHG_GB
-		, OCD.CHG_QTY
-		, DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
-		, DATE_FORMAT(O.ORD_DT, '%Y.%m.%d %H:%i')                          AS ORD_DATE
-		, DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
-		, DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
-		, DATE_FORMAT(OCD.REG_DT, '%Y.%m.%d')                              AS CHG_DT
-		, DATE_FORMAT(OCD.COMPLETE_DT, '%Y.%m.%d')                         AS COMPLETE_DT
-		, OCD.CHG_STAT
-		, FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
-		, OD.ORD_NO
-		, OD.ORD_AMT
-		, OD.ORD_QTY
-		, OD.CNCL_RTN_QTY
-		, OD.CNCL_RTN_AMT
-		, OD.CPN1_DC_AMT
-		, OD.REAL_ORD_AMT
-		, OD.PNT_DC_AMT
-		, OD.GFCD_USE_AMT
-		, OCD.ORD_DTL_NO
-		, G1.GOODS_CD
-		, CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
-		ELSE BG.BRAND_GROUP_KNM
-		END                                                             AS BRAND_NM
-		, OD.SHOT_DELV_YN
-		, G1.SELF_GOODS_YN
-		, G1.GOODS_NM
-		, 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
-		, G2.GOODS_NM                                                      AS ITEM_NM
-		, G1.GOODS_TYPE
-		, ODI.ORD_DTL_ITEM_SQ
-		, ODI.OPT_CD1
-		, ODI.OPT_CD2
-		, ROUND((ODH.ORD_AMT - ODH.CPN1_DC_AMT) * (OCD.CHG_QTY / ODH.ORD_QTY)) AS PRICE_ORG
-		, ROUND((ODH.REAL_ORD_AMT + ODH.PNT_DC_AMT + ODH.GFCD_USE_AMT) * (OCD.CHG_QTY / OD.ORD_QTY)) AS PRICE_SALE
-		, OC.ADD_PAY_COST
-		, 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.DELV_FEE_CD
-		, R.REFUND_AMT
-		, R.RF_CPN1_AMT
-		, R.RF_TMTB1_AMT
-		, R.RF_TMTB2_AMT
-		, R.RF_GOODS_CPN_AMT
-		, R.RF_CART_CPN_AMT
-		, R.RF_DELV_CPN_AMT
-		, R.RF_PNT_AMT
-		, R.RF_PRE_PNT_AMT
-		, R.RF_GFCD_USE_AMT
-		, R.RF_CNCL_AMT
-		, R.RF_DELIVERY_FEE
-		, R.RF_REAL_CNCL_AMT
-		, P.PG_TID
-		, P.PG_GB
-		, P.PAY_MEANS
-		, FN_GET_CODE_NM('G014', P.PAY_MEANS)                              AS PAY_MEANS_NM
-		FROM TB_ORDER_CHANGE OC
-		INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
-		ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-		INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
-		ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
-		AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
-		AND OCD.CHG_STAT = OCDH.CHG_STAT
-		INNER JOIN TB_ORDER_DETAIL OD
-		ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
-		AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
-		INNER JOIN TB_ORDER O
-		ON OD.ORD_NO = O.ORD_NO
-		INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-		ON OD.ORD_NO = ODI.ORD_NO
-		AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
-		INNER JOIN TB_ORDER_DETAIL_HST ODH
-		ON OD.ORD_DTL_NO = ODH.ORD_DTL_NO
-		AND ODH.ORD_DTL_STAT = 'G013_00'
-		INNER JOIN TB_GOODS G1
-		ON OD.GOODS_CD = G1.GOODS_CD
-		INNER JOIN TB_GOODS G2
-		ON ODI.ITEM_CD = G2.GOODS_CD
-		INNER JOIN TB_BRAND B
-		ON G1.BRAND_CD = B.BRAND_CD
-		AND B.USE_YN = 'Y'
-		INNER JOIN TB_BRAND_GROUP BG
-		ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-		AND BG.USE_YN = 'Y'
-		LEFT OUTER JOIN TB_REFUND R
-		ON R.ORD_CHG_SQ = OC.ORD_CHG_SQ
-		INNER JOIN TB_PAYMENT P
-		ON P.ORD_NO = O.ORD_NO
-		AND P.PAY_GB = 'O'
-		AND P.PAY_STAT IN ('G016_10', 'G016_30')
-		WHERE OCD.DEL_YN = 'N'
-		AND O.DISP_YN = 'Y'
+		           , OC.CHG_GB
+		           , OCD.CHG_QTY
+		           , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
+		           , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d %H:%i')                          AS ORD_DATE
+		           , DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
+		           , DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
+		           , DATE_FORMAT(OCD.REG_DT, '%Y.%m.%d')                              AS CHG_DT
+		           , DATE_FORMAT(OCD.COMPLETE_DT, '%Y.%m.%d')                         AS COMPLETE_DT
+		           , OCD.CHG_STAT
+		           , FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
+		           , OD.ORD_NO
+		           , OD.ORD_AMT
+		           , OD.ORD_QTY
+		           , OD.CNCL_RTN_QTY
+		           , OD.CNCL_RTN_AMT
+		           , OD.CPN1_DC_AMT
+		           , OD.REAL_ORD_AMT
+		           , OD.PNT_DC_AMT
+		           , OD.GFCD_USE_AMT
+		           , OCD.ORD_DTL_NO
+		           , G1.GOODS_CD
+		           , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
+		             ELSE BG.BRAND_GROUP_KNM
+		              END                                                             AS BRAND_NM
+		           , OD.SHOT_DELV_YN
+		           , G1.SELF_GOODS_YN
+		           , G1.GOODS_NM
+		           , 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
+		           , G2.GOODS_NM                                                      AS ITEM_NM
+		           , G1.GOODS_TYPE
+		           , ODI.ORD_DTL_ITEM_SQ
+		           , ODI.OPT_CD1
+		           , ODI.OPT_CD2
+		           , ROUND((ODH.ORD_AMT - ODH.CPN1_DC_AMT) * (OCD.CHG_QTY / ODH.ORD_QTY)) AS PRICE_ORG
+		           , ROUND((ODH.REAL_ORD_AMT + ODH.PNT_DC_AMT + ODH.GFCD_USE_AMT) * (OCD.CHG_QTY / OD.ORD_QTY)) AS PRICE_SALE
+		           , OC.ADD_PAY_COST
+		           , 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.DELV_FEE_CD
+		           , FN_GET_SUPPLY_COMP_NM(OD.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
+		           , O.ORD_NM
+		           , O.CUST_NO
+		           , O.ORD_EMAIL
+		           , R.REFUND_AMT
+		           , R.RF_CPN1_AMT
+		           , R.RF_TMTB1_AMT
+		           , R.RF_TMTB2_AMT
+		           , R.RF_GOODS_CPN_AMT
+		           , R.RF_CART_CPN_AMT
+		           , R.RF_DELV_CPN_AMT
+		           , R.RF_PNT_AMT
+		           , R.RF_PRE_PNT_AMT
+		           , R.RF_GFCD_USE_AMT
+		           , R.RF_CNCL_AMT
+		           , R.RF_DELIVERY_FEE
+		           , R.RF_REAL_CNCL_AMT
+		           , P.PG_TID
+		           , P.PG_GB
+		           , P.PAY_MEANS
+		           , FN_GET_CODE_NM('G014', P.PAY_MEANS)                              AS PAY_MEANS_NM
+		        FROM TB_ORDER_CHANGE OC
+		       INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
+		          ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
+		       INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
+		          ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
+		         AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
+		         AND OCD.CHG_STAT = OCDH.CHG_STAT
+		       INNER JOIN TB_ORDER_DETAIL OD
+		          ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
+		         AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
+		       INNER JOIN TB_ORDER O
+		          ON OD.ORD_NO = O.ORD_NO
+		       INNER JOIN TB_ORDER_DETAIL_ITEM ODI
+		          ON OD.ORD_NO = ODI.ORD_NO
+		         AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		         AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
+		       INNER JOIN TB_ORDER_DETAIL_HST ODH
+		          ON OD.ORD_DTL_NO = ODH.ORD_DTL_NO
+		         AND ODH.ORD_DTL_STAT = 'G013_00'
+		       INNER JOIN TB_GOODS G1
+		          ON OD.GOODS_CD = G1.GOODS_CD
+		       INNER JOIN TB_GOODS G2
+		          ON ODI.ITEM_CD = G2.GOODS_CD
+		       INNER JOIN TB_BRAND B
+		          ON G1.BRAND_CD = B.BRAND_CD
+		         AND B.USE_YN = 'Y'
+		       INNER JOIN TB_BRAND_GROUP BG
+		          ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+		         AND BG.USE_YN = 'Y'
+		        LEFT OUTER JOIN TB_REFUND R
+		          ON R.ORD_CHG_SQ = OC.ORD_CHG_SQ
+		       INNER JOIN TB_PAYMENT P
+		          ON P.ORD_NO = O.ORD_NO
+		         AND P.PAY_GB = 'O'
+		         AND P.PAY_STAT IN ('G016_10', 'G016_30')
+		         AND P.PG_GB <![CDATA[<>]]> 'NAVER_ORDER'
+		       WHERE OCD.DEL_YN = 'N'
+		         AND O.DISP_YN = 'Y'
 		<choose>
 		<choose>
 			<when test="custNo > 0">
 			<when test="custNo > 0">
-				AND O.CUST_NO = #{custNo}
+		         AND O.CUST_NO = #{custNo}
 			</when>
 			</when>
 			<otherwise>
 			<otherwise>
-				AND O.ORD_NO = #{ordNo}
-				AND O.ORD_NM = #{ordNm}
-				AND O.ORD_PHNNO = #{ordPhnno}
+		         AND O.ORD_NO = #{ordNo}
+		         AND O.ORD_NM = #{ordNm}
+		         AND O.ORD_PHNNO = #{ordPhnno}
 			</otherwise>
 			</otherwise>
 		</choose>
 		</choose>
 		<if test="ordChgSq != null and ordChgSq != ''">
 		<if test="ordChgSq != null and ordChgSq != ''">
-			AND OC.ORD_CHG_SQ = #{ordChgSq}
+		         AND OC.ORD_CHG_SQ = #{ordChgSq}
 		</if>
 		</if>
 		) Z
 		) Z
-		GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.ORD_DATE, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_DT, Z.COMPLETE_DT, Z.CHG_STAT
-		, Z.CHG_STAT_NM, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT, Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT
-		, Z.GFCD_USE_AMT, 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.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.DELV_FEE_CD, Z.REFUND_AMT, Z.RF_CPN1_AMT, Z.RF_TMTB1_AMT
-		, Z.RF_TMTB2_AMT, Z.RF_GOODS_CPN_AMT, Z.RF_CART_CPN_AMT, Z.RF_DELV_CPN_AMT, Z.RF_PNT_AMT, Z.RF_PRE_PNT_AMT, Z.RF_GFCD_USE_AMT
-		, Z.RF_CNCL_AMT, Z.RF_DELIVERY_FEE, Z.RF_REAL_CNCL_AMT, Z.PG_TID, Z.PG_GB, Z.PAY_MEANS, Z.PAY_MEANS_NM
-		ORDER BY Z.ORD_CHG_SQ DESC
+		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.ORD_DATE, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_DT, Z.COMPLETE_DT, Z.CHG_STAT
+		        , Z.CHG_STAT_NM, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT, Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT
+		        , Z.GFCD_USE_AMT, 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.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.DELV_FEE_CD, Z.SUPPLY_COMP_NM, Z.ORD_NM, Z.CUST_NO, Z.ORD_EMAIL
+		        , Z.REFUND_AMT, Z.RF_CPN1_AMT, Z.RF_TMTB1_AMT, Z.RF_TMTB2_AMT, Z.RF_GOODS_CPN_AMT, Z.RF_CART_CPN_AMT, Z.RF_DELV_CPN_AMT, Z.RF_PNT_AMT
+		        , Z.RF_PRE_PNT_AMT, Z.RF_GFCD_USE_AMT, Z.RF_CNCL_AMT, Z.RF_DELIVERY_FEE, Z.RF_REAL_CNCL_AMT, Z.PG_TID, Z.PG_GB, Z.PAY_MEANS, Z.PAY_MEANS_NM
+		 ORDER BY Z.ORD_CHG_SQ DESC, Z.SELF_GOODS_YN DESC, Z.DELV_FEE_CD
 	</select>
 	</select>
 
 
 	<!-- 마이페이지 반품 상세 정보 조회 -->
 	<!-- 마이페이지 반품 상세 정보 조회 -->
 	<select id="getCreReturnDetailInfo" parameterType="OrderChange" resultType="OrderChange">
 	<select id="getCreReturnDetailInfo" parameterType="OrderChange" resultType="OrderChange">
 		/* TsfOrderChange.getCreReturnDetailInfo */
 		/* TsfOrderChange.getCreReturnDetailInfo */
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
-		, GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
-		, GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
-		, GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
-		, Z.ORD_CHG_SQ
-		, Z.CHG_GB
-		, Z.CHG_QTY
-		, Z.ORD_DT
-		, Z.CHG_DATE
-		, Z.CHG_TIME
-		, Z.CHG_DT
-		, Z.COMPLETE_DT
-		, Z.CHG_STAT
-		, Z.CHG_STAT_NM
-		, Z.ORD_NO
-		, Z.ORD_AMT
-		, Z.ORD_QTY
-		, Z.CNCL_RTN_QTY
-		, Z.CNCL_RTN_AMT
-		, Z.CPN1_DC_AMT
-		, Z.REAL_ORD_AMT
-		, Z.PNT_DC_AMT
-		, Z.GFCD_USE_AMT
-		, 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.PRICE_ORG
-		, Z.PRICE_SALE
-		, Z.ADD_PAY_COST
-		, Z.SYS_IMG_NM
-		, Z.GIFT_PACK_YN
-		, Z.REFUND_AMT
-		, Z.RF_CPN1_AMT
-		, Z.RF_TMTB1_AMT
-		, Z.RF_TMTB2_AMT
-		, Z.RF_GOODS_CPN_AMT
-		, Z.RF_CART_CPN_AMT
-		, Z.RF_DELV_CPN_AMT
-		, Z.RF_PNT_AMT
-		, Z.RF_PRE_PNT_AMT
-		, Z.RF_GFCD_USE_AMT
-		, Z.RF_CNCL_AMT
-		, Z.RF_DELIVERY_FEE
-		, Z.RF_REAL_CNCL_AMT
-		, Z.PG_GB
-		, Z.PAY_MEANS
-		, Z.PAY_MEANS_NM
-		, Z.WD_GB
-		, Z.CHGER_NM
-		, Z.CHGER_PHNNO
-		, Z.CHGER_BASE_ADDR
-		, Z.CHGER_DTL_ADDR
-		, Z.CHGER_RTN_MEMO
-		, Z.WD_INVOICE_NO
-		, Z.SHIP_COMP_CD
-		, Z.SHIP_COMP_NM
-		FROM (SELECT OC.ORD_CHG_SQ
-		, OC.CHG_GB
-		, OCD.CHG_QTY
-		, DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
-		, DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
-		, DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
-		, DATE_FORMAT(OCD.REG_DT, '%Y.%m.%d')                              AS CHG_DT
-		, DATE_FORMAT(OCD.COMPLETE_DT, '%Y.%m.%d')                         AS COMPLETE_DT
-		, OCD.CHG_STAT
-		, FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
-		, OD.ORD_NO
-		, OD.ORD_AMT
-		, OD.ORD_QTY
-		, OD.CNCL_RTN_QTY
-		, OD.CNCL_RTN_AMT
-		, OD.CPN1_DC_AMT
-		, OD.REAL_ORD_AMT
-		, OD.PNT_DC_AMT
-		, OD.GFCD_USE_AMT
-		, OCD.ORD_DTL_NO
-		, G1.GOODS_CD
-		, CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
-		ELSE BG.BRAND_GROUP_KNM
-		END                                                             AS BRAND_NM
-		, OD.SHOT_DELV_YN
-		, G1.SELF_GOODS_YN
-		, G1.GOODS_NM
-		, 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
-		, G2.GOODS_NM                                                      AS ITEM_NM
-		, G1.GOODS_TYPE
-		, ODI.ORD_DTL_ITEM_SQ
-		, ODI.OPT_CD1
-		, ODI.OPT_CD2
-		, ((OD.ORD_AMT - OD.CNCL_RTN_AMT - OD.CPN1_DC_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_ORG
-		, ((OD.REAL_ORD_AMT + OD.PNT_DC_AMT + OD.GFCD_USE_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_SALE
-		, OC.ADD_PAY_COST
-		, 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
-		, R.REFUND_AMT
-		, R.RF_CPN1_AMT
-		, R.RF_TMTB1_AMT
-		, R.RF_TMTB2_AMT
-		, R.RF_GOODS_CPN_AMT
-		, R.RF_CART_CPN_AMT
-		, R.RF_DELV_CPN_AMT
-		, R.RF_PNT_AMT
-		, R.RF_PRE_PNT_AMT
-		, R.RF_GFCD_USE_AMT
-		, R.RF_CNCL_AMT
-		, R.RF_DELIVERY_FEE
-		, R.RF_REAL_CNCL_AMT
-		, P.PG_GB
-		, P.PAY_MEANS
-		, FN_GET_CODE_NM('G014', P.PAY_MEANS)                              AS PAY_MEANS_NM
-		, OC.WD_GB
-		, OC.CHGER_NM
-		, OC.CHGER_PHNNO
-		, OC.CHGER_BASE_ADDR
-		, OC.CHGER_DTL_ADDR
-		, OC.CHGER_RTN_MEMO
-		, OC.WD_INVOICE_NO
-		, OC.SHIP_COMP_CD
-		, (SELECT SHIP_COMP_NM
-		FROM TB_SHIP_COMPANY SC
-		WHERE SC.SHIP_COMP_CD = OC.SHIP_COMP_CD)                       AS SHIP_COMP_NM
-		FROM TB_ORDER_CHANGE OC
-		INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
-		ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-		INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
-		ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
-		AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
-		AND OCD.CHG_STAT = OCDH.CHG_STAT
-		INNER JOIN TB_ORDER_DETAIL OD
-		ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
-		AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
-		INNER JOIN TB_ORDER O
-		ON OD.ORD_NO = O.ORD_NO
-		INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-		ON OD.ORD_NO = ODI.ORD_NO
-		AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
-		INNER JOIN TB_GOODS G1
-		ON OD.GOODS_CD = G1.GOODS_CD
-		INNER JOIN TB_GOODS G2
-		ON ODI.ITEM_CD = G2.GOODS_CD
-		INNER JOIN TB_BRAND B
-		ON G1.BRAND_CD = B.BRAND_CD
-		AND B.USE_YN = 'Y'
-		INNER JOIN TB_BRAND_GROUP BG
-		ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-		AND BG.USE_YN = 'Y'
-		LEFT OUTER JOIN TB_REFUND R
-		ON R.ORD_CHG_SQ = OC.ORD_CHG_SQ
-		INNER JOIN TB_PAYMENT P
-		ON P.ORD_NO = O.ORD_NO
-		AND P.PAY_GB = 'O'
-		AND P.PAY_STAT = 'G016_30'
-		WHERE O.DISP_YN = 'Y'
+		     , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
+		     , Z.ORD_CHG_SQ
+		     , Z.CHG_GB
+		     , Z.CHG_QTY
+		     , Z.ORD_DT
+		     , Z.CHG_DATE
+		     , Z.CHG_TIME
+		     , Z.CHG_DT
+		     , Z.COMPLETE_DT
+		     , Z.CHG_STAT
+		     , Z.CHG_STAT_NM
+		     , Z.ORD_NO
+		     , Z.ORD_AMT
+		     , Z.ORD_QTY
+		     , Z.CNCL_RTN_QTY
+		     , Z.CNCL_RTN_AMT
+		     , Z.CPN1_DC_AMT
+		     , Z.REAL_ORD_AMT
+		     , Z.PNT_DC_AMT
+		     , Z.GFCD_USE_AMT
+		     , 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.PRICE_ORG
+		     , Z.PRICE_SALE
+		     , Z.ADD_PAY_COST
+		     , Z.SYS_IMG_NM
+		     , Z.GIFT_PACK_YN
+		     , Z.REFUND_AMT
+		     , Z.RF_CPN1_AMT
+		     , Z.RF_TMTB1_AMT
+		     , Z.RF_TMTB2_AMT
+		     , Z.RF_GOODS_CPN_AMT
+		     , Z.RF_CART_CPN_AMT
+		     , Z.RF_DELV_CPN_AMT
+		     , Z.RF_PNT_AMT
+		     , Z.RF_PRE_PNT_AMT
+		     , Z.RF_GFCD_USE_AMT
+		     , Z.RF_CNCL_AMT
+		     , Z.RF_DELIVERY_FEE
+		     , Z.RF_REAL_CNCL_AMT
+		     , Z.PG_GB
+		     , Z.PAY_MEANS
+		     , Z.PAY_MEANS_NM
+		     , Z.WD_GB
+		     , Z.CHGER_NM
+		     , Z.CHGER_PHNNO
+		     , Z.CHGER_BASE_ADDR
+		     , Z.CHGER_DTL_ADDR
+		     , Z.CHGER_RTN_MEMO
+		     , Z.WD_INVOICE_NO
+		     , Z.SHIP_COMP_CD
+		     , Z.SHIP_COMP_NM
+		  FROM (SELECT OC.ORD_CHG_SQ
+		             , OC.CHG_GB
+		             , OCD.CHG_QTY
+		             , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
+		             , DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
+		             , DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
+		             , DATE_FORMAT(OCD.REG_DT, '%Y.%m.%d')                              AS CHG_DT
+		             , DATE_FORMAT(OCD.COMPLETE_DT, '%Y.%m.%d')                         AS COMPLETE_DT
+		             , OCD.CHG_STAT
+		             , FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
+		             , OD.ORD_NO
+		             , OD.ORD_AMT
+		             , OD.ORD_QTY
+		             , OD.CNCL_RTN_QTY
+		             , OD.CNCL_RTN_AMT
+		             , OD.CPN1_DC_AMT
+		             , OD.REAL_ORD_AMT
+		             , OD.PNT_DC_AMT
+		             , OD.GFCD_USE_AMT
+		             , OCD.ORD_DTL_NO
+		             , G1.GOODS_CD
+		             , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
+		               ELSE BG.BRAND_GROUP_KNM
+		                END                                                             AS BRAND_NM
+		             , OD.SHOT_DELV_YN
+		             , G1.SELF_GOODS_YN
+		             , G1.GOODS_NM
+		             , 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
+		             , G2.GOODS_NM                                                      AS ITEM_NM
+		             , G1.GOODS_TYPE
+		             , ODI.ORD_DTL_ITEM_SQ
+		             , ODI.OPT_CD1
+		             , ODI.OPT_CD2
+		             , ((OD.ORD_AMT - OD.CNCL_RTN_AMT - OD.CPN1_DC_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_ORG
+		             , ((OD.REAL_ORD_AMT + OD.PNT_DC_AMT + OD.GFCD_USE_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_SALE
+		             , OC.ADD_PAY_COST
+		             , 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
+		             , R.REFUND_AMT
+		             , R.RF_CPN1_AMT
+		             , R.RF_TMTB1_AMT
+		             , R.RF_TMTB2_AMT
+		             , R.RF_GOODS_CPN_AMT
+		             , R.RF_CART_CPN_AMT
+		             , R.RF_DELV_CPN_AMT
+		             , R.RF_PNT_AMT
+		             , R.RF_PRE_PNT_AMT
+		             , R.RF_GFCD_USE_AMT
+		             , R.RF_CNCL_AMT
+		             , R.RF_DELIVERY_FEE
+		             , R.RF_REAL_CNCL_AMT
+		             , P.PG_GB
+		             , P.PAY_MEANS
+		             , FN_GET_CODE_NM('G014', P.PAY_MEANS)                              AS PAY_MEANS_NM
+		             , OC.WD_GB
+		             , OC.CHGER_NM
+		             , OC.CHGER_PHNNO
+		             , OC.CHGER_BASE_ADDR
+		             , OC.CHGER_DTL_ADDR
+		             , OC.CHGER_RTN_MEMO
+		             , OC.WD_INVOICE_NO
+		             , OC.SHIP_COMP_CD
+		             , (SELECT SHIP_COMP_NM
+		                  FROM TB_SHIP_COMPANY SC
+		                 WHERE SC.SHIP_COMP_CD = OC.SHIP_COMP_CD)                       AS SHIP_COMP_NM
+		          FROM TB_ORDER_CHANGE OC
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
+		            ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
+		            ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
+		           AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
+		           AND OCD.CHG_STAT = OCDH.CHG_STAT
+		         INNER JOIN TB_ORDER_DETAIL OD
+		            ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
+		           AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
+		         INNER JOIN TB_ORDER O
+		            ON OD.ORD_NO = O.ORD_NO
+		         INNER JOIN TB_ORDER_DETAIL_ITEM ODI
+		            ON OD.ORD_NO = ODI.ORD_NO
+		           AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		           AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
+		         INNER JOIN TB_GOODS G1
+		            ON OD.GOODS_CD = G1.GOODS_CD
+		         INNER JOIN TB_GOODS G2
+		           ON ODI.ITEM_CD = G2.GOODS_CD
+		         INNER JOIN TB_BRAND B
+		            ON G1.BRAND_CD = B.BRAND_CD
+		           AND B.USE_YN = 'Y'
+		         INNER JOIN TB_BRAND_GROUP BG
+		            ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+		           AND BG.USE_YN = 'Y'
+		          LEFT OUTER JOIN TB_REFUND R
+		            ON R.ORD_CHG_SQ = OC.ORD_CHG_SQ
+		         INNER JOIN TB_PAYMENT P
+		            ON P.ORD_NO = O.ORD_NO
+		           AND P.PAY_GB = 'O'
+		           AND P.PAY_STAT = 'G016_30'
+		           AND P.PG_GB <![CDATA[<>]]> 'NAVER_ORDER'
+		         WHERE O.DISP_YN = 'Y'
 		<choose>
 		<choose>
 			<when test="custNo > 0">
 			<when test="custNo > 0">
-				AND O.CUST_NO = #{custNo}
+		           AND O.CUST_NO = #{custNo}
 			</when>
 			</when>
 			<otherwise>
 			<otherwise>
-				AND O.ORD_NO = #{ordNo}
-				AND O.ORD_NM = #{ordNm}
-				AND O.ORD_PHNNO = #{ordPhnno}
+		           AND O.ORD_NO = #{ordNo}
+		           AND O.ORD_NM = #{ordNm}
+		           AND O.ORD_PHNNO = #{ordPhnno}
 			</otherwise>
 			</otherwise>
 		</choose>
 		</choose>
 		<if test="ordChgSq != null and ordChgSq != ''">
 		<if test="ordChgSq != null and ordChgSq != ''">
-			AND OC.ORD_CHG_SQ = #{ordChgSq}
+		           AND OC.ORD_CHG_SQ = #{ordChgSq}
 		</if>
 		</if>
 		) Z
 		) Z
-		GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_DT, Z.COMPLETE_DT, Z.CHG_STAT
-		, Z.CHG_STAT_NM, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT, Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT
-		, Z.GFCD_USE_AMT, 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.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.REFUND_AMT, Z.RF_CPN1_AMT, Z.RF_TMTB1_AMT
-		, Z.RF_TMTB2_AMT, Z.RF_GOODS_CPN_AMT, Z.RF_CART_CPN_AMT, Z.RF_DELV_CPN_AMT, Z.RF_PNT_AMT, Z.RF_PRE_PNT_AMT, Z.RF_GFCD_USE_AMT, Z.RF_CNCL_AMT
-		, Z.RF_DELIVERY_FEE, Z.RF_REAL_CNCL_AMT, Z.PG_GB, Z.PAY_MEANS, Z.PAY_MEANS_NM, Z.WD_GB, Z.CHGER_NM, Z.CHGER_PHNNO, Z.CHGER_BASE_ADDR
-		, Z.CHGER_DTL_ADDR, Z.CHGER_RTN_MEMO, Z.WD_INVOICE_NO, Z.SHIP_COMP_CD, Z.SHIP_COMP_NM
-		ORDER BY Z.ORD_CHG_SQ DESC
+		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_DT, Z.COMPLETE_DT, Z.CHG_STAT
+		        , Z.CHG_STAT_NM, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT, Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT
+		        , Z.GFCD_USE_AMT, 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.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.REFUND_AMT, Z.RF_CPN1_AMT, Z.RF_TMTB1_AMT
+		        , Z.RF_TMTB2_AMT, Z.RF_GOODS_CPN_AMT, Z.RF_CART_CPN_AMT, Z.RF_DELV_CPN_AMT, Z.RF_PNT_AMT, Z.RF_PRE_PNT_AMT, Z.RF_GFCD_USE_AMT, Z.RF_CNCL_AMT
+		        , Z.RF_DELIVERY_FEE, Z.RF_REAL_CNCL_AMT, Z.PG_GB, Z.PAY_MEANS, Z.PAY_MEANS_NM, Z.WD_GB, Z.CHGER_NM, Z.CHGER_PHNNO, Z.CHGER_BASE_ADDR
+		        , Z.CHGER_DTL_ADDR, Z.CHGER_RTN_MEMO, Z.WD_INVOICE_NO, Z.SHIP_COMP_CD, Z.SHIP_COMP_NM
+		 ORDER BY Z.ORD_CHG_SQ DESC
 	</select>
 	</select>
 
 
 	<!-- 마이페이지 교환 상세 정보 조회 -->
 	<!-- 마이페이지 교환 상세 정보 조회 -->
 	<select id="getCreExchangeDetailInfo" parameterType="OrderChange" resultType="OrderChange">
 	<select id="getCreExchangeDetailInfo" parameterType="OrderChange" resultType="OrderChange">
 		/* TsfOrderChange.getCreExchangeDetailInfo */
 		/* TsfOrderChange.getCreExchangeDetailInfo */
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
-		, GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
-		, GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
-		, GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
-		, Z.ORD_CHG_SQ
-		, Z.CHG_GB
-		, Z.CHG_QTY
-		, Z.ORD_DT
-		, Z.CHG_DATE
-		, Z.CHG_TIME
-		, Z.CHG_DT
-		, Z.COMPLETE_DT
-		, Z.CHG_STAT
-		, Z.CHG_STAT_NM
-		, Z.ORD_DTL_STAT
-		, Z.EXCHANGE_SHIP_COMP_CD
-		, Z.EXCHANGE_INVOICE_NO
-		, Z.ORD_NO
-		, Z.ORD_AMT
-		, Z.ORD_QTY
-		, Z.CNCL_RTN_QTY
-		, Z.CNCL_RTN_AMT
-		, Z.CPN1_DC_AMT
-		, Z.REAL_ORD_AMT
-		, Z.PNT_DC_AMT
-		, Z.GFCD_USE_AMT
-		, 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.PRICE_ORG
-		, Z.PRICE_SALE
-		, Z.ADD_PAY_COST
-		, Z.SYS_IMG_NM
-		, Z.GIFT_PACK_YN
-		, Z.WD_GB
-		, Z.CHGER_NM
-		, Z.CHGER_PHNNO
-		, Z.CHGER_BASE_ADDR
-		, Z.CHGER_DTL_ADDR
-		, Z.CHGER_RTN_MEMO
-		, Z.CHG_MEMO
-		, Z.WD_INVOICE_NO
-		, Z.SHIP_COMP_CD
-		, Z.SHIP_COMP_NM
-		, Z.DELV_ADDR_SQ
-		, Z.RECIP_NM
-		, Z.RECIP_PHNNO
-		, Z.RECIP_BASE_ADDR
-		, Z.RECIP_DTL_ADDR
-		, Z.DELV_MEMO
-		, Z.PG_TID
-		, Z.PAY_MEANS
-		, Z.PAY_MEANS_NM
-		, Z.CARD_NM
-		, Z.CARD_MIPS
-		, Z.CHG_ORD_DTL_STAT
-		FROM (SELECT OC.ORD_CHG_SQ
-		, OC.CHG_GB
-		, OCD.CHG_QTY
-		, DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
-		, DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
-		, DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
-		, DATE_FORMAT(OCD.REG_DT, '%Y.%m.%d')                              AS CHG_DT
-		, DATE_FORMAT(OCD.COMPLETE_DT, '%Y.%m.%d')                         AS COMPLETE_DT
-		, OCD.CHG_STAT
-		, FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
-		, OD2.ORD_DTL_STAT                                                 AS ORD_DTL_STAT
-		, OD2.INVOICE_NO                                                   AS EXCHANGE_INVOICE_NO
-		, OD2.SHIP_COMP_CD                                                 AS EXCHANGE_SHIP_COMP_CD
-		, OD.ORD_NO
-		, OD.ORD_AMT
-		, OD.ORD_QTY
-		, OD.CNCL_RTN_QTY
-		, OD.CNCL_RTN_AMT
-		, OD.CPN1_DC_AMT
-		, OD.REAL_ORD_AMT
-		, OD.PNT_DC_AMT
-		, OD.GFCD_USE_AMT
-		, OCD.ORD_DTL_NO
-		, G1.GOODS_CD
-		, CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
-		ELSE BG.BRAND_GROUP_KNM
-		END                                                             AS BRAND_NM
-		, OD.SHOT_DELV_YN
-		, G1.SELF_GOODS_YN
-		, G1.GOODS_NM
-		, 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
-		, G2.GOODS_NM                                                      AS ITEM_NM
-		, G1.GOODS_TYPE
-		, ODI.ORD_DTL_ITEM_SQ
-		, ODI.OPT_CD1
-		, ODI.OPT_CD2
-		, ((OD.ORD_AMT - OD.CNCL_RTN_AMT - OD.CPN1_DC_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_ORG
-		, ((OD.REAL_ORD_AMT + OD.PNT_DC_AMT + OD.GFCD_USE_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_SALE
-		, OC.ADD_PAY_COST
-		, 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
-		, OC.WD_GB
-		, OC.CHGER_NM
-		, OC.CHGER_PHNNO
-		, OC.CHGER_BASE_ADDR
-		, OC.CHGER_DTL_ADDR
-		, OC.CHGER_RTN_MEMO
-		, OC.CHG_MEMO
-		, OC.WD_INVOICE_NO
-		, OC.SHIP_COMP_CD
-		, (SELECT SHIP_COMP_NM
-		FROM TB_SHIP_COMPANY SC
-		WHERE SC.SHIP_COMP_CD = OC.SHIP_COMP_CD)                       AS SHIP_COMP_NM
-		, DA.DELV_ADDR_SQ
-		, DA.RECIP_NM
-		, DA.RECIP_PHNNO
-		, DA.RECIP_BASE_ADDR
-		, DA.RECIP_DTL_ADDR
-		, DA.DELV_MEMO
-		, P.PG_TID
-		, P.PAY_MEANS
-		, FN_GET_CODE_NM('G014', P.PAY_MEANS)                              AS PAY_MEANS_NM
-		, P.CARD_NM
-		, IF(P.CARD_MIPS = 0, '일시불', CONCAT(P.CARD_MIPS, '개월'))          AS CARD_MIPS
-		, OD2.ORD_DTL_STAT                                                 AS CHG_ORD_DTL_STAT
-		FROM TB_ORDER_CHANGE OC
-		INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
-		ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-		INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
-		ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
-		AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
-		AND OCD.CHG_STAT = OCDH.CHG_STAT
-		INNER JOIN TB_ORDER_DETAIL OD
-		ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
-		AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
-		INNER JOIN TB_ORDER_DETAIL OD2
-		ON OCD.CHG_ORD_DTL_NO = OD2.ORD_DTL_NO
-		AND OD2.ORD_EXCH_GB = 'E'
-		LEFT OUTER JOIN TB_DELIVERY_ADDR DA
-		ON OD2.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
-		INNER JOIN TB_ORDER O
-		ON OD.ORD_NO = O.ORD_NO
-		INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-		ON OD.ORD_NO = ODI.ORD_NO
-		AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
-		INNER JOIN TB_GOODS G1
-		ON OD.GOODS_CD = G1.GOODS_CD
-		INNER JOIN TB_GOODS G2
-		ON ODI.ITEM_CD = G2.GOODS_CD
-		INNER JOIN TB_BRAND B
-		ON G1.BRAND_CD = B.BRAND_CD
-		AND B.USE_YN = 'Y'
-		INNER JOIN TB_BRAND_GROUP BG
-		ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-		AND BG.USE_YN = 'Y'
-		LEFT OUTER JOIN TB_PAYMENT P
-		ON P.ORD_CHG_SQ = OC.ORD_CHG_SQ
-		AND P.PAY_GB = 'D'
-		AND P.PAY_STAT = 'G016_30'
-		WHERE O.DISP_YN = 'Y'
+		     , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
+		     , Z.ORD_CHG_SQ
+		     , Z.CHG_GB
+		     , Z.CHG_QTY
+		     , Z.ORD_DT
+		     , Z.CHG_DATE
+		     , Z.CHG_TIME
+		     , Z.CHG_DT
+		     , Z.COMPLETE_DT
+		     , Z.CHG_STAT
+		     , Z.CHG_STAT_NM
+		     , Z.ORD_DTL_STAT
+		     , Z.EXCHANGE_SHIP_COMP_CD
+		     , Z.EXCHANGE_INVOICE_NO
+		     , Z.ORD_NO
+		     , Z.ORD_AMT
+		     , Z.ORD_QTY
+		     , Z.CNCL_RTN_QTY
+		     , Z.CNCL_RTN_AMT
+		     , Z.CPN1_DC_AMT
+		     , Z.REAL_ORD_AMT
+		     , Z.PNT_DC_AMT
+		     , Z.GFCD_USE_AMT
+		     , 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.PRICE_ORG
+		     , Z.PRICE_SALE
+		     , Z.ADD_PAY_COST
+		     , Z.SYS_IMG_NM
+		     , Z.GIFT_PACK_YN
+		     , Z.WD_GB
+		     , Z.CHGER_NM
+		     , Z.CHGER_PHNNO
+		     , Z.CHGER_BASE_ADDR
+		     , Z.CHGER_DTL_ADDR
+		     , Z.CHGER_RTN_MEMO
+		     , Z.CHG_MEMO
+		     , Z.WD_INVOICE_NO
+		     , Z.SHIP_COMP_CD
+		     , Z.SHIP_COMP_NM
+		     , Z.DELV_ADDR_SQ
+		     , Z.RECIP_NM
+		     , Z.RECIP_PHNNO
+		     , Z.RECIP_BASE_ADDR
+		     , Z.RECIP_DTL_ADDR
+		     , Z.DELV_MEMO
+		     , Z.PG_TID
+		     , Z.PAY_MEANS
+		     , Z.PAY_MEANS_NM
+		     , Z.CARD_NM
+		     , Z.CARD_MIPS
+		     , Z.CHG_ORD_DTL_STAT
+		  FROM (SELECT OC.ORD_CHG_SQ
+		             , OC.CHG_GB
+		             , OCD.CHG_QTY
+		             , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
+		             , DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
+		             , DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
+		             , DATE_FORMAT(OCD.REG_DT, '%Y.%m.%d')                              AS CHG_DT
+		             , DATE_FORMAT(OCD.COMPLETE_DT, '%Y.%m.%d')                         AS COMPLETE_DT
+		             , OCD.CHG_STAT
+		             , FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
+		             , OD2.ORD_DTL_STAT                                                 AS ORD_DTL_STAT
+		             , OD2.INVOICE_NO                                                   AS EXCHANGE_INVOICE_NO
+		             , OD2.SHIP_COMP_CD                                                 AS EXCHANGE_SHIP_COMP_CD
+		             , OD.ORD_NO
+		             , OD.ORD_AMT
+		             , OD.ORD_QTY
+		             , OD.CNCL_RTN_QTY
+		             , OD.CNCL_RTN_AMT
+		             , OD.CPN1_DC_AMT
+		             , OD.REAL_ORD_AMT
+		             , OD.PNT_DC_AMT
+		             , OD.GFCD_USE_AMT
+		             , OCD.ORD_DTL_NO
+		             , G1.GOODS_CD
+		             , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
+		               ELSE BG.BRAND_GROUP_KNM
+		                END                                                             AS BRAND_NM
+		             , OD.SHOT_DELV_YN
+		             , G1.SELF_GOODS_YN
+		             , G1.GOODS_NM
+		             , 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
+		             , G2.GOODS_NM                                                      AS ITEM_NM
+		             , G1.GOODS_TYPE
+		             , ODI.ORD_DTL_ITEM_SQ
+		             , ODI.OPT_CD1
+		             , ODI.OPT_CD2
+		             , ((OD.ORD_AMT - OD.CNCL_RTN_AMT - OD.CPN1_DC_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_ORG
+		             , ((OD.REAL_ORD_AMT + OD.PNT_DC_AMT + OD.GFCD_USE_AMT) * (OCD.CHG_QTY / (OD.ORD_QTY - OD.CNCL_RTN_QTY))) AS PRICE_SALE
+		             , OC.ADD_PAY_COST
+		             , 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
+		             , OC.WD_GB
+		             , OC.CHGER_NM
+		             , OC.CHGER_PHNNO
+		             , OC.CHGER_BASE_ADDR
+		             , OC.CHGER_DTL_ADDR
+		             , OC.CHGER_RTN_MEMO
+		             , OC.CHG_MEMO
+		             , OC.WD_INVOICE_NO
+		             , OC.SHIP_COMP_CD
+		             , (SELECT SHIP_COMP_NM
+		                  FROM TB_SHIP_COMPANY SC
+		                 WHERE SC.SHIP_COMP_CD = OC.SHIP_COMP_CD)                       AS SHIP_COMP_NM
+		             , DA.DELV_ADDR_SQ
+		             , DA.RECIP_NM
+		             , DA.RECIP_PHNNO
+		             , DA.RECIP_BASE_ADDR
+		             , DA.RECIP_DTL_ADDR
+		             , DA.DELV_MEMO
+		             , P.PG_TID
+		             , P.PAY_MEANS
+		             , FN_GET_CODE_NM('G014', P.PAY_MEANS)                              AS PAY_MEANS_NM
+		             , P.CARD_NM
+		             , IF(P.CARD_MIPS = 0, '일시불', CONCAT(P.CARD_MIPS, '개월'))          AS CARD_MIPS
+		             , OD2.ORD_DTL_STAT                                                 AS CHG_ORD_DTL_STAT
+		          FROM TB_ORDER_CHANGE OC
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
+		            ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
+		            ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
+		           AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
+		           AND OCD.CHG_STAT = OCDH.CHG_STAT
+		         INNER JOIN TB_ORDER_DETAIL OD
+		            ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
+		           AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
+		         INNER JOIN TB_ORDER_DETAIL OD2
+		            ON OCD.CHG_ORD_DTL_NO = OD2.ORD_DTL_NO
+		           AND OD2.ORD_EXCH_GB = 'E'
+		          LEFT OUTER JOIN TB_DELIVERY_ADDR DA
+		            ON OD2.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
+		         INNER JOIN TB_ORDER O
+		            ON OD.ORD_NO = O.ORD_NO
+		         INNER JOIN TB_PAYMENT P2
+		            ON O.ORD_NO = P2.ORD_NO
+		           AND P2.PAY_STAT IN ('G016_10', 'G016_30')
+		           AND P2.PAY_GB = 'O'
+		           AND P2.PAY_GB <![CDATA[<>]]> 'NAVER_ORDER'
+		         INNER JOIN TB_ORDER_DETAIL_ITEM ODI
+		            ON OD.ORD_NO = ODI.ORD_NO
+		           AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		           AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
+		         INNER JOIN TB_GOODS G1
+		            ON OD.GOODS_CD = G1.GOODS_CD
+		         INNER JOIN TB_GOODS G2
+		            ON ODI.ITEM_CD = G2.GOODS_CD
+		         INNER JOIN TB_BRAND B
+		            ON G1.BRAND_CD = B.BRAND_CD
+		           AND B.USE_YN = 'Y'
+		         INNER JOIN TB_BRAND_GROUP BG
+		            ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+		           AND BG.USE_YN = 'Y'
+		          LEFT OUTER JOIN TB_PAYMENT P
+		            ON P.ORD_CHG_SQ = OC.ORD_CHG_SQ
+		           AND P.PAY_GB = 'D'
+		           AND P.PAY_STAT = 'G016_30'
+		         WHERE O.DISP_YN = 'Y'
 		<choose>
 		<choose>
 			<when test="custNo > 0">
 			<when test="custNo > 0">
-				AND O.CUST_NO = #{custNo}
+		           AND O.CUST_NO = #{custNo}
 			</when>
 			</when>
 			<otherwise>
 			<otherwise>
-				AND O.ORD_NO = #{ordNo}
-				AND O.ORD_NM = #{ordNm}
-				AND O.ORD_PHNNO = #{ordPhnno}
+		           AND O.ORD_NO = #{ordNo}
+		           AND O.ORD_NM = #{ordNm}
+		           AND O.ORD_PHNNO = #{ordPhnno}
 			</otherwise>
 			</otherwise>
 		</choose>
 		</choose>
 		<if test="ordChgSq != null and ordChgSq != ''">
 		<if test="ordChgSq != null and ordChgSq != ''">
-			AND OC.ORD_CHG_SQ = #{ordChgSq}
+		           AND OC.ORD_CHG_SQ = #{ordChgSq}
 		</if>
 		</if>
 		) Z
 		) Z
-		GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_DT, Z.COMPLETE_DT, Z.CHG_STAT
-		, Z.CHG_STAT_NM, Z.ORD_DTL_STAT, Z.EXCHANGE_SHIP_COMP_CD, Z.EXCHANGE_INVOICE_NO, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT
-		, Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, 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.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.WD_GB, Z.CHGER_NM, Z.CHGER_PHNNO, Z.CHGER_BASE_ADDR
-		, Z.CHGER_DTL_ADDR, Z.CHGER_RTN_MEMO, Z.CHG_MEMO, Z.WD_INVOICE_NO, Z.SHIP_COMP_CD, Z.SHIP_COMP_NM, Z.DELV_ADDR_SQ, Z.RECIP_NM, Z.RECIP_PHNNO
-		, Z.RECIP_BASE_ADDR, Z.RECIP_DTL_ADDR, Z.DELV_MEMO, Z.PG_TID, Z.PAY_MEANS, Z.PAY_MEANS_NM, Z.CARD_NM, Z.CARD_MIPS, Z.CHG_ORD_DTL_STAT
-		ORDER BY Z.ORD_CHG_SQ DESC
+		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_DT, Z.COMPLETE_DT, Z.CHG_STAT
+		        , Z.CHG_STAT_NM, Z.ORD_DTL_STAT, Z.EXCHANGE_SHIP_COMP_CD, Z.EXCHANGE_INVOICE_NO, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT
+		        , Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, 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.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.WD_GB, Z.CHGER_NM, Z.CHGER_PHNNO, Z.CHGER_BASE_ADDR
+		        , Z.CHGER_DTL_ADDR, Z.CHGER_RTN_MEMO, Z.CHG_MEMO, Z.WD_INVOICE_NO, Z.SHIP_COMP_CD, Z.SHIP_COMP_NM, Z.DELV_ADDR_SQ, Z.RECIP_NM, Z.RECIP_PHNNO
+		        , Z.RECIP_BASE_ADDR, Z.RECIP_DTL_ADDR, Z.DELV_MEMO, Z.PG_TID, Z.PAY_MEANS, Z.PAY_MEANS_NM, Z.CARD_NM, Z.CARD_MIPS, Z.CHG_ORD_DTL_STAT
+		 ORDER BY Z.ORD_CHG_SQ DESC
 	</select>
 	</select>
 
 
 	<!-- 마이페이지 교환 상품 옵션 정보 조회 -->
 	<!-- 마이페이지 교환 상품 옵션 정보 조회 -->
 	<select id="getExchangeGoodsOptionInfoList" parameterType="OrderChange" resultType="OrderChange">
 	<select id="getExchangeGoodsOptionInfoList" parameterType="OrderChange" resultType="OrderChange">
 		/* TscOrderChange.getExchangeGoodsOptionInfoList */
 		/* TscOrderChange.getExchangeGoodsOptionInfoList */
 		SELECT Z.ORD_CHG_SQ
 		SELECT Z.ORD_CHG_SQ
-			 , Z.CHG_GB
-			 , Z.ORD_DTL_NO
-			 , Z.ORG_ORD_DTL_NO
-			 , Z.ORD_DTL_STAT
-			 , Z.SHIP_COMP_CD
-			 , Z.INVOICE_NO
-			 , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
-			 , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
-			 , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
-			 , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
+		     , Z.CHG_GB
+		     , Z.ORD_DTL_NO
+		     , Z.ORG_ORD_DTL_NO
+		     , Z.ORD_DTL_STAT
+		     , Z.SHIP_COMP_CD
+		     , Z.INVOICE_NO
+		     , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
+		     , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
 		  FROM (SELECT OC.ORD_CHG_SQ
 		  FROM (SELECT OC.ORD_CHG_SQ
-					 , OC.CHG_GB
-					 , OD.ORD_DTL_NO
-					 , OD.ORG_ORD_DTL_NO
-					 , OD.ORD_DTL_STAT
-					 , OD.SHIP_COMP_CD
-					 , OD.INVOICE_NO
-					 , 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
-					 , G2.GOODS_NM                      AS ITEM_NM
-					 , ODI.OPT_CD1
-					 , ODI.OPT_CD2
-					 , ODI.ORD_DTL_ITEM_SQ
-				  FROM TB_ORDER_CHANGE OC
-				  INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
-				  ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-				  INNER JOIN TB_ORDER_DETAIL OD
-				  ON OCD.CHG_ORD_DTL_NO = OD.ORD_DTL_NO
-				  INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-				  ON OD.ORD_NO = ODI.ORD_NO
-					  AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-				  INNER JOIN TB_GOODS G1
-				  ON OD.GOODS_CD = G1.GOODS_CD
-				  INNER JOIN TB_GOODS G2
-				  ON ODI.ITEM_CD = G2.GOODS_CD
-				 WHERE OC.ORD_CHG_SQ = #{ordChgSq}
-				   AND OCD.ORD_DTL_NO = #{ordDtlNo}
+		             , OC.CHG_GB
+		             , OD.ORD_DTL_NO
+		             , OD.ORG_ORD_DTL_NO
+		             , OD.ORD_DTL_STAT
+		             , OD.SHIP_COMP_CD
+		             , OD.INVOICE_NO
+		             , 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
+		             , G2.GOODS_NM                      AS ITEM_NM
+		             , ODI.OPT_CD1
+		             , ODI.OPT_CD2
+		             , ODI.ORD_DTL_ITEM_SQ
+		          FROM TB_ORDER_CHANGE OC
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
+		            ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
+		         INNER JOIN TB_ORDER_DETAIL OD
+		            ON OCD.CHG_ORD_DTL_NO = OD.ORD_DTL_NO
+		         INNER JOIN TB_ORDER_DETAIL_ITEM ODI
+		            ON OD.ORD_NO = ODI.ORD_NO
+		           AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		         INNER JOIN TB_GOODS G1
+		            ON OD.GOODS_CD = G1.GOODS_CD
+		         INNER JOIN TB_GOODS G2
+		            ON ODI.ITEM_CD = G2.GOODS_CD
+		         WHERE OC.ORD_CHG_SQ = #{ordChgSq}
+		           AND OCD.ORD_DTL_NO = #{ordDtlNo}
 		  ) Z
 		  ) Z
 		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.ORD_DTL_NO, Z.ORG_ORD_DTL_NO, Z.ORD_DTL_STAT, Z.SHIP_COMP_CD, Z.INVOICE_NO
 		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.ORD_DTL_NO, Z.ORG_ORD_DTL_NO, Z.ORD_DTL_STAT, Z.SHIP_COMP_CD, Z.INVOICE_NO
 	</select>
 	</select>