Bladeren bron

2021-09-28 화 1. 다다익선 주문 통계 추가

skyhopes 4 jaren geleden
bovenliggende
commit
5d769f5657

+ 16 - 0
src/main/java/com/style24/admin/biz/dao/TsaStatisticsDao.java

@@ -123,4 +123,20 @@ public interface TsaStatisticsDao {
 	 */
 	Collection<Statistics> getCouponOrderDetailList(Statistics statistics);
 
+	/**
+	 * 다다익선 주문 조회
+	 * author: 이명철
+	 * return: Collection<Statistics>
+	 * since: 2021. 9. 28.
+	 */
+	Collection<Statistics> getTmtbOrderList(Statistics statistics);
+
+	/**
+	 * 다다익선 주문 상세조회
+	 * author: 이명철
+	 * return: Collection<Statistics>
+	 * since: 2021. 9. 28.
+	 */
+	Collection<Statistics> getTmtbOrderDetailList(Statistics statistics);
+
 }

+ 20 - 0
src/main/java/com/style24/admin/biz/service/TsaStatisticsService.java

@@ -231,4 +231,24 @@ public class TsaStatisticsService {
 		return statisticsDao.getCouponOrderDetailList(statistics);
 	}
 
+	/**
+	 * 다다익선 통계 조회
+	 * author: 이명철
+	 * return: Collection<Statistics>
+	 * since: 2021. 9. 28.
+	 */
+	public Collection<Statistics> getTmtbOrderList(Statistics statistics) {
+		return statisticsDao.getTmtbOrderList(statistics);
+	}
+
+	/**
+	 * 다다익선 주문상세조회
+	 * author: 이명철
+	 * return: Collection<Statistics>
+	 * since: 2021. 9. 28.
+	 */
+	public Collection<Statistics> getTmtbOrderDetailList(Statistics statistics) {
+		return statisticsDao.getTmtbOrderDetailList(statistics);
+	}
+
 }

+ 41 - 0
src/main/java/com/style24/admin/biz/web/TsaStatisticsController.java

@@ -672,4 +672,45 @@ public class TsaStatisticsController extends TsaBaseController {
 		return statisticsService.getCouponOrderDetailList(statistics);
 	}
 
+	/**
+	 * 다다익선 통게 화면
+	 * author: 이명철
+	 * return: ModelAndView
+	 * since: 2021. 9. 28.
+	 */
+	@GetMapping("/tmtb/trading/form")
+	public ModelAndView tmtbTradingForm() {
+		ModelAndView mav = new ModelAndView();
+
+		// 프로모션유형
+		mav.addObject("applyGbList", rendererService.getCommonCodeList("G810", "Y"));
+
+		mav.setViewName("statistics/TmtbTradingForm");
+		return mav;
+	}
+
+	/**
+	 * 다다익선 통계 조횐
+	 * author: 이명철
+	 * return: Collection<Statistics>
+	 * since: 2021. 9. 28.
+	 */
+	@PostMapping("/tmtb/order/list")
+	@ResponseBody
+	public Collection<Statistics> getTmtbOrderList(@RequestBody Statistics statistics) {
+
+		if (!StringUtils.isBlank(statistics.getTmtbSq())) {
+			statistics.setMultiTmtbSq(statistics.getTmtbSq().split(System.lineSeparator()));
+		}
+
+		return statisticsService.getTmtbOrderList(statistics);
+	}
+
+	@PostMapping("/tmtb/order/detail/list")
+	@ResponseBody
+	public Collection<Statistics> getTmtbOrderDetailList(@RequestBody Statistics statistics) {
+		return statisticsService.getTmtbOrderDetailList(statistics);
+	}
+
+
 }

+ 11 - 0
src/main/java/com/style24/persistence/domain/Statistics.java

@@ -193,9 +193,20 @@ public class Statistics extends TscBaseDomain {
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] multiCpnId;	// 쿠폰번호
 
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiTmtbSq;	//  프로모션번호
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] applyGbArr;	//  프로모션유형
+
 	private int ordQty;
 	private int custCnt;
 	private int custCpnCnt;
 	private int ordRate;
 
+	private String tmtbSq;
+	private String tmtbNm;
+	private String applyGb;
+	private int dcAmt;
+
 }

+ 160 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaStatistics.xml

@@ -1355,4 +1355,164 @@
 		    AND Z.GOODS_CD = X.GOODS_CD
 	</select>
 
+	<!-- 다다익선 주문 통계 조회 -->
+	<select id="getTmtbOrderList" parameterType="Statistics" resultType="Statistics">
+	   /* TsaStatistics.getTmtbOrderList */
+		WITH TAB AS (
+		    SELECT A.ORD_NO
+		         , B.ORD_DTL_NO
+		         , B.ORD_QTY
+		         , B.CNCL_RTN_QTY
+		         , B.ORD_AMT
+		         , B.CURR_PRICE
+		         , B.CNCL_RTN_AMT
+		         , B.ORD_DTL_STAT
+		         , A.PAY_DT
+		         , C.GOODS_CD
+		         , B.TMTB1_SQ
+		         , B.TMTB1_DC_AMT
+		         , B.TMTB2_SQ
+		         , B.TMTB2_DC_AMT
+		    FROM TB_ORDER A,
+		         TB_ORDER_DETAIL B,
+		         TB_GOODS C,
+		         TB_CUSTOMER D
+		    WHERE A.ORD_NO = B.ORD_NO
+		      AND B.GOODS_CD = C.GOODS_CD
+		      AND A.CUST_NO = D.CUST_NO
+		      <![CDATA[
+		      AND A.PAY_DT >= DATE_FORMAT(#{startDt}, '%Y-%m-%d')                         -- 시작일변수
+		      AND A.PAY_DT <= DATE_FORMAT(CONCAT(#{endDt}, ' 23:59:59'), '%Y-%m-%d %H:%i:%s') -- 종료일변수
+		      ]]>
+		      AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98')               -- 주문접수,입금대기,입금전취소 제외
+		      AND B.ORD_QTY > B.CNCL_RTN_QTY
+              <if test="applyGbArr == null">
+	              /* 프로모션유형값없을시 */
+			      AND (B.TMTB1_DC_AMT + B.TMTB2_DC_AMT) > 0
+              </if>
+	          <if test="applyGbArr != null">
+	              /* 프로모션유형 */
+	              <foreach collection="applyGbArr" item="item" index="index">
+	                  <if test='item == "G810_10"'>
+	                      AND TMTB1_DC_AMT > 0 -- 수량
+	                  </if>
+	                  <if test='item == "G810_11"'>
+	                      AND TMTB2_DC_AMT > 0 -- 금액
+	                  </if>
+	              </foreach>
+	          </if>
+		)
+		-- 수량할인
+		, TMTB1 AS (
+		    SELECT
+		        TMTB_SQ
+		        , TMTB_NM
+		        , FN_GET_CODE_NM('G810', APPLY_GB) AS APPLY_GB
+		        , SUM(ORD_CNT) AS ORD_CNT
+		        , SUM(ORD_AMT) AS ORD_AMT
+		        , SUM(DC_AMT) AS DC_AMT
+		    FROM
+		    (
+		        SELECT A.TMTB_SQ
+		            , A.TMTB_NM
+		            , APPLY_GB
+		            , COUNT(1) AS ORD_CNT
+		            , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
+		            , SUM(B.TMTB1_DC_AMT) AS DC_AMT
+		        FROM TB_TMTB A, TAB B
+		        WHERE A.TMTB_SQ = B.TMTB1_SQ
+		        GROUP BY A.TMTB_SQ, A.TMTB_NM, A.APPLY_GB, B.ORD_NO
+		    ) X
+		    GROUP BY TMTB_SQ, TMTB_NM, APPLY_GB
+		)
+		-- 금액할인
+		, TMTB2 AS (
+		    SELECT
+		        TMTB_SQ
+		        , TMTB_NM
+		        , FN_GET_CODE_NM('G810', APPLY_GB) AS APPLY_GB
+		        , SUM(ORD_CNT) AS ORD_CNT
+		        , SUM(ORD_AMT) AS ORD_AMT
+		        , SUM(DC_AMT) AS DC_AMT
+		    FROM
+		    (
+		        SELECT A.TMTB_SQ
+		            , A.TMTB_NM
+		            , APPLY_GB
+		            , COUNT(1) AS ORD_CNT
+		            , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
+		            , SUM(B.TMTB1_DC_AMT) AS DC_AMT
+		        FROM TB_TMTB A, TAB B
+		        WHERE A.TMTB_SQ = B.TMTB2_SQ
+                <if test="applyGbArr != null">
+                    /* 프로모션유형 */
+                    <foreach collection="applyGbArr" item="item" index="index"  open="AND A.APPLY_GB IN (" close=")" separator=",">#{item}</foreach>
+                </if>
+		        GROUP BY A.TMTB_SQ, A.TMTB_NM, A.APPLY_GB, B.ORD_NO
+		    ) X
+		    GROUP BY TMTB_SQ, TMTB_NM, APPLY_GB
+		)
+		SELECT *
+		FROM TMTB1
+		WHERE 1=1
+        <if test="multiTmtbSq != null">
+            /* 프로모션번호  */
+            <foreach collection="multiTmtbSq" item="item" index="index"  open="AND TMTB_SQ IN (" close=")" separator=",">#{item}</foreach>
+        </if>
+		UNION ALL
+		SELECT *
+		FROM TMTB2
+		WHERE 1=1
+        <if test="multiTmtbSq != null">
+            /* 프로모션번호  */
+            <foreach collection="multiTmtbSq" item="item" index="index"  open="AND TMTB_SQ IN (" close=")" separator=",">#{item}</foreach>
+        </if>
+	</select>
+
+	<!-- 다다익선 주문 통계 상세조회 -->
+	<select id="getTmtbOrderDetailList" parameterType="Statistics" resultType="Statistics">
+	   /* TsaStatistics.getTmtbOrderDetailList */
+		SELECT
+		    A.BRAND_CD
+		    , B.BRAND_ENM
+		    , A.GOODS_CD
+		    , A.GOODS_NM
+		    , SUM(ORD_AMT) AS ORD_AMT
+		    , SUM(ORD_QTY) AS ORD_QTY
+		    , SUM(CUST_CNT) AS CUST_CNT
+		FROM (
+		     SELECT
+		        C.BRAND_CD
+		        , C.GOODS_CD
+		        , C.GOODS_NM
+		        , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
+		        , SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
+		        , COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
+		    FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D
+		    WHERE A.ORD_NO = B.ORD_NO
+		    AND B.GOODS_CD = C.GOODS_CD
+		    AND A.CUST_NO = D.CUST_NO
+		    <![CDATA[
+		    AND A.PAY_DT >= DATE_FORMAT(#{startDt}, '%Y-%m-%d')                         -- 시작일변수
+		    AND A.PAY_DT <= DATE_FORMAT(CONCAT(#{endDt}, ' 23:59:59'), '%Y-%m-%d %H:%i:%s') -- 종료일변수
+		    ]]>
+		    AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
+		    AND B.ORD_QTY > B.CNCL_RTN_QTY
+            <if test="applyGbArr != null">
+                /* 프로모션유형 */
+                <foreach collection="applyGbArr" item="item" index="index">
+                    <if test='item == "G810_10"'>
+                        AND B.TMTB1_SQ = #{tmtbSq} -- 수량
+                    </if>
+                    <if test='item == "G810_11"'>
+                        AND B.TMTB2_SQ = #{tmtbSq} -- 금액
+                    </if>
+                </foreach>
+            </if>
+		    GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
+		) A, TB_BRAND B
+		WHERE A.BRAND_CD = B.BRAND_CD
+		GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
+	</select>
+
 </mapper>

+ 318 - 0
src/main/webapp/WEB-INF/views/statistics/TmtbTradingForm.html

@@ -0,0 +1,318 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : TmtbTradingForm.html
+ * @desc    : 다다익선 사용 통계 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021-09-28 화   lmc        최초 작성
+ *******************************************************************************
+ -->
+	<div id="main">
+		<!-- 메인타이틀 영역 -->
+		<div class="main-title"></div>
+		<!-- //메인타이틀 영역 -->
+
+		<!-- 메뉴 설명 -->
+		<div class="infoBox menu-desc"></div>
+		<!-- //메뉴 설명 -->
+
+		<!-- 검색조건 영역 -->
+		<div class="panelStyle">
+			<form id="searchForm" name="searchForm" action="#" th:action="@{'/statistics/tmtb/order/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
+				<table class="frmStyle" aria-describedby="검색조건">
+					<colgroup>
+						<col style="width:10%;"/>
+						<col style="width:10%;"/>
+						<col style="width:60%;"/>
+						<col style="width:20%;"/>
+					</colgroup>
+					<tr>
+						<th>기간<i class="required" title="필수" aria-hidden="true"></i></th>
+						<td colspan="2" id="terms"></td>
+						<td rowspan="2">
+						  <textarea class="textareaR3 w70p" name="tmtbSq" placeholder="프로모션 번호를 입력하세요."></textarea>
+						</td>
+					</tr>
+					<tr>
+					   <th>프로모션 유형</th>
+					   <td colspan="2">
+					       <label class="chkBox checked" th:if="${applyGbList}" th:each="oneData, status : ${applyGbList}"><input type="checkbox" name="applyGbArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}" checked="checked"/></label>
+					   </td>
+					</tr>
+				</table>
+				<ul class="panelBar">
+					<li class="center">
+						<button type="button" class="btn btn-base btn-lg" id="btnSearch">조회</button>
+						<button type="button" class="btn btn-gray btn-lg" id="btnInit">초기화</button>
+					</li>
+				</ul>
+			</form>
+			<form id="detailSearchForm" action="/statistics/tmtb/order/detail/list" style="display:none;">
+				<input name="startDt">
+				<input name="endDt">
+				<input name="tmtbSq">
+			</form>
+		</div>
+		<!-- 검색조건 영역 -->
+
+		<!-- 리스트 영역 -->
+		<div class="panelStyle">
+			<ul class="panelBar">
+				<li>
+					<button type="button" class="btn btn-default btn-lg" onclick="fnExcelDownLoad();">엑셀다운로드</button>
+				</li>
+			</ul>
+			<div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
+		</div>
+		<div class="panelStyle">
+			<ul class="panelBar">
+				<li>
+					<button type="button" class="btn btn-default btn-lg" onclick="fnDetailExcelDownLoad();">엑셀다운로드</button>
+				</li>
+			</ul>
+			<div id="detailGridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
+		</div>
+		<!-- //리스트 영역 -->
+	</div>
+
+<style>
+.ag-header-group-text{
+	margin-left: calc(50% - 25px);
+}
+</style>
+<script th:inline="javascript">
+/*<![CDATA[*/
+	let columnDefs = [
+		{ headerName: "유형", field: "applyGb", width: 100, cellClass: 'text-center' },
+		{ headerName: "다다익선 번호", field: "tmtbSq", width: 100, cellClass: 'text-center' },
+		{ headerName: "프로모션명", field: "tmtbNm", width: 250, cellClass: 'text-left' },
+		{ headerName: "자사분담율", field: "burden", width: 150, cellClass: 'text-right',
+            cellRenderer: function(params) {
+                return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+            }
+		},
+		{ headerName: "적용주문수", field: "ordCnt", width: 150, cellClass: 'text-right',
+            cellRenderer: function(params) {
+                return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+            }
+		},
+		{ headerName: "주문결제액", field: "ordAmt", width: 150, cellClass: 'text-right',
+            cellRenderer: function(params) {
+                return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+            }
+		},
+		{ headerName: "프로모션비용", field: "dcAmt", width: 150, cellClass: 'text-right',
+            cellRenderer: function(params) {
+                return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+            }
+		},
+		{ headerName: "상세보기", field: "detail", width: 100, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				return '<a href="javascript:void(0);">상세현황보기</a>';
+			}
+		},
+	];
+
+	let detailColumnDefs = [
+		{ headerName: "브랜드", field: "brandEnm", width: 150, cellClass: 'text-center' },
+		{ headerName: "상품번호", field: "goodsCd", width: 150, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				return '<a href="javascript:void(0);">'+params.value+'</a>';
+			}
+		},
+		{ headerName: "상품명", field: "goodsNm", width: 300, cellClass: 'text-left',
+			cellRenderer: function (params) {
+				return '<a href="javascript:void(0);">'+params.value+'</a>';
+			}
+		},
+		{ headerName: "상품매출액", field: "ordAmt", width: 150, cellClass: 'text-right',
+			cellRenderer: function(params) {
+				return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+			}
+		},
+		{ headerName: "판매수량", field: "ordQty", width: 150, cellClass: 'text-right',
+			cellRenderer: function(params) {
+				return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+			}
+		},
+		{ headerName: "구매자수", field: "custCnt", width: 150, cellClass: 'text-right',
+			cellRenderer: function(params) {
+				return !gagajf.isNull(params.value) ? params.value.addComma() : '0';
+			}
+		},
+	];
+
+	let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+	let detailGridOptions = gagaAgGrid.getGridOptions(detailColumnDefs);
+
+	// Row Click
+	gridOptions.onCellClicked = function(event) {
+		var params = event.data;
+		if (event.colDef.field == "goodsCd"){
+			cfnOpenGoodsDetailPopup('U', params.goodsCd);
+		}
+		else if (event.colDef.field == "goodsNm"){
+			cfnOpenGoodsDetailPopup('U', params.goodsCd);
+		}
+		else if (event.colDef.field == "detail"){
+			$("#detailSearchForm input[name=startDt]").val($("#searchForm input[name=startDt]").val());
+			$("#detailSearchForm input[name=endDt]").val($("#searchForm input[name=endDt]").val());
+			$("#detailSearchForm input[name=tmtbSq]").val(params.tmtbSq);
+			gagaAgGrid.fetch($('#detailSearchForm').prop('action'), detailGridOptions, '#detailSearchForm', fnDetailCreateTotal);
+		}
+	}
+
+	// Row Click
+	detailGridOptions.onCellClicked = function(event) {
+		var params = event.data;
+		if (event.colDef.field == "goodsCd"){
+			cfnOpenGoodsDetailPopup('U',goodsCd);
+		}
+		else if (event.colDef.field == "goodsNm"){
+			cfnOpenGoodsDetailPopup('U',goodsCd);
+		}
+	}
+
+    gridOptions.excelStyles = [
+        {
+            id: 'text-center',
+            dataType: 'string',
+			font: {size : 10, bold: false}
+        },
+        {
+            id: 'text-left',
+            dataType: 'string',
+			font: {size : 10, bold: false}
+        },
+        {
+            id: 'text-right',
+            dataType: 'number',
+			font: {size : 10, bold: false}
+        }
+    ];
+
+    detailGridOptions.excelStyles = gridOptions.excelStyles;
+
+    var fnExcelDownLoad = function(){
+
+    	var totalRows = gridOptions.api.getDisplayedRowCount();
+		if(totalRows==0){
+			mcxDialog.alert('조회된 내역이 없습니다.');
+			return;
+		}
+
+    	var date = new Date().format("YYYYMMDDHHmmss");
+		var params = {
+						fileName : "다다익선 주문목록_"+ date,
+						sheetName: "DATA"
+					 };
+		gridOptions.api.exportDataAsExcel(params);
+    }
+    var fnDetailExcelDownLoad = function(){
+
+    	var totalRows = detailGridOptions.api.getDisplayedRowCount();
+		if(totalRows==0){
+			mcxDialog.alert('조회된 내역이 없습니다.');
+			return;
+		}
+
+    	var date = new Date().format("YYYYMMDDHHmmss");
+		var params = {
+						fileName : "다다익선 주문상세 목록_"+ date,
+						sheetName: "DATA"
+					 };
+		detailGridOptions.api.exportDataAsExcel(params);
+    }
+
+
+	// 검색
+	$('#btnSearch').on('click', function() {
+		// 입력 값 체크
+		if (!gagajf.validation($('#searchForm')))
+			return false;
+
+		gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions, '#searchForm', fnCreateTotal);
+	});
+
+	// 합계 생성
+	let fnCreateTotal = function() {
+
+		let totInfo = {};
+		totInfo.applyGb = "TOTAL";
+		totInfo.tmtbSq  = "";
+		totInfo.tmtbNm  = "";
+		totInfo.ordCnt  = 0;
+		totInfo.ordAmt  = 0;
+		totInfo.dcAmt	= 0;
+
+		gridOptions.api.forEachNode(function(rowNode, index) {
+			if (!rowNode.group) {
+				if( typeof rowNode.data.ordCnt  == 'number') { totInfo.ordCnt   += rowNode.data.ordCnt  ; }
+				if( typeof rowNode.data.ordAmt  == 'number') { totInfo.ordAmt   += rowNode.data.ordAmt  ; }
+				if( typeof rowNode.data.dcAmt	== 'number') { totInfo.dcAmt    += rowNode.data.dcAmt	; }
+			}
+		});
+
+		gagaAgGrid.setPinnedRowData(gridOptions, totInfo, 'top');
+	}
+
+	// 합계 생성
+	let fnDetailCreateTotal = function() {
+
+		let totInfo = {};
+		totInfo.brandCd  = "";
+		totInfo.brandEnm = "TOTAL";
+		totInfo.goodsCd  = "";
+		totInfo.goodsNm  = "";
+		totInfo.ordAmt   = 0;
+		totInfo.ordQty   = 0;
+		totInfo.custCnt  = 0;
+
+		detailGridOptions.api.forEachNode(function(rowNode, index) {
+			if (!rowNode.group) {
+				if( typeof rowNode.data.ordAmt        == 'number') { totInfo.ordAmt         += rowNode.data.ordAmt        ; }
+				if( typeof rowNode.data.ordQty        == 'number') { totInfo.ordQty         += rowNode.data.ordQty        ; }
+				if( typeof rowNode.data.custCnt       == 'number') { totInfo.custCnt        += rowNode.data.custCnt       ; }
+			}
+		});
+
+		gagaAgGrid.setPinnedRowData(detailGridOptions, totInfo, 'top');
+	}
+
+	// 초기화 클릭시
+	$('#btnInit').on('click', function() {
+		$('#searchForm')[0].reset();
+
+		$('#extmallIdTxt').html('');
+		$('#searchForm input[name=extmallIdList]').val('');
+		$('#supplyCompCdTxt').html('');
+		$('#searchForm input[name=supplyCompCdList]').val('');
+		$('#afLinkCdTxt').html('');
+		$('#searchForm input[name=afLinkCdList]').val('');
+		$('#brandCdTxt').html('');
+		$('#searchForm input[name=brandCdList]').val('');
+		$('#itemkindCdTxt').html('');
+		$('#searchForm input[name=itemkindCdList]').val('');
+	});
+
+	$(document).ready(function() {
+		cfnCreateCalendar('#terms', 'startDt', 'endDt', true, '주문', undefined, ['btnToday']);
+		$('.btnYesterday').trigger('click');
+
+		// Create a agGrid
+		gagaAgGrid.createGrid('gridList', gridOptions);
+		// Create a agGrid
+		gagaAgGrid.createGrid('detailGridList', detailGridOptions);
+
+	});
+/*]]>*/
+</script>
+
+</html>