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

입점클레임반품배송비

jsh77b 4 лет назад
Родитель
Сommit
ac7dabace6

+ 50 - 0
src/main/java/com/style24/admin/biz/web/TsaOrderScmController.java

@@ -1,6 +1,7 @@
 package com.style24.admin.biz.web;
 package com.style24.admin.biz.web;
 
 
 import java.util.Collection;
 import java.util.Collection;
+import java.util.List;
 
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,6 +10,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
 
 
@@ -214,6 +216,54 @@ public class TsaOrderScmController extends TsaBaseController {
 		return result;
 		return result;
 	}
 	}
 	
 	
+	/**
+	 * 취소, 반품 완료 상세 화면 (SCM)
+	 * 
+	 * @return ModelAndView
+	 * @author jsh77b
+	 * @since 2021. 12. 17
+	 */
+	@GetMapping("/scm/cnclRtn/complete/view")
+	public ModelAndView cnclCompleteView(@RequestParam(value = "ordNo") int ordNo, @RequestParam(value = "ordDtlNo") int ordDtlNo
+			, @RequestParam(value = "delvFeeCd") String delvFeeCd, @RequestParam(value = "delvFeeCdGrp") String delvFeeCdGrp
+			, @RequestParam(value = "chgStat") String chgStat, @RequestParam(value = "ordChgSq") int ordChgSq) {
+		
+		ModelAndView mav = new ModelAndView();
+		
+		// 2021.01.26 취소요청 화면, 취소요청정보확인 화면 통합
+		Order order = new Order();
+		order.setOrdChgSq(ordChgSq);
+		order.setOrdNo(ordNo);
+		
+		// 결제전취소, 결제후취소 일때 상태값 환입 취소완료 변경
+		if ("G685_17".equals(chgStat) || "G685_18".equals(chgStat)) {
+			order.setChgStat("G720_30");
+		}
+		else if ("G685_60".equals(chgStat)) {
+			order.setChgStat("G720_50");
+		}
+		
+		List<Order> cnclRtnCompleteList 	= coreOrderChangeService.getCnclRtnCompleteList(order);
+		
+		// 2021.08.04 AS-IS  데이타를 위해서 생성 처리
+		if (cnclRtnCompleteList == null || cnclRtnCompleteList.size() < 1) {
+			OrderChange orderChange = new OrderChange();
+			orderChange.setOrdChgSq(ordChgSq);
+			GagaMap resultMap = coreOrderChangeService.getCreCancelDetailInfo(orderChange);
+			mav.addObject("oneData"				, resultMap.get("oneData"));
+		}
+		
+		Collection<Order> orderInfoList 	= coreOrderService.getOrderInfoList(order);
+		
+		mav.addObject("cnclRtnCompleteList"		, cnclRtnCompleteList);			// 취소완료목록
+		mav.addObject("orderInfoList"			, orderInfoList);				// 주문기본정보
+		mav.addObject("chgStat"					, order.getChgStat());			// 변경요청상태값(정산상태구분)
+		
+		mav.setViewName("order/ScmCnclCompleteView");
+		
+		return mav;
+	}
+	
 	/**
 	/**
 	 * 입점입고대상목록(교환,반품접수)
 	 * 입점입고대상목록(교환,반품접수)
 	 *
 	 *

+ 109 - 52
src/main/webapp/WEB-INF/views/order/OrderSellerClaimListForm.html

@@ -152,7 +152,39 @@ var columnDefs = [
 	{headerName: "브랜드",			field:"brandKnm",			width:100, cellClass: 'text-center'},
 	{headerName: "브랜드",			field:"brandKnm",			width:100, cellClass: 'text-center'},
 	{headerName: "주문번호",			field:"ordNo",				width:100, cellClass: 'text-center'},
 	{headerName: "주문번호",			field:"ordNo",				width:100, cellClass: 'text-center'},
 	{headerName: "주문상세번호",		field:"ordDtlNo",			width:100, cellClass: 'text-center'},
 	{headerName: "주문상세번호",		field:"ordDtlNo",			width:100, cellClass: 'text-center'},
-	{headerName: "주문변경번호",		field:"ordChgSq",			width:100, cellClass: 'text-center'},
+	{
+		headerName		: "요청번호"		
+		, field			: "ordChgSq"		
+		, width			: 100	
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			var rtnStr = "";
+			
+			var paramData 	= params.data.ordNo;
+			paramData 		+= '@' + params.data.ordDtlNo;
+			paramData 		+= '@' + params.data.delvFeeCd;
+			paramData 		+= '@' + params.data.delvFeeCdGrp;
+			paramData 		+= '@' + params.data.chgStat;
+			
+			// 취소요청
+			if (params.data.chgGb == "G680_20") {
+				rtnStr = '<a href="javascript:void(0);" onclick="fnCancelRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
+			}
+			// 반품요청
+			else if (params.data.chgGb == "G680_30") {
+				rtnStr = '<a href="javascript:void(0);" onclick="fnReturnRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
+			}
+			// 교환요청
+			else if (params.data.chgGb == "G680_40") {
+				rtnStr = '<a href="javascript:void(0);" onclick="fnExchangeRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
+			}
+			else {
+				rtnStr = params.value;
+			}
+			
+			return  rtnStr;
+		}
+	},
 	{headerName: "변경구분",			field:"chgGbNm", 			width:100, cellClass: 'text-center'},
 	{headerName: "변경구분",			field:"chgGbNm", 			width:100, cellClass: 'text-center'},
 	{headerName: "클레임상태",			field:"chgStatNm", 			width:100, cellClass: 'text-center'},
 	{headerName: "클레임상태",			field:"chgStatNm", 			width:100, cellClass: 'text-center'},
 	{headerName: "요청일시",			field:"regDt", 				width:150, cellClass: 'text-center'},
 	{headerName: "요청일시",			field:"regDt", 				width:150, cellClass: 'text-center'},
@@ -169,57 +201,7 @@ var columnDefs = [
 	{headerName: "요청수량",			field:"chgQty",				width:100, cellClass: 'text-center'},
 	{headerName: "요청수량",			field:"chgQty",				width:100, cellClass: 'text-center'},
 	{headerName: "교환상세번호",		field:"exchangeOrdDtlNo",	width:100, cellClass: 'text-center'},
 	{headerName: "교환상세번호",		field:"exchangeOrdDtlNo",	width:100, cellClass: 'text-center'},
 	{headerName: "교환옵션1",			field:"optCd11",			width:100, cellClass: 'text-center'},
 	{headerName: "교환옵션1",			field:"optCd11",			width:100, cellClass: 'text-center'},
-	{headerName: "교환옵션2",			field:"optCd12",			width:100, cellClass: 'text-center'},
-	{headerName: "클레임사유",			field:"chgReason",			width:100, cellClass: 'text-center'},
-	{
-		headerName		: "주문금액"
-		, field			: "ordAmt"
-		, width			: 80
-		, cellClass		: 'text-right'
-		, cellRenderer	: function (params) {
-			return params.value.addComma();
-		}
-	},
-	{headerName: "주문수량",			field:"ordQty",				width:100, cellClass: 'text-center'},
-	{
-		headerName		: "취소상품금액"
-		, field			: "cnclRtnAmt"
-		, width			: 100
-		, cellClass		: 'text-right'
-		, cellRenderer	: function (params) {
-			return params.value.addComma();
-		}
-	},
-	{
-		headerName		: "할인금액"
-		, field			: "dcSumAmt"
-		, width			: 80
-		, cellClass		: 'text-right'
-		, cellRenderer	: function (params) {
-			return params.value.addComma();
-		}
-	},
-	{
-		headerName		: "환불배송비"
-		, field			: "rfDeliveryFee"
-		, width			: 100
-		, cellClass		: 'text-right'
-		, cellRenderer	: function (params) {
-			return params.value.addComma();
-		}
-	},
-	{
-		headerName		: "환불예정금액"
-		, field			: "rfRealCnclAmt"
-		, width			: 100
-		, cellClass		: 'text-right'
-		, cellRenderer	: function (params) {
-			return params.value.addComma();
-		}
-	},
-	{headerName: "배송비결제여부",		field:"addPayCostPayYn",	width:120, cellClass: 'text-center'},
-	{headerName: "배송비결제수단",		field:"addPayCostPgGb",		width:120, cellClass: 'text-center'},
-	{headerName: "클레임메모",			field:"chgMemo",			width:160, cellClass: 'text-right'}
+	{headerName: "교환옵션2",			field:"optCd12",			width:100, cellClass: 'text-center'}
 ];
 ];
 
 
 var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
 var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
@@ -388,6 +370,81 @@ var fnSetBrandInfo = function(result) {
 	$("#searchForm input[name=brandList]").val(jsonData);
 	$("#searchForm input[name=brandList]").val(jsonData);
 }
 }
 
 
+//2021.01.25 추가
+//취소요청, 교환요청, 반품요청 일때는 요청 정보 확인 팝업 정보
+var fnCancelRequest = function (paramData, ordChgSq) {
+	// 취소요청 구분 (ordChgSq null 이면 취소요청화면 있으면 취소요청정보화면)
+	if (ordChgSq == null) {
+		ordChgSq = 0;
+	}
+	
+	var paramArr 	= paramData.split("@");
+	var param 		= "";
+	param += "&ordNo=" 			+ paramArr[0];
+	param += "&ordDtlNo=" 		+ paramArr[1];
+	param += "&delvFeeCd="		+ paramArr[2];
+	param += "&delvFeeCdGrp="	+ paramArr[3];
+	param += "&chgStat="		+ paramArr[4];
+	param += "&ordChgSq=" 		+ ordChgSq;
+	
+	// 2021.06.30 취소완료일때 취소완료정보 조회
+	if (paramArr[4] == "G685_17" || paramArr[4] == "G685_18") {
+		actionUrl = "/order/scm/cnclRtn/complete/view?" + param;
+	}
+
+	cfnOpenModalPopup(actionUrl, 'popupCancelRequestForm');
+	
+	return false;
+};
+
+//2021.01.25 추가
+//반품요청
+var fnReturnRequest = function (paramData, ordChgSq) {
+	
+	// 취소요청 구분 (orChgSq null 이면 취소요청화면 있으면 취소요청정보화면)
+	if (ordChgSq == null) {
+		ordChgSq = 0;
+	}
+	
+	var param 		= "";
+	var paramArr 	= paramData.split("@");
+	param += "&ordNo=" 			+ paramArr[0];
+	param += "&ordDtlNo=" 		+ paramArr[1];
+	param += "&delvFeeCd="		+ paramArr[2];
+	param += "&delvFeeCdGrp="	+ paramArr[3];
+	param += "&chgStat="		+ paramArr[4];
+	param += "&ordChgSq=" 		+ ordChgSq;
+
+	var actionUrl = "/orderChange/rtn/req/form?" + param;
+	
+	// 2021.06.30 취소완료일때 취소완료정보 조회
+	if (paramArr[4] == "G685_60") {
+		actionUrl = "/orderChange/cnclRtn/complete/view?" + param;
+	}
+	
+	cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
+};
+
+//교환요청
+var fnExchangeRequest = function (paramData, ordChgSq) {
+	// 취소요청 구분 (orChgSq null 이면 취소요청화면 있으면 취소요청정보화면)
+	if (ordChgSq == null) {
+		ordChgSq = 0;
+	}
+	
+	var paramArr 	= paramData.split("@");
+	var param 		= "";
+	param += "&ordNo=" 			+ paramArr[0];
+	param += "&ordDtlNo=" 		+ paramArr[1];
+	param += "&delvFeeCd="		+ paramArr[2];
+	param += "&delvFeeCdGrp="	+ paramArr[3];
+	param += "&chgStat="		+ paramArr[4];
+	param += "&ordChgSq=" 		+ ordChgSq;
+	
+	var actionUrl = "/orderChange/exchange/request/form?" + param;
+	cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
+};
+
 </script>
 </script>
 
 
 </html>
 </html>

+ 638 - 0
src/main/webapp/WEB-INF/views/order/ScmCnclCompleteView.html

@@ -0,0 +1,638 @@
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : CnclCompleteView.html
+ * @desc    : 취소완료정보화면
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2019 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.06.30   jsh77b       최초 작성
+ *******************************************************************************
+ -->
+<div class="modalPopup" data-width="1400" data-height="600">
+	<div class="panelStyle">
+		<div class="panelTitle">
+			<th:block th:if="${chgStat} == 'G720_30'">
+				<h2>취소완료</h2>
+				<button type="button" class="close" onclick="fnPopupClose();"><i class="fa fa-times"></i></button>
+			</th:block>
+			<th:block th:if="${chgStat} == 'G720_50'">
+				<h2>반품완료</h2>
+				<button type="button" class="close" onclick="fnPopupClose();"><i class="fa fa-times"></i></button>
+			</th:block>
+		</div>
+			
+		<div class="panelContent" style="height:90%; overflow-y:auto; padding:0px 20px !important; ">
+			<form id="cancelRequestFrm" name="cancelRequestFrm">
+				
+				<th:block th:if="${chgStat} == 'G720_30'">
+					<h4 th:id="orderInfoTitle">취소완료정보</h4>
+				</th:block>
+				<th:block th:if="${chgStat} == 'G720_50'">
+					<h4 th:id="orderInfoTitle">반품완료정보</h4>
+				</th:block>
+			
+				<div id="gridCnclRtnCompleteList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
+				
+				<th:block th:if="${cnclRtnCompleteList != null}">
+					<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
+						<button type="button" class="btn btn-success" id="cnclCompleteBtn" onclick="fnPopupClose();">확인</button>
+					</div>
+				</th:block>
+				
+				<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 id="chgReasonNm"></td>
+							<th>귀책사유</th>
+							<td><span id="imputeReason"></span></td>
+						</tr>
+						<tr>
+							<th>요청메모<br/><span id="chgMemoCount">0</span>/1,000Byte</th>
+							<td colspan="3">
+								<textarea id="chgMemo" name="chgMemo" style="height:80px;"></textarea>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+				
+				<h4>환불금액</h4>
+				<table class="frmStyle">
+					<colgroup>
+						<col width="">
+						<col width="">
+						<col width="">
+						<col width="">
+					</colgroup>
+					<thead>
+						<tr>
+							<th style="height:30px;">구분</th>
+							<th style="height:30px;">항목</th>
+							<th style="height:30px;">합계</th>
+							<th style="height:30px;">내역</th>
+						</tr>
+					</thead>
+					<tbody>
+						<tr>
+							<td style="height:25px;">상품금액</td>
+							<td>취소상품금액</td>
+							<td class="spanCnclRtnAmt">15,000원</td>
+							<td></td>
+						</tr>
+						<tr>
+							<td rowspan="2">할인금액차감</td>
+							<td>쿠폰할인차감</td>
+							<td class="spanCpnDcAmt">15,000원</td>
+							<td style="line-height:25px;">
+								<div style="height:25px;"><span>즉시할인쿠폰 : </span><span class="spanCpn1DcAmt">-60,000원</span></div>
+								<div style="height:25px;"><span>주문서상품쿠폰 : </span><span class="spanGoodsCpnDcAmt">-60,000원</span></div>
+								<div style="height:25px;"><span>장바구니쿠폰 : </span><span class="spanCartCpnDcAmt">-60,000원</span></div>
+							</td>
+						</tr>
+						<tr>
+							<td>상품할인차감</td>
+							<td class="goodsDcSumAmt">15,000원</td>
+							<td style="line-height:25px;">
+								<div style="height:25px;"><span>선포인트할인 : </span><span class="spanPrePntDcAmt">-60,000원</span></div>
+								<div style="height:25px;"><span>다다익선할인 : </span><span class="spanTmtbDcAmt">-60,000원</span></div>
+							</td>
+						</tr>
+						<tr>
+							<td>배송비</td>
+							<td>환불배송비</td>
+							<td class="spanRealDelvAmt">-60,000원</td>
+							<td style="line-height:25px;">
+								<div style="height:25px;"><span>배송비쿠폰 : </span><span class="delvCpnAmt">-60,000원</span></div>
+								<div style="height:25px;"><span>추가금결제 : </span><span class="addDelvFee">-60,000원</span></div>
+							</td>
+						</tr>
+						<tr>
+							<td rowspan="4">환불금액</td>
+							<td style="height:25px;">총환불금액</td>
+							<td class="totalRefundAmt">70,000원</td>
+							<td></td>
+						</tr>
+						<tr>
+							<td style="height:25px;">결제수단환불</td>
+							<td class="spanRefundAmt">70,000원</td>
+							<td>
+								<span class="pgGbNm">신용카드</span><span class="cardNm">(현대)</span>
+							</td>
+						</tr>
+						<tr>
+							<td style="height:25px;">상품권환불</td>
+							<td class="spanGfcdUseAmt">70,000P</td>
+							<td></td>
+						</tr>
+						<tr>
+							<td style="height:25px;">포인트환불</td>
+							<td class="spanPntDcAmt">70,000원</td>
+							<td>
+								<span>적립예정포인트환수 : </span><span class="spanSavePntAmt">60,000P</span>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+				
+				<!-- as-is 일때 처리 -->
+				<th:block th:if="${cnclRtnCompleteList == null}">
+					<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
+						<button type="button" class="btn btn-success" id="cnclCompleteBtn" onclick="fnPopupClose();">확인</button>
+					</div>
+				</th:block>
+				
+				<!-- 
+				<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><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>원 + 배송비쿠폰 : <span id="spanDelvCpnDcAmt"></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="spanRealDelvAmt"></span>원</td>
+						</tr>
+						<tr>
+							<th>환불 금액</th>
+							<td colspan="3"><span id="spanRefundAmt"></span>원</td>
+						</tr>
+					</tbody>
+				</table>
+				 -->
+				
+				<div id="refundAccount" style="width:100%">
+					<h4>환불계좌정보</h4>
+					<!-- TABLE -->
+					<table class="tableStyle">
+						<colgroup>
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+						</colgroup>
+						<thead>
+							<tr>
+								<th>은행명</th>
+								<th>은행코드</th>
+								<th>계좌번호</th>
+								<th>예금주</th>
+								<th>기본여부</th>
+							</tr>
+						</thead>
+						<tbody>
+							<tr style="height:30px;">
+								<td class="bankNm"></td>
+								<td class="bankCd"></td>
+								<td class="accountNo"></td>
+								<td class="accountNm"></td>
+								<td class="defaultYn"></td>
+							</tr>
+						</tbody>
+					</table>
+				</div>
+				<br>
+			</form>
+		</div>
+	</div>
+</div>
+
+<!-- data -->
+<script th:inline="javascript">
+/*<![CDATA[*/
+var cnclRtnCompleteList 	= [[${cnclRtnCompleteList}]];				// 취소,반품 완료 정보 목록
+var orderInfoList 			= [[${orderInfoList}]];						// 취소,반품 완료 정보 목록
+var pgGb 					= orderInfoList[0].pgGb;					// 결제수단
+var payMeans 				= orderInfoList[0].payMeans;				// 결제방법
+var cardNm 					= orderInfoList[0].cardNm;					// 카드정보
+var addPayCost				= 0;										// 추가배송비
+var realDelvAmt				= 0;										// 환불배송비
+var delvCpnDcAmt			= 0;										// 배송비쿠폰환불
+var chgReason				= "";										// 변경사유코드
+var chgReasonNm				= "";										// 변경사유코드명
+var chgMemo					= "";										// 변경사유메모
+var raBankNm				= "";										// 환불계좌은행명
+var raBank					= "";										// 환불계좌은행코드
+var raNo					= "";										// 환불계좌번호
+var raNm					= "";										// 환불계좌명
+var chgStat 				= [[${chgStat}]];							// 변경요청상태값(정산상태값)
+var payStat					= orderInfoList[0].payStat;					// 결제상태
+
+// 1. 취솨,반품완료 정보 목록 조회
+var columnCnclRtnCompleteList = [
+	{headerName: "주문번호"		, field: "ordNo"			, width: 80		, cellClass: 'text-center'},
+	{headerName: "주문상세"		, field: "ordDtlNo"			, width: 80		, cellClass: 'text-center'},
+	{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-left'},
+	{headerName: "SKUCODE"		, field: "optCd"			, width: 100	, cellClass: 'text-center'},
+	{headerName: "상품명"		, field: "goodsNm"			, width: 200	, cellClass: 'text-left'},
+	//{headerName: "상품타입"		, field: "goodsTypeNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "상품타입"	, field: "goodsTypeNm"	, width: 100, cellClass: 'text-center',
+		cellRenderer: function (params) {
+			var option;
+			if (params.data.goodsType == 'G056_S') {
+				option = "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailItemForm('" + params.data.ordDtlNo + "');\">" + params.value + "</a>";
+			} else {
+				option = params.value
+			}
+			return option;
+		}
+	},
+	{headerName: "옵션1"			, field: "colorNm"			, width: 80		, cellClass: 'text-center'},
+	{headerName: "옵션2"			, field: "optCd2"			, width: 80		, cellClass: 'text-center'},
+	{
+		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			: "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			: 100		
+		, 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			: 100		
+		, cellClass		: 'text-right'
+		, cellRenderer	: function (params) {
+			return params.value.addComma();
+		}
+	}
+];
+var gridOptionsCnclRtnCompleteList = gagaAgGrid.getGridOptions(columnCnclRtnCompleteList);
+
+// Add on options
+gridOptionsCnclRtnCompleteList.suppressRowClickSelection = true;
+gridOptionsCnclRtnCompleteList.rowSelection = 'multiple';
+</script>
+
+<script>
+// 현재 사유는 고객 입니다.
+var isCustomer = true;
+
+//  사유
+var fnChangeChgReason = function(reasonCd){
+	var customerReasonArr = ['G686_10', 'G686_20', 'G688_10'];
+
+	isCustomer = false;
+	
+	// 귀책사유체크(취소,반품,교환)
+	for (i=0 ; i<customerReasonArr.length ; i++) {
+		if (customerReasonArr[i] == reasonCd) {
+			isCustomer = true;
+		}
+	}
+	
+	// 귀책사유설정
+	if (isCustomer) {
+		$("#imputeReason").text("고객");
+	} else {
+		$("#imputeReason").text("회사");
+	}
+
+	$('#cancelRequestFrm input[name=chgReason]').val(reasonCd);
+}
+
+// 팝업닫기 확인버튼
+var fnPopupClose = function() {
+	if (chgStat == "G720_30") {
+		uifnPopupClose('popupCancelRequestForm');
+	} else if (chgStat == "G720_50") {
+		uifnPopupClose('popupReturnRequestForm');
+	}
+}
+
+$(document).ready(function() {
+	
+	// 1. 그리드생성
+	gagaAgGrid.createGrid('gridCnclRtnCompleteList'		, gridOptionsCnclRtnCompleteList);			// 주문정보
+	
+	// 2. 그리드 데이타 싱크작업
+	gridOptionsCnclRtnCompleteList.api.setRowData(cnclRtnCompleteList);								// 주문정보
+	
+	// 2.1 TOTAL ROWS 없애기
+	gagaAgGrid.hideStatusBar('gridCnclRtnCompleteList');
+
+	// 2021.08.04 AS-IS 데이타 처리
+	if (cnclRtnCompleteList != null) {
+		addPayCost				= cnclRtnCompleteList[0].addPayCost;		// 추가배송비
+		realDelvAmt				= cnclRtnCompleteList[0].realDelvAmt;		// 환불배송비
+		delvCpnDcAmt			= cnclRtnCompleteList[0].delvCpnDcAmt;		// 배송비쿠폰환불
+		chgReason				= cnclRtnCompleteList[0].chgReason;			// 변경사유코드
+		chgReasonNm				= cnclRtnCompleteList[0].chgReasonNm;		// 변경사유코드명
+		chgMemo					= cnclRtnCompleteList[0].chgMemo;			// 변경사유메모
+		raBankNm				= cnclRtnCompleteList[0].raBankNm;			// 환불계좌은행명
+		raBank					= cnclRtnCompleteList[0].raBank;			// 환불계좌은행코드
+		raNo					= cnclRtnCompleteList[0].raNo;				// 환불계좌번호
+		raNm					= cnclRtnCompleteList[0].raNm;				// 환불계좌명
+		
+		// 5. 환불에정금액 
+		//var spanOrdAmt 			= 0;
+		//var spanCnclRtnAmt 		= 0;
+		//var spanTotPntDcAmt		= 0;
+		//var spanPntDcAmt		= 0;
+		//var spanPrePntDcAmt		= 0;
+		//var spanCpnDcAmt		= 0;
+		//var spanCpn1DcAmt		= 0;
+		//var spanGoodsCpnDcAmt	= 0;
+		//var spanCartCpnDcAmt	= 0;
+		//var spanTmtbDcAmt		= 0;
+		//var spanTmtb1DcAmt		= 0;
+		//var spanTmtb2DcAmt		= 0;
+		//var spanGfcdUseAmt		= 0;
+		//var spanRealCnclRtnAmt	= 0;
+		//var spanTotDeliveryFee	= addPayCost;
+		//var spanRefundAmt		= 0;
+		//var spanRealDelvAmt		= realDelvAmt;
+		//var spanSavePntAmt		= 0;
+		
+		// 2021.08.11 card007 환불금액 관련 계산 TB_REFUND 정보로 변경
+		//for (i=0 ; i<cnclRtnCompleteList.length ; i++) {
+		//	spanOrdAmt 				= spanOrdAmt 			+ cnclRtnCompleteList[i].ordAmt;
+		//	spanCnclRtnAmt 			= spanCnclRtnAmt 		+ cnclRtnCompleteList[i].cnclRtnAmt;
+		//	spanPntDcAmt			= spanPntDcAmt			+ cnclRtnCompleteList[i].pntDcAmt;
+		//	spanPrePntDcAmt			= spanPrePntDcAmt		+ cnclRtnCompleteList[i].prePntDcAmt;
+		//	spanCpn1DcAmt 			= spanCpn1DcAmt 		+ cnclRtnCompleteList[i].cpn1DcAmt;
+		//	spanGoodsCpnDcAmt 		= spanGoodsCpnDcAmt 	+ cnclRtnCompleteList[i].goodsCpnDcAmt;
+		//	spanCartCpnDcAmt 		= spanCartCpnDcAmt 		+ cnclRtnCompleteList[i].cartCpnDcAmt;
+		//	spanTmtb1DcAmt 			= spanTmtb1DcAmt 		+ cnclRtnCompleteList[i].tmtb1DcAmt;
+		//	spanTmtb2DcAmt 			= spanTmtb2DcAmt 		+ cnclRtnCompleteList[i].tmtb2DcAmt;
+		//	spanGfcdUseAmt 			= spanGfcdUseAmt 		+ cnclRtnCompleteList[i].gfcdUseAmt;
+		//	spanRealCnclRtnAmt 		= spanRealCnclRtnAmt 	+ cnclRtnCompleteList[i].realOrdAmt;
+		//	spanSavePntAmt			= spanSavePntAmt		+ cnclRtnCompleteList[i].savePntAmt;
+		//}
+		
+		var spanCnclRtnAmt 		= cnclRtnCompleteList[0].rfCnclAmt;			// 취소상품금액
+		var spanPntDcAmt		= cnclRtnCompleteList[0].rfPntAmt;			// 환불 포인트 사용 금액
+		var spanPrePntDcAmt		= cnclRtnCompleteList[0].rfPrePntAmt;		// 환불 선포인트 사용 금액
+		var spanCpn1DcAmt		= cnclRtnCompleteList[0].rfCpn1Amt;			// 환불 즉시할인쿠폰 사용 금액
+		var spanGoodsCpnDcAmt	= cnclRtnCompleteList[0].rfGoodsCpnAmt;		// 환불 상품쿠폰 사용 금액
+		var spanCartCpnDcAmt	= cnclRtnCompleteList[0].rfCartCpnAmt;		// 환불 장바구니쿠폰 사용 금액
+		var spanDelvCpnDcAmt	= cnclRtnCompleteList[0].rfDelvCpnAmt;		// 환불 배송비쿠폰 사용 금액
+		var spanTmtb1DcAmt		= cnclRtnCompleteList[0].rfTmtb1Amt;		// 환불 다다익선1 사용 금액
+		var spanTmtb2DcAmt		= cnclRtnCompleteList[0].rfTmtb2Amt;		// 환불 다다익선2 사용 금액
+		var spanGfcdUseAmt		= cnclRtnCompleteList[0].rfGfcdUseAmt;		// 환불 상품권 사용 금액
+		var spanDelvGfcdUseAmt	= cnclRtnCompleteList[0].rfDelvGfcdUseAmt;	// 환불 배송비 상품권 사용 금액
+		var spanDeliveryFee		= cnclRtnCompleteList[0].rfDeliveryFee;		// 환불 배송비 금액
+		var spanRefundAmt		= cnclRtnCompleteList[0].refundAmt;			// 환불금액
+		var spanSavePntAmt		= 0;										// 적립예정포인트환수 금액
+		for (i=0 ; i<cnclRtnCompleteList.length ; i++) {
+			spanSavePntAmt			= spanSavePntAmt		+ cnclRtnCompleteList[i].savePntAmt;
+		}
+		
+		var spanCpnDcAmt	= spanCpn1DcAmt + spanGoodsCpnDcAmt + spanCartCpnDcAmt;
+		var spanTmtbDcAmt	= spanTmtb1DcAmt + spanTmtb2DcAmt;
+		var goodsDcSumAmt = spanPrePntDcAmt + spanTmtbDcAmt;
+		var spanTotGfcdUseAmt = spanGfcdUseAmt + spanDelvGfcdUseAmt;
+		var totalRefundAmt = spanRefundAmt + spanTotGfcdUseAmt + spanPntDcAmt;
+		//spanRefundAmt	= spanRealCnclRtnAmt + realDelvAmt;
+		
+		// 상품금액
+		$(".spanCnclRtnAmt").text(spanCnclRtnAmt.addComma()+"원");					// 취소상품금액
+
+		// 할인금액차감
+		$(".spanCpnDcAmt").text(spanCpnDcAmt.addComma()+"원");						// 쿠폰할인차감 > 합계
+		$(".spanCpn1DcAmt").text(spanCpn1DcAmt.addComma()+"원");					// 쿠폰할인차감 > 즉시할인쿠폰
+		$(".spanGoodsCpnDcAmt").text(spanGoodsCpnDcAmt.addComma()+"원");			// 쿠폰할인차감 > 주문서상품쿠폰
+		$(".spanCartCpnDcAmt").text(spanCartCpnDcAmt.addComma()+"원");				// 쿠폰할인차감 > 장바구니쿠폰
+		$(".goodsDcSumAmt").text(goodsDcSumAmt.addComma()+"원");					// 상품할인차감 > 합계
+		$(".spanPrePntDcAmt").text(spanPrePntDcAmt.addComma()+"원");				// 상품할인차감 > 선포인트할인
+		$(".spanTmtbDcAmt").text(spanTmtbDcAmt.addComma()+"원");					// 상품할인차감 > 다다익선할인
+
+		// 배송비
+		$(".spanRealDelvAmt").text(spanDeliveryFee.addComma()+"원");				// 환불배송비 > 합계
+		$(".addDelvFee").text(addPayCost.addComma()+"원");							// 환불배송비 > 추가금결제
+		$(".delvCpnAmt").text(spanDelvCpnDcAmt.addComma()+"원");					// 환불배송비 > 배송비쿠폰
+
+		// 환불금액
+		$(".totalRefundAmt").text(totalRefundAmt.addComma()+"원");					// 총환불금액
+		$(".spanRefundAmt").text(spanRefundAmt.addComma()+"원");					// 결제수단환불
+		$(".spanGfcdUseAmt").text(spanTotGfcdUseAmt.addComma()+"원");				// 상품권환불
+		$(".spanPntDcAmt").text(spanPntDcAmt.addComma()+"원");						// 포인트환불
+		$(".spanSavePntAmt").text(spanSavePntAmt.addComma()+"P");					// 포인트환불 > 적립예정포인트환수
+		
+		var pgGbNm		= "";
+		var cardGbNm	= "";
+		
+		if (pgGb == 'KCP') {
+			pgGbNm	= payMeansNm;
+			cardGbNm	= "(" + cardNm + ")";
+		} else if (pgGb == 'NAVER') {
+			pgGbNm	= "네이버페이";
+		} else if (pgGb == 'NAVER_ORDER') {
+			pgGbNm	= "네이버페이주문형";
+		} else if (pgGb == 'KAKAO') {
+			pgGbNm	= "카카오페이";
+		} else if (pgGb == 'PAYCO') {
+			pgGbNm	= "페이코";
+		} else if (pgGb == 'ISTYLE') {
+			pgGbNm	= "상품권";
+		} else {
+			pgGbNm	= "외부몰입금";
+		}
+		
+		$(".pgGbNm").text(pgGbNm);
+		$(".cardNm").text(cardGbNm);
+		
+		/*
+		$("#spanOrdAmt").text(spanOrdAmt.addComma());
+		$("#spanCnclRtnAmt").text(spanCnclRtnAmt.addComma());
+		$("#spanTotPntDcAmt").text(spanTotPntDcAmt.addComma());
+		$("#spanPntDcAmt").text(spanPntDcAmt.addComma());
+		$("#spanPrePntDcAmt").text(spanPrePntDcAmt.addComma());
+		$("#spanPntDcAmt").text(spanPntDcAmt.addComma());
+		$("#spanCpn1DcAmt").text(spanCpn1DcAmt.addComma());
+		$("#spanGoodsCpnDcAmt").text(spanGoodsCpnDcAmt.addComma());
+		$("#spanCartCpnDcAmt").text(spanCartCpnDcAmt.addComma());
+		$("#spanDelvCpnDcAmt").text(delvCpnDcAmt.addComma());
+		$("#spanCpnDcAmt").text(spanCpnDcAmt.addComma());
+		$("#spanTmtb1DcAmt").text(spanTmtb1DcAmt.addComma());
+		$("#spanTmtb2DcAmt").text(spanTmtb2DcAmt.addComma());
+		$("#spanTmtbDcAmt").text(spanTmtbDcAmt.addComma());
+		$("#spanGfcdUseAmt").text(spanGfcdUseAmt.addComma());
+		$("#spanRealCnclRtnAmt").text(spanRealCnclRtnAmt.addComma());
+		$("#spanRealDelvAmt").text(realDelvAmt.addComma());
+		$("#spanTotDeliveryFee").text(addPayCost.addComma());
+		$("#spanRefundAmt").text(spanRefundAmt.addComma());
+		*/
+		
+		// 2021.05.13 높이자동조절
+		var cancelRequestTargetHeight = 50 + (40 * cnclRtnCompleteList.length);
+		$("#gridCnclRtnCompleteList").css("height" , cancelRequestTargetHeight+"px");
+	} else {
+		$("#gridCnclRtnCompleteList").hide();
+	}
+	
+	// 3. 무통장입금아닌경우 환불계좌 그리드 숨김처리
+	if (payMeans !== 'G014_20') {
+		$('#refundAccount').addClass("off");
+	} else {
+		// 2021.08.04 무통장입금전 취소이면 미노출
+		if (payStat == 'G016_10') {
+			$('#refundAccount').addClass("off");
+		} else {
+			$("#refundAccount .bankNm").text(raBankNm);
+			$("#refundAccount .bankCd").text(raBank);
+			$("#refundAccount .accountNo").text(raNo);
+			$("#refundAccount .accountNm").text(raNm);
+		}
+	}
+	
+	// 4. 변경사유설정
+	$("#chgReasonNm").text(chgReasonNm);
+	$("#chgMemo").text(chgMemo);
+	$("#chgMemo").attr("disabled", "true");
+	cfnGetTextLength($('#chgMemo'), 1000, $('#chgMemoCount'));
+	fnChangeChgReason(chgReason);
+
+});
+
+// 2021.06.17 구성상품 내역 팝업 호출 
+var fnOrderDetailItemForm = function (ordDtlNo) {
+	var actionUrl = "/delivery/detail/item/form/" + ordDtlNo;
+	cfnOpenModalPopup(actionUrl, 'popupDeliveryDetailItemForm');
+}
+</script>
+</html>
+
+
+
+
+