Parcourir la source

1. 주문 임시 커밋

card007 il y a 5 ans
Parent
commit
515b218740

+ 10 - 18
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -226,6 +226,11 @@ public class TsaOrderChangeController extends TsaBaseController {
 		List<Order> cancelRequestTargetList 		= orderChangeService.getCancelRequestTargetList(order);
 		List<Order> orderChangeDetailList 			= orderChangeService.getOrderChangeDetailList(order);
 		Collection<Order> orderInfoList 			= orderService.getOrderInfoList(order);
+
+		if (ordChgSq > 0) {
+			Collection<Order> exchangeInfoList = orderChangeService.getExchangeInfo(order);
+			mav.addObject("exchangeInfoList"		, exchangeInfoList);								// 교환정보
+		}
 		
 		// 3. 화면으로 데이타 전송
 		// 2021.01.26 취소요청 화면, 취소요청정보확인 화면 통합
@@ -286,6 +291,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		
 		mav.set("allCanYn"		, rtnReq.getAllCanYn());			// 무통장입금전 전체취소 여부 
 		mav.set("isCustomer"	, rtnReq.getIsCustomer());			// 변경사유 (고객, 회사)
+		mav.set("wdGb"			, rtnReq.getWdGb());				// 회수방법
 		
 		// 4. 주문변경 회수지정보 추가
 		mav.set("chgerNm"		, rtnReq.getChgerNm());				// 변경자명
@@ -295,6 +301,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.set("chgerDtlAddr"	, rtnReq.getChgerDtlAddr());		// 회수지상세주소
 		mav.set("chgerPhnno"	, rtnReq.getChgerPhnno());			// 변경자핸드폰번호
 		mav.set("chgerTelno"	, rtnReq.getChgerTelno());			// 변경자전화번호
+		mav.set("chgerRtnMemo"	, rtnReq.getChgerRtnMemo());		// 반품메모
 		
 		// 5. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
 		orderChangeService.rtnReq(mav, userNo);
@@ -353,21 +360,6 @@ public class TsaOrderChangeController extends TsaBaseController {
 		return mav;
 	}
 	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
 	/**
 	 * 환불계좌목록
 	 *
@@ -530,7 +522,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 	}
 
 	/**
-	 * 교환신청 (관리자)
+	 * 교환철회 (관리자)
 	 *
 	 * @param Collection<OrderChange>
 	 * @return
@@ -543,7 +535,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		GagaMap result = new GagaMap();
 		result.set("status", GagaResponseStatus.FAIL.getCode());
 
-		// 교환요청 데이터 확인
+		// 교환철회 요청 데이터 확인
 		if (excReq == null) {
 			result.set("message", message.getMessage("FAIL_1001"));
 			return result;
@@ -554,7 +546,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		excReq.setUpdNo(userNo);
 		excReq.setRegNo(userNo);
 
-		// 교환처리
+		// 교환철회 처리
 		result = orderChangeService.exchangeCancel(excReq);
 
 		// 처리 결과 코드에 따른 메세지 설정

+ 0 - 1
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -780,7 +780,6 @@ var fnExchangeCancel = function() {
 var fnOpenDaumAddr = function(loc) {
 	let daumZip = new daum.Postcode({
 		oncomplete: function(data) {
-			console.log(data);
 			// 우편번호와 주소 정보를 해당 필드에 넣는다.
 			if (loc == 'withdraw') {
 				$('#exchangeRequestFrm input[name=chgerZipcode]').val(data.zonecode);

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

@@ -647,7 +647,6 @@ var columnDefsOrderChangeInfo = [
 	{
 		headerName: "회수구분", field: "wdGb", width: 100, cellClass: 'text-center',
 		cellRenderer: function (params) {
-			console.log(params);
 			return params.value == 'W' ? '회수요청' : '직접배송'; 
 		}
 	},

+ 78 - 12
src/main/webapp/WEB-INF/views/order/RtnReqForm.html

@@ -44,6 +44,8 @@
 				
 				<table class="frmStyle">
 					<colgroup>
+						<col style="width:160px;" />
+						<col style="width:320px;" />
 						<col style="width:160px;" />
 						<col style="width:320px;" />
 						<col style="width:160px;" />
@@ -58,12 +60,17 @@
 									<option th:if="${chgReasonList}" th:each="oneData, status : ${chgReasonList}" th:value="|${oneData.cd}|" th:text="|${oneData.cdNm}|"></option>
 								</select>
 							</td>
+							<th>회수방법</th>
+							<td>
+								<label class="rdoBtn"><input type="radio" name="wdGb" th:id="wdGb" value="W" onclick="fnChangeWdGb(this)"/>회수요청<span></span></label>
+								<label class="rdoBtn"><input type="radio" name="wdGb" th:id="wdGb" value="D" onclick="fnChangeWdGb(this)"/>직접발송<span></span></label>
+							</td>
 							<th>귀책사유</th>
 							<td><span id="imputeReason"></span></td>
 						</tr>
 						<tr>
 							<th>요청메모</th>
-							<td colspan="3">
+							<td colspan="5">
 								<textarea id="chgMemo" name="chgMemo" style="height:80px;" placeholder="취소사유를 300자내외로 작성해 주세요"></textarea>
 							</td>
 						</tr>
@@ -145,7 +152,7 @@
 							<th>회수지주소 <i class="star"></i></th>
 							<td colspan="3">
 								<input type="text" name ="chgerZipcode" class="w100" readonly="readonly"/>
-								<button type="button" class="btn btn-info" onclick="fnOpenDaumAddr('delvLoc');">우편번호찾기</button>
+								<button type="button" class="btn btn-info" th:unless="${ordChgSq > 0}" onclick="fnOpenDaumAddr('delvLoc');">우편번호찾기</button>
 								<input type="text" name ="chgerBaseAddr" class="w300"/>
 								<input type="text" name ="chgerDtlAddr" class="w300"/>
 							</td>
@@ -157,8 +164,8 @@
 									<option value="">[선택하세요]</option>
 									<option th:if="${TelExcNoList}" th:each="oneData, status : ${TelExcNoList}" th:value="${oneData.cd}" th:text="${oneData.cd}"></option>
 								</select>
-								- <input type="text" name ="chgerTelno2" class="w60" value="0000" />
-								- <input type="text" name ="chgerTelno3" class="w60" value="0000" />
+								- <input type="text" name ="chgerTelno2" class="w60"/>
+								- <input type="text" name ="chgerTelno3" class="w60"/>
 							</td>
 							<th>휴대전화 <i class="star"></i></th>
 							<td>
@@ -166,8 +173,14 @@
 									<option value="">[선택하세요]</option>
 									<option th:if="${PhnExcNoList}" th:each="oneData, status : ${PhnExcNoList}" th:value="${oneData.cd}" th:text="${oneData.cd}"></option>
 								</select>
-								- <input type="text" name ="chgerPhnno2" class="w60" value="0000" />
-								- <input type="text" name ="chgerPhnno3" class="w60" value="0000" />
+								- <input type="text" name ="chgerPhnno2" class="w60"/>
+								- <input type="text" name ="chgerPhnno3" class="w60"/>
+							</td>
+						</tr>
+						<tr>
+							<th>반품메모</th>
+							<td colspan="3">
+								<textarea id="chgerRtnMemo" name="chgerRtnMemo" style="height:80px;" placeholder="반품메모(수거시요청사항)를 300자내외로 작성해 주세요"></textarea>
 							</td>
 						</tr>
 					</tbody>
@@ -196,11 +209,13 @@ var orderChangeDetailList 	= [[${orderChangeDetailList}]];					// 취소/반품/
 var payMeans 				= orderInfoList[0].payMeans;					// 결제수단
 var chgReason				= "";											// 변경사유코드
 var chgMemo					= "";											// 변경사유메모
+var wdGb;																	// 회수방법
 
 // 변경요청정보 승인, 철회
 if (ordChgSq > 0) {
 	chgReason				= orderChangeDetailList[0].chgReason;			// 변경사유코드
 	chgMemo					= orderChangeDetailList[0].chgMemo;				// 변경사유메모
+	wdGb					= orderChangeDetailList[0].wdGb;				// 회수방법
 }
 
 var temp1 = true;
@@ -917,10 +932,16 @@ var fnCalculateRefundAmt = function (obj) {
 			$("#spanTotExcDelvFee").text(result.spanTotExcDelvFee.addComma());		//교환 환불 배송 금액
 
 			if (result.spanRealCnclRtnAmt > 0) {
-				// 고객사유 : 환불금액게산 = (취소금액 + 배송비) - 추가배송비 - 반품배송비
-				if (isCustomer) {
+				let wdGb = $('#wdGb:checked').val();
+
+				// 고객사유(회수요청) : 환불금액게산 = (취소금액 + 배송비) - 추가배송비 - 반품배송비
+				if (isCustomer && wdGb == 'W') {
 					result.spanRefundAmt = (result.spanRealCnclRtnAmt + result.sumDeliveryFee) - result.spanTotDeliveryFee - result.spanTotRtnDelvFee;
 				} 
+				// 고객사유(직접발송) : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
+				else if (isCustomer && wdGb == 'D') {
+					result.spanRefundAmt = (result.spanRealCnclRtnAmt + result.sumDeliveryFee) - result.spanTotDeliveryFee;
+				}
 				// 회사사유 : 환불금액게산 = (취소금액 + 배송비)
 				else {
 					result.spanRefundAmt = (result.spanRealCnclRtnAmt + result.sumDeliveryFee);
@@ -984,6 +1005,7 @@ var fnCnclReq = function (reqGbn) {
 	var chgerPhnno 		= "";
 	var chgerTelno 		= "";
 	var chgerEmail 		= "";
+	var chgerRtnMemo	= "";
 	
 	if (reqGbn == "rtnReq") {
 		// 1. 취소수량 체크
@@ -1066,9 +1088,15 @@ var fnCnclReq = function (reqGbn) {
 			mcxDialog.alert("휴대전화를 입력하세요."); return;
 		}
 		
-		chgerPhnno 		= chgerPhnno1 + chgerPhnno2 + chgerPhnno3;
-		chgerTelno 		= chgerTelno1 + chgerTelno2 + chgerTelno3;
+		chgerPhnno 		= chgerPhnno1 + '-' + chgerPhnno2 + '-' + chgerPhnno3;
 		chgerEmail 		= orderInfoList[0].ordEmail;
+		chgerRtnMemo	= $("#cancelRequestFrm textarea[name=chgerRtnMemo]").val();
+		
+		if (gagajf.isNull(chgerTelno1) && gagajf.isNull(chgerTelno2) && gagajf.isNull(chgerTelno3)) {
+			chgerTelno 		= '';
+		} else {
+			chgerTelno = chgerTelno1 + '-' + chgerTelno2 + '-' + chgerTelno3;
+		}
 	} else {
 		
 	}
@@ -1107,7 +1135,9 @@ var fnCnclReq = function (reqGbn) {
 		,"chgerDtlAddr"		: chgerDtlAddr
 		,"chgerPhnno"		: chgerPhnno
 		,"chgerTelno"		: chgerTelno
+		,"chgerRtnMemo"		: chgerRtnMemo
 		,"ordChgSq"			: ordChgSq
+		,"wdGb"				: $('#wdGb:checked').val()
 	}
 
 	// 주문번호, 취소사유, 취소메모, (취소, 반품, 교환 신청 정보 목록), 환불계좌
@@ -1174,6 +1204,7 @@ var fnSetChger = function(){
 	$("#cancelRequestFrm input[name=chgerZipcode]").val(data.recipZipcode);
 	$("#cancelRequestFrm input[name=chgerBaseAddr]").val(data.recipBaseAddr);
 	$("#cancelRequestFrm input[name=chgerDtlAddr]").val(data.recipDtlAddr);
+	$("#cancelRequestFrm textarea[name=chgerRtnMemo]").val(data.chgerRtnmemo);
 	
 	if (spRecipPhnno) {
 		$("#cancelRequestFrm select[name=chgerPhnno1]").val(spRecipPhnno[0]);
@@ -1186,6 +1217,34 @@ var fnSetChger = function(){
 		$("#cancelRequestFrm input[name=chgerTelno2]").val(spRecipTelno[1]);
 		$("#cancelRequestFrm input[name=chgerTelno3]").val(spRecipTelno[2]);
 	}
+	
+	if (ordChgSq > 0) {
+		$('input[name=chgerNm]').attr('readOnly', true);				// 회수지정보 > 보내는사람 비활성화
+		$('input[name=chgerBaseAddr]').attr('readOnly', true);			// 회수지정보 > 기본주소 비활성화
+		$('input[name=chgerDtlAddr]').attr('readOnly', true);			// 회수지정보 > 상세주소 비활성화
+		$('select[name=chgerTelno1]').attr('disabled', true);			// 회수지정보 > 일반전화 비활성화
+		$('input[name=chgerTelno2]').attr('readOnly', true);			// 회수지정보 > 일반전화 비활성화
+		$('input[name=chgerTelno3]').attr('readOnly', true);			// 회수지정보 > 일반전화 비활성화
+		$('select[name=chgerPhnno1]').attr('disabled', true);			// 회수지정보 > 휴대전화 비활성화
+		$('input[name=chgerPhnno2]').attr('readOnly', true);			// 회수지정보 > 휴대전화 비활성화
+		$('input[name=chgerPhnno3]').attr('readOnly', true);			// 회수지정보 > 휴대전화 비활성화
+		$('#chgerRtnMemo').attr('readOnly', true);						// 회수지정보 > 반품메모 비활성화
+	}
+}
+
+// 회수방법 라디오 클릭 이벤트
+var fnChangeWdGb = function(param) {
+	let wdGb = $(param).val();
+	
+	// 회수지정보 히든 처리
+	if (wdGb == 'D') {
+		$('.chger').css('display', 'none');
+	} else {
+		$('.chger').css('display', '');
+	}
+	
+	//환불예정금액 계산
+	fnCalculateRefundAmt();
 }
 
 $(document).ready(function() {
@@ -1203,6 +1262,12 @@ $(document).ready(function() {
 	gagaAgGrid.hideStatusBar('gridDelvCdList');
 	gagaAgGrid.hideStatusBar('gridRefundAccountInfo');
 	
+	if (wdGb == 'D') {
+		$('input:radio[name="wdGb"]:radio[value="D"]').prop('checked', true);
+	} else {
+		$('input:radio[name="wdGb"]:radio[value="W"]').prop('checked', true);
+	}
+	
 	// 3. 환불정보계산
 	fnCalculateRefundAmt(null);
 	
@@ -1226,10 +1291,11 @@ $(document).ready(function() {
 	// 7. 취소사유 선택
 	if (ordChgSq > 0) {
 		$("select[name='selectChgReason']").val(chgReason);										// 변경사유코드
-		$("select[name='selectChgReason']").attr("disabled", "true");							// 변경사유 비활성화
+		$("select[name='selectChgReason']").attr('disabled', true);								// 변경사유 비활성화
 		$("#chgMemo").text(chgMemo);															// 변경사유메모
-		$("#chgMemo").attr("disabled", "true");													// 변경사유메모 비활성화
+		$("#chgMemo").attr('readOnly', true);													// 변경사유메모 비활성화
 		fnChangeChgReason(chgReason);															// 귀책사유
+		$('input:radio[name=wdGb]').attr('disabled', true);										// 회수방법 비활성화
 	}
 	
 	// debug mode 해제