Просмотр исходного кода

주문목록 > 주문상세 개발중

jsh77b 5 лет назад
Родитель
Сommit
e1ae355c79

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

@@ -171,8 +171,8 @@ public class TsaOrderController extends TsaBaseController {
 		
 		mav.addObject("ordNo"					, ordNo);												// 주문번호
 		mav.addObject("orderInfo"				, orderService.getOrderInfoList(order));				// 기본정보
-		mav.addObject("orderGoodsInfo"			, orderService.getOrderDetailList(order));				// 상품정보
-		mav.addObject("orderGoodsInfo"			, orderService.getOrderDetailItemList(order));			// 상품단품정보
+		mav.addObject("orderGoodsInfo"			, orderService.getOrderDetailList(order));				// 주문상품정보
+		//mav.addObject("orderGoodsItemInfo"		, orderService.getOrderDetailItemList(order));			// 주문상품단품정보
 		mav.addObject("orderDeliveryAddrInfo"	, orderService.getDeliveryAddrList(order));				// 배송정보
 		mav.addObject("orderPaymentInfo"		, orderService.getOrderPaymentBasicInfoList(order));	// 결제정보
 		mav.addObject("orderDeliveryFeeInfo"	, orderService.getDeliveryFeeList(order));				// 배송비정보

+ 14 - 1
style24.admin/src/main/java/com/style24/persistence/domain/Order.java

@@ -18,6 +18,7 @@ public class Order extends TscBaseDomain {
 	// 주문마스터
 	private int ordNo;
 	private String mallGb;
+	private String mallGbNm;
 	private String ordDt;
 	private String payDt;
 	private int custNo;
@@ -28,6 +29,7 @@ public class Order extends TscBaseDomain {
 	private String siteCd;
 	private int npayOrdNo;
 	private String frontGb;
+	private String frontGbNm;
 	
 	// 주문상세
 	private int ordDtlNo;
@@ -37,6 +39,7 @@ public class Order extends TscBaseDomain {
 	private String supplyCompCd;
 	private String goodsCd;
 	private String formalGb;
+	private String formalGbNm;
 	private String goodsType;
 	private int listPrice;
 	private int currPrice;
@@ -126,7 +129,6 @@ public class Order extends TscBaseDomain {
 	private String brandEnm;
 	private String itemCd;
 	private String goodsNum;
-	private String gormalGb;
 	private String supplyGoodsCd;
 	
 	private int totDcAmt;
@@ -205,6 +207,17 @@ public class Order extends TscBaseDomain {
 	private String brandKnm;
 	private String ordDtlStatNm;	
 	private String ordPhnno;
+	
+	private String custGrade;
+	private String custGradeNm;
+	private String custGb;
+	private String custGbNm;
+	private String managedRsn;
+	private String managedRsnNm;
+	
+	private int itemQty;
+	private int itemPrice;
+
 }
 
 

+ 15 - 1
style24.admin/src/main/java/com/style24/persistence/mybatis/shop/TsaOrder.xml

@@ -142,6 +142,7 @@
         		#{item}
             </foreach>
         </if>
+        ORDER  BY O.REG_DT DESC
 	</select>
 	
 	<!-- 주문 목록 금액, 수량 정보-->
@@ -262,7 +263,12 @@
 		/* order.getOrderInfoList */
 		SELECT O.SITE_CD
 		     , O.MALL_GB
+		     , FN_GET_CODE_NM('G011', O.MALL_GB) AS MALL_GB_NM
 		     , O.FRONT_GB
+		     , CASE WHEN O.FRONT_GB = 'P'
+		            THEN 'PC'
+		            ELSE 'MOBILE'
+		             END FRONT_GB_NM
 		     , OD.EXTMALL_ID 
 		     , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS ORD_DT
 		     , O.ORD_NM
@@ -271,7 +277,11 @@
 		     , O.ORD_EMAIL
 		     , O.ORD_PHNNO
 		     , C.CUST_GB 
+		     , FN_GET_CODE_NM('G100', C.CUST_GB) AS CUST_GB_NM
+		     , C.MANAGED_RSN
+		     , FN_GET_CODE_NM('G120', C.MANAGED_RSN) AS MANAGED_RSN_NM
 		     , C.CUST_GRADE
+		     , FN_GET_CODE_NM('G110', C.CUST_GRADE) AS CUST_GRADE_NM
 		FROM   TB_ORDER O
 		INNER  JOIN TB_ORDER_DETAIL OD
 		ON     O.ORD_NO = OD.ORD_NO
@@ -284,7 +294,7 @@
 	<!-- 주문상세 목록 -->
 	<select id="getOrderDetailList" parameterType="Order" resultType="Order">
 		/* order.getOrderDetailList */
-		SELECT OD.GOODS_CD 
+		SELECT OD.GOODS_CD
 		     , G.GOODS_NM
 		     , ODI.OPT_CD1
 		     , ODI.OPT_CD2
@@ -308,6 +318,10 @@
 		     , OD.DELV_LOC_CD
 		     , OD.DELV_ADDR_SQ 
 		     , OD.DSTRBT_NOTE
+		     , ODI.ITEM_CD 
+		     , ODI.ITEM_QTY
+		     , ODI.ITEM_PRICE
+		     , ODI.OPT_ADD_PRICE
 		FROM   TB_ORDER_DETAIL OD
 		INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
 		ON     OD.ORD_NO = ODI.ORD_NO 

+ 87 - 45
style24.admin/src/main/webapp/WEB-INF/views/order/OrderDetailForm.html

@@ -27,10 +27,10 @@
 					<input type="hidden" name="orderEmail"/>
 					
 					<h4>기본정보</h4>
-					<div id="gridOrderInfo" style="width:100%; height:200px;" class="ag-theme-balham lh60"></div>
+					<div id="gridOrderInfo" style="width:100%; height:140px;" class="ag-theme-balham"></div>
 					
 					<h4>주문상품정보</h4>
-					<div id="gridOrderGoodsInfo" style="width:100%; height:200px;" class="ag-theme-balham lh60"></div>
+					<div id="gridOrderGoodsInfo" style="width:100%; height:200px;" class="ag-theme-balham"></div>
 				</form>
 			</div>
 		</div>
@@ -42,6 +42,8 @@
 var ordNo 					= [[${ordNo}]];						// 주문번호
 var orderInfo 				= [[${orderInfo}]];					// 기본정보
 var orderGoodsInfo 			= [[${orderGoodsInfo}]];			// 주문상세정보
+var orderGoodsItemInfo 		= [[${orderGoodsItemInfo}]];		// 주문상세단품정보
+
 //var orderPaymentInfo 		= [[${orderPaymentInfo}]];			// 결제정보
 //var orderDeliveryFeeInfo = [[${orderDeliveryFeeInfo}]];		// 배송비정보
 //var orderChangeInfo = [[${orderChangeInfo}]];				// 취소/반품/교환요청 정보
@@ -80,9 +82,16 @@ var columnDefsOrderInfo = [
 	{headerName: "몰구분"		, field: "mallGbNm"		, width: 80		, cellClass: 'text-center'},
 	{headerName: "웹구분"		, field: "frontGbNm"	, width: 80		, cellClass: 'text-center'},
 	{headerName: "외부몰"		, field: "extmallNm"	, width: 80		, cellClass: 'text-center'},
-	{headerName: "주문일시"	, field: "ordDt"		, width: 140	, cellClass: 'text-center'},
-	{headerName: "주문상태"	, field: "ordStatNm"	, width: 110	, cellClass: 'text-center'},
-	{headerName: "주문자"		, field: "orderNm"		, width: 80		, cellClass: 'text-center'},
+	{
+		headerName			: "주문일시"	
+		, field				: "ordDt"
+		, width				: 130
+		, cellClass			: 'text-center' 
+		, cellRenderer: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	},
+	{headerName: "주문자"		, field: "ordNm"		, width: 80		, cellClass: 'text-center'},
 	{
 		headerName			: "고객번호"
 		, field				: "custNo"
@@ -95,7 +104,7 @@ var columnDefsOrderInfo = [
 	{headerName: "주문번호", field: "ordNo", width: 100, cellClass: 'text-center'},
 	{
 		headerName			: "이메일"
-		, field				: "orderEmail"
+		, field				: "ordEmail"
 		, width				: 240
 		, cellClass			: 'text-center'
 		, cellRenderer		: function (params) {
@@ -104,7 +113,7 @@ var columnDefsOrderInfo = [
 	},
 	{
 		headerName			: "핸드폰번호"
-		, field				: "orderPhnno"
+		, field				: "ordPhnno"
 		, width				: 220
 		, cellClass			: 'text-center'
 		, cellRenderer		: function (params) {
@@ -112,41 +121,11 @@ var columnDefsOrderInfo = [
 		}
 	},
 	{headerName: "회원구분"	, field: "custGbNm"		, width: 80		, cellClass: 'text-center'},
-	{headerName: "관리대상"	, field: "managedRsn"	, width: 80		, cellClass: 'text-center'},
+	{headerName: "관리대상"	, field: "managedRsnNm"	, width: 80		, cellClass: 'text-center'},
 	{headerName: "등급"		, field: "custGradeNm"	, width: 80		, cellClass: 'text-center'}
 ];
 var gridOptionsOrderInfo = gagaAgGrid.getGridOptions(columnDefsOrderInfo);
 
-var gridOptionsOrderInfo = {
-		columnDefs					: columnDefsOrderList
-		, detailCellRendererParams	: {
-			detailGridOptions	: {
-				columnDefs				: []
-				, defaultColDef			: {
-					resizable: true
-				}
-				, suppressLoadingOverlay: false
-				, onGridReady			: function (params) {
-					params.api.setDomLayout('autoHeight');
-				}
-				, onFirstDataRendered	: function (params) {
-					params.api.sizeColumnsToFit();
-				}
-			}
-			, getDetailRowData: function (params) {
-				params.successCallback(params.data.orderDetailList);
-			}
-		}
-		, defaultColDef: {
-			resizable: true
-		}
-		, isRowMaster: function (dataItem) {
-			return dataItem ? dataItem.orderDetailList.length > 1 : false;
-		}
-		, suppressRowTransform: true
-		, enableRangeSelection: true
-	};
-
 // 2.상품별 상세정보
 var columnDefsGoodsInfo = [
 	{
@@ -162,15 +141,72 @@ var columnDefsGoodsInfo = [
 					return '<a href="javascript:void(0);" onclick="cfnOpenFrontGoodsPopup(\'' + params.data.goodsCd + '\',\'' + params.data.siteCd + '\');">' + params.value + '</a>';
 				}
 			},
-			{headerName: "사이즈"		, field: "sizeCd"		, width: 60, cellClass: 'text-center'},
-			{headerName: "칼라"		, field: "goodsColorNm"	, width: 90, cellClass: 'text-center'}
+			{headerName: "사이즈"		, field: "optCd2"		, width: 60, cellClass: 'text-center'},
+			{headerName: "칼라"		, field: "optCd1"		, width: 90, cellClass: 'text-center'},
+			{headerName: "단품코드"	, field: "itemCd"		, width: 90, cellClass: 'text-center'},
+			{headerName: "단품수량"	, field: "itemQty"		, width: 90, cellClass: 'text-center'},
+			{
+				headerName		: "단품금액"
+				, field			: "itemPrice"
+				, width			: 60
+				, cellClass		: 'text-right' //cartCpnDcAmtClass
+				, cellRenderer	: function (params) {
+					return params.value.addComma();
+				}
+			},
+			{
+				headerName		: "옵션추가금액"
+				, field			: "optAddPrice"
+				, width			: 100
+				, cellClass		: 'text-right' //cartCpnDcAmtClass
+				, cellRenderer	: function (params) {
+					return params.value.addComma();
+				}
+			},
+		]
+	},
+	{
+		headerName	: "단품정보",
+		children	: [
+			{headerName: "상품코드"	, field: "itemCd"		, width: 130, cellClass: 'text-center'},
+			{
+				headerName		: "상품명"
+				, field			: "goodsNm"
+				, width			: 180
+				, cellClass		: 'text-left'
+				, cellRenderer: function (params) {
+					return '<a href="javascript:void(0);" onclick="cfnOpenFrontGoodsPopup(\'' + params.data.goodsCd + '\',\'' + params.data.siteCd + '\');">' + params.value + '</a>';
+				}
+			},
+			{headerName: "사이즈"		, field: "optCd2"		, width: 60, cellClass: 'text-center'},
+			{headerName: "칼라"		, field: "optCd1"		, width: 90, cellClass: 'text-center'},
+			{headerName: "단품코드"	, field: "itemCd"		, width: 90, cellClass: 'text-center'},
+			{headerName: "단품수량"	, field: "itemQty"		, width: 90, cellClass: 'text-center'},
+			{
+				headerName		: "단품금액"
+				, field			: "itemPrice"
+				, width			: 60
+				, cellClass		: 'text-right' //cartCpnDcAmtClass
+				, cellRenderer	: function (params) {
+					return params.value.addComma();
+				}
+			},
+			{
+				headerName		: "옵션추가금액"
+				, field			: "optAddPrice"
+				, width			: 100
+				, cellClass		: 'text-right' //cartCpnDcAmtClass
+				, cellRenderer	: function (params) {
+					return params.value.addComma();
+				}
+			},
 		]
 	},
 	{
 		headerName	: "수량",
 		children	: [
-			{headerName: "주문"		, field: "ordQty"		, width: 40, cellClass: 'text-center'},
-			{headerName: "취소"		, field: "cnclRtnQty"	, width: 40, cellClass: 'text-center'}
+			{headerName: "주문"		, field: "ordQty"		, width: 60, cellClass: 'text-center'},
+			{headerName: "취소"		, field: "cnclRtnQty"	, width: 60, cellClass: 'text-center'}
 		]
 	},
 	{
@@ -211,7 +247,7 @@ var columnDefsGoodsInfo = [
 			{
 				headerName		: "즉시사용"
 				, field			: "prePntDcAmt"
-				, width			: 60
+				, width			: 80
 				, cellClass		: 'text-right' //prePntDcAmtClass
 				, cellRenderer	: function (params) {
 					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderPointHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
@@ -319,6 +355,7 @@ var columnDefsGoodsInfo = [
 	}
 ];
 var gridOptionsGoodsInfo = gagaAgGrid.getGridOptions(columnDefsGoodsInfo);
+
 </script>
 
 <script>
@@ -331,8 +368,8 @@ var fnSetGridHeightInit = function () {
 		_girdRowH2 = 80;
 	}
 	
-	$('#gridOrderInfo').css('height', _girdRowH1 + _girdRowH);					//기본정보
-	//$('#gridDeliveryInfo').css('height', _girdRowH1 + _girdRowH);				//배송정보
+	//$('#gridOrderInfo').css('height', _girdRowH1 + _girdRowH);					//기본정보
+	//$('#gridDeliveryInfo').css('height', _girdRowH1 + _girdRowH);					//배송정보
 	
 	//if (orderGoodsInfo != null && orderGoodsInfo.length > 0) $('#gridOrderGoodsInfo').css('height', _girdRowH2 + _girdRowH * orderGoodsInfo.length);
 	//if (orderPaymentInfo != null && orderPaymentInfo.length > 0) $('#gridPaymentInfo').css('height', _girdRowH1 + _girdRowH * orderPaymentInfo.length);
@@ -361,6 +398,11 @@ $(window).resize(function () {
 </script>
 <!-- AgGrid 생성 -->
 <script>
+// 창종료
+var fnOrderDetailClose = function(){
+	uifnPopupClose('popupOrderDetail');
+}
+
 $(document).ready(function () {
 	gagaAgGrid.createGrid('gridOrderInfo'			, gridOptionsOrderInfo);
 	gagaAgGrid.createGrid('gridOrderGoodsInfo'		, gridOptionsGoodsInfo);