jsh77b 5 роки тому
батько
коміт
dd0c96cf25

+ 5 - 3
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -88,7 +88,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.addObject("orderInfoList"				, orderService.getOrderInfoList(order));						// 주문정보
 		mav.addObject("ordNo"						, ordNo);														// 주문번호
 
-		mav.setViewName("order/cnclReqForm");
+		mav.setViewName("order/CnclReqForm");
 		
 		return mav;
 	}
@@ -122,9 +122,11 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.addObject("chgReasonList"				, rendererService.getAvailCommonCodeList("G686"));				// 취소사유
 		mav.addObject("cancelRequestTargetList"		, coreOrderChangeService.getCancelRequestTargetList(order));	// 취소요청대상목록
 		mav.addObject("orderInfoList"				, orderService.getOrderInfoList(order));						// 주문정보
-		mav.addObject("ordNo"						, ordChgSq);														// 주문번호
+		mav.addObject("ordNo"						, ordNo);														// 주문번호
+		mav.addObject("ordChgSq"					, ordChgSq);													// 주문변경번호
+		mav.addObject("orderChangeList"				, orderService.getOrderChangeList(order));						// 취소/반품/교환 요청 정보
 
-		mav.setViewName("order/cnclReqViewForm");
+		mav.setViewName("order/CnclReqViewForm");
 		
 		return mav;
 	}

+ 14 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaOrder.xml

@@ -730,10 +730,22 @@
 		ON     OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ 
 		INNER  JOIN TB_ORDER_DETAIL OD
 		ON     OCD.ORD_DTL_NO = OD.ORD_DTL_NO 
-		INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
-		ON     OD.ORD_DTL_NO = ODI.ORD_DTL_NO 
+		INNER  JOIN (
+			SELECT X.ORD_DTL_ITEM_SQ
+			     , X.ORD_DTL_NO
+			     , X.ITEM_CD
+			     , X.OPT_CD
+			     , X.OPT_CD1
+			     , X.OPT_CD2
+			FROM   TB_ORDER_DETAIL_ITEM X
+			WHERE  X.ORD_NO = #{ordNo}
+			LIMIT  1
+		) ODI 
 		WHERE  1=1
 		AND    OD.ORD_NO = #{ordNo}
+		<if test='ordChgSq != null and ordChgSq != ""'>
+		AND    OCD.ORD_CHG_SQ = #{ordChgSq}	
+		</if>
 		AND    OCD.DEL_YN = 'N'
 		ORDER  BY OC.ORD_CHG_SQ
 		     , OCD.ORD_DTL_NO 

+ 0 - 0
src/main/webapp/WEB-INF/views/order/CancelRequestFormBack.html → src/main/webapp/WEB-INF/views/order/CancelRequestFormBack01.html


+ 0 - 0
src/main/webapp/WEB-INF/views/order/CancelRequestForm.html → src/main/webapp/WEB-INF/views/order/CancelRequestFormBack02.html


+ 66 - 981
src/main/webapp/WEB-INF/views/order/CnclReqViewForm.html

@@ -13,118 +13,27 @@
  * 1.0  2020.12.12   jsh77b       최초 작성
  *******************************************************************************
  -->
-<div class="modalPopup" data-width="1400" data-height="600">
+<div class="modalPopup" data-width="1400" data-height="400">
 	<div class="panelStyle">
 		<div class="panelTitle">
-			<h2>취소요청</h2>
+			<h2>취소요청정보</h2>
 			<button type="button" class="close" onclick="uifnPopupClose('popupCancelRequestForm');"><i class="fa fa-times"></i></button>
 		</div>
 			
 		<div class="panelContent" style="height:90%; overflow-y:auto; padding:0px 20px !important; ">
 			<form id="cancelRequestFrm" name="cancelRequestFrm" action="/orderChange/cancel" method="post" target="hdFrameForOrderCancel">
 				<input type="hidden" name="ordNo" th:value="${ordNo}"/>
+				<input type="hidden" name="ordChgSq" th:value="${ordChgSq}"/>
 				<input type="hidden" name="chgReason" value=""/>
 				<input type="hidden" name="chgReasonDesc" value=""/>
-				
-				<h4>주문정보</h4>
-				<div id="gridOrderCancelRequestList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
 
-				<h4>취소정보</h4>
-				<div id="gridOrderCancelRequestToBeList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
-				
-				<h4>배송비정보</h4>
-				<div id="gridDelvCdList" style="width:100%; height: 140px;" class="ag-theme-balham"></div>
+				<h4>(취소/반품/교환) 요청 정보</h4>
+				<div id="gridOrderChangeList" style="width:100%; height: 180px; min-height:99px;" class="ag-theme-balham"></div>
 				
 				<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
-					<button type="button" class="btn btn-success" onclick="fnCnclReq('req');">취소신청</button>
-					<button type="button" class="btn btn-success" onclick="fnCnclReq('complete');">취소완료</button>
-				</div>
-				
-				<table class="frmStyle">
-					<colgroup>
-						<col style="width:160px;" />
-						<col style="width:320px;" />
-						<col style="width:160px;" />
-						<col />
-					</colgroup>
-					<tbody>
-						<tr>
-							<th>취소사유 <i class="star"></i></th>
-							<td>
-								<select name="selectChgReason" onchange="fnChangeChgReason($(this).val());">
-									<option value="">[선택하세요]</option>
-									<option th:if="${chgReasonList}" th:each="oneData, status : ${chgReasonList}" th:value="|${oneData.cd}:${oneData.cdNm}|" th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
-								</select>
-							</td>
-							<th>귀책사유</th>
-							<td><span id="imputeReason"></span></td>
-						</tr>
-						<tr>
-							<th>요청메모</th>
-							<td colspan="3">
-								<textarea id="chgMemo" name="chgMemo" style="height:80px;" placeholder="취소사유를 300자내외로 작성해 주세요"></textarea>
-							</td>
-						</tr>
-					</tbody>
-				</table>
-				
-				<h4>환불예정금액</h4>
-				<table class="frmStyle">
-					<colgroup>
-						<col style="width:20%;"/>
-						<col style="width:30%;"/>
-						<col style="width:20%;"/>
-						<col style="width:30%;"/>
-					</colgroup>
-					<tbody>
-						<tr>
-							<th>총 결제 금액</th>
-							<td colspan="3"><span id="spanPayAmt"></span>원 (상품 실결제 금액 : <span id="spanSumRealOrdAmt"></span>원, 배송금액 : <span id="spanSumDeliveryFee"></span>원) </td>
-						</tr>
-						<tr>
-							<th>주문 상품 금액</th>
-							<td><span id="spanOrdAmt"></span>원</td>
-							<th>취소 상품 금액</th>
-							<td><span id="spanCnclRtnAmt"></span>원</td>
-						</tr>
-						<tr>
-							<th>취소 사용 포인트</th>
-							<td colspan="3"><span id="spanTotPntDcAmt"></span>원 (고객 포인트 : <span id="spanPntDcAmt"></span>원 + 상품 선포인트 : <span id="spanPrePntDcAmt"></span>원) </td>
-						</tr>
-						<tr>
-							<th>취소 사용 쿠폰금액</th>
-							<td colspan="3"><span id="spanCpnDcAmt"></span>원 (즉시할인쿠폰 : <span id="spanCpn1DcAmt"></span>원 + 상품쿠폰 : <span id="spanGoodsCpnDcAmt"></span>원 + 장바구니쿠폰 : <span id="spanCartCpnDcAmt"></span>원)</td>
-						</tr>
-						<tr>
-							<th>취소 다다익선 금액</th>
-							<td colspan="3"><span id="spanTmtbDcAmt"></span>원 (수량할인 : <span id="spanTmtb1DcAmt"></span>원 + 금액할인 : <span id="spanTmtb2DcAmt"></span>원)</td>
-						</tr>
-						
-						<tr>
-							<th>취소 고객 상품권 금액</th>
-							<td colspan="3"><span id="spanGfcdUseAmt"></span>원</td>
-						</tr>
-						
-						<tr>
-							<th>취소 상품 실결제 금액</th>
-							<td><span id="spanRealCnclRtnAmt"></span>원</td>
-							<th>추가 배송 금액</th>
-							<td><span id="spanTotDeliveryFee"></span>원 </td>
-						</tr>
-						
-						<tr>
-							<th>환불 금액 합계</th>
-							<td colspan="3"><span id="spanRefundAmt"></span>원</td>
-						</tr>
-					</tbody>
-				</table>
-				
-				<div id="wrapRefundAccount" style="width:50%;">
-					<h4>환불계좌정보</h4>
-					<button type="button" id="btnSaveAccount" class="btn btnRight btn-base btn-sm" style="margin-left:10px;" onclick="fnCreateOrderRfAccount();">등록</button>
-					<div id="gridRefundAccountInfo" style="height: 150px;" class="ag-theme-balham"></div>
+					<button type="button" class="btn btn-success" onclick="fnCnclReq('cancel');">취소철회</button>
+					<button type="button" class="btn btn-success" onclick="fnCnclReq('confirm');">취소승인</button>
 				</div>
-				
 			</form>
 		</div>
 	</div>
@@ -133,917 +42,93 @@
 <!-- data -->
 <script th:inline="javascript">
 /*<![CDATA[*/
-var cancelRequestTargetList = [[${cancelRequestTargetList}]];				// 취소대상목록
 var ordNo 					= [[${ordNo}]];									// 주문번호
 var orderInfoList 			= [[${orderInfoList}]];							// 주문기본정보
 var payMeans 				= orderInfoList[0].payMeans;					// 결제수단
+var orderChangeList 		= [[${orderChangeList}]];						// 취소/반품/교환요청 정보
+var chgReason				= orderChangeList[0].chgReason;					// 변경사유코드
+var chgMemo					= orderChangeList[0].chgMemo;					// 변경사유메모
 
 var temp1 = true;
 var temp2 = false;
 
-// 1. 주문정보(반품대상)
-var columnCancelReqList = [
-	{
-		headerName	: "주문상세정보",
-		children	: [
-			{headerName: "주문번호"		, field: "ordNo"			, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "주문상세"		, field: "ordDtlNo"			, width: 80		, cellClass: 'text-center'},
-			{headerName: "주문상세"		, field: "ordDtlStat"		, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "주문상세상태"		, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품명"			, field: "goodsNm"			, width: 200	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품타입"		, field: "goodsTypeNm"		, width: 100	, cellClass: 'text-center', hide: temp2}
-		]
-	},
-	{
-		headerName	: "주문상세단품정보",
-		children	: [
-			{headerName: "단품번호"		, field: "ordDtlItemSq"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "단품코드"		, field: "itemCd"			, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "단품명"			, field: "itemNm"			, width: 200	, cellClass: 'text-center', hide: temp2},
-			{headerName: "옵션1"			, field: "optCd1"			, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "옵션2"			, field: "optCd2"			, width: 80		, cellClass: 'text-center', hide: temp2},
-			{
-				headerName		: "단품수량"		
-				, field			: "itemQty"			
-				, width			: 80		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "단품금액"		
-				, field			: "itemPrice"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "단품옵션금액"		
-				, field			: "optAddPrice"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			}
-		]
-	},
-	{
-		headerName	: "주문상세수량",
-		children	: [
-			{
-				headerName		: "주문"		
-				, field			: "ordQty"			
-				, width			: 80		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "취소/요청"		
-				, field			: "cnclRtnQty"			
-				, width			: 80		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					var cnclRtnReqQty = parseInt(params.data.cnclRtnQty) + parseInt(params.data.ordReqChgQty);
-					return cnclRtnReqQty;
-				}
-			},
-			{
-				headerName		: "취소/반품"		
-				, field			: "ordCanChgQty"			
-				, width			: 100		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					var ordQty 			= parseInt(params.data.ordQty);
-					var cnclRtnQty 		= parseInt(params.data.cnclRtnQty);
-					var ordReqChgQty 	= parseInt(params.data.ordReqChgQty);
-					var ordCanChgQty 	= ordQty - (cnclRtnQty +  ordReqChgQty);
-					
-					var strVal 			= "";
-					strVal += "<select class='ordCanChgQty' name='ordCanChgQty' ordDtlNo='"+params.data.ordDtlNo+"' onChange='fnCalculateRefundAmt(this);'>";
-					
-					for (i=0 ; i<=ordCanChgQty ; i++) {
-						if (i == params.data.ordCanChgQty) {
-							strVal += "	<option value='"+i+"' selected>"+i+"</option>";
-						} else {
-							strVal += "	<option value='"+i+"'>"+i+"</option>";
-						}
-					}
-				
-					strVal += "</select>";
-					return strVal;
-				}
-			}
-		]
-	},
+// 6. 반품/교환 정보
+var columnDefsOrderChangeList = [
 	{
-		headerName	: "주문단품금액",
-		children	: [
-			{
-				headerName		: "주문"
-				, field			: "ordAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "취소"		
-				, field			: "cnclRtnAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "즉시할인"		
-				, field			: "cpn1DcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "다다익선1"		
-				, field			: "tmtb1DcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "다다익선2"		
-				, field			: "tmtb2DcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "상품쿠폰"		
-				, field			: "goodsCpnDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "장바구니쿠폰"		
-				, field			: "cartCpnDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "포인트"		
-				, field			: "pntDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "선포인트"		
-				, field			: "prePntDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "상품권"		
-				, field			: "gfcdUseAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "실결제금액"		
-				, field			: "realOrdAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
+		headerName		: "요청번호"		
+		, field			: "ordChgSq"		
+		, width			: 100	
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			var rtnStr = "";
+			
+			// 취소요청, 교환요청, 반품요청 일때는 요청 정보 확인 팝업 정보
+			if (params.data.chgStat == 'G685_20' || params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_40') {
+				rtnStr = '<a href="javascript:void(0);" onclick="fnChgReqInfo(\'' + params.value + '\');">' + params.value + '</a>';
+			} else {
+				rtnStr = params.value;
 			}
-		]
-	},
-	{
-		headerName	: "주문배송비정보",
-		children	: [
-			{
-				headerName		: "배송비"		
-				, field			: "delvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{headerName: "업체"			, field: "supplyCompCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "배송비코드"		, field: "delvFeeCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{
-				headerName		: "무료배송비"		
-				, field			: "minOrdAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "기본배송비"		
-				, field			: "orgDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "반품배송비"		
-				, field			: "rtnDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "교환배송비"		
-				, field			: "excDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{headerName: "전체취소가능"		, field: "allCanYn"			, width: 100	, cellClass: 'text-center', hide: temp2},
-		]
-	}
-];
-var gridOptionsCancelReqList = gagaAgGrid.getGridOptions(columnCancelReqList);
-
-// Add on options
-gridOptionsCancelReqList.suppressRowClickSelection = true;
-gridOptionsCancelReqList.rowSelection = 'multiple';
-
-// 2. 취소정보(환불정보)
-var columnCancelReqToBeList = [
-	{
-		headerName	: "주문상세정보",
-		children	: [
-			{headerName: "주문번호"		, field: "ordNo"			, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "주문상세"		, field: "ordDtlNo"			, width: 80		, cellClass: 'text-center'},
-			{headerName: "주문상세"		, field: "ordDtlStat"		, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "주문상세상태"		, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품명"			, field: "goodsNm"			, width: 200	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품타입"		, field: "goodsTypeNm"		, width: 100	, cellClass: 'text-center', hide: temp2}
-		]
+			
+			return  rtnStr;
+		}
 	},
+	{headerName: "요청구분"		, field: "chgGbNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "상품코드"		, field: "goodsCd"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "옵션1"			, field: "optCd1"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "옵션2"			, field: "optCd2"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "수량"			, field: "chgQty"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "요청상태"		, field: "chgStatNm"	, width: 100	, cellClass: 'text-center'},
 	{
-		headerName	: "주문상세단품정보",
-		children	: [
-			{headerName: "단품번호"		, field: "ordDtlItemSq"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "단품코드"		, field: "itemCd"			, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "단품명"			, field: "itemNm"			, width: 200	, cellClass: 'text-center', hide: temp2},
-			{headerName: "칼라코드"		, field: "optCd1"			, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "사이즈코드"		, field: "optCd2"			, width: 80		, cellClass: 'text-center', hide: temp2},
-			{
-				headerName		: "단품수량"		
-				, field			: "itemQty"			
-				, width			: 80		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "단품금액"		
-				, field			: "itemPrice"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "단품옵션금액"		
-				, field			: "optAddPrice"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			}
-		]
+		headerName		: "요청일자"		
+		, field			: "regDt"		
+		, width			: 150		
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
 	},
+	{headerName: "변경사유"		, field: "chgReasonNm"	, width: 100	, cellClass: 'text-center'},
+	{headerName: "요청메모"		, field: "chgMemo"		, width: 150	, cellClass: 'text-center'},
+	{headerName: "변경자명"		, field: "chgerNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "변경자핸드폰"		, field: "chgerPhnno"	, width: 120	, cellClass: 'text-center'},
 	{
-		headerName	: "주문상세수량",
-		children	: [
-			{
-				headerName		: "주문"		
-				, field			: "ordQty"			
-				, width			: 80		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "취소/요청"		
-				, field			: "cnclRtnQty"			
-				, width			: 80		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					var cnclRtnReqQty = parseInt(params.data.cnclRtnQty) + parseInt(params.data.ordReqChgQty);
-					return cnclRtnReqQty;
-				}
-			},
-			{
-				headerName		: "취소/반품"		
-				, field			: "ordCanChgQty"			
-				, width			: 100		
-				, cellClass		: 'text-center'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			}
-		]
+		headerName		: "우편번호"		
+		, field			: "chgerZipcode"
+		, width			: 220
+		, cellClass		: 'text-center'
 	},
+	{headerName: "주소(기본)"		, field: "chgerBaseAddr"	, width: 220, cellClass: 'text-left'},
+	{headerName: "주소(상세)"		, field: "chgerDtlAddr"	, width: 150	, cellClass: 'text-center'},
 	{
-		headerName	: "주문단품금액",
-		children	: [
-			{
-				headerName		: "주문"
-				, field			: "ordAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "취소"		
-				, field			: "cnclRtnAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "즉시할인"		
-				, field			: "cpn1DcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "다다익선1"		
-				, field			: "tmtb1DcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "다다익선2"		
-				, field			: "tmtb2DcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "상품쿠폰"		
-				, field			: "goodsCpnDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "장바구니쿠폰"		
-				, field			: "cartCpnDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "포인트"		
-				, field			: "pntDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "선포인트"		
-				, field			: "prePntDcAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "상품권"		
-				, field			: "gfcdUseAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "환불금액"		
-				, field			: "realOrdAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			}
-		]
+		headerName		: "택배사전송"
+		, field			: "wdInvoiceSendYn"
+		, width			: 120
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			return (params.value == 'N') ? '미전송' : '전송';
+		}
 	},
 	{
-		headerName	: "주문배송비정보",
-		children	: [
-			{
-				headerName		: "배송비"		
-				, field			: "delvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{headerName: "업체"			, field: "supplyCompCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "배송비코드"		, field: "delvFeeCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{
-				headerName		: "무료배송비"		
-				, field			: "minOrdAmt"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "기본배송비"		
-				, field			: "orgDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "반품배송비"		
-				, field			: "rtnDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "교환배송비"		
-				, field			: "excDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{headerName: "전체취소가능"		, field: "allCanYn"			, width: 100	, cellClass: 'text-center', hide: temp2},
-		]
-	}
-];
-var gridOptionsCancelReqToBeList = gagaAgGrid.getGridOptions(columnCancelReqToBeList);
-
-// 3. 배송비정보(환불정보)
-var columnDelvCdList = [
-	{
-		headerName	: "배송코드기준금액",
-		children	: [
-			{headerName: "업체"			, field: "supplyCompCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "배송비코드"		, field: "delvFeeCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{
-				headerName		: "주문"
-				, field			: "ordAmt"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "취소"		
-				, field			: "cnclRtnAmt"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			},
-			{
-				headerName		: "환불"		
-				, field			: "realOrdAmt"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-			}
-		]
+		headerName		: "회수지시전송"
+		, field			: "wdInvoiceSendYn"
+		, width			: 120
+		, cellClass		: 'text-center'
 	},
-	{
-		headerName	: "배송비정보",
-		children	: [
-			{
-				headerName		: "배송비"		
-				, field			: "delvFee"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "무료배송비"		
-				, field			: "minOrdAmt"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "기본배송비"		
-				, field			: "orgDelvFee"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "반품배송비"		
-				, field			: "rtnDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{
-				headerName		: "교환배송비"		
-				, field			: "excDelvFee"			
-				, width			: 80		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{headerName: "추가배송비여부"		, field: "addDelvFeeYn"		, width: 140	, cellClass: 'text-center', hide: temp2},
-			{
-				headerName		: "추가배송비"		
-				, field			: "addDelvFee"			
-				, width			: 100		
-				, cellClass		: 'text-right'
-				, cellRenderer	: function (params) {
-					return params.value.addComma();
-				}
-				, hide			: temp2
-			},
-			{headerName: "전체취소가능"		, field: "allCanYn"			, width: 100	, cellClass: 'text-center', hide: temp2},
-		]
-	}
-];
-var gridOptionsDelvCdList = gagaAgGrid.getGridOptions(columnDelvCdList);
-
-// 4. 무통장 계좌정보
-var columnDefsRefundAccountInfo = [
-	{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: false, checkboxSelection: true, filter: false},
-	{headerName: "은행명"		, field: "bankNm"		, width: 140	, cellClass: 'text-center'},
-	{headerName: "은행코드"	, field: "bankCd"		, width: 120	, cellClass: 'text-center', hidden:true},
-	{headerName: "계좌번호"	, field: "accountNo"	, width: 150	, cellClass: 'text-center'},
-	{headerName: "예금주"		, field: "accountNm"	, width: 120	, cellClass: 'text-center'},
-	{headerName: "기본"		, field: "defaultYn"	, width: 100	, cellClass: 'text-center'}
+	{headerName: "회수송장번호", field: "wdInvoiceNo", width: 90, cellClass: 'text-center'}
 ];
-
-var gridOptionsRefundAccountInfo = gagaAgGrid.getGridOptions(columnDefsRefundAccountInfo);
+var gridOptionsOrderChangeList = gagaAgGrid.getGridOptions(columnDefsOrderChangeList);
 </script>
 
 <script>
-// 현재 사유는 고객 입니다.
-var isCustomer = true;
-
-// 취소정보계산
-var fnCalculateRefundAmt = function (obj) {
-	// 취소정보담은목록
-	var cancelRequestTargetToBeList = [];
-
-	if (obj != null) {
-		for (i=0 ; i<cancelRequestTargetList.length ; i++) {
-			var orDtlNo 		= $(obj).attr("ordDtlNo");
-			var ordCanChgQty 	= $(obj).val();
-			
-			if (cancelRequestTargetList[i].ordDtlNo == orDtlNo) {
-				cancelRequestTargetList[i].ordCanChgQty = ordCanChgQty;
-			}
-		}
-		// 주문정보 다시 셋팅 (체크해봐야할문제)
-		gridOptionsCancelReqList.api.setRowData(cancelRequestTargetList);
-	}
-	
-	if (cancelRequestTargetList.length == 0) {
-		alert("요청 대상정보가 존재 하지 않습니다.");
-		uifnPopupClose('popupCancelRequestForm');
-		return false;
-	}
-	
-	// 환불금액계산호출
-	var jsonData = JSON.stringify(cancelRequestTargetList);
-	gagajf.ajaxJsonSubmit(
-		'/orderChange/cancel/refundAmt'
-		, jsonData
-		, function(result) {
-			gridOptionsCancelReqToBeList.api.setRowData(result.cancelOrderRefundList);
-			gridOptionsDelvCdList.api.setRowData(result.cancelDelvRefundList);
-			
-			$("#spanPayAmt").text(result.spanPayAmt.addComma());					//총 결제 금액
-			$("#spanSumRealOrdAmt").text(result.spanSumRealOrdAmt.addComma());		//상품 실결제 금액
-			$("#spanSumDeliveryFee").text(result.spanSumDeliveryFee.addComma());	//배송금액
-			
-			$("#spanOrdAmt").text(result.spanOrdAmt.addComma());					//주문 상품 금액
-			$("#spanCnclRtnAmt").text(result.spanCnclRtnAmt.addComma());			//취소 상품 금액
-			
-			$("#spanTotPntDcAmt").text(result.spanTotPntDcAmt.addComma());			//취소 사용 포인트
-			$("#spanPntDcAmt").text(result.spanPntDcAmt.addComma());				//고객 포인트
-			$("#spanPrePntDcAmt").text(result.spanPrePntDcAmt.addComma());			//상품 선포인트
-			
-			$("#spanCpnDcAmt").text(result.spanCpnDcAmt.addComma());				//취소 사용 쿠폰금액
-			$("#spanCpn1DcAmt").text(result.spanCpn1DcAmt.addComma());				//즉시할인쿠폰
-			$("#spanGoodsCpnDcAmt").text(result.spanGoodsCpnDcAmt.addComma());		//상품쿠폰
-			$("#spanCartCpnDcAmt").text(result.spanCartCpnDcAmt.addComma());		//장바구니쿠폰
-			
-			$("#spanTmtbDcAmt").text(result.spanTmtbDcAmt.addComma());				//취소 다다익선 금액
-			$("#spanTmtb1DcAmt").text(result.spanTmtb1DcAmt.addComma());			//수량할인
-			$("#spanTmtb2DcAmt").text(result.spanTmtb2DcAmt.addComma());			//금액할인
-			
-			$("#spanGfcdUseAmt").text(result.spanGfcdUseAmt.addComma());			//취소 고객 상품권 금액
-			
-			$("#spanRealCnclRtnAmt").text(result.spanRealCnclRtnAmt.addComma());	//취소 상품 실결제 금액
-			$("#spanTotDeliveryFee").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
-			
-			$("#spanTotRtnDelvFee").text(result.spanTotRtnDelvFee.addComma());		//반품 환불 배송 금액
-			$("#spanTotExcDelvFee").text(result.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
-			
-			if (result.spanRealCnclRtnAmt > 0) {
-				// 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
-				if (isCustomer) {
-					result.spanRefundAmt = (result.spanRealCnclRtnAmt + result.sumDeliveryFee) - result.spanTotDeliveryFee;
-				} 
-				// 회사사유 : 환불금액계산 = (취소금액 + 배송비)
-				else {
-					result.spanRefundAmt = (result.spanRealCnclRtnAmt + result.sumDeliveryFee);
-				}
-			}
-			
-			$("#spanRefundAmt").text(result.spanRefundAmt.addComma());				//환불 금액 합계
-		}
-	);
-}
-
-//  사유
-var fnChangeChgReason = function(reasonCd){
-	var arrReasonCd = reasonCd.split(":");
-	var customerReasonArr = ['G686_10'];
-
-	isCustomer = false;
-	
-	// 취소, 반품, 교환 사유 판단
-	for (i=0 ; i<customerReasonArr.length ; i++) {
-		if (customerReasonArr[i] == arrReasonCd[0]) {
-			isCustomer = true;
-		}
-	}
-	
-	// 귀책사유설정 회사, 고객
-	if (isCustomer) {
-		$("#imputeReason").text("고객");
-	} else {
-		$("#imputeReason").text("회사");
-	}
-
-	$('#cancelRequestFrm input[name=chgReason]').val(arrReasonCd[0]);
-	$('#cancelRequestFrm input[name=chgReasonDesc]').val(arrReasonCd[1]);
-
-	fnCalculateRefundAmt();			//환불예정금액 계산.
-}
-
-// 취소신청/완료
-var fnCnclReq = function (reqGbn) {
-	
-	var temp 		= false;
-	var ordDtlStat	= cancelRequestTargetList[0].ordDtlStat; 
-	var allCanYn 	= "N";
-	
-	// 1. 취소수량 체크
-	for (i=0 ; i<cancelRequestTargetList.length ; i++) {		
-		if (cancelRequestTargetList[i].ordCanChgQty > 0) {
-			temp = true;
-		}
-	}
-	
-	if (temp == false) {
-		mcxDialog.alert('취소신청수량을 입력하세요.');
-		return;
-	}
-	
-	// 2. 입금대기건 & 전체취소 체크
-	if (ordDtlStat == "G013_10" && $("#spanPayAmt").text() != $("#spanRefundAmt").text()) {
-		alert("입금대기건은 전체 취소만 가능합니다.");
-		return;
-	}
-	
-	// 2.1 전체취소 여부 적용
-	if (ordDtlStat == "G013_10" && $("#spanPayAmt").text() == $("#spanRefundAmt").text()) {
-		allCanYn = "Y";	
-	}
-	
-	// 3. 취소사유 체크
-	var chgReason = $("#cancelRequestFrm select[name=selectChgReason]").val();
-	
-	if (gagajf.isNull(chgReason)) {
-		mcxDialog.alert("취소사유를 입력하세요."); 
-		return ;
-	}
-	
-	// 4. 환불계좌 체크
-	var accountNo 	= "";
-	var accountNm 	= "";
-	var bankCd 		= "";
-	
-	// 결제타입 무통장입금시 환불계좌 등록
-	if (payMeans == 'G014_20') {
-		var refundAccount = gridOptionsRefundAccountInfo.api.getSelectedRows();
-		
-		if (refundAccount.length == 0) {
-			mcxDialog.alert('선택된 행이 없습니다.');
-			return;
-		}
-		
-		accountNo 	= refundAccount[0].accountNo;
-		accountNm 	= refundAccount[0].accountNm;
-		bankCd 		= refundAccount[0].bankCd;
-	}
-	
-	// 5. 추가정보설정
-	var chgerNm 	= orderInfoList[0].ordNm;
-	var chgerEmail 	= orderInfoList[0].ordEmail;
-	var chgerPhnno 	= orderInfoList[0].ordPhnno;
-	var chgerTelno 	= orderInfoList[0].ordTelno;
-	
-	var jsonObj = {
-		"ordNo"				: $('#cancelRequestFrm input[name=ordNo]').val()
-		,"chgReason" 		: $('#cancelRequestFrm input[name=chgReason]').val()
-		,"chgMemo"			: $('#chgMemo').val()
-		,"cancelReqList" 	: cancelRequestTargetList
-		,"accountNo" 		: accountNo
-		,"accountNm" 		: accountNm
-		,"bankCd" 			: bankCd
-		,"allCanYn" 		: allCanYn
-		,"isCustomer" 		: isCustomer
-		,"chgerNm"			: chgerNm
-		,"chgerEmail"		: chgerEmail
-		,"chgerZipcode"		: ""
-		,"chgerBaseAddr"	: ""
-		,"chgerDtlAddr"		: ""
-		,"chgerPhnno"		: chgerPhnno
-		,"chgerTelno"		: chgerTelno
-	}
-	
-	// 6. 취소신청, 취소완료 여부 체크
-	// 취소완료
-	if (reqGbn == "complete") {
-		cnclUrl = '/orderChange/cnclComplete/';
-	}
-	// 취소신청
-	else if (reqGbn == "req") {
-		cnclUrl = '/orderChange/cnclReq/';
-	}
-	// 취소신청 완료
-	else if (reqGbn == "reqComplete"){
-		cnclUrl = '/orderChange/cnclReqComplete/';
-	}
-
-	// 주문번호, 취소사유, 취소메모, (취소, 반품, 교환 신청 정보 목록), 환불계좌
-	var jsonData = JSON.stringify(jsonObj);
-	
-	mcxDialog.confirm('취소요청하시겠습니까?', {
-		cancelBtnText		: "취소",
-		sureBtnClick		: function(){
-			// 취소 실행
-			gagajf.ajaxJsonSubmit(
-				cnclUrl
-				, jsonData
-				, function() {
-					uifnPopupClose('popupOrderDetail');
-					fnReOpenOrderDetailPopup();
-					uifnPopupClose('popupCancelRequestForm');
-				}
-			);
-		}
-	});
-}
-
-// 환불계좌 등록
-var fnCreateOrderRfAccount = function () {	
-	var actionUrl = "/orderChange/refund/account/create/form?ordNo=" + ordNo ;
-	cfnOpenModalPopup(actionUrl, 'popupCreateRefundAccount');
-};
-
-// 환불계좌 정보
-var fnBindOrderRfAccountInfo = function () {
-	gagaAgGrid.fetch(
-		"/orderChange/refund/account/info/list?ordNo=" + ordNo
-		, gridOptionsRefundAccountInfo
-		, null
-		, function (result) {
-		}
-	)
-};
-
 $(document).ready(function() {
 	// 1. 그리드생성
-	gagaAgGrid.createGrid('gridOrderCancelRequestList'		, gridOptionsCancelReqList);			// 주문정보
-	gagaAgGrid.createGrid('gridOrderCancelRequestToBeList'	, gridOptionsCancelReqToBeList);		// 취소정보
-	gagaAgGrid.createGrid('gridDelvCdList'					, gridOptionsDelvCdList);				// 배송비정보
-	gagaAgGrid.createGrid('gridRefundAccountInfo'			, gridOptionsRefundAccountInfo);		// 환불계좌정보
+	gagaAgGrid.createGrid('gridOrderChangeList'				, gridOptionsOrderChangeList);			// 취소/반품/교환 요청 정보
 	
 	// 2. 그리드 데이타 싱크작업
-	gridOptionsCancelReqList.api.setRowData(cancelRequestTargetList);								// 주문정보
+	gridOptionsOrderChangeList.api.setRowData(orderChangeList);										// 취소/반품/교환요청 정보
 	
 	// 2.1 TOTAL ROWS 없애기
-	gagaAgGrid.hideStatusBar('gridOrderCancelRequestList');
-	gagaAgGrid.hideStatusBar('gridOrderCancelRequestToBeList');
-	gagaAgGrid.hideStatusBar('gridDelvCdList');
-	gagaAgGrid.hideStatusBar('gridRefundAccountInfo');
-	
-	// 3. 환불정보계산
-	fnCalculateRefundAmt(null);
-	
-	// 4. 무통장입금아일때 환불계좌 그리드 숨김처리
-	if (payMeans !== 'G014_20') {
-		$('#wrapRefundAccount').addClass("off");
-		fnBindOrderRfAccountInfo();
-	}
+	gagaAgGrid.hideStatusBar('gridOrderChangeList');
 });
 </script>
 </html>