浏览代码

반품,취소 완료 화면 개발중

tsit14 4 年之前
父节点
当前提交
b911d418fb

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

@@ -322,12 +322,16 @@ public class TsaOrderChangeController extends TsaBaseController {
 		if ("G685_17".equals(chgStat) || "G685_18".equals(chgStat)) {
 			order.setChgStat("G720_30");
 		}
+		else if ("G685_60".equals(chgStat)) {
+			order.setChgStat("G720_50");
+		}
 		
 		List<Order> cnclRtnCompleteList 	= coreOrderChangeService.getCnclRtnCompleteList(order);
 		Collection<Order> orderInfoList 	= coreOrderService.getOrderInfoList(order);
 		
 		mav.addObject("cnclRtnCompleteList"		, cnclRtnCompleteList);			// 취소완료목록
 		mav.addObject("orderInfoList"			, orderInfoList);				// 주문기본정보
+		mav.addObject("chgStat"					, order.getChgStat());			// 변경요청상태값(정산상태구분)
 		mav.setViewName("order/CnclCompleteView");
 		
 		return mav;

+ 33 - 12
src/main/webapp/WEB-INF/views/order/CnclCompleteView.html

@@ -16,18 +16,30 @@
 <div class="modalPopup" data-width="1400" data-height="600">
 	<div class="panelStyle">
 		<div class="panelTitle">
-			<h2>취소완료</h2>
-			<button type="button" class="close" onclick="uifnPopupClose('popupCancelRequestForm');"><i class="fa fa-times"></i></button>
+			<th:block th:if="${chgStat} == 'G720_30'">
+				<h2>취소완료</h2>
+				<button type="button" class="close" onclick="fnPopupClose();"><i class="fa fa-times"></i></button>
+			</th:block>
+			<th:block th:if="${chgStat} == 'G720_50'">
+				<h2>반품완료</h2>
+				<button type="button" class="close" onclick="fnPopupClose();"><i class="fa fa-times"></i></button>
+			</th:block>
 		</div>
 			
 		<div class="panelContent" style="height:90%; overflow-y:auto; padding:0px 20px !important; ">
 			<form id="cancelRequestFrm" name="cancelRequestFrm">
+				
+				<th:block th:if="${chgStat} == 'G720_30'">
+					<h4 id="orderInfoTitle">취소완료정보</h4>
+				</th:block>
+				<th:block th:if="${chgStat} == 'G720_50'">
+					<h4 id="orderInfoTitle">반품완료정보</h4>
+				</th:block>
 			
-				<h4 id="orderInfoTitle">취소완료정보</h4>
 				<div id="gridCnclRtnCompleteList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
 
 				<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
-					<button type="button" class="btn btn-success" id="cnclCompleteBtn" onclick="fnCnclReq('cnclComplete');">확인</button>
+					<button type="button" class="btn btn-success" id="cnclCompleteBtn" onclick="fnPopupClose();">확인</button>
 				</div>
 				
 				<table class="frmStyle">
@@ -39,7 +51,7 @@
 					</colgroup>
 					<tbody>
 						<tr>
-							<th>취소사유 <i class="star"></i></th>
+							<th>변경사유 <i class="star"></i></th>
 							<td id="chgReasonNm"></td>
 							<th>귀책사유</th>
 							<td><span id="imputeReason"></span></td>
@@ -87,12 +99,11 @@
 						<tr>
 							<th>상품 실결제 취소 금액</th>
 							<td><span id="spanRealCnclRtnAmt"></span>원</td>
-							<th>추가 배송비 금액</th>
-							<td><span id="spanTotDeliveryFee"></span>원 </td>
+							<th>환불 배송비 금액</th>
+							<td><span id="spanRealDelvAmt"></span>원</td>
 						</tr>
-						
 						<tr>
-							<th>환불 예정 금액</th>
+							<th>환불 금액</th>
 							<td colspan="3"><span id="spanRefundAmt"></span>원</td>
 						</tr>
 					</tbody>
@@ -100,8 +111,6 @@
 				
 				<div id="refundAccount" style="width:100%">
 					<h4>환불계좌정보</h4>
-					<button type="button" id="btnSaveAccount" class="btn btnRight btn-base btn-sm" style="margin-left:10px;" onclick="fnCreateOrderRfAccount();">등록</button>
-					
 					<!-- TABLE -->
 					<table class="tableStyle">
 						<colgroup>
@@ -154,6 +163,7 @@ var raBankNm				= cnclRtnCompleteList[0].raBankNm;			// 환불계좌은행명
 var raBank					= cnclRtnCompleteList[0].raBank;			// 환불계좌은행코드
 var raNo					= cnclRtnCompleteList[0].raNo;				// 환불계좌번호
 var raNm					= cnclRtnCompleteList[0].raNm;				// 환불계좌명
+var chgStat 				= [[${chgStat}]];							// 변경요청상태값(정산상택값)
 
 // 1. 취솨,반품완료 정보 목록 조회
 var columnCnclRtnCompleteList = [
@@ -294,7 +304,7 @@ var isCustomer = true;
 
 //  사유
 var fnChangeChgReason = function(reasonCd){
-	var customerReasonArr = ['G686_10', 'G686_20'];
+	var customerReasonArr = ['G686_10', 'G686_20', 'G688_10'];
 
 	isCustomer = false;
 	
@@ -315,6 +325,15 @@ var fnChangeChgReason = function(reasonCd){
 	$('#cancelRequestFrm input[name=chgReason]').val(reasonCd);
 }
 
+// 팝업닫기 확인버튼
+var fnPopupClose = function() {
+	if (chgStat == "G720_30") {
+		uifnPopupClose('popupCancelRequestForm');
+	} else if (chgStat == "G720_50") {
+		uifnPopupClose('popupReturnRequestForm');
+	}
+}
+
 $(document).ready(function() {
 	
 	// 1. 그리드생성
@@ -359,6 +378,7 @@ $(document).ready(function() {
 	var spanRealCnclRtnAmt	= 0;
 	var spanTotDeliveryFee	= addPayCost;
 	var spanRefundAmt		= 0;
+	var spanRealDelvAmt		= realDelvAmt;
 	
 	for (i=0 ; i<cnclRtnCompleteList.length ; i++) {
 		spanOrdAmt 				= spanOrdAmt 			+ cnclRtnCompleteList[i].ordAmt;
@@ -395,6 +415,7 @@ $(document).ready(function() {
 	$("#spanTmtbDcAmt").text(spanTmtbDcAmt.addComma());
 	$("#spanGfcdUseAmt").text(spanGfcdUseAmt.addComma());
 	$("#spanRealCnclRtnAmt").text(spanRealCnclRtnAmt.addComma());
+	$("#spanRealDelvAmt").text(realDelvAmt.addComma());
 	$("#spanTotDeliveryFee").text(addPayCost.addComma());
 	$("#spanRefundAmt").text(spanRefundAmt.addComma());
 	

+ 10 - 7
src/main/webapp/WEB-INF/views/order/CnclReqForm.html

@@ -166,19 +166,16 @@
 							<th>다다익선 취소 금액</th>
 							<td colspan="3"><span id="spanTmtbDcAmt"></span>원 (수량할인 : <span id="spanTmtb1DcAmt"></span>원 + 금액할인 : <span id="spanTmtb2DcAmt"></span>원)</td>
 						</tr>
-						
 						<tr>
 							<th>상품권 취소 금액</th>
 							<td colspan="3"><span id="spanGfcdUseAmt"></span>원</td>
 						</tr>
-						
 						<tr>
 							<th>상품 실결제 취소 금액</th>
 							<td><span id="spanRealCnclRtnAmt"></span>원</td>
-							<th>추가 배송비 금액</th>
-							<td><span id="spanTotDeliveryFee"></span>원 </td>
+							<th>환불 배송비 금액</th>
+							<td><span id="spanRealDelvAmt"></span>원</td>
 						</tr>
-						
 						<tr>
 							<th>환불 예정 금액</th>
 							<td colspan="3"><span id="spanRefundAmt"></span>원</td>
@@ -945,7 +942,7 @@ var fnCalculateRefundAmt = function (obj) {
 			$("#spanGfcdUseAmt").text(result.spanGfcdUseAmt.addComma());			//취소 고객 상품권 금액
 			
 			$("#spanRealCnclRtnAmt").text(result.spanRealCnclRtnAmt.addComma());	//취소 상품 실결제 금액
-			$("#spanTotDeliveryFee").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
+			//$("#spanTotDeliveryFee").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
 			
 			$("#spanTotRtnDelvFee").text(result.spanTotRtnDelvFee.addComma());		//반품 환불 배송 금액
 			$("#spanTotExcDelvFee").text(result.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
@@ -954,13 +951,19 @@ var fnCalculateRefundAmt = function (obj) {
 				// 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
 				if (isCustomer) {
 					result.spanRefundAmt = (result.spanRealCnclRtnAmt + spanSumDeliveryFee) - result.spanTotDeliveryFee;
+					
+					// 2021.07.01 
+					// @ 마이너스금액이면 허들깨지면서 배송비 발생
+					// @ 플러스금액이면 마지막취소시 배송금액 환불
+					var spanRealDelvAmt = spanSumDeliveryFee - result.spanTotDeliveryFee;
+					$("#spanRealDelvAmt").text(spanRealDelvAmt.addComma());			//환불배송비금액
 				} 
 				// 회사사유 : 환불금액계산 = (취소금액 + 배송비)
 				else {
 					result.spanRefundAmt = (result.spanRealCnclRtnAmt + spanSumDeliveryFee);
 					
 					// 2021.05.13 추가배송비금액 수정
-					$("#spanTotDeliveryFee").text(0);								//배송금액
+					$("#spanRealDelvAmt").text(spanSumDeliveryFee.addComma());		//환불배송비금액
 				}
 			}
 			

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

@@ -1161,6 +1161,12 @@ var fnReturnRequest = function (paramData, ordChgSq) {
 	param += "&ordChgSq=" 		+ ordChgSq;
 
 	var actionUrl = "/orderChange/rtn/req/form?" + param;
+	
+	// 2021.06.30 취소완료일때 취소완료정보 조회
+	if (paramArr[4] == "G685_60") {
+		actionUrl = "/orderChange/cnclRtn/complete/view?" + param;
+	}
+	
 	cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
 };
 

+ 44 - 24
src/main/webapp/WEB-INF/views/order/RtnReqForm.html

@@ -120,15 +120,15 @@
 						<tr>
 							<th>취소 상품 실결제 금액</th>
 							<td><span id="spanRealCnclRtnAmt"></span>원</td>
-							<th>추가 배송 금액</th>
-							<td><span id="spanTotDeliveryFee"></span>원 </td>
+							<th>환불 배송 금액</th>
+							<td><span id="spanRealDelvAmt"></span>원</td>
 						</tr>
-						
+						<!-- 
 						<tr>
-							<th>추가 반품배송 금액</th>
+							<th>반품 배송 금액</th>
 							<td colspan="3"><span id="spanTotRtnDelvFee"></span>원</td>
 						</tr>
-						
+						 -->
 						<tr>
 							<th>환불 금액 합계</th>
 							<td colspan="3"><span id="spanRefundAmt"></span>원</td>
@@ -273,7 +273,7 @@ var columnCancelReqList = [
 	{headerName: "주문번호"		, field: "ordNo"			, width: 80		, cellClass: 'text-center'	, hide: temp1},
 	{headerName: "주문상세"		, field: "ordDtlNo"			, width: 80		, cellClass: 'text-center'},
 	{headerName: "주문상세"		, field: "ordDtlStat"		, width: 80		, cellClass: 'text-center'	, hide: temp1},
-	{headerName: "주문상세상태"		, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center'	, hide: temp1},
+	{headerName: "주문상세상태"	, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center'	, hide: temp1},
 	{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-left'	, hide: temp2},
 	{headerName: "상품명"			, field: "goodsNm"			, width: 200	, cellClass: 'text-left'	, hide: temp2},
 	{headerName: "상품타입"		, field: "goodsTypeNm"		, width: 100	, cellClass: 'text-center'	, hide: temp2},
@@ -355,35 +355,35 @@ var columnCancelReqList = [
 		}
 	},
 	{
-		headerName		: "취소"		
-		, field			: "cnclRtnAmt"			
-		, width			: 80		
+		headerName		: "취소"
+		, field			: "cnclRtnAmt"
+		, width			: 80
 		, cellClass		: 'text-right'
 		, cellRenderer	: function (params) {
 			return params.value.addComma();
 		}
 	},
 	{
-		headerName		: "즉시할인"		
-		, field			: "cpn1DcAmt"			
-		, width			: 80		
+		headerName		: "즉시할인"
+		, field			: "cpn1DcAmt"
+		, width			: 80
 		, cellClass		: 'text-right'
 		, cellRenderer	: function (params) {
 			return params.value.addComma();
 		}
 	},
 	{
-		headerName		: "다다익선1"		
-		, field			: "tmtb1DcAmt"			
-		, width			: 80		
+		headerName		: "다다익선1"
+		, field			: "tmtb1DcAmt"
+		, width			: 80
 		, cellClass		: 'text-right'
 		, cellRenderer	: function (params) {
 			return params.value.addComma();
 		}
 	},
 	{
-		headerName		: "다다익선2"		
-		, field			: "tmtb2DcAmt"			
+		headerName		: "다다익선2"
+		, field			: "tmtb2DcAmt"
 		, width			: 80		
 		, cellClass		: 'text-right'
 		, cellRenderer	: function (params) {
@@ -512,7 +512,7 @@ var columnCancelReqToBeList = [
 			{headerName: "주문번호"		, field: "ordNo"			, width: 80		, cellClass: 'text-center', hide: temp1},
 			{headerName: "주문상세"		, field: "ordDtlNo"			, width: 80		, cellClass: 'text-center'},
 			{headerName: "주문상세"		, field: "ordDtlStat"		, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "주문상세상태"		, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center', hide: temp1},
+			{headerName: "주문상세상태"	, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center', hide: temp1},
 			{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-center', hide: temp1},
 			{headerName: "상품명"			, field: "goodsNm"			, width: 200	, cellClass: 'text-center', hide: temp1},
 			{headerName: "상품타입"		, field: "goodsTypeNm"		, width: 100	, cellClass: 'text-center', hide: temp2}
@@ -970,25 +970,45 @@ var fnCalculateRefundAmt = function (obj) {
 			$("#spanGfcdUseAmt").text(result.spanGfcdUseAmt.addComma());			//취소 고객 상품권 금액
 			
 			$("#spanRealCnclRtnAmt").text(result.spanRealCnclRtnAmt.addComma());	//취소 상품 실결제 금액
-			$("#spanTotDeliveryFee").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
+			//$("#spanTotDeliveryFee").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
+			$("#spanRealDelvAmt").text(result.spanTotDeliveryFee.addComma());	//취소 환불 배송 금액
 			
-			$("#spanTotRtnDelvFee").text(result.spanTotRtnDelvFee.addComma());		//반품 환불 배송 금액
-			$("#spanTotExcDelvFee").text(result.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
+			//$("#spanTotRtnDelvFee").text(result.spanTotRtnDelvFee.addComma());		//반품 환불 배송 금액
+			//$("#spanTotExcDelvFee").text(result.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
 
 			if (result.spanRealCnclRtnAmt > 0) {
 				let wdGb = $('#wdGb:checked').val();
 
 				// 고객사유(회수요청) : 환불금액게산 = (취소금액 + 배송비) - 추가배송비 - 반품배송비
 				if (isCustomer && wdGb == 'W') {
-					result.spanRefundAmt = (result.spanRealCnclRtnAmt + sumDeliveryFee) - result.spanTotDeliveryFee - result.spanTotRtnDelvFee;
+					result.spanRefundAmt = result.spanRealCnclRtnAmt - result.spanTotDeliveryFee - result.spanTotRtnDelvFee;
+					
+					// 2021.07.01 
+					// @ 마이너스금액이면 허들깨지면서 배송비 발생
+					// @ 플러스금액이면 마지막취소시 배송금액 환불
+					var spanRealDelvAmt = result.spanTotDeliveryFee + result.spanTotRtnDelvFee;
+					if (spanRealDelvAmt > 0) {
+						spanRealDelvAmt * -1;
+					}
+					$("#spanRealDelvAmt").text(spanRealDelvAmt.addComma());			//환불배송비금액
 				} 
 				// 고객사유(직접발송) : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
 				else if (isCustomer && wdGb == 'D') {
-					result.spanRefundAmt = (result.spanRealCnclRtnAmt + sumDeliveryFee) - result.spanTotDeliveryFee;
+					result.spanRefundAmt = result.spanRealCnclRtnAmt - result.spanTotDeliveryFee;
+					
+					// 2021.07.01 
+					// @ 마이너스금액이면 허들깨지면서 배송비 발생
+					// @ 플러스금액이면 마지막취소시 배송금액 환불
+					var spanRealDelvAmt = 0;
+					if (result.spanTotDeliveryFee > 0) {
+						spanRealDelvAmt = result.spanTotDeliveryFee * -1;
+					}
+					$("#spanRealDelvAmt").text(spanRealDelvAmt.addComma());			//환불배송비금액
 				}
 				// 회사사유 : 환불금액게산 = (취소금액 + 배송비)
 				else {
-					result.spanRefundAmt = (result.spanRealCnclRtnAmt + sumDeliveryFee);
+					result.spanRefundAmt = result.spanRealCnclRtnAmt;
+					$("#spanRealDelvAmt").text(0);									//취소 환불 배송 금액
 				}
 			}