tsit14 4 лет назад
Родитель
Сommit
9595771930

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

@@ -447,13 +447,11 @@ public class TsaWithdrawService {
 		String allCanYn = params.getString("allCanYn");
 		
 		if ("Y".equals(allCanYn)) {
-			
 			orderChangeService.allRefund(change);
 		} else {
 			OrderChange orderChange= new OrderChange();
 			orderChange.setOrdChgSq(params.getInt("ordChgSq"));
 			orderChange.setUserNo(params.getInt("custNo"));
-			
 	
 			GagaMap info = orderChangeService.refundConfirmPreInfo(orderChange);
 			

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

@@ -138,13 +138,9 @@ public class TsaWithdrawController extends TsaBaseController {
 		orderChange.setOrdChgSq(withdraw.getOrdChgSq());
 		orderChange.setUserNo(withdraw.getUserNo());
 		//orderChangeService.refundConfirmPreInfo(orderChange);
-		
 		//mav.addObject("refundConfirmPreInfo", orderChangeService.refundConfirmPreInfo(orderChange));
-		
 		//mav.addObject("dataList", withdrawService.getRefundDetailList(withdraw));
 		
-		
-		
 		mav.setViewName("withdraw/RefundDetailForm");
 		return mav;
 	}
@@ -187,11 +183,8 @@ public class TsaWithdrawController extends TsaBaseController {
 	@PostMapping("/detail/confirm")
 	@ResponseBody
 	public GagaResponse refundDetailConfirm(@RequestBody GagaMap orderChange) {
-		
 		log.info("orderChange {}"+orderChange);
-		
-		
-		
+
 		withdrawService.refundDetailConfirm(orderChange);
 		return super.ok(message.getMessage("SUCC_0004"));
 	}	

+ 18 - 0
src/main/webapp/WEB-INF/views/order/OrderDetailForm.html

@@ -697,6 +697,24 @@ var columnDefsDeliveryFeeInfo = [
 			return params.value.addComma();
 		}
 	},
+	{
+		headerName			: "쿠폰할인배송비"
+		, field				: "delvCpnDcAmt"
+		, width				: 120
+		, cellClass			: 'text-right'
+		, valueFormatter	: function (params) {
+			return params.value.addComma();
+		}
+	},
+	{
+		headerName			: "실제배송비"
+		, field				: "realDelvAmt"
+		, width				: 100
+		, cellClass			: 'text-right'
+		, valueFormatter	: function (params) {
+			return params.value.addComma();
+		}
+	},
 	{headerName: "배송비정산여부"	, field: "delvUsacYn", width: 120, cellClass: 'text-center'},
 	{
 		headerName			: "배송비정산일시"	

+ 93 - 67
src/main/webapp/WEB-INF/views/withdraw/RefundDetailForm.html

@@ -26,6 +26,7 @@
 			<form id="withdrawDetailForm" name="withdrawDetailForm" action="#" th:method="post" onSubmit="return false">
 				<input type="hidden" name="orgChgReason" readonly/>
 				<input type="hidden" name="orgEncloseFee" readonly/>
+				
 				<table class="frmStyle">
 					<colgroup>
 						<col style="width:20%;" />
@@ -145,10 +146,9 @@
 								<th>취소 상품 실결제 금액</th>
 								<td><span id="spanRealCnclRtnAmt"></span>원</td>
 								<th>추가 배송 금액</th>
-								<td><span id="spanTotDeliveryFee"></span>원 </td>
+								<td><span id="spanTotDeliveryFee"></span>원</td>
 							</tr>
-		
-							
+
 							<tr>
 								<th>환불 금액 합계</th>
 								<td colspan="3"><span id="spanRefundAmt"></span>원</td>
@@ -173,7 +173,6 @@
 
 <script th:inline="javascript">
 /*<![CDATA[*/
-
 	var ordChgSq = [[${ordChgSq}]];	// 주문변경번호
 	var ordNo    = [[${ordNo}]];	// 주문번호 
 	var userNo   = [[${userNo}]]; 
@@ -189,7 +188,6 @@
 	var mallGb      = "";
 	var reFundInfo  = [[${refundConfirmPreInfo}]]; // 환불컨펌 정보 
 	
-	
 	var columnDefsDetail = [
 		{headerName: "주문변경번호", 	field: "ordChgSq",	width: 100, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "주문번호", 		field: "ordNo", 	width: 100, minWidth: 100, cellClass: 'text-center',
@@ -207,7 +205,6 @@
 		{headerName: "옵션2", 		field: "optCd2", 	width: 60, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "신청수량", 		field: "chgQty", 	width: 80, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "회수수량", 		field: "wdQty", 	width: 80, minWidth: 100, cellClass: 'text-center'},
-		
 		{headerName: "회수처리상태", 	field: "wdStat",	width: 120, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "회수처리", 		field: "chgStat",	width: 120, minWidth: 100, cellClass: 'text-center'
 			, cellRenderer : function(params) {
@@ -302,14 +299,11 @@
 		reFundInfo.ordNm       = data.ordNm;
 		reFundInfo.delvAddrSq  = data.reFundInfo;
 		reFundInfo.delvExpnYn  = data.delvExpnYn;
-		reFundInfo.wdInvoiceNo   = data.wdInvoiceNo;
+		reFundInfo.wdInvoiceNo = data.wdInvoiceNo;
 		reFundInfo.mallGb      = mallGb;
 		reFundInfo.ordNo       = ordNo;
 		reFundInfo.ordChgSq    = ordChgSq;
-		
-		
-		
-		
+
 		// 환불컨펌 상세
 		$("#wdGbNm").text(data.wdGbNm); // 회수구분 
 		$("#arriValDt").text(data.arrivalDt); // arriValDt 도착일
@@ -320,14 +314,6 @@
 		$("#withdrawDetailForm input[name=addPayCost]").val(data.addPayCost); //  추가 결제비 
 		$("#chgMemo").text(data.chgMemo); //  클레임메모 
 		$("#wdMemo").text(data.wdMemo); //    회수메모 
-		if(data.chgReason == "G688_10"){
-			isCustomer = true;	
-		} else {
-			isCustomer = false;
-		}
-		
-		// 환불금액 
-		$("#refundAmt").text(data.refundAmt.addComma());
 
 		// 환불예정금액 
 		$("#spanPayAmt").text(reFundInfo.spanPayAmt.addComma());					//총 결제 금액
@@ -359,9 +345,16 @@
 		$("#spanTotRtnDelvFee").text(reFundInfo.spanTotRtnDelvFee.addComma());		//반품 환불 배송 금액
 		$("#spanTotExcDelvFee").text(reFundInfo.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
 		
+		// 귀책사유 고객
+		if (data.chgReason == "G688_10") {
+			isCustomer = true;
+		} 
+		// 귀책사유 회사
+		else {
+			isCustomer = false;
+		}
 		
-		
-		
+		$("#refundAmt").text(data.refundAmt.addComma());
 		
 		if(delvExpnYn == "Y"){
 			$('#withdrawDetailForm input[name=codFee]').attr('readonly', 'readonly');
@@ -373,7 +366,6 @@
 			} else {
 				$('#withdrawDetailForm input[name=codFee]').remove('readonly');	
 			}
-			
 		}
 		
 		fnSetTotRefundData();
@@ -390,20 +382,22 @@
 	*  환불 금액 계산
 	**************************************************************************/		
 	var fnSetTotRefundData = function() {
-		var enCloseFee = $("#withdrawDetailForm input[name=encloseFee]").val(); //  동봉비 
-		var codFee     = $("#withdrawDetailForm input[name=codFee]").val(); //      착불비 
-		var addPaycost = $("#withdrawDetailForm input[name=addPayCost]").val(); //  추가 결제비 
-		addDeliveryFee   = 0;
-		addDeliveryFeeYn = "N";
-		codFeeAmt        = 0;
-		codFeeYn         = "N";
-		enCloseFeeAmt    = Number(enCloseFee);
-		enCloseFeeYn     = "N";
-		
-		if(delvExpnYn == "Y"){ // 출고예외(확정후 품절,불량)일 경우 
-			if(toTalOrdQty == ordChgQty){ // 총 주문수량  =  반품수량   배송비가 있을시 환불해줌 
-				
-				if(reFundInfo.spanSumDeliveryFee > 0){
+		var enCloseFee 		= $("#withdrawDetailForm input[name=encloseFee]").val(); 	//동봉비 
+		var codFee     		= $("#withdrawDetailForm input[name=codFee]").val(); 		//착불비 
+		var addPaycost	 	= $("#withdrawDetailForm input[name=addPayCost]").val(); 	//추가결제비
+		
+		addDeliveryFee   	= 0;
+		addDeliveryFeeYn 	= "N";
+		codFeeAmt        	= 0;
+		codFeeYn         	= "N";
+		enCloseFeeAmt    	= Number(enCloseFee);
+		enCloseFeeYn     	= "N";
+		
+		// 출고예외(확정후 품절,불량)일 경우
+		if (delvExpnYn == "Y") {
+			// 총 주문수량  =  반품수량 배송비가 있을시 환불해줌
+			if (toTalOrdQty == ordChgQty) {
+				if (reFundInfo.spanSumDeliveryFee > 0) {
 					addDeliveryFee = reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt;
 					addDeliveryFeeYn = "Y";
 				}
@@ -414,20 +408,33 @@
 				//alert("출고예외");
 				reFundInfo.spanRefundAmt = reFundInfo.spanRealCnclRtnAmt;
 			}
-			
-		} else { // 반품일 경우 
-			if(toTalOrdQty == ordChgQty){// 총 주문수량  =  반품수량   
-				if(isCustomer){ //고객귀책 
-					if(wdGb == "W"){ // 회수요청
+		} 
+		// 반품일 경우
+		else {  
+			// 총 주문수량  =  반품수량
+			if (toTalOrdQty == ordChgQty) {
+				//고객귀책
+				if (isCustomer) {  
+					// 회수요청
+					if (wdGb == "W") { 
 						//alert("총수량 고객귀책 - 회수요청");
 						// 환불금액  = 취소 상품 실결제 금액 + 배송비 - 추가배송비 - 반품배송비 
-						if(Number(enCloseFee) > 0){
+						if (Number(enCloseFee) > 0) {
 							enCloseFeeYn = "Y";
 						}
-						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (reFundInfo.spanTotDeliveryFee - reFundInfo.spanDelvCpnDcAmt)  - reFundInfo.spanTotRtnDelvFee;
-					} else {         // 직접배송
+						
+						// 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";
@@ -435,25 +442,38 @@
 						if(Number(enCloseFee) > 0){
 							enCloseFeeYn = "Y";
 						}
-						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (reFundInfo.spanTotDeliveryFee - reFundInfo.spanDelvCpnDcAmt) - Number(codFee);
+						
+						// 2021.07.02 환불컨펌 환불금액계산
+						// 환불비용 = (취소상품실결제금액 + 동봉비 + 추가결제비) - 착불비
+						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - Number(codFee);
 					}
-				} else { // 회사귀책
+				} 
+				// 회사귀책
+				else { 
 					//alert("총수량 회사귀책 ");
-					if(reFundInfo.spanSumDeliveryFee > 0){
+					if (reFundInfo.spanSumDeliveryFee > 0) {
 						addDeliveryFee = reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt;
 						addDeliveryFeeYn = "Y";
 					}
-					reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + (reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt)) 
+					
+					// 2021.07.02 환불컨펌 환불금액계산
+					// 환불비용 = (취소상품실결제금액) + (원주문배송비- 배송비쿠폰할인금액)
+					reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + (reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt));
 				}
-			} else { // 총 주문수량  <>  반품수량   
-				if(isCustomer){ //고객귀책 
-					if(wdGb == "W"){ // 회수요청
+			} 
+			// 총 주문수량  <>  반품수량
+			else {
+				// 고객귀책
+				if (isCustomer) {  
+					if (wdGb == "W") { // 회수요청
 						//alert(" 고객귀책- 회수요청 ");
-						if(Number(enCloseFee) > 0){
+						if (Number(enCloseFee) > 0) {
 							enCloseFeeYn = "Y";
 						}
-						// 환불금액  = 취소 상품 실결제 금액   - 반품배송비 
-						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost))  - reFundInfo.spanTotRtnDelvFee;
+						
+						// 2021.07.02 환불컨펌 환불금액계산
+						// 환불금액  = (취소상품실결제금액 + 동봉비 + 추가결제비) - (추가배송비 + 반품배송비)
+						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (spanTotDeliveryFee + spanTotRtnDelvFee);
 					} else {         // 직접배송
 						//alert(" 고객귀책- 직접배송 ");
 						if(Number(codFee) > 0){
@@ -463,17 +483,24 @@
 						if(Number(enCloseFee) > 0){
 							enCloseFeeYn = "Y";
 						}
-						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) - Number(codFee));
+						
+						// 2021.07.02 환불컨펌 환불금액계산
+						// 환불금액  = (취소상품실결제금액 + 동봉비 + 추가결제비) - (추가배송비)
+						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) - Number(codFee)) - (spanTotDeliveryFee);
 					}
-				} else { // 회사귀책
+				} 
+				// 회사귀책
+				else { 
 					//alert(" 회사귀책 ");
-					reFundInfo.spanRefundAmt = reFundInfo.spanRealCnclRtnAmt ;
+					
+					// 2021.07.02 환불컨펌 환불금액계산
+					// 환불금액  = (취소상품실결제금액)
+					reFundInfo.spanRefundAmt = reFundInfo.spanRealCnclRtnAmt;
 				}
 			}
 		}
 		
 		$("#spanRefundAmt").text(reFundInfo.spanRefundAmt.addComma());				//환불 금액 합계 
-		
 	}
 	
 	/*************************************************************************
@@ -487,7 +514,6 @@
 		fnSetTotRefundData();
 	}
 	
-	
 	var ordInQty  	= 0;	// 반품 입고총수량 
 	var ordChgQty	= 0;	// 반품 신청총수량 
 	/*************************************************************************
@@ -511,19 +537,19 @@
 	var fnWithdrawDetailConfirm = function() {
 		//var totPayAmt = $('#totPayAmt').text().replace(/,/gi,"");
 		//var totRefundAmt = $('#totRefundAmt').text().replace(/,/gi,"");
-		
-		
-		if ( mallGb == 'G011_10') {
+
+		if (mallGb == 'G011_10') {
 			if (reFundInfo.spanRefundAmt <= 0) { // 아웃바운드 필요. (동동 및 계좌이체로 받아야함)
 				mcxDialog.alert('환불금액 부족합니다.');
 				return;
 			}
 			
-			if(reFundInfo.spanRefundAmt > reFundInfo.spanPayAmt) {
+			if (reFundInfo.spanRefundAmt > reFundInfo.spanPayAmt) {
 				mcxDialog.alert('환불금액이 총 결제금액보다 큽니다.<br/>환불금액 : ' + reFundInfo.spanRefundAmt + '<br/>총 결제금액 : ' + reFundInfo.spanPayAmt);
 				return;
 			}
 		}
+		
 		var pgStat = $('#withdrawDetailForm input:checkbox[name=pgStats]').is(":checked") ? "Y" : "N"; 
 		reFundInfo.addDeliveryFee   = addDeliveryFee;
 		reFundInfo.addDeliveryFeeYn = addDeliveryFeeYn;
@@ -541,9 +567,9 @@
 		}
 
 		mcxDialog.confirm('환불컨펌 하시겠습니까?', {
-			cancelBtnText: "취소",
-			sureBtnText: "확인",
-			sureBtnClick: function(){
+			cancelBtnText	: "취소",
+			sureBtnText		: "확인",
+			sureBtnClick	: function(){
 				gagajf.ajaxJsonSubmit('/withdraw/detail/confirm', jsonData, function(result) {
 					//confirmFlag = true;
 					fnSearch();