Browse Source

전체 반품 배송비 오류 처리 임시 커밋

card007 4 năm trước cách đây
mục cha
commit
0c84224958

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

@@ -162,7 +162,16 @@ public class TsaWithdrawController extends TsaBaseController {
 		GagaMap result = new GagaMap();
 		
 		result.set("refundConfirmPreInfo"	, orderChangeService.refundConfirmPreInfo(orderChange));
-		result.set("dataList"				, withdrawService.getRefundDetailList(withdraw));
+		
+		Collection<Withdraw> dataList = withdrawService.getRefundDetailList(withdraw);
+		result.set("dataList"				, dataList);
+		
+		if (dataList != null && dataList.size() > 0) {
+			Order order = new Order();
+			order.setOrdNo(dataList.iterator().next().getOrdNo());
+			order.setDelvFeeCd(dataList.iterator().next().getDelvFeeCd());
+			result.set("returnOrderInfo", orderChangeService.getReturnOrderInfo(order));
+		}
 		
 	//	Collection<Withdraw> dataList = withdrawService.getRefundDetailList(withdraw);
 		return result;

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

@@ -732,6 +732,7 @@
 				, P.PG_GB
 				, FN_GET_CODE_NM('G014', P.PAY_MEANS) AS PAY_MEANS_NM
 				, P.CARD_NM
+				, C.DELV_FEE_CD
 		  FROM TB_ORDER_CHANGE A
 		  JOIN TB_ORDER_CHANGE_DETAIL B ON B.ORD_CHG_SQ = A.ORD_CHG_SQ 
 		  JOIN TB_ORDER_DETAIL C ON C.ORD_DTL_NO = B.ORD_DTL_NO 

+ 49 - 10
src/main/webapp/WEB-INF/views/withdraw/RefundDetailForm.html

@@ -271,8 +271,10 @@
 	var delvExpnYn  = "";   // 출고예외(확정후 품절,불량)여부
 	var wdGb        = "";
 	var mallGb      = "";
-	var reFundInfo  = [[${refundConfirmPreInfo}]]; // 환불컨펌 정보 
-	
+	var reFundInfo  = [[${refundConfirmPreInfo}]]; // 환불컨펌 정보
+
+	var returnOrderInfo;
+
 	var columnDefsDetail = [
 		{headerName: "주문변경번호", 	field: "ordChgSq",	width: 100, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "주문번호", 		field: "ordNo", 	width: 100, minWidth: 100, cellClass: 'text-center',
@@ -335,6 +337,7 @@
 	**************************************************************************/	
 	var fnWithdrawDetailCallback = function(result) {
 		reFundInfo = result.refundConfirmPreInfo; // 환불 컨펌 환불 정보
+		returnOrderInfo = result.returnOrderInfo;
 		
 		if (result.dataList.length < 1) {
 			mcxDialog.alert('회수데이터 오류입니다. 운영팀에 문의 해주세요! ');
@@ -497,6 +500,39 @@
 		let addDelvFee			= 0;
 		let refundAmt;
 		
+		// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+		console.log('delvCanYn : ' + reFundInfo.delvCanYn);
+		console.log('delvFeeCdCanList : ' + reFundInfo.delvCanYn.delvFeeCdCanList);
+		console.log('allDelvCanYnList : ' + reFundInfo.delvCanYn.allDelvCanYnList);
+		let delvFeeCdCanList = reFundInfo.delvCanYn.delvFeeCdCanList;
+		let allDelvCanYnList = reFundInfo.delvCanYn.allDelvCanYnList;
+		
+		let index = -1;
+		$.each(delvFeeCdCanList, function(idx, item) {
+			console.log('delvFeeCd : ' + reFundInfo.delvFeeCd);
+			console.log('item : ' + item);
+			if (reFundInfo.delvFeeCd == item) {
+				index = idx;
+			}
+		});
+		
+		let allDelvCanYn;
+		if (index > -1) {
+			allDelvCanYn = allDelvCanYnList[index]
+		}
+		
+		console.log('allDelvCanYn : ' + allDelvCanYn);
+		let orgDelvFee = 0;
+		console.log('returnOrderInfo : ' + returnOrderInfo);
+		console.log('delvGfcdUseAmt : ' + returnOrderInfo[0].delvGfcdUseAmt);
+		console.log('realDelvAmt : ' + returnOrderInfo[0].realDelvAmt);
+		console.log('orgDelvFee : ' + returnOrderInfo[0].orgDelvFee);
+		if (allDelvCanYn == 'Y' && returnOrderInfo != null && returnOrderInfo[0].delvGfcdUseAmt + returnOrderInfo[0].realDelvAmt == 0) {
+			orgDelvFee = returnOrderInfo[0].orgDelvFee;
+		}
+
+		console.log('orgDelvFee : ' + orgDelvFee);
+		
 		// 출고예외(확정후 품절,불량)일 경우
 		if (delvExpnYn == "Y") {
 			// 총 주문수량  =  반품수량 배송비가 있을시 환불해줌
@@ -534,14 +570,15 @@
 						// 환불비용 = (취소상품실결제금액 + 동봉비 + 추가결제비) - 반품배송비 - 착불비
 						// 2021.08.10 card007 상품권 100% 결제 관련 로직 변경
 						leftRefundAmt = (spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost));
-						leftDelvFee = spanTotRtnDelvFee + Number(codFee);
-						delvFee = 0 - spanTotRtnDelvFee;
+						leftDelvFee = spanTotRtnDelvFee + Number(codFee) + orgDelvFee;
+						delvFee = 0 - spanTotRtnDelvFee - orgDelvFee;
 						//reFundInfo.spanRefundAmt = (spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - spanTotRtnDelvFee - Number(codFee);
 					}
 					// 직접배송
 					else {
 						leftRefundAmt = (spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost));
-						leftDelvFee = Number(codFee);
+						leftDelvFee = Number(codFee) + orgDelvFee;
+						delvFee = 0 - orgDelvFee;
 
 						if(Number(codFee) > 0){
 							codFeeAmt = Number(codFee);
@@ -600,10 +637,12 @@
 						// 2021.07.02 환불컨펌 환불금액계산
 						// 환불금액  = (취소상품실결제금액 + 동봉비 + 추가결제비) - (추가배송비 + 반품배송비 + 착불비)
 						//reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (spanTotDeliveryFee + spanTotRtnDelvFee);
-						
+						console.log('spanTotDeliveryFee : ' + spanTotDeliveryFee);
+						console.log('spanTotRtnDelvFee : ' + spanTotRtnDelvFee);
+						console.log('orgDelvFee : ' + orgDelvFee);
 						leftRefundAmt = (spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost));
-						leftDelvFee = spanTotDeliveryFee + spanTotRtnDelvFee + Number(codFee);
-						delvFee = 0 - spanTotDeliveryFee - spanTotRtnDelvFee;
+						leftDelvFee = spanTotDeliveryFee + spanTotRtnDelvFee + Number(codFee) + orgDelvFee;
+						delvFee = 0 - spanTotDeliveryFee - spanTotRtnDelvFee - orgDelvFee;
 					} 
 					// 직접배송
 					else {
@@ -619,8 +658,8 @@
 						//reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) - Number(addPaycose)) - (spanTotDeliveryFee + Number(codeFee);
 						
 						leftRefundAmt = (spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost));
-						leftDelvFee = spanTotDeliveryFee + Number(codFee);
-						delvFee = 0 - spanTotDeliveryFee;
+						leftDelvFee = spanTotDeliveryFee + Number(codFee) + orgDelvFee;
+						delvFee = 0 - spanTotDeliveryFee - orgDelvFee;
 					}
 					
 					if (leftRefundAmt < leftDelvFee) {