Pārlūkot izejas kodu

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.admin.git into develop

eskim 4 gadi atpakaļ
vecāks
revīzija
2f257b5f66

+ 3 - 2
src/main/java/com/style24/admin/biz/service/TsaOrderChangeService.java

@@ -87,7 +87,7 @@ public class TsaOrderChangeService {
 		GagaMap result = this.returnCancel(orderChange);
 
 		// 2. WMS 회수지시 여부 체크 후 회시지시대상여부 컬럼 정보 설정
-		orderChange.setWdTargetYn(this.getWdTargetYnInfo(orderChange));
+		orderChange.setWdTargetYn("N");
 
 		// 3. WMS 반품 정보 삭제 처리
 		coreWmsService.updateWmsRecallCancel(orderChange.getOrdNo(), orderChange.getOrdChgSq());
@@ -101,6 +101,7 @@ public class TsaOrderChangeService {
 		// 6. 반품 접수 처리
 		map.setString("ordChgGb", orderChange.getOrdChgGb());
 		map.setInt("orgOrdChgSq", orderChange.getOrdChgSq());
+		map.setString("wdTargetYn", orderChange.getWdTargetYn());
 		map.setInt("orgAddPayCost", result.getInt("orgAddPayCost"));
 		coreOrderChangeService.returnRequest(map);
 	}
@@ -122,7 +123,7 @@ public class TsaOrderChangeService {
 		this.exchangeCancel(orderChange);
 
 		// 2. WMS 회수지시 여부 체크 후 회시지시대상여부 컬럼 정보 설정
-		orderChange.setWdTargetYn(this.getWdTargetYnInfo(orderChange));
+		orderChange.setWdTargetYn("N");
 
 		// 3. WMS 교환 정보 삭제 처리
 		coreWmsService.updateWmsRecallCancel(orderChange.getOrdNo(), orderChange.getOrdChgSq());

+ 24 - 24
src/main/java/com/style24/admin/biz/service/TsaWithdrawService.java

@@ -447,9 +447,9 @@ public class TsaWithdrawService {
 		change.setEnCloseFeeYn(params.getString("enCloseFeeYn"));
 		change.setEncloseFee(params.getInt("enCloseFee"));
 		change.setWdInvoiceNo(params.getString("wdInvoiceNo"));
-		
-		
+
 		String allCanYn = params.getString("allCanYn");
+		
 		try {
 			if ("Y".equals(allCanYn)) {
 				orderChangeService.allRefund(change);
@@ -460,28 +460,28 @@ public class TsaWithdrawService {
 
 				GagaMap info = orderChangeService.refundConfirmPreInfo(orderChange);
 
-				info.set("chgReasonNm", params.getString("chgReasonNm"));
-				info.set("chgReason", params.getString("chgReason"));
-				info.set("accountNm", params.getString("accountNm"));
-				info.set("accountNo", CryptoUtils.decryptAES(params.getString("accountNo")));
-				info.set("bankCd", params.getString("bankCd"));
-				info.set("custNo", params.getInt("custNo"));
-				info.set("ordNm", params.getString("ordNm"));
-				info.set("delvAddrSq", params.getInt("delvAddrSq"));
-				info.set("delvExpnYn", params.getString("delvExpnYn"));
-				info.set("addDeliveryFee", params.getInt("addDeliveryFee"));
-				info.set("addDeliveryFeeYn", params.getString("addDeliveryFeeYn"));
-				info.set("mallGb", params.getString("mallGb"));
-				info.set("ordNo", params.getInt("ordNo"));
-				info.set("ordChgSq", params.getInt("ordChgSq"));
-				info.set("mallGb", params.getString("mallGb"));
-				info.set("pgStat", params.getString("pgStat"));
-				info.set("codFee", params.getInt("codFee"));
-				info.set("codFeeYn", params.getString("codFeeYn"));
-				info.set("enCloseFeeYn", params.getString("enCloseFeeYn"));
-				info.set("enCloseFee", params.getInt("enCloseFee"));
-				info.set("wdInvoiceNo", params.getInt("wdInvoiceNo"));
-
+				info.set("chgReasonNm"		, params.getString("chgReasonNm"));							// 변경사유
+				info.set("chgReason"		, params.getString("chgReason"));							// 변경사유코드
+				info.set("accountNm"		, params.getString("accountNm"));							// 환불계좌이름
+				info.set("accountNo"		, CryptoUtils.decryptAES(params.getString("accountNo")));	// 환불계좌번호
+				info.set("bankCd"			, params.getString("bankCd"));								// 환불계좌은행코드
+				info.set("custNo"			, params.getInt("custNo"));									// 고객번호
+				info.set("ordNm"			, params.getString("ordNm"));								// 주문자명
+				info.set("delvAddrSq"		, params.getInt("delvAddrSq"));								// 배송지번호
+				info.set("delvExpnYn"		, params.getString("delvExpnYn"));							// 확정후반품,불량여부
+				info.set("addDeliveryFee"	, params.getInt("addDeliveryFee"));							// 추가배송비
+				info.set("addDeliveryFeeYn"	, params.getString("addDeliveryFeeYn"));					// 추가배송비여부
+				info.set("mallGb"			, params.getString("mallGb"));								// 몰구분
+				info.set("ordNo"			, params.getInt("ordNo"));									// 주문번호
+				info.set("ordChgSq"			, params.getInt("ordChgSq"));								// 변경요청번호
+				info.set("pgStat"			, params.getString("pgStat"));								// PG 상태
+				info.set("codFee"			, params.getInt("codFee"));									// 착불비
+				info.set("codFeeYn"			, params.getString("codFeeYn"));							// 착불비여부
+				info.set("enCloseFeeYn"		, params.getString("enCloseFeeYn"));						// 동봉비여부
+				info.set("enCloseFee"		, params.getInt("enCloseFee"));								// 동봉비
+				info.set("wdInvoiceNo"		, params.getInt("wdInvoiceNo"));							// 회수송장번호
+				info.set("wdGb"				, params.getString("wdGb"));								// 회수구분
+				info.set("addPayCost"		, params.getInt("addPayCost"));								// 추가배송비
 
 				orderChangeService.partialRefund(info, userNo);
 			}

+ 8 - 2
src/main/java/com/style24/admin/biz/web/TsaOcmController.java

@@ -58,6 +58,7 @@ public class TsaOcmController extends TsaBaseController {
 	@Autowired
 	private TsaRendererService rendererService;
 
+	private static final int EXCEL_ROW_COUNT = 500;
 
 	/**
 	 * 제휴몰관리 화면
@@ -284,8 +285,13 @@ public class TsaOcmController extends TsaBaseController {
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정
 			String[] extMallOrderNames = {"ordDt", "extmallId", "extmallOrderId", "agentOrderId", "extmallProdId", "goodsCd", "sku", "optCd", "currPrice", "ordQty", "delvFee", "ordNm", "ordTelno", "ordPhnno", "ordEmail", "recipNm", "recipTelno", "recipPhnno", "recipZipcode", "recipBaseAddr", "recipDtlAddr", "delvMemo"};
 
-			ecxelGoodsList = GagaExcelUtil.getList(
-				GagaFileUtil.getConcatenationPath(targetPath, extmallOrder.getExcelFileNm()), 0, extMallOrderNames, 0);
+			ecxelGoodsList = GagaExcelUtil.getList(GagaFileUtil.getConcatenationPath(targetPath, extmallOrder.getExcelFileNm()), 0, extMallOrderNames, 0);
+		}
+
+		if (ecxelGoodsList != null && ecxelGoodsList.size() > EXCEL_ROW_COUNT) {
+			// 파일 삭제
+			GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(targetPath, extmallOrder.getExcelFileNm()));
+			throw new IllegalStateException("엑셀 파일의 건수를 " +EXCEL_ROW_COUNT + "건 이하로 사용하세요.");
 		}
 
 		int userNo = TsaSession.getInfo().getUserNo();

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

@@ -776,7 +776,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 	 * @author card007
 	 * @since 2021. 01. 22
 	 */
-	@PostMapping("/exchangeRequest")
+	@PostMapping("/exchange/request")
 	@ResponseBody
 	public GagaMap orderExchangeRequest(@RequestBody OrderChange excReq) {
 		GagaMap result = new GagaMap();

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

@@ -165,8 +165,8 @@ public class TsaWithdrawController extends TsaBaseController {
 		
 		GagaMap result = new GagaMap();
 		
-		result.set("refundConfirmPreInfo", orderChangeService.refundConfirmPreInfo(orderChange));
-		result.set("dataList",withdrawService.getRefundDetailList(withdraw));
+		result.set("refundConfirmPreInfo"	, orderChangeService.refundConfirmPreInfo(orderChange));
+		result.set("dataList"				, withdrawService.getRefundDetailList(withdraw));
 		
 	//	Collection<Withdraw> dataList = withdrawService.getRefundDetailList(withdraw);
 		return result;

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

@@ -302,7 +302,7 @@
 						  JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
 						  LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO 
 						  LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
-						  LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL  CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO AND CD.DEL_YN ='N' AND CD.CHG_STAT = 'G685_31'
+						  LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL  CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO AND CD.DEL_YN ='N'
 						  LEFT OUTER JOIN TB_ORDER_CHANGE         OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ 						  
 						  WHERE B.REASON_CODE IN('00','01','02','03','04','05','06','15')
 							<if test='customerName != null and customerName != ""'>

+ 8 - 8
src/main/webapp/WEB-INF/views/ocm/ExtmallForm.html

@@ -76,14 +76,14 @@
 			<form id="detailForm" name="detailForm" action="#" th:action="@{'/ocm/extmall/save'}">
 				<table class="frmStyle" aria-describedby="등록/수정 폼">
 					<colgroup>
-						<col style="width:10%;"/>
-						<col style="width:15%;"/>
-						<col style="width:10%;"/>
-						<col style="width:15%;"/>
-						<col style="width:10%;"/>
-						<col style="width:15%;"/>
-						<col style="width:10%;"/>
-						<col/>
+						<col style="width:8%;"/>
+						<col style="width:17%;"/>
+						<col style="width:8%;"/>
+						<col style="width:17%;"/>
+						<col style="width:8%;"/>
+						<col style="width:17%;"/>
+						<col style="width:8%;"/>
+						<col style="width:17%;"/>
 					</colgroup>
 					<tr>
 						<th>제휴몰벤더<i class="required" title="필수"></i></th>

+ 25 - 3
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -40,6 +40,8 @@
 				
 				<table class="frmStyle">
 					<colgroup>
+						<col style="width:160px;" />
+						<col style="width:320px;" />
 						<col style="width:160px;" />
 						<col style="width:320px;" />
 						<col style="width:160px;" />
@@ -57,6 +59,12 @@
 							<td th:if="${ordChgSq > 0 and ordChgGb != 'G681_40'}" th:id="chgReason"></td>
 							<th>귀책사유</th>
 							<td><span id="imputeReason"></span></td>
+							<th>선발송</th>
+							<td>
+								<label class="chkBox">
+									<input type="checkbox" name="wdBfSendYn" id="wdBfSendYn" disabled="disabled"/>
+								</label>
+							</td>
 						</tr>
 						<tr>
 							<th>회수방법</th>
@@ -65,11 +73,11 @@
 								<label class="rdoBtn"><input type="radio" name="wdGb" th:id="wdGb" value="D" onclick="fnChangeWdGb(this)"/>직접발송<span></span></label>
 							</td>
 							<th>추가배송비</th>
-							<td id="addDelvFee"></td>
+							<td id="addDelvFee" colspan="3"></td>
 						</tr>
 						<tr>
 							<th>요청메모</th>
-							<td colspan="3">
+							<td colspan="5">
 								<textarea id="chgMemo" name="chgMemo" style="height:80px;" placeholder="교환사유를 300자내외로 작성해 주세요"></textarea>
 							</td>
 						</tr>
@@ -601,8 +609,18 @@ var fnChangeChgReason = function(reasonCd){
 	// 귀책사유설정 회사, 고객
 	if (isCustomer) {
 		$("#imputeReason").text("고객");
+
+		if ($('#wdBfSendYn').is(':checked')) {
+			$('#wdBfSendYn').prop('checked', false);
+		}
+		
+		$('#wdBfSendYn').attr('disabled', true);
 	} else {
 		$("#imputeReason").text("회사");
+		
+		if (ordChgSq == null || ordChgSq <= 0) {
+			$('#wdBfSendYn').attr('disabled', false);
+		}
 	}
 
 	$('#exchangeRequestFrm input[name=chgReason]').val(arrReasonCd[0]);
@@ -761,6 +779,9 @@ var fnExchange = function () {
 		recipTelno 		= recipTelno1 + '-' + recipTelno2 + '-' + recipTelno3;
 	}
 	
+	// 선발송 여부 설정
+	let wdBfSendYn = $('#wdBfSendYn').is(':checked') ? 'Y' : 'N';
+
 	var jsonObj = {
 		"ordNo"				: $('#exchangeRequestFrm input[name=ordNo]').val()
 		,"chgReason" 		: $('#exchangeRequestFrm input[name=chgReason]').val()
@@ -786,6 +807,7 @@ var fnExchange = function () {
 		,"recipTelno"		: recipTelno
 		,"delvMemo"			: $("#exchangeRequestFrm textarea[name=delvMemo]").val()
 		,"ordChgSq"			: ordChgSq
+		,"wdBfSendYn"		: wdBfSendYn
 	}
 
 	// 주문번호, 교환사유, 교환메모, (취소, 반품, 교환 신청 정보 목록)
@@ -798,7 +820,7 @@ var fnExchange = function () {
 	} else if (ordChgGb == 'G681_20') {
 		url = '/orderChange/exchange/to/exchange/';
 	} else {
-		url = '/orderChange/exchangeRequest/';
+		url = '/orderChange/exchange/request/';
 	}
 
 	mcxDialog.confirm('교환요청하시겠습니까?', {

+ 9 - 14
src/main/webapp/WEB-INF/views/order/RtnReqForm.html

@@ -971,7 +971,7 @@ var fnCalculateRefundAmt = function (obj) {
 			
 			$("#spanRealCnclRtnAmt").text(result.spanRealCnclRtnAmt.addComma());	//취소 상품 실결제 금액
 			//$("#spanTotDeliveryFee").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
-			$("#spanRealDelvAmt").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
+			//$("#spanRealDelvAmt").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
 			
 			//$("#spanTotRtnDelvFee").text(result.spanTotRtnDelvFee.addComma());		//반품 환불 배송 금액
 			//$("#spanTotExcDelvFee").text(result.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
@@ -981,29 +981,24 @@ var fnCalculateRefundAmt = function (obj) {
 
 				// 고객사유(회수요청) : 환불금액게산 = (취소금액 + 배송비) - 추가배송비 - 반품배송비
 				if (isCustomer && wdGb == 'W') {
-					result.spanRefundAmt = result.spanRealCnclRtnAmt - result.spanTotDeliveryFee - result.spanTotRtnDelvFee;
+					result.spanRefundAmt = result.spanRealCnclRtnAmt - result.spanTotRtnDelvFee;
 					
 					// 2021.07.01 
 					// @ 마이너스금액이면 허들깨지면서 배송비 발생
 					// @ 플러스금액이면 마지막취소시 배송금액 환불
-					var spanRealDelvAmt = result.spanTotDeliveryFee + result.spanTotRtnDelvFee;
+					var spanRealDelvAmt = result.spanTotRtnDelvFee;
 					if (spanRealDelvAmt > 0) {
 						spanRealDelvAmt * -1;
 					}
-					$("#spanRealDelvAmt").text(spanRealDelvAmt.addComma());			//환불배송비금액
+					
+					// 20212.07.07 환불배송비 -로 표시 (반품비용)
+					result.spanTotRtnDelvFee = result.spanTotRtnDelvFee * -1;
+					$("#spanRealDelvAmt").text(result.spanTotRtnDelvFee.addComma());			//환불배송비금액
 				} 
 				// 고객사유(직접발송) : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
 				else if (isCustomer && wdGb == 'D') {
-					result.spanRefundAmt = result.spanRealCnclRtnAmt - result.spanTotDeliveryFee;
-					
-					// 2021.07.01 
-					// @ 마이너스금액이면 허들깨지면서 배송비 발생
-					// @ 플러스금액이면 마지막취소시 배송금액 환불
-					var spanRealDelvAmt = 0;
-					if (result.spanTotDeliveryFee > 0) {
-						spanRealDelvAmt = result.spanTotDeliveryFee * -1;
-					}
-					$("#spanRealDelvAmt").text(spanRealDelvAmt.addComma());			//환불배송비금액
+					result.spanRefundAmt = result.spanRealCnclRtnAmt;
+					$("#spanRealDelvAmt").text(0);			//환불배송비금액
 				}
 				// 회사사유 : 환불금액게산 = (취소금액 + 배송비)
 				else {

+ 4 - 2
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerOrderForm.html

@@ -29,7 +29,7 @@
 
 			<div class="panelStyle">
 				<div class="panelTitle">
-					<h3><i class="fa fa-info-circle"></i>[배치주기] 평일: 7시~15시 한시간 단위 / 7시: 전날 15 ~ 금일 6시 / 월요일 7시: 전주 금요일 15 ~ 금일 6시 T2</h3>
+					<h3><i class="fa fa-info-circle"></i>[배치주기] 평일: 7시~15시 한시간 단위 / 7시: 전날 15 ~ 금일 6시 / 월요일 7시: 전주 금요일 15 ~ 금일 6시 T3</h3>
 					<span class="panelControl">
 						<i class="fa fa-chevron-up"></i>
 					</span>
@@ -178,7 +178,9 @@
 	let uploadFailList = gagajf.convertToArray([[${uploadFailList}]]);
 
 	let columnDefs = [
-		{headerName: "주문수집차수", field: "orderIfIdx", width: 100, cellClass: 'text-center'},
+		{headerName: "No", width: 60, cellClass: 'text-center',
+			valueGetter: function(params) { return cfnGridNumner('searchForm',params.node.rowIndex, 'A');}
+		},
 		{headerName: "제휴몰주문등록 상태", field: "uploadStat" , width: 130, cellClass: 'text-center',
 			cellEditorParams: { values: gagaAgGrid.extractValues(uploadStatList) },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(uploadStatList, params.value); },

+ 1 - 1
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerStockForm.html

@@ -33,7 +33,7 @@
 				<div class="panelTitle">
 					<h3>
 						<i class="fa fa-info-circle"></i>아래 검색조건 중 상품코드나 전송일자을 꼭 입력해 주세요.
-						<br><i class="fa fa-info-circle"></i>[배치주기] 매일 --미정
+						<br><i class="fa fa-info-circle"></i>[배치주기] 매일 10시, 15시
 					</h3>
 					<span class="panelControl">
 						<i class="fa fa-chevron-up"></i>

+ 52 - 59
src/main/webapp/WEB-INF/views/withdraw/RefundDetailForm.html

@@ -85,7 +85,7 @@
 						</td>
 					</tr>
 				</table>
-					<div id="divRefundInfo2">
+				<div id="divRefundInfo2">
 					<h4>환불금액</h4>
 					<table class="frmStyle">
 						<colgroup>
@@ -101,8 +101,8 @@
 							</tr>
 						</tbody>
 					</table>
-					</div>
-					<div id="divRefundInfo">
+				</div>
+				<div id="divRefundInfo">
 					<h4>환불예정금액</h4>
 					<table class="frmStyle">
 						<colgroup>
@@ -249,7 +249,7 @@
 	*  상세 정보 콜백 함수
 	**************************************************************************/	
 	var fnWithdrawDetailCallback = function(result) {
-		reFundInfo = result.refundConfirmPreInfo;
+		reFundInfo = result.refundConfirmPreInfo; // 환불 컨펌 환불 정보
 		
 		if (result.dataList.length < 1) {
 			mcxDialog.alert('회수데이터 오류입니다. 운영팀에 문의 해주세요! ');
@@ -263,7 +263,6 @@
 			}
 			ordInQty  = ordInQty + result.dataList[idx].wdQty;
 			ordChgQty = ordChgQty + result.dataList[idx].chgQty;
-			
 		});
 		
 		// 전체 회수 완료 일 때. 제휴몰일때 
@@ -282,7 +281,7 @@
 	
 	/*************************************************************************
 	*  회수정보 설정
-	**************************************************************************/			
+	**************************************************************************/
 	var fnSetWithdrawInfo = function(data) {
 		
 		toTalOrdQty = data.totalOrdQty;
@@ -290,30 +289,31 @@
 		wdGb        = data.wdGb;
 		mallGb      = data.mallGb;
 		
-		reFundInfo.chgReasonNm = data.chgReasonNm;
-		reFundInfo.chgReason   = data.chgReason;
-		reFundInfo.accountNm   = data.accountNm;
-		reFundInfo.accountNo   = data.accountNo;
-		reFundInfo.bankCd      = data.bankCd;
-		reFundInfo.custNo      = data.custNo;
-		reFundInfo.ordNm       = data.ordNm;
-		reFundInfo.delvAddrSq  = data.reFundInfo;
-		reFundInfo.delvExpnYn  = data.delvExpnYn;
-		reFundInfo.wdInvoiceNo = data.wdInvoiceNo;
-		reFundInfo.mallGb      = mallGb;
-		reFundInfo.ordNo       = ordNo;
-		reFundInfo.ordChgSq    = ordChgSq;
+		reFundInfo.chgReasonNm = data.chgReasonNm;	// 변경사유
+		reFundInfo.chgReason   = data.chgReason;	// 변경사유코드
+		reFundInfo.accountNm   = data.accountNm;	// 환불계좌이름
+		reFundInfo.accountNo   = data.accountNo;	// 환불계좌번호
+		reFundInfo.bankCd      = data.bankCd;		// 환불계좌은행코드
+		reFundInfo.custNo      = data.custNo;		// 고객번호
+		reFundInfo.ordNm       = data.ordNm;		// 주문자명
+		reFundInfo.delvAddrSq  = data.delvAddrSq;	// 회수지번호
+		reFundInfo.delvExpnYn  = data.delvExpnYn;	// 확정후 품절,불량 여부
+		reFundInfo.wdInvoiceNo = data.wdInvoiceNo;	// 회수송장번호
+		reFundInfo.mallGb      = mallGb;			// 몰구분
+		reFundInfo.ordNo       = ordNo;				// 주문번호
+		reFundInfo.ordChgSq    = ordChgSq;			// 변경요청번호
+		reFundInfo.wdGb        = wdGb;				// 회수구분
 
 		// 환불컨펌 상세
-		$("#wdGbNm").text(data.wdGbNm); // 회수구분 
-		$("#arriValDt").text(data.arrivalDt); // arriValDt 도착일
-		$("#chgReasonNm").text(data.chgReasonNm); // 최종요청사유 
-		$("#chgReasonText").text(data.chgReasonText); // 귀책사유 
-		$("#withdrawDetailForm input[name=encloseFee]").val(data.encloseFee); //  동봉비 
-		$("#withdrawDetailForm input[name=codFee]").val(data.codFee); //      착불비 
-		$("#withdrawDetailForm input[name=addPayCost]").val(data.addPayCost); //  추가 결제비 
-		$("#chgMemo").text(data.chgMemo); //  클레임메모 
-		$("#wdMemo").text(data.wdMemo); //    회수메모 
+		$("#wdGbNm").text(data.wdGbNm); 										// 회수구분 
+		$("#arriValDt").text(data.arrivalDt); 									// arriValDt 도착일
+		$("#chgReasonNm").text(data.chgReasonNm); 								// 최종요청사유 
+		$("#chgReasonText").text(data.chgReasonText); 							// 귀책사유 
+		$("#withdrawDetailForm input[name=encloseFee]").val(data.encloseFee); 	// 동봉비 
+		$("#withdrawDetailForm input[name=codFee]").val(data.codFee); 			// 착불비 
+		$("#withdrawDetailForm input[name=addPayCost]").val(data.addPayCost); 	// 추가결제비 
+		$("#chgMemo").text(data.chgMemo); 										// 클레임메모 
+		$("#wdMemo").text(data.wdMemo); 										// 회수메모 
 
 		// 환불예정금액 
 		$("#spanPayAmt").text(reFundInfo.spanPayAmt.addComma());					//총 결제 금액
@@ -393,6 +393,12 @@
 		enCloseFeeAmt    	= Number(enCloseFee);
 		enCloseFeeYn     	= "N";
 		
+		// 2021.07.02 환불컨펌 환불금액계산
+		var spanRealCnclRtnAmt 	= reFundInfo.spanRealCnclRtnAmt; // 취소상품실결제금액
+		var spanTotDeliveryFee 	= reFundInfo.spanTotDeliveryFee; // 배송비
+		var spanDelvCpnDcAmt	= reFundInfo.spanTotDeliveryFee; // 배송비쿠폰할인금액
+		var spanTotRtnDelvFee	= reFundInfo.spanTotRtnDelvFee;  // 반품배송비
+		
 		// 출고예외(확정후 품절,불량)일 경우
 		if (delvExpnYn == "Y") {
 			// 총 주문수량  =  반품수량 배송비가 있을시 환불해줌
@@ -401,7 +407,7 @@
 					addDeliveryFee = reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt;
 					addDeliveryFeeYn = "Y";
 				}
-				//alert("총수량 출고예외 ");
+				//alert("총수량 출고예외");
 				// 환불금액  = 취소 상품 실결제 금액 + 배송비 
 				reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt);
 			} else { // 총 주문수량  <>  반품수량   
@@ -413,28 +419,20 @@
 		else {  
 			// 총 주문수량  =  반품수량
 			if (toTalOrdQty == ordChgQty) {
-				//고객귀책
+				// 귀책사유고객
 				if (isCustomer) {  
 					// 회수요청
 					if (wdGb == "W") { 
-						//alert("총수량 고객귀책 - 회수요청");
 						// 환불금액  = 취소 상품 실결제 금액 + 배송비 - 추가배송비 - 반품배송비 
 						if (Number(enCloseFee) > 0) {
 							enCloseFeeYn = "Y";
 						}
 						
-						// 2021.07.02 환불컨펌 환불금액계산
-						var spanRealCnclRtnAmt 	= reFundInfo.spanRealCnclRtnAmt; // 취소상품실결제금액
-						var spanTotDeliveryFee 	= reFundInfo.spanTotDeliveryFee; // 배송비
-						var spanDelvCpnDcAmt	= reFundInfo.spanTotDeliveryFee; // 배송비쿠폰할인금액
-						var spanTotRtnDelvFee	= reFundInfo.spanTotRtnDelvFee;  // 반품배송비
-						
 						// 환불비용 = (취소상품실결제금액 + 동봉비 + 추가결제비) - 반품배송비 - 착불비
 						reFundInfo.spanRefundAmt = (spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - spanTotRtnDelvFee - Number(codFee);
 					}
 					// 직접배송
 					else {
-						//alert("총수량 고객귀책 - 직접배송");
 						if(Number(codFee) > 0){
 							codFeeAmt = Number(codFee);
 							codFeeYn  = "Y";
@@ -450,7 +448,6 @@
 				} 
 				// 회사귀책
 				else { 
-					//alert("총수량 회사귀책 ");
 					if (reFundInfo.spanSumDeliveryFee > 0) {
 						addDeliveryFee = reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt;
 						addDeliveryFeeYn = "Y";
@@ -465,8 +462,8 @@
 			else {
 				// 고객귀책
 				if (isCustomer) {  
-					if (wdGb == "W") { // 회수요청
-						//alert(" 고객귀책- 회수요청 ");
+					// 회수요청
+					if (wdGb == "W") {
 						if (Number(enCloseFee) > 0) {
 							enCloseFeeYn = "Y";
 						}
@@ -474,8 +471,9 @@
 						// 2021.07.02 환불컨펌 환불금액계산
 						// 환불금액  = (취소상품실결제금액 + 동봉비 + 추가결제비) - (추가배송비 + 반품배송비)
 						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (spanTotDeliveryFee + spanTotRtnDelvFee);
-					} else {         // 직접배송
-						//alert(" 고객귀책- 직접배송 ");
+					} 
+					// 직접배송
+					else {
 						if(Number(codFee) > 0){
 							codFeeAmt = Number(codFee);
 							codFeeYn  = "Y";
@@ -483,16 +481,13 @@
 						if(Number(enCloseFee) > 0){
 							enCloseFeeYn = "Y";
 						}
-						
 						// 2021.07.02 환불컨펌 환불금액계산
 						// 환불금액  = (취소상품실결제금액 + 동봉비 + 추가결제비) - (추가배송비)
 						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) - Number(codFee)) - (spanTotDeliveryFee);
 					}
 				} 
 				// 회사귀책
-				else { 
-					//alert(" 회사귀책 ");
-					
+				else {
 					// 2021.07.02 환불컨펌 환불금액계산
 					// 환불금액  = (취소상품실결제금액)
 					reFundInfo.spanRefundAmt = reFundInfo.spanRealCnclRtnAmt;
@@ -507,15 +502,16 @@
 	*  동봉비, 착불비, 추가결제비 변경시 재계산
 	**************************************************************************/		
 	var fnChangeAmt = function(){
-		var enCloseFee = $("#withdrawDetailForm input[name=encloseFee]").val(); //  동봉비 
-		var codFee     = $("#withdrawDetailForm input[name=codFee]").val(); //      착불비 
-		var addPaycost = $("#withdrawDetailForm input[name=addPayCost]").val(); //  추가 결제비 
+		var enCloseFee = $("#withdrawDetailForm input[name=encloseFee]").val(); // 동봉비 
+		var codFee     = $("#withdrawDetailForm input[name=codFee]").val(); 	// 착불비 
+		var addPaycost = $("#withdrawDetailForm input[name=addPayCost]").val(); // 추가결제비 
 		
 		fnSetTotRefundData();
 	}
 	
 	var ordInQty  	= 0;	// 반품 입고총수량 
 	var ordChgQty	= 0;	// 반품 신청총수량 
+	
 	/*************************************************************************
 	*  회수컨펌 클릭 시
 	**************************************************************************/
@@ -526,6 +522,7 @@
 			return;
 		}
 		
+		// 회수컨펌
 		fnWithdrawDetailConfirm();
 	}
 	
@@ -537,9 +534,10 @@
 	var fnWithdrawDetailConfirm = function() {
 		//var totPayAmt = $('#totPayAmt').text().replace(/,/gi,"");
 		//var totRefundAmt = $('#totRefundAmt').text().replace(/,/gi,"");
-
 		if (mallGb == 'G011_10') {
-			if (reFundInfo.spanRefundAmt <= 0) { // 아웃바운드 필요. (동동 및 계좌이체로 받아야함)
+			
+			// 아웃바운드 필요. (동동 및 계좌이체로 받아야함)
+			if (reFundInfo.spanRefundAmt <= 0) { 
 				mcxDialog.alert('환불금액 부족합니다.');
 				return;
 			}
@@ -580,10 +578,6 @@
 			}
 		});
 	}
-	
-	
-	
-
 
 	// readonly 설정
 	var setReadOnly = function(flag) {
@@ -598,19 +592,18 @@
 		}
 		
 	}
+	
 	/*************************************************************************
 	*  init
 	**************************************************************************/
 	$(document).ready(function() {
 		// Create a agGrid
-
 		gagaAgGrid.createGrid('refundGridList', withdrawDetailGridOptions);
 		$('#divRefundInfo2').hide();
 		fnRefundDetailSearch();
 		
 	}); 
-	
-	 
+
 /*]]>*/
 </script>
 </html>

+ 1 - 0
src/main/webapp/WEB-INF/views/withdraw/WithdrawDirectiveListForm.html

@@ -194,6 +194,7 @@
 		},
 		
 		{headerName: "사유", 			field: "chgReasonNm", 	width: 150, cellClass: "text-left"},
+		{headerName: "회수요청일", 		field: "regDt", 	width: 100, cellClass: "text-center"},
 		{headerName: "진행상태", 		field: "chgStatNm", 	width: 100, cellClass: "text-center"},
 		{headerName: "상품코드", 		field: "goodsCd", 		width: 120, cellClass: "text-center",
 			cellRenderer: function(params) { return gagajf.isNull(params.value) ? '' : '<a href="javascript:void(0);">' + params.value + '</a>'; }

+ 27 - 1
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -243,7 +243,7 @@
 						}
 						
 					} else if(params.data.recallStat === 'P' && params.data.chgStat == null){
-						btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">반품청</a>';
+						btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">반품청</a>';
 					} else { btnText = '' }
 					return btnText;
 				}		
@@ -432,6 +432,32 @@
 						
 						cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
 					}
+				} else if(event.data.reasonCode == '01' || event.data.reasonCode == '03' ){
+/* 					var ordChgSq = 0;
+					var param    = "";
+					var ordDtlNoList ="";
+					
+					var allData =  gagaAgGrid.getAllRowData(gridOptions);
+
+					allData.forEach(function(item, index) {
+						if (event.data.orderNo == item.orderNo ){
+							ordDtlNoList = ordDtlNoList+","+item.orderDtlNo;
+						}
+					});
+					ordDtlNoList = ordDtlNoList.substring(1,ordDtlNoList.length);
+					
+					
+					
+					param += "&ordNo=" 			+ event.data.orderNo;
+					param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
+					param += "&delvFeeCd="		+ event.data.delvFeeCd;
+					param += "&delvFeeCdGrp="	+ "WMS";
+					param += "&ordChgSq=" 		+ ordChgSq;
+					//param += "&ordDtlNoArr=" 	+ ordDtlNoList.split(",");
+					
+					var actionUrl = "/orderChange/rtn/req/form?" + param;
+					cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
+					 */
 				} else {
 					actionUrl = "/withdraw/exception/change/form?ordChgSq=" + event.data.ordChgSq + '&chgGb=' + event.data.chgGb;
 					cfnOpenModalPopup(actionUrl, 'popupWithdrawChangeForm');