浏览代码

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

card007 4 年之前
父节点
当前提交
25a9a2e913

+ 42 - 0
src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html

@@ -497,6 +497,7 @@
 <script th:inline="javascript">
 var isLogin 		= [[${isLogin}]];
 let returnList 		= [[${returnList.returnList}]];
+let returnOrderInfo = [[${returnList.returnOrderInfo}]];
 let oneData 		= [[${oneData}]];
 let paymentInfo 	= [[${paymentInfo}]];
 let isCustomer 		= true;
@@ -670,6 +671,7 @@ var fnChangeReturnQty = function(param) {
 		let cnclRtnReqQtyArr 	= [];
 		let ordDtlNoArr 		= [];
 		let ordCanChgQtyArr 	= [];
+		let allDelvCanYn 		= '';
 		
 		$.each($('#returnForm input[name=chgQty]'), function(idx, item) {
 			let chgQty 			= $(item).val();
@@ -680,6 +682,35 @@ var fnChangeReturnQty = function(param) {
 			ordDtlNoArr.push(Number(ordDtlNo));
 			ordCanChgQtyArr.push(Number(ordCanChgQty));
 		});
+		
+		// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+		let delvGfcdUseAmt;
+		let realDelvAmt;
+		let orgDelvFee;
+		
+		if (returnOrderInfo != null && returnOrderInfo.length > 0) {
+			allDelvCanYn 	= 'Y';
+			delvGfcdUseAmt 	= returnOrderInfo[0].delvGfcdUseAmt;
+			realDelvAmt 	= returnOrderInfo[0].realDelvAmt;
+			orgDelvFee 		= returnOrderInfo[0].orgDelvFee;
+			
+			$.each(returnOrderInfo, function (index, orderInfo) {
+				let cnt = -1;
+				$.each(ordDtlNoArr, function (idx, ordDtlNo) {
+					if (orderInfo.ordDtlNo == ordDtlNo) {
+						cnt = idx;
+					}
+				});
+				
+				if (cnt == -1) {
+					allDelvCanYn = 'N';
+				} else {
+					if (orderInfo.ordQty != cnclRtnReqQtyArr[cnt]) {
+						allDelvCanYn = 'N';
+					}
+				}
+			});
+		}
 
 		let data 				= {};
 		data.ordNo 				= oneData.ordNo;
@@ -714,6 +745,17 @@ var fnChangeReturnQty = function(param) {
 			if (!isCustomer || wdGb == 'D') {
 				spanTotRtnDelvFee = 0;
 			}
+			
+			// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+			// 배송비정책 기준 전체 반품이고 귀책사유일때
+			if (allDelvCanYn == 'Y' && isCustomer) {
+				
+				// 기 결제한 배송비 금액이 없을때
+				if (delvGfcdUseAmt + realDelvAmt == 0) {
+					// 원주문배송비 추가
+					spanTotRtnDelvFee += orgDelvFee;
+				}
+			}
 
 			// 추가배송비 영역 설정
 			// 2021.08.10 card007 상품권100% 결제 로직 수정

+ 42 - 0
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberReturnFormMob.html

@@ -497,6 +497,7 @@
 <script th:inline="javascript">
 var isLogin 		= [[${isLogin}]];
 let returnList 		= [[${returnList.returnList}]];
+let returnOrderInfo = [[${returnList.returnOrderInfo}]];
 let oneData 		= [[${oneData}]];
 let paymentInfo 	= [[${paymentInfo}]];
 let isCustomer 		= true;
@@ -676,6 +677,7 @@ var fnChangeReturnQty = function(param) {
 		let cnclRtnReqQtyArr 	= [];
 		let ordDtlNoArr 		= [];
 		let ordCanChgQtyArr 	= [];
+		let allDelvCanYn 		= '';
 		
 		$.each($('#returnForm input[name=chgQty]'), function(idx, item) {
 			let chgQty 			= $(item).val();
@@ -686,6 +688,35 @@ var fnChangeReturnQty = function(param) {
 			ordDtlNoArr.push(Number(ordDtlNo));
 			ordCanChgQtyArr.push(Number(ordCanChgQty));
 		});
+		
+		// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+		let delvGfcdUseAmt;
+		let realDelvAmt;
+		let orgDelvFee;
+		
+		if (returnOrderInfo != null && returnOrderInfo.length > 0) {
+			allDelvCanYn 	= 'Y';
+			delvGfcdUseAmt 	= returnOrderInfo[0].delvGfcdUseAmt;
+			realDelvAmt 	= returnOrderInfo[0].realDelvAmt;
+			orgDelvFee 		= returnOrderInfo[0].orgDelvFee;
+			
+			$.each(returnOrderInfo, function (index, orderInfo) {
+				let cnt = -1;
+				$.each(ordDtlNoArr, function (idx, ordDtlNo) {
+					if (orderInfo.ordDtlNo == ordDtlNo) {
+						cnt = idx;
+					}
+				});
+				
+				if (cnt == -1) {
+					allDelvCanYn = 'N';
+				} else {
+					if (orderInfo.ordQty != cnclRtnReqQtyArr[cnt]) {
+						allDelvCanYn = 'N';
+					}
+				}
+			});
+		}
 
 		let data 				= {};
 		data.ordNo 				= oneData.ordNo;
@@ -729,6 +760,17 @@ var fnChangeReturnQty = function(param) {
 				spanTotRtnDelvFee = 0;
 				//spanTotDeliveryFee = 0;										// 추가배송비는 환불컨펌에서 처리
 			}
+			
+			// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+			// 배송비정책 기준 전체 반품이고 귀책사유일때
+			if (allDelvCanYn == 'Y' && isCustomer) {
+				
+				// 기 결제한 배송비 금액이 없을때
+				if (delvGfcdUseAmt + realDelvAmt == 0) {
+					// 원주문배송비 추가
+					spanTotRtnDelvFee += orgDelvFee;
+				}
+			}
 
 			let goodsCancelAmt = spanCnclRtnAmt + spanCpn1DcAmt;				// 상품취소금액
 			let addDelvFee = spanTotRtnDelvFee + spanTotDeliveryFee;			// 추가배송비

+ 0 - 5
src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html

@@ -515,10 +515,6 @@
 				let chgQty = $(item).val();
 				let ordDtlNo = $(item).attr('ordDtlNo');
 				let ordCanChgQty = $(item).attr('ordCanChgQty');
-				
-				//$.each(returnOrderInfo, function (index, orderInfo) {
-				//	
-				//});
 
 				cnclRtnReqQtyArr.push(Number(chgQty));
 				ordDtlNoArr.push(Number(ordDtlNo));
@@ -590,7 +586,6 @@
 
 				// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
 				// 배송비정책 기준 전체 반품이고 귀책사유일때
-				console.log(allDelvCanYn);
 				if (allDelvCanYn == 'Y' && isCustomer) {
 					
 					// 기 결제한 배송비 금액이 없을때

+ 42 - 0
src/main/webapp/WEB-INF/views/web/mypage/NoMemberReturnFormWeb.html

@@ -360,6 +360,7 @@
 <script th:inline="javascript">
 	var isLogin = [[${isLogin}]];
 	let returnList = [[${returnList.returnList}]];
+	let returnOrderInfo = [[${returnList.returnOrderInfo}]];
 	let oneData = [[${oneData}]];
 	let paymentInfo = [[${paymentInfo}]];
 	let isCustomer = true;
@@ -508,6 +509,7 @@
 			let cnclRtnReqQtyArr = [];
 			let ordDtlNoArr = [];
 			let ordCanChgQtyArr = [];
+			let allDelvCanYn = '';
 			$.each($('#returnForm input[name=chgQty]'), function(idx, item) {
 				let chgQty = $(item).val();
 				let ordDtlNo = $(item).attr('ordDtlNo');
@@ -517,6 +519,35 @@
 				ordDtlNoArr.push(Number(ordDtlNo));
 				ordCanChgQtyArr.push(Number(ordCanChgQty));
 			});
+			
+			// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+			let delvGfcdUseAmt;
+			let realDelvAmt;
+			let orgDelvFee;
+			
+			if (returnOrderInfo != null && returnOrderInfo.length > 0) {
+				allDelvCanYn 	= 'Y';
+				delvGfcdUseAmt 	= returnOrderInfo[0].delvGfcdUseAmt;
+				realDelvAmt 	= returnOrderInfo[0].realDelvAmt;
+				orgDelvFee 		= returnOrderInfo[0].orgDelvFee;
+				
+				$.each(returnOrderInfo, function (index, orderInfo) {
+					let cnt = -1;
+					$.each(ordDtlNoArr, function (idx, ordDtlNo) {
+						if (orderInfo.ordDtlNo == ordDtlNo) {
+							cnt = idx;
+						}
+					});
+					
+					if (cnt == -1) {
+						allDelvCanYn = 'N';
+					} else {
+						if (orderInfo.ordQty != cnclRtnReqQtyArr[cnt]) {
+							allDelvCanYn = 'N';
+						}
+					}
+				});
+			}
 
 			let data = {};
 			data.ordNo = oneData.ordNo;
@@ -562,6 +593,17 @@
 					spanTotRtnDelvFee = 0;
 					//spanTotDeliveryFee = 0;										// 추가배송비는 환불컨펌에서 처리
 				}
+				
+				// 2021.09.07 card007 전체반품 원배송비 무료 해택 차감 처리
+				// 배송비정책 기준 전체 반품이고 귀책사유일때
+				if (allDelvCanYn == 'Y' && isCustomer) {
+					
+					// 기 결제한 배송비 금액이 없을때
+					if (delvGfcdUseAmt + realDelvAmt == 0) {
+						// 원주문배송비 추가
+						spanTotRtnDelvFee += orgDelvFee;
+					}
+				}
 
 				let goodsCancelAmt = spanCnclRtnAmt + spanCpn1DcAmt;				// 상품취소금액
 				let addDelvFee = spanTotRtnDelvFee + spanTotDeliveryFee;			// 추가배송비