Jelajahi Sumber

배송정보개발

tsit14 4 tahun lalu
induk
melakukan
2fd14695c2

+ 19 - 0
src/main/java/com/style24/admin/biz/web/TsaOrderController.java

@@ -803,6 +803,25 @@ public class TsaOrderController extends TsaBaseController {
 		Collection<Order> orderList = orderService.getOrderSellerUnorderList(order);
 		return orderList;
 	}
+	
+	/**
+	 * 스윗트래커 정보 조회
+	 *
+	 * @return ModelAndView
+	 * @author jsh77b
+	 * @since 2021. 06. 17
+	 */
+	@GetMapping("/delivery/sweetTrackerDeliveryInfo")
+	public ModelAndView sweetTrackerDeliveryInfo(Order order) {
+		ModelAndView mav = new ModelAndView();
+
+		Collection<Order> sweetTrackerDeliveryList = orderService.getSweetTrackerDeliveryInfo(order);
+		mav.addObject("sweetTrackerDeliveryList"	, sweetTrackerDeliveryList); // 택배사 목록
+		
+		mav.setViewName("order/SweetTrackerDeliveryList");
+
+		return mav;
+	}
 }
 
 

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

@@ -172,6 +172,7 @@ var orderFreeGiftCnt		= [[${orderFreeGiftInfo.size()}]];		// 주문사은품정
 var orderDeliveryAddrCnt	= [[${orderDeliveryAddrInfo.size()}]];	// 배송정보
 var orderChangeCnt 			= [[${orderChangeInfo.size()}]];		// 취소/반품/교환요청 정보
 var orderRefundCnt 			= [[${orderRefundInfo.size()}]];		// 환불정보
+var roleCd 					= [[${sessionInfo.roleCd}]];			// 권한코드 
 
 // 2021.05.12 
 var hiddenTemp				= true;
@@ -192,7 +193,16 @@ var columnDefsGoodsInfo = [
 		children	: [
 			{headerName: "상세번호"	, field: "ordDtlNo"		, width: 80, cellClass: 'text-center'},
 			{headerName: "주문구분"	, field: "exchGbNm"		, width: 80, cellClass: 'text-center'},
-			{headerName: "상품코드"	, field: "goodsCd"		, width: 80, cellClass: 'text-center'},
+			{
+				headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center', sortable: true,
+				cellRenderer: function (params) {
+					if (roleCd.indexOf("C") < 0) {
+						return "<a href=\"javascript:void(0);\" onclick=\"cfnOpenGoodsDetailPopup('U','" + params.value + "');\">" + params.value + "</a>";
+					} else {
+						return params.value;
+					}
+				}
+			},
 			{
 				headerName		: "상품명"
 				, field			: "goodsNm"
@@ -202,7 +212,17 @@ var columnDefsGoodsInfo = [
 					return '<a href="javascript:void(0);" onclick="cfnOpenFrontGoodsPopup(\'' + params.data.goodsCd + '\',\'' + params.data.siteCd + '\');">' + params.value + '</a>';
 				}
 			},
-			{headerName: "상품타입"	, field: "goodsTypeNm"	, width: 100, cellClass: 'text-center'},
+			{headerName: "상품타입"	, field: "goodsTypeNm"	, width: 130, cellClass: 'text-center',
+				cellRenderer: function (params) {
+					var option;
+					if (params.data.goodsType == 'G056_S') {
+						option = "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailItemForm('" + params.data.ordDtlNo + "');\">" + params.value + "</a>";
+					} else {
+						option = params.value
+					}
+					return option;
+				}
+			},
 			{headerName: "브랜드"		, field: "brandGroupNm"	, width: 100, cellClass: 'text-center'},
 			{headerName: "옵션1"		, field: "colorNm"		, width: 80, cellClass: 'text-center'},
 			{headerName: "옵션2"		, field: "optCd2"		, width: 80, cellClass: 'text-center'},
@@ -454,15 +474,20 @@ var columnDefsGoodsInfo = [
 	{
 		headerName	: "배송",
 		children	: [
-			{headerName: "품절여부", field: "soldoutYn", width: 90, cellClass: 'text-center'},
+			{headerName: "품절여부"	, field: "soldoutYn"	, width: 90, cellClass: 'text-center'},
+			{headerName: "택배사코드"	, field: "shipCompCd"	, width: 150, cellClass: 'text-center',  hide: true},
+			{headerName: "출고택배사"	, field: "shipCompNm"	, width: 150, cellClass: 'text-center'},
 			{
 				headerName		: "송장번호"
 				, field			: "invoiceNo"
-				, width			: 100
+				, width			: 150
 				, cellClass		: 'text-center'
 				, cellRenderer	: function (params) {
 					var retStr = '';
-					if (!gagajf.isNull(params.value)) retStr = '<a href="javascript:void(0);" onclick="fnSearchDelivery(\'' + params.data.trackingUrl + '\',\'' + params.data.invoiceNo + '\');">' + params.value + '</a>';
+					if (!gagajf.isNull(params.value)) {
+						//retStr = '<a href="javascript:void(0);" onclick="fnSearchDelivery(\'' + params.data.trackingUrl + '\',\'' + params.data.invoiceNo + '\');">' + params.value + '</a>';
+						retStr = '<a href="javascript:void(0);" onclick="fnSweetTracker(\'' + params.data.shipCompCd + '\',\'' + params.data.invoiceNo + '\');">' + params.value + '</a>';
+					}
 					return retStr;
 				}
 			},
@@ -920,7 +945,7 @@ var columnDefsOrderMemoInfo = [
 			}
 			return retStr;
 		}
-	},
+	}
 ];
 var gridOptionsOrderMemoInfo = gagaAgGrid.getGridOptions(columnDefsOrderMemoInfo);
 </script>
@@ -1389,6 +1414,14 @@ var fnSearchDelivery = function (url, invoiceNo) {
 	window.open(fullUrl, '_blank');
 };
 
+// 2021.06.17스윗트래커 송장조회
+var fnSweetTracker = function (shipCompCd, invoiceNo) {
+	var actionUrl = "/order/delivery/sweetTrackerDeliveryInfo?shipCompCd=" + shipCompCd + "&invoiceNo=" + invoiceNo;
+	cfnOpenModalPopup(actionUrl, 'popupSweetTrackerDeliveryInfo');
+	
+};
+
+
 // 카드전표 영수증 조회
 var fnReceiptPage = function (tid) {
 	var fullUrl = "https://npg.nicepay.co.kr/issue/IssueLoader.do?TID=" + tid + "&type=0";
@@ -1496,6 +1529,13 @@ var fnOpenDaumAddr = function(idx, addrGb) {
 	
 	cfnOpenDaumAddr(daumZip);
 }
+
+
+// 2021.06.17 구성상품 내역 팝업 호출 
+var fnOrderDetailItemForm = function (ordDtlNo) {
+	var actionUrl = "/delivery/detail/item/form/" + ordDtlNo;
+	cfnOpenModalPopup(actionUrl, 'popupDeliveryDetailItemForm');
+}
 </script>
 
 </html>

+ 76 - 0
src/main/webapp/WEB-INF/views/order/SweetTrackerDeliveryList.html

@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : DeliveryDetailItemForm.html
+ * @desc    : 배송정보이력
+ *============================================================================
+ * ISTYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.06.17   jsh77b       최초 작성
+ *******************************************************************************
+ -->
+
+
+<div class="modalPopup" data-width="750" >
+	<div class="panelStyle">
+		<div class="panelTitle">
+			<h2>배송정보이력</h2>
+			<button type="button" class="close" onclick="uifnPopupClose('popupSweetTrackerDeliveryInfo')"><i class="fa fa-times"></i></button>
+		</div>
+				
+		<div class="panelContent" style="overflow-y:auto;">
+			<form id="DeliveryDetailItemFrm">
+				<div id="gridDelvDetailItemInfo" style="width:100%; height: 260px;" class="ag-theme-balham"></div>
+			</form>
+		</div>
+	</div>
+</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+
+var sweetTrackerDeliveryList = [[${sweetTrackerDeliveryList}]];
+
+// specify the columns
+var columnDefsDelvDetailItemInfo = [
+		{headerName: "택배사처리시간"	, field: "timeTrans"	, width: 150	, cellClass: 'text-center'},
+		{headerName: "택배위치"		, field: "delvWhere"	, width: 160	, cellClass: 'text-left'},
+		{headerName: "배송상세정보"	, field: "details"		, width: 240	, cellClass: 'text-left'},
+		{
+			headerName		: "연락처"
+			, field			: "telno"
+			, width			: 130
+			, cellClass		: 'text-center'
+			, cellRenderer	: function (params) {
+				var retStr = '';
+				
+				if (!gagajf.isNull(params.value)) {
+					retStr = params.value.replace(/[^0-9]/g, "").replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3").replace("--", "-");
+				}
+				return retStr;
+			}
+		}
+];
+
+$(document).ready(function() {
+	// Get GridOptions
+	var gridDelvDetailItemInfo = gagaAgGrid.getGridOptions(columnDefsDelvDetailItemInfo);
+	gagaAgGrid.createGrid('gridDelvDetailItemInfo', gridDelvDetailItemInfo);
+	gridDelvDetailItemInfo.api.setRowData(sweetTrackerDeliveryList);
+	$('.ag-status-bar').hide();
+});
+	
+//2021.04.09 하이픈처리
+$(document).on("keyup", "#deliveryModifyForm input[name=recipPhnno]", function() { 
+	$(this).val( $(this).val().replace(/[^0-9]/g, "").replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3").replace("--", "-") ); 
+});
+	
+/*]]>*/
+</script>
+
+</html>