ソースを参照

주문상세 교환 임시 커밋

card007 5 年 前
コミット
88e0f03c03

+ 0 - 10
src/main/java/com/style24/admin/biz/dao/TsaDeliveryDao.java

@@ -112,14 +112,4 @@ public interface TsaDeliveryDao {
 	 * @since 2020. 11. 11
 	 */	
 	Collection<Delivery> getDeliveryWithdrawDirectiveList(Delivery delivery);
-
-	/**
-	 * 출고처 정보 조회
-	 * 
-	 * @param Delivery - 배송/회수지시 정보
-	 * @return Collection<Delivery>
-	 * @author card007
-	 * @since 2021. 01. 18
-	 */
-	Collection<Delivery> getDeliveryLocInfo(Delivery delivery);
 }

+ 0 - 12
src/main/java/com/style24/admin/biz/service/TsaDeliveryService.java

@@ -182,16 +182,4 @@ public class TsaDeliveryService {
 	public Collection<Delivery> getDeliveryWithdrawDirectiveList(Delivery delivery) {
 		return deliveryDao.getDeliveryWithdrawDirectiveList(delivery);
 	}
-
-	/**
-	 * 출고처 정보 조회
-	 *
-	 * @param Delivery - 배송/회수지시 정보
-	 * @return Collection<Delivery>
-	 * @author card007
-	 * @since 2021. 01. 18
-	 */
-	public Collection<Delivery> getDeliveryLocInfo(Delivery delivery) {
-		return deliveryDao.getDeliveryLocInfo(delivery);
-	}
 }

+ 2 - 17
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -365,28 +365,13 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.addObject("orderInfoList"				, orderInfoList);									// 주문정보
 		mav.addObject("ordNo"						, ordNo);
 		mav.addObject("orderDelvAddrInfo"			, orderService.getDeliveryAddrList(order));			// 배송정보
-		mav.addObject("deliveryLoc"					, deliveryService.getDeliveryLocInfo(delivery));	// 반송지정보
+		mav.addObject("TelExcNoList"				, rendererService.getAvailCommonCodeList("G095"));	// 전화번호국번
+		mav.addObject("PhnExcNoList"				, rendererService.getAvailCommonCodeList("G096"));	// (휴대전화)번호국번
 
 		mav.setViewName("order/ExchangeRequestForm");
 
 		return mav;
 	}
-
-	/**
-	 * 교환 추가배송비 조회
-	 *
-	 * @param Order - 주문정보
-	 * @return Order
-	 * @author card007
-	 * @since 2021. 01. 19
-	 */
-	@PostMapping("/exchange/addDelvFee")
-	@ResponseBody
-	public Order getAddDelvFee(@RequestBody Collection<Order> dataList) {
-		Order order = new Order();
-		log.info("dataList >>> {}", dataList);
-		return order;
-	}
 }
 
 

+ 0 - 33
src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml

@@ -400,37 +400,4 @@
 		/* TsaDelivery.getDeliveryWithdrawDirectiveList */
 		SELECT '1' FROM DUAL
 	</select>
-	
-	<!-- 출고처 정보 조회 -->
-	<select id="getDeliveryLocInfo" parameterType="Delivery" resultType="Delivery">
-		/* TsaDelivery.getDeliveryLocInfo */
-		SELECT DELV_LOC_CD
-			 , DELV_LOC_NM
-			 , SUPPLY_COMP_CD
-			 , DELV_LOC_CLSF
-			 , DELV_ASSIGN_ORD
-			 , DELV_ASSIGN_GRADE
-			 , STOCK_APPL_RATE
-			 , DELV_FEE_RATE
-			 , DELV_LOC_ZIPCODE
-			 , DELV_LOC_BASE_ADDR
-			 , DELV_LOC_DTL_ADDR
-			 , RTN_LOC_ZIPCODE
-			 , RTN_LOC_BASE_ADDR
-			 , RTN_LOC_DTL_ADDR
-			 , RTN_LOC_TELNO
-			 , RTN_LOC_NM
-			 , INVOICE_PRINT_TYPE
-			 , USE_YN
-			 , REG_NO
-			 , REG_DT
-			 , UPD_NO
-			 , UPD_DT
-		  FROM TB_DELIVERY_LOC
-		 WHERE USE_YN = 'Y'
-		<if test="delvLocCd != null and delvLocCd != ''">
-		   AND DELV_LOC_CD = #{delvLocCd}
-		</if>
-	</select>
-	
 </mapper>

+ 25 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaOrderChange.xml

@@ -53,6 +53,12 @@
 		     , 0			AS ORD_CAN_CHG_QTY
 		     , VS.OPT_CD2S
 		     , VS.CURR_STOCK_QTYS
+		     , DL.RTN_LOC_NM
+		     , DL.RTN_LOC_ZIPCODE
+		     , DL.RTN_LOC_BASE_ADDR
+		     , DL.RTN_LOC_DTL_ADDR
+		     , DL.RTN_LOC_TELNO
+		     , DL.SELF_YN
 		FROM   TB_ORDER_DETAIL OD
 		INNER  JOIN TB_GOODS G1
 		ON     OD.GOODS_CD = G1.GOODS_CD
@@ -92,13 +98,30 @@
 		ON     DF.SUPPLY_COMP_CD  = DFP.SUPPLY_COMP_CD 
 		AND    DF.DELV_FEE_CD = DFP.DELV_FEE_CD 
 		AND    DFP.USE_YN = 'Y'
+		INNER  JOIN (
+			SELECT TDL.DELV_LOC_CD
+			     , TDL.RTN_LOC_NM
+			     , TDL.RTN_LOC_TELNO
+			     , TDL.RTN_LOC_ZIPCODE
+			     , TDL.RTN_LOC_BASE_ADDR
+			     , TDL.RTN_LOC_DTL_ADDR
+			     , CASE WHEN TSC.DISTRIBUTION_GB IN ('G065_10', 'G065_11', 'G065_12')
+						THEN 'Y'
+						ELSE 'N'
+				   END AS SELF_YN
+			  FROM TB_DELIVERY_LOC TDL
+			 INNER JOIN TB_SUPPLY_COMPANY TSC
+			    ON TDL.SUPPLY_COMP_CD = TSC.SUPPLY_COMP_CD
+		) DL
+		ON     OD.DELV_LOC_CD = DL.DELV_LOC_CD
 		INNER  JOIN (
 			SELECT GOODS_CD
 			     , OPT_CD1
-			     , GROUP_CONCAT(OPT_CD2 SEPARATOR ',')        AS OPT_CD2S
-			     , GROUP_CONCAT(CURR_STOCK_QTY SEPARATOR ',') AS CURR_STOCK_QTYS
+			     , GROUP_CONCAT(OPT_CD2 ORDER BY DISP_ORD DESC, OPT_CD2 SEPARATOR ',')        AS OPT_CD2S
+			     , GROUP_CONCAT(CURR_STOCK_QTY ORDER BY DISP_ORD DESC, OPT_CD2 SEPARATOR ',') AS CURR_STOCK_QTYS
 			  FROM VW_STOCK
 			 WHERE GOODS_CD IN (SELECT ITEM_CD FROM TB_ORDER_DETAIL_ITEM WHERE ORD_NO = #{ordNo})
+			   AND (CURR_STOCK_QTY - BASE_STOCK_QTY) > 0
 			 GROUP BY GOODS_CD, OPT_CD1
 		) VS
 		ON     ODI.ITEM_CD = VS.GOODS_CD

+ 73 - 469
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -29,14 +29,11 @@
 				<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>
 				
 				<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
-					<button type="button" class="btn btn-success" id="fnExchangeRequest" onclick="fnExchangeRequest();">요청</button>
+					<button type="button" class="btn btn-success" id="fnExchangeRequestSubmit" onclick="fnExchangeRequestSubmit();">요청</button>
 				</div>
 				
 				<table class="frmStyle">
@@ -58,6 +55,15 @@
 							<th>귀책사유</th>
 							<td><span id="imputeReason"></span></td>
 						</tr>
+						<tr>
+							<th>회수방법</th>
+							<td>
+								<label class="rdoBtn"><input type="radio" name="wdGb" th:id="wdGb" value="W" onCLick="fnChangeQty()" checked="checked"/>회수요청<span></span></label>
+								<label class="rdoBtn"><input type="radio" name="wdGb" th:id="wdGb" value="D" onCLick="fnChangeQty()"/>직접발송<span></span></label>
+							</td>
+							<th>추가배송비</th>
+							<td id="addDelvFee"></td>
+						</tr>
 						<tr>
 							<th>요청메모</th>
 							<td colspan="3">
@@ -169,6 +175,8 @@ var ordNo 					= [[${ordNo}]];									// 주문번호
 var orderInfoList 			= [[${orderInfoList}]];							// 주문기본정보
 var payMeans 				= orderInfoList[0].payMeans;					// 결제수단
 var orderDelvAddrInfo		= [[${orderDelvAddrInfo}]];						// 회수지정보
+var addDelvFee				= 0;											// 추가배송비
+var addDelvFeeList			= [];											// 추가배송비정보
 
 var temp1 = true;
 var temp2 = false;
@@ -289,7 +297,7 @@ var columnExchangeReqList = [
 					var ordCanChgQty 	= ordQty - (cnclRtnQty +  ordReqChgQty);
 					
 					var strVal 			= "";
-					strVal += '<select class="ordCanChgQty" name="ordCanChgQty" ordDtlNo="'+params.data.ordDtlNo+'" onchange="fnChangeQty(this)">';
+					strVal += '<select class="ordCanChgQty ' + params.data.ordDtlNo + '" name="ordCanChgQty" ordDtlNo="'+params.data.ordDtlNo+'" onchange="fnChangeQty(this)">';
 					
 					for (i=0 ; i<=ordCanChgQty ; i++) {
 						if (i == params.data.ordCanChgQty) {
@@ -474,462 +482,37 @@ var gridOptionsExchangeReqList = gagaAgGrid.getGridOptions(columnExchangeReqList
 gridOptionsExchangeReqList.suppressRowClickSelection = true;
 gridOptionsExchangeReqList.rowSelection = 'multiple';
 
-// 2. 교환정보(환불정보)
-var columnExchangeReqToBeList = [
-	{
-		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: "칼라코드"		, 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	: "주문상세수량",
-		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	: "주문단품금액",
-		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	: "주문배송비정보",
-		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 gridOptionsExchangeReqToBeList = gagaAgGrid.getGridOptions(columnExchangeReqToBeList);
-
 // 3. 배송비정보(환불정보)
 var columnDelvCdList = [
+	{headerName: "업체"			, field: "supplyCompCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
+	{headerName: "배송비코드"		, field: "delvFeeCd"		, width: 100	, cellClass: 'text-center', hide: temp2},
 	{
-		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			: "addDelvFee"
+		, width			: 100
+		, cellClass		: 'text-right'
+		, cellRenderer	: function (params) {
+			return params.value.addComma();
+		}
+		, hide			: temp2
 	},
-	{
-		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},
-		]
-	}
+	{headerName: "반품지명"		, field: "rtnLocNm"			, width: 100	, cellClass: 'text-center', hide: temp2},
+	{headerName: "반품지명"		, field: "rtnLocNm"			, 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'}
-];
-
-var gridOptionsRefundAccountInfo = gagaAgGrid.getGridOptions(columnDefsRefundAccountInfo);
 </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('popupReturnRequestForm');
-		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 - result.spanTotRtnDelvFee;
-				} 
-				// 회사사유 : 환불금액게산 = (취소금액 + 배송비)
-				else {
-					result.spanRefundAmt = (result.spanRealCnclRtnAmt + result.sumDeliveryFee);
-				}
-			}
-			
-			$("#spanRefundAmt").text(result.spanRefundAmt.addComma());				//환불 금액 합계
-		}
-	);
-}
+var isCustomer = false;
 
 //  사유
 var fnChangeChgReason = function(reasonCd){
 	var arrReasonCd = reasonCd.split(":");
-	var customerReasonArr = ['G688_10', 'G688_11', 'G688_12', 'G688_13', 'G688_15' , 'G688_21', 'G688_30'];
-
-	isCustomer = false;
+	var customerReasonArr = ['G689_10', 'G689_30'];
 	
+	isCustomer = false;
+
 	// 취소, 반품, 교환 사유 판단
 	for (i=0 ; i<customerReasonArr.length ; i++) {
 		if (customerReasonArr[i] == arrReasonCd[0]) {
@@ -947,12 +530,12 @@ var fnChangeChgReason = function(reasonCd){
 	$('#cancelRequestFrm input[name=chgReason]').val(arrReasonCd[0]);
 	$('#cancelRequestFrm input[name=chgReasonDesc]').val(arrReasonCd[1]);
 	
-	//환불예정금액 계산.
-	fnCalculateRefundAmt();			
+	// 추가배송비 설정
+	fnChangeQty();
 }
 
 // 교환요청
-var fnExchangeRequest = function () {
+var fnExchangeRequestSubmit = function () {
 	var temp 		= false;
 	var ordDtlStat	= cancelRequestTargetList[0].ordDtlStat; 
 	var allCanYn 	= "N";
@@ -1194,18 +777,25 @@ var fnChangeQty = function(param) {
 
 	$.each(cancelRequestTargetList, function(idx, item){
 		if (item.ordDtlNo == ordDtlNo) {
-			var optCd2 = gagajf.isNull(item.ordChgOpt) ? item.optCd2 : item.ordChgOpt;
-			var stockQtyArr = item.currStockQtys.split(',');
-			var sizeCdArr = item.optCd2s.split(',');
-			var stockIdx = sizeCdArr.indexOf(optCd2);
-			var stockQty = stockQtyArr[stockIdx];
-
-			if (stockQty < ordCanChgQty) {
-				mcxDialog.alert(item.itemNm + ' ' + optCd2 + '의 재고수량이 부족합니다.');
-			} else {
-				item.ordCanChgQty = ordCanChgQty;
+			if (gagajf.isNull(item.ordChgOpt)) {
+				mcxDialog.alert('교환옵션을 선택해주세요.');
+				return false;
 			}
 			
+			//var optCd2 = item.ordChgOpt;
+			//var stockQtyArr = item.currStockQtys.split(',');
+			//var sizeCdArr = item.optCd2s.split(',');
+			//var stockIdx = sizeCdArr.indexOf(optCd2);
+			//var stockQty = stockQtyArr[stockIdx];
+
+			//if (stockQty < ordCanChgQty) {
+			//	mcxDialog.alert(item.itemNm + ' ' + optCd2 + '의 재고수량이 부족합니다.');
+			//} else {
+			//	item.ordCanChgQty = ordCanChgQty;
+			//}
+			
+			item.ordCanChgQty = ordCanChgQty;
+			
 			if (ordCanChgQty > 0) {
 				exchangeRequestTargetList.push(item);
 			}
@@ -1214,23 +804,37 @@ var fnChangeQty = function(param) {
 		}
 	});
 
+	// 추가배송비 설정
 	fnAddDelvFee(exchangeRequestTargetList);
 
 	gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
 }
 
+// 추가배송비 설정
 var fnAddDelvFee = function (exchangeRequestTargetList) {
 	var delvCdList = [];
-	exchangeRequestTargetList.filter(function(each) {
-		console.log(each);
-	});
-	//$.each(exchangeRequestTargetList, function(idx, item) {
-	//	if (delvCdList.filter(i => item.includes(i.supplyCompCd)).length <= 0
-	//	&& elvCdList.filter(i => item.includes(i.delvFeeCd)).length <= 0) {
-	//		delvCdList.push(item);
-	//	}
-	//});
-	//gridOptionsDelvCdList.api.setRowData(exchangeRequestTargetList);
+	var delvFeeList = [];
+	var delvFee = 0;
+
+	// 고객 귀책사유에 한하여 추가배송비 설정
+	if (isCustomer) {
+		$.each(exchangeRequestTargetList, function (idx, item) {
+			if (!delvCdList.includes(item.delvFeeCd)) {
+				var delvFeeTmp = $('#wdGb').val() == 'W' ? item.excDelvFee : item.rtnDelvFee;
+				delvFee += delvFeeTmp;
+				item.addDelvFeeYn = 'Y';
+				item.addDelvFee = delvFeeTmp;
+				delvCdList.push(item.delvFeeCd);
+				delvFeeList.push(item);
+			}
+		});
+	}
+	
+	addDelvFee = delvFee;
+	addDelvFeeList = delvFeeList;
+	
+	gridOptionsDelvCdList.api.setRowData(addDelvFeeList);
+	$('#addDelvFee').text(addDelvFee);
 }
 
 $(document).ready(function() {