Selaa lähdekoodia

환불컨펌로직 수정

tsit14 4 vuotta sitten
vanhempi
commit
46a0a93c8f

+ 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);
 			}

+ 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;

+ 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 {

+ 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>