Procházet zdrojové kódy

ST24PRJ-654 취소접수 로직 수정

card007 před 4 roky
rodič
revize
71302c1248

+ 91 - 1
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -1402,14 +1402,104 @@ public class TsaOrderChangeController extends TsaBaseController {
 			return super.error(message.getMessage("FAIL_0004"));
 		}
 	}
-}
 
+	/**
+	 * 현금환불관리 화면
+	 *
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2022. 01. 04
+	 */
+	@GetMapping("/cash/refund")
+	public ModelAndView cashRefundForm() {
+		ModelAndView mav = new ModelAndView();
+
+		mav.addObject("bankList", rendererService.getCommonCodeList("G942"));
 
+		mav.setViewName("order/CashRefundListForm");
+
+		return mav;
+	}
+
+	/**
+	 * 현금환불관리 내역 조회
+	 *
+	 * @param OrderChange
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2022. 01. 04
+	 */
+	@PostMapping("/cash/refund/list")
+	@ResponseBody
+	public GagaMap getCashRefundList(@RequestBody OrderChange orderChange) {
+		GagaMap result = new GagaMap();
+
+		orderChange.setPageable(new TscPageRequest(orderChange.getPageNo() - 1, orderChange.getPageSize()));
+
+		if (StringUtils.isNotBlank(orderChange.getCondition())) {
+			orderChange.setConditions(orderChange.getCondition().replaceAll("\r", "").split("\n"));
+		}
+
+		// 휴대폰번호 하이픈 처리
+		if ("ordPhnno".equals(orderChange.getSearchGb()) && StringUtils.isNotBlank(orderChange.getSearchTxt())) {
+			String ordPhnno = orderChange.getSearchTxt().replaceAll("-", "");
+			if (ordPhnno.length() == 12) {
+				orderChange.setSearchTxt(ordPhnno.replaceFirst("(^[0-9]{4})([0-9]{4})([0-9]{4})$", "$1-$2-$3"));
+			} else {
+				orderChange.setSearchTxt(ordPhnno.replaceFirst("(^02|[0-9]{3})([0-9]{3,4})([0-9]{4})$", "$1-$2-$3"));
+			}
+		}
 
+		// 주문전체건수 조회
+		int totalCount = coreOrderChangeService.getCashRefundListCount(orderChange);
+		orderChange.getPageable().setTotalCount(totalCount);
 
+		// 주문목록 페이지 조회
+		Collection<OrderChange> dataList = coreOrderChangeService.getCashRefundList(orderChange);
 
+		result.set("pageing", orderChange);
+		result.set("dataList", dataList);
 
+		return result;
+	}
 
+	/**
+	 * 현금환불정보 수정
+	 *
+	 * @param OrderChange
+	 * @return GagaResponse
+	 * @author card007
+	 * @since 2022. 01. 05
+	 */
+	@PostMapping("/cash/refund/update")
+	@ResponseBody
+	public GagaResponse updateCashRefundInfo(@RequestBody Collection<OrderChange> dataList) {
+		Integer userNo = TsaSession.getInfo().getUserNo();
+		for (OrderChange orderChange : dataList) {
+			orderChange.setUpdNo(userNo);
+			coreOrderChangeService.updateCashRefundInfo(orderChange);
+		}
 
+		return super.ok(message.getMessage("SUCC_0002"));
+	}
 
+	/**
+	 * 현금환불 입금 완료 처리
+	 *
+	 * @param OrderChange
+	 * @return GagaResponse
+	 * @author card007
+	 * @since 2022. 01. 05
+	 */
+	@PostMapping("/cash/refund/deposit/complete")
+	@ResponseBody
+	public GagaResponse completeCashRefund(@RequestBody Collection<OrderChange> dataList) {
+		Integer userNo = TsaSession.getInfo().getUserNo();
+		for (OrderChange orderChange : dataList) {
+			orderChange.setUpdNo(userNo);
+			coreOrderChangeService.completeCashRefund(orderChange);
+		}
 
+		return super.ok(message.getMessage("SUCC_0002"));
+	}
+}

+ 45 - 46
src/main/java/com/style24/admin/biz/web/TsaOrderScmController.java

@@ -764,62 +764,61 @@ public class TsaOrderScmController extends TsaBaseController {
 
 				// PG구분:KCP, 결제수단:무통장입금, 환불계좌가 없는경우 취소접수단계로 처리
 				// 2021.09.10 card007 핸드폰결제, 무통장입금은 부분취소 시 에러 발생함으로 취소접수로 처리
-				if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(change.getPayMeans()) || TscConstants.PayMeans.CELL_PHONE.value().equals(change.getPayMeans()))) {
-					// 취소점수
-					change.setChgGb(TscConstants.OrderChangeGb.CANCEL.value());
-					coreOrderChangeService.cancelRequest(change);
-
-					// 2021.09.10 card007 취소 접수시에는 CS에서 OB함으로 카카오알림톡 발송 X
-					// try {
-					// 	// 환불계좌X 취소 접수 알림톡 관련 정보 조회
-					// 	OrderChange orderChange = new OrderChange();
-					// 	orderChange = coreOrderChangeService.getKakaoOrderCancelInfo(change.getOrdChgSq());
-					//
-					// 	// 취소 알림톡 발송
-					// 	orderChange.setChgGb(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
-					// 	coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
-					// } catch (Exception e) {
-					// 	e.printStackTrace();
-					// }
+				// 2022.01.04 card007 취소접수 로직 현금환불처리로 변경
+				GagaMap result;
+				// 무통장입금
+				if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.BANK_DEPOSIT.value().equals(change.getPayMeans())) {
+					change.setCashRefundReason(TscConstants.CashRefundReason.BANK_DEPOSIT.value());
+					result = coreOrderChangeService.cashRefund(change, userNo);
+				}
+				// 신용카드(부분취소불가)
+				else if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.CREDIT_CARD.value().equals(change.getPayMeans()) && "N".equals(change.getCardPcableYn())) {
+					change.setCashRefundReason(TscConstants.CashRefundReason.CREDIT_CARD.value());
+					result = coreOrderChangeService.cashRefund(change, userNo);
+				}
+				// 휴대폰결제
+				else if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.CELL_PHONE.value().equals(change.getPayMeans())) {
+					change.setCashRefundReason(TscConstants.CashRefundReason.CELL_PHONE.value());
+					result = coreOrderChangeService.cashRefund(change, userNo);
 				}
 				// 무통장입금 주문 중 환불계좌정보 없을 경우 제외는 취소처리
 				// 2021.09.10 card007 핸드폰결제, 무통장입금 제외로 변경
 				else {
 					// 취소완료처리
-					GagaMap cancelInfo = coreOrderChangeService.orderCancelPreInfo(change, userNo);
-
-					// 3. 취소완료 카카오알림톡 발송
-					Integer ordChgSq = cancelInfo.getInt("ordChgSq");
-
-					if (ordChgSq != null && ordChgSq > 0) {
-
-						// 네이버페이 품절취소 송부
-						if(TscConstants.PgGb.NAVER_ORDER.value().equals(change.getPgGb())) {
-							for (int i = 0; i < change.getOrdDtlNoArr().length; i++) {
-								Order order = new Order();
-								order.setOrdDtlNo(change.getOrdDtlNoArr()[i]);
-								try {
-									coreNaverPayService.sendNaverPaySoldoutCancel(order, userNo);        // 품절취소
-								} catch (Exception e) {
-									e.printStackTrace();
-								}
-							}
-						}
+					result = coreOrderChangeService.orderCancelPreInfo(change, userNo);
+				}
 
-						try {
-							// 취소 알림톡 관련 정보 조회
-							OrderChange orderChange = new OrderChange();
-							orderChange = coreOrderChangeService.getKakaoOrderCancelInfo(ordChgSq);
+				// 3. 취소완료 카카오알림톡 발송
+				Integer ordChgSq = result.getInt("ordChgSq");
 
-							// 취소 알림톡 발송
-							orderChange.setChgGb(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
-							coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
-						} catch (Exception e) {
-							e.printStackTrace();
+				if (ordChgSq != null && ordChgSq > 0) {
+
+					// 네이버페이 품절취소 송부
+					if(TscConstants.PgGb.NAVER_ORDER.value().equals(change.getPgGb())) {
+						for (int i = 0; i < change.getOrdDtlNoArr().length; i++) {
+							Order order = new Order();
+							order.setOrdDtlNo(change.getOrdDtlNoArr()[i]);
+							try {
+								coreNaverPayService.sendNaverPaySoldoutCancel(order, userNo);        // 품절취소
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
 						}
+					}
 
-						// TODO 취소 메일 송부를 품절취소에서도 보내는지 ?
+					try {
+						// 취소 알림톡 관련 정보 조회
+						OrderChange orderChange = new OrderChange();
+						orderChange = coreOrderChangeService.getKakaoOrderCancelInfo(ordChgSq);
+
+						// 취소 알림톡 발송
+						orderChange.setChgGb(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
+						coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
+					} catch (Exception e) {
+						e.printStackTrace();
 					}
+
+					// TODO 취소 메일 송부를 품절취소에서도 보내는지 ?
 				}
 			}
 		}

+ 370 - 0
src/main/webapp/WEB-INF/views/order/CashRefundListForm.html

@@ -0,0 +1,370 @@
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : CashRefundListForm.html
+ * @desc    : 현금환불관리 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2022 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2022.01.04   card007     최초 작성
+ *******************************************************************************
+ -->
+ 
+<div id="main">
+	<!-- 메인타이틀 영역 -->
+	<div class="main-title">
+	</div>
+	<!-- //메인타이틀 영역 -->
+	
+	<!-- 메뉴 설명 -->
+	<div class="infoBox menu-desc">
+	</div>
+	
+	<form id="searchForm" name="searchForm" action="#" th:action="@{'/orderChange/cash/refund/list'}">
+		<!-- 패널 영역1 -->
+		<div class="panelStyle" >
+			<!-- 검색조건 영역 -->
+			<!-- TITLE -->
+			<div class="panelTitle">
+				<h3>
+					<i class="fa fa-info-circle"></i>아래 검색조건 중 <font color="red">주문번호</font> 또는 <font color="red">조회일자</font> 하나를 꼭 입력해 주세요.
+				</h3>
+				<span class="panelControl">
+					<i class="fa fa-chevron-up"></i>
+				</span>
+			</div>
+			
+			<div class="panelContent">
+				<table class="frmStyle">
+					<colgroup>
+						<col style="width:15%;"/>
+						<col style="width:25%;"/>
+						<col style="width:15%;"/>
+						<col style="width:25%;"/>
+						<col style="width:8%;"/>
+						<col style="width:12%;"/>
+					</colgroup>
+					<tr>
+						<th>주문자정보</th>
+						<td>
+							<select name="searchGb">
+								<option value="ordNm">이름</option>
+								<option value="custId">아이디</option>
+								<option value="ordPhnno">휴대폰번호</option>
+							</select>
+							<input type="text" class="w150" name="searchTxt" placeholder="" maxlength="20"/>
+						</td>
+						<th>입금여부</th>
+						<td>
+							<select name="depositYn" id="depositYn">
+								<option value="">[전체]</option>
+								<option value="Y">입금완료</option>
+								<option value="N" selected>입금미완료</option>
+							</select>
+						</td>
+						<th rowspan="3">주문번호/<br />주문변경일련번호</th>
+						<td rowspan="3">
+							<select name="search" id="search">
+								<option value="searchOrdNo">주문번호</option>
+								<option value="searchOrdChgSq">주문변경일련번호</option>
+							</select>
+							<textarea class="textareaR3" name="condition" id="condition"></textarea>
+						</td>
+					</tr>
+					<tr>
+						<th>계좌번호</th>
+						<td>
+							<input type="text" name="accountNo" />
+						</td>
+						<th>은행명</th>
+						<td>
+							<select name="bankCd">
+								<option value="">[선택]</option>
+								<option th:if="${bankList}" th:each="oneData, status : ${bankList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<th>조회일자</th>
+						<td colspan="3">
+							<select name="searchDateGb">
+								<option value="regDt">발생일자</option>
+								<option value="depositDt">입금일자</option>
+							</select>
+							<span id="terms"></span>
+						</td>
+					</tr>
+				</table>
+				
+				<ul class="panelBar">
+					<li class="center">
+						<button type="button" class="btn btn-info btn-lg" id="btnSearch">조회</button>
+						<button type="button" class="btn btn-gray btn-lg" id="btnInit">초기화</button>
+					</li>
+				</ul>
+				
+			</div>
+		</div>
+		
+		<div class="panelStyle">
+			<ul class="panelBar">
+				<li>
+					<button type="button" class="btn btn-info btn-lg" onclick="fnSave();">저장</button>
+					<button type="button" class="btn btn-success btn-lg" onclick="fnDepositComplete();">입금 완료 처리</button>
+					<button type="button" class="btn btn-default btn-lg" onclick="fnExelDownload();">엑셀다운로드</button>
+				</li>
+				<li class="aR">
+					검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
+					쪽번호 <span id="pgNo">0</span>/ <strong id="endPgNo">0</strong>&nbsp;&nbsp;
+					<select id="pageSize" name="pageSize">
+						<option value="100" selected="selected">100개씩 보기</option>
+						<option value="500">500개씩 보기</option>
+						<option value="1000">1000개씩 보기</option>
+						<option value="5000">5000개씩 보기</option>
+					</select>
+					<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
+				</li>
+			</ul>
+
+			<div class="panelContent" style="overflow: hidden;">
+				<div id="gridList" style="width: 100%; height: 700px;" class="ag-theme-balham lh30"></div>
+			</div>
+
+			<ul class="panelBar">
+				<li class="center">
+					<div class="tablePaging" id="orderListPagination"></div>
+				</li>
+			</ul>
+		</div>
+		
+	</form>
+</div>
+
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=20210114"></script>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+let useYnList = { "Y":"Yes", "N":"No" };
+let bankList = gagajf.convertToArray([[${bankList}]]);
+var payMeansNm = '';
+
+var columnDefs = [
+	{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
+	{headerName: "현금환불일련번호",	field: "cashRefundSq",	width: 80,	cellClass: 'text-center', hide: true},
+	{headerName: "입금여부",		field: "depositYn" ,	width: 80,	cellClass: 'text-center',
+		editable : function(params){console.log(params.data); return params.data.orgDepositYn == 'N';},
+		cellEditor: 'agRichSelectCellEditor',
+		cellEditorParams: { values: gagaAgGrid.extractValues(useYnList) },
+		valueFormatter: function (params) { return gagaAgGrid.lookupValue(useYnList, params.value); },
+		valueParser: function (params) { return gagaAgGrid.lookupKey(useYnList, params.newValue); }
+	},
+	{headerName: "환불상태",		field: "chgStatNm",		width: 80,	cellClass: 'text-center'},
+	{headerName: "클레임일자",		field: "claimDt",		width: 100,	cellClass: 'text-center',
+		cellRenderer		: function (params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYY-MM-DD HH:mm:ss").format("YYYY.MM.DD") : '';
+		}
+	},
+	{headerName: "주문번호",		field: 'ordNo',			width: 80,	cellClass: 'text-center',	sortable: true
+		, cellRenderer	: function (params) {
+			return "<a href=\"javascript:void(0);\" onclick=\"fnOpenOrderDetailPopup('" + params.value + "');\">" + params.value + "</a>";
+		}
+	},
+	{headerName: "주문변경일련번호",	field: 'ordChgSq',		width: 110,	cellClass: 'text-center',	sortable: true
+		, cellRenderer	: function (params) {
+			let paramData 	= params.data.ordNo + '@' + params.data.chgStat + '@' + params.data.payMeansNm;
+			return  '<a href="javascript:void(0);" onclick="fnCancelComplete(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
+		}
+	},
+	{headerName: "주문자",		field: "ordNm",			width: 150,	cellClass: 'text-center'},
+	{headerName: "휴대폰번호",		field: "ordPhnno",		width: 120,	cellClass: 'text-center'},
+	{headerName: "현금환불금액",	field: "depositAmt",	width: 100,	cellClass: 'text-right',
+		cellRenderer: function (params) {
+			return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+		}
+	},
+	{headerName: "결제수단",		field: "payMeansNm",	width: 80,	cellClass: 'text-center'},
+	{headerName: "은행명",		field: "bankCd",		width: 80,	cellClass: 'text-center',
+		editable : function(params){return params.data.orgDepositYn == 'N';},
+		cellEditor: 'agRichSelectCellEditor',
+		cellEditorParams: { values: gagaAgGrid.extractValues(bankList) },
+		valueFormatter: function (params) { return gagaAgGrid.lookupValue(bankList, params.value); },
+		valueParser: function (params) { return gagaAgGrid.lookupKey(bankList, params.newValue); }
+	},
+	{headerName: "환불계좌번호",	field: "accountNo",		width: 150,	cellClass: 'text-center', editable : function(params){return params.data.orgDepositYn == 'N';}},
+	{headerName: "예금주",		field: "accountNm",		width: 80,	cellClass: 'text-center', editable : function(params){return params.data.orgDepositYn == 'N';}},
+	{headerName: "변경메모",		field: "chgMemo",		width: 150,	cellClass: 'text-center', editable : true},
+	{headerName: "신청일",		field: "regDt",			width: 150,	cellClass: 'text-center',
+		cellRenderer		: function (params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYY-MM-DD HH:mm:ss").format("YYYY-MM-DD HH:mm:ss") : '';
+		}
+	},
+	{headerName: "입금일",		field: "depositDt",		width: 150,	cellClass: 'text-center',
+		cellRenderer		: function (params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYY-MM-DD HH:mm:ss").format("YYYY-MM-DD HH:mm:ss") : '';
+		}
+	}
+];
+
+var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+gridOptions.suppressRowClickSelection = true;
+gridOptions.rowSelection = 'multiple';
+gridOptions.stopEditingWhenGridLosesFocus = true;
+
+// 조회버튼
+$('#btnSearch').on('click', function() {
+	$('#searchForm input[name=pageNo]').val(1);
+	fnSearch();
+});
+
+// 검색
+var fnSearch = function() {
+	var formId 		= '#searchForm';
+	var condition	= $('#searchForm input[name=condition]').val();
+	var stDate 		= $('#stDate').val();
+	var edDate 		= $('#edDate').val();
+
+	if (!gagajf.isNull(stDate)) {
+		if (gagajf.isNull(edDate)) {
+			mcxDialog.alert('종료 기간을 입력하세요.');
+			return;
+		}
+	}
+	
+	if (!gagajf.isNull(edDate)) {
+		if (gagajf.isNull(stDate)) {
+			mcxDialog.alert('시작 기간을 입력하세요.');
+			return;
+		}
+	}
+	
+	if (gagajf.isNull(stDate) && gagajf.isNull(edDate)) {
+		var temp = false;
+		
+		if (!gagajf.isNull(condition)) {
+			temp = true;
+		}
+		if (temp == false) {
+			mcxDialog.alert('조회조건을 설정 해주세요.');
+			return;
+		}
+	}
+
+	gagaPaging.init('searchForm', fnSearchCallBack, 'orderListPagination', $('#searchForm').find('#pageSize').val());
+	gagaPaging.load($("#searchForm input[name=pageNo]").val());
+}
+
+// 페이징
+$('#searchForm select[name=pageSize]').on('change', function() {
+	$("#searchForm input[name=pageNo]").val('1');
+	fnSearchList();
+});
+
+// 조회 콜백
+var fnSearchCallBack = function(result){
+	
+	$('#searchForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
+	$('#searchForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
+	$('#searchForm').find('#pgNo').html(result.pageing.pageable.pageNo.addComma());
+	$('#searchForm').find('#endPgNo').html(result.pageing.pageable.totalPage.addComma());
+	gridOptions.api.setRowData(result.dataList);
+	gagaPaging.createPagination(result.pageing.pageable);
+}
+
+// 초기화 클릭시
+$('#btnInit').on('click', function() {
+	$('#searchForm')[0].reset();
+
+	// 최근한주검색
+	$('.btnRecentWeek').trigger('click');
+});
+
+// 초기설정
+$(document).ready(function() {
+	// 달력기능 활성화
+	cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '기간', 'X');
+	gagaAgGrid.createGrid('gridList', gridOptions);
+	gridOptions.api.hideOverlay();
+	
+	$('.btnRecentWeek').trigger('click');
+});
+
+var fnOpenOrderDetailPopup = function (ordNo) {
+	cfnOpenOrderDetailPopup(ordNo);
+};
+
+// 취소완료 팝업
+var fnCancelComplete = function (paramData, ordChgSq) {
+	var paramArr 	= paramData.split("@");
+	var param 		= "";
+	param += "&ordNo=" 			+ paramArr[0];
+	param += "&chgStat="		+ paramArr[1];
+	param += "&ordChgSq=" 		+ ordChgSq;
+	param += "&ordDtlNo=" 		+ 0;
+	param += "&delvFeeCd="		+ '';
+	param += "&delvFeeCdGrp="	+ '';
+
+	payMeansNm = paramArr[2];
+
+	var actionUrl = "/orderChange/cnclRtn/complete/view?" + param;
+
+	cfnOpenModalPopup(actionUrl, 'popupCancelRequestForm');
+
+	return false;
+};
+
+// 저장 버튼 클릭 이벤트
+var fnSave = function() {
+	let changedData = [];
+
+	// 변경된 데이터 설정
+	let selectedData = gridOptions.api.getSelectedRows();
+	$.each(selectedData, function(idx, item) {
+		if (item.crud == 'U') {
+			changedData.push(item);
+		}
+	});
+
+	// 변경된 데이터 유효성검증
+	if (changedData.length == 0) {
+		mcxDialog.alert('변경된 데이터가 없습니다.');
+		return false;
+	}
+
+	let jsonData = JSON.stringify(changedData);
+
+	mcxDialog.confirm("변경 내용을 저장 하시겠습니까?", {
+		cancelBtnText: "취소",
+		sureBtnText: "확인",
+		sureBtnClick: function(){
+			gagajf.ajaxJsonSubmit('/orderChange/cash/refund/update', jsonData, function(result) {
+				fnSearch();
+			});
+		}
+	});
+}
+
+var fnDepositComplete = function () {
+	let selectedData = gridOptions.api.getSelectedRows();
+	let jsonData = JSON.stringify(selectedData);
+	mcxDialog.confirm("입금 완료로 상태를 변경하시겠습니까?", {
+		cancelBtnText: "취소",
+		sureBtnText: "확인",
+		sureBtnClick: function(){
+			gagajf.ajaxJsonSubmit('/orderChange/cash/refund/deposit/complete', jsonData, function(result) {
+				fnSearch();
+			});
+		}
+	});
+}
+
+// 엑셀다운로드
+var fnExelDownload = function() {
+	gagaAgGrid.exportToExcel('현금환불 목록', gridOptions);
+}
+</script>
+
+</html>

+ 2 - 1
src/main/webapp/WEB-INF/views/order/OrderSellerDelvListForm.html

@@ -190,7 +190,8 @@ var columnDefs = [
 	{headerName: "주문고객휴대폰번호",	field: "ordPhnno",			width: 100, cellClass: 'text-center', hide: true},
 	{headerName: "환불계좌번호",		field: "accountNo",			width: 100, cellClass: 'text-center', hide: true},
 	{headerName: "배송정책",			field: "delvFeeCd",			width: 100, cellClass: 'text-center', hide: true},
-	{headerName: "변경요청번호",		field: "ordChgSq",			width: 100, cellClass: 'text-center', hide: true}
+	{headerName: "변경요청번호",		field: "ordChgSq",			width: 100, cellClass: 'text-center', hide: true},
+	{headerName: "부분취소가능여부",		field: "cardPcableYn",		width: 100, cellClass: 'text-center', hide: true}
 ];
 
 var gridOptions = gagaAgGrid.getGridOptions(columnDefs);