Merge remote-tracking branch 'origin/jenkins_with_weblogic' into jenkins_with_weblogic
This commit is contained in:
@@ -87,6 +87,12 @@
|
||||
resource="com/eactive/eai/rms/onl/statistics/backup/MonthlyBackup-oracle.xml" />
|
||||
<sqlMap
|
||||
resource="com/eactive/eai/rms/onl/statistics/backup/Tseaist01-oracle.xml" />
|
||||
|
||||
<sqlMap
|
||||
resource="com/eactive/eai/rms/onl/transaction/Layout.xml" />
|
||||
<sqlMap
|
||||
resource="com/eactive/eai/rms/onl/transaction/Layout-oracle.xml" />
|
||||
|
||||
|
||||
<!-- 통계 -->
|
||||
<!-- 통계/매체별통계 -->
|
||||
|
||||
@@ -391,18 +391,28 @@
|
||||
postData.searchEndDateTime = searchEndDate;
|
||||
}
|
||||
|
||||
var summaryPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
if (searchStartDate) {
|
||||
summaryPostData.searchStartDateTime = searchStartDate;
|
||||
}
|
||||
if (searchEndDate) {
|
||||
summaryPostData.searchEndDateTime = searchEndDate;
|
||||
}
|
||||
|
||||
$("#gridSummary").setGridParam({ url: url, postData: summaryPostData, page: 1 }).trigger("reloadGrid");
|
||||
$("#grid").setGridParam({ url: url, postData: postData, page: 1 }).trigger("reloadGrid");
|
||||
fetchChartData();
|
||||
}
|
||||
|
||||
function exportToExcel() {
|
||||
console.log('[Excel Export] Starting...');
|
||||
function exportToExcel(isSummary) {
|
||||
var cmdType = isSummary ? 'EXCEL_EXPORT_SUMMARY' : 'EXCEL_EXPORT';
|
||||
console.log('[Excel Export] Starting... (type: ' + cmdType + ')');
|
||||
|
||||
var searchStartDate = $("input[name=searchStartDateTime]").val().replace(/-/g, "");
|
||||
var searchEndDate = $("input[name=searchEndDateTime]").val().replace(/-/g, "");
|
||||
|
||||
var postData = {
|
||||
cmd: 'EXCEL_EXPORT',
|
||||
cmd: cmdType,
|
||||
searchApiName: $("input[name=searchApiName]").val(),
|
||||
searchGwInstanceId: $("input[name=searchGwInstanceId]").val(),
|
||||
searchBizDivCode: $("input[name=searchBizDivCode]").val(),
|
||||
@@ -517,6 +527,50 @@
|
||||
xhr.send(formData.join('&'));
|
||||
}
|
||||
|
||||
function listSummary() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
$('#gridSummary').jqGrid({
|
||||
datatype: "json",
|
||||
mtype: 'POST',
|
||||
postData: gridPostData,
|
||||
colNames: [
|
||||
'API명',
|
||||
'총건수', '성공', 'Timeout', '시스템오류', '업무오류',
|
||||
'Seq900 Timeout', 'Seq900 시스템오류', 'Seq900 업무오류',
|
||||
'평균응답(ms)', '최소응답(ms)', '최대응답(ms)'
|
||||
],
|
||||
colModel: [
|
||||
{ name: 'apiName', align: 'left', width: '250', sortable: false },
|
||||
{ name: 'totalCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'successCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'timeoutCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'systemErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'bizErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900TimeoutCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900SystemErrCnt', align: 'right', width: '120', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900BizErrCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'avgRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'minRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'maxRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false }
|
||||
],
|
||||
jsonReader: { repeatitems: false },
|
||||
pager: $('#pagerSummary'),
|
||||
page: '${param.page}',
|
||||
rowNum: '${rmsDefaultRowNum}',
|
||||
autoheight: true,
|
||||
height: 'auto',
|
||||
autowidth: true,
|
||||
viewrecords: true,
|
||||
rowList: eval('[${rmsDefaultRowList}]'),
|
||||
loadComplete: function(d) {
|
||||
var colModel = $(this).getGridParam("colModel");
|
||||
for (var i = 0; i < colModel.length; i++) {
|
||||
$(this).setColProp(colModel[i].name, { sortable: false });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function list() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST");
|
||||
$('#grid').jqGrid({
|
||||
@@ -603,17 +657,23 @@
|
||||
}
|
||||
|
||||
initCharts();
|
||||
listSummary();
|
||||
list();
|
||||
search();
|
||||
fetchChartData();
|
||||
resizeJqGridWidth('gridSummary', 'content_middle', '1200');
|
||||
resizeJqGridWidth('grid', 'content_middle', '1200');
|
||||
|
||||
$("#btn_search").click(function() {
|
||||
search();
|
||||
});
|
||||
|
||||
$("#btn_excel_export_summary").click(function() {
|
||||
exportToExcel(true);
|
||||
});
|
||||
|
||||
$("#btn_excel_export").click(function() {
|
||||
exportToExcel();
|
||||
exportToExcel(false);
|
||||
});
|
||||
|
||||
$("input[name^=search]").keydown(function(key) {
|
||||
@@ -646,9 +706,6 @@
|
||||
<button type="button" class="cssbtn" id="btn_search" level="R">
|
||||
<i class="material-icons">search</i> <%= localeMessage.getString("button.search") %>
|
||||
</button>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드
|
||||
</button>
|
||||
</div>
|
||||
<div class="title" id="title">API 일별 통계</div>
|
||||
<table class="search_condition" cellspacing="0">
|
||||
@@ -704,8 +761,30 @@
|
||||
<div id="callChart" class="chart"></div>
|
||||
<div id="respChart" class="chart"></div>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
|
||||
<!-- 요약 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">API명별 요약 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export_summary" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (요약)
|
||||
</button>
|
||||
</div>
|
||||
<table id="gridSummary"></table>
|
||||
<div id="pagerSummary"></div>
|
||||
</div>
|
||||
|
||||
<!-- 상세 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">상세 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (상세)
|
||||
</button>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -403,15 +403,23 @@
|
||||
postData.searchEndDateTime = searchDate + "23";
|
||||
}
|
||||
|
||||
var summaryPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
if (searchDate) {
|
||||
summaryPostData.searchStartDateTime = searchDate + "00";
|
||||
summaryPostData.searchEndDateTime = searchDate + "23";
|
||||
}
|
||||
|
||||
$("#gridSummary").setGridParam({ url: url, postData: summaryPostData, page: 1 }).trigger("reloadGrid");
|
||||
$("#grid").setGridParam({ url: url, postData: postData, page: 1 }).trigger("reloadGrid");
|
||||
fetchChartData();
|
||||
}
|
||||
|
||||
function exportToExcel() {
|
||||
console.log('[Excel Export] Starting...');
|
||||
function exportToExcel(isSummary) {
|
||||
var cmdType = isSummary ? 'EXCEL_EXPORT_SUMMARY' : 'EXCEL_EXPORT';
|
||||
console.log('[Excel Export] Starting... (type: ' + cmdType + ')');
|
||||
|
||||
var postData = {
|
||||
cmd: 'EXCEL_EXPORT',
|
||||
cmd: cmdType,
|
||||
searchApiName: $("input[name=searchApiName]").val(),
|
||||
searchGwInstanceId: $("input[name=searchGwInstanceId]").val(),
|
||||
searchBizDivCode: $("input[name=searchBizDivCode]").val(),
|
||||
@@ -525,6 +533,50 @@
|
||||
xhr.send(formData.join('&'));
|
||||
}
|
||||
|
||||
function listSummary() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
$('#gridSummary').jqGrid({
|
||||
datatype: "json",
|
||||
mtype: 'POST',
|
||||
postData: gridPostData,
|
||||
colNames: [
|
||||
'API명',
|
||||
'총건수', '성공', 'Timeout', '시스템오류', '업무오류',
|
||||
'Seq900 Timeout', 'Seq900 시스템오류', 'Seq900 업무오류',
|
||||
'평균응답(ms)', '최소응답(ms)', '최대응답(ms)'
|
||||
],
|
||||
colModel: [
|
||||
{ name: 'apiName', align: 'left', width: '250', sortable: false },
|
||||
{ name: 'totalCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'successCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'timeoutCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'systemErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'bizErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900TimeoutCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900SystemErrCnt', align: 'right', width: '120', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900BizErrCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'avgRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'minRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'maxRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false }
|
||||
],
|
||||
jsonReader: { repeatitems: false },
|
||||
pager: $('#pagerSummary'),
|
||||
page: '${param.page}',
|
||||
rowNum: '${rmsDefaultRowNum}',
|
||||
autoheight: true,
|
||||
height: 'auto',
|
||||
autowidth: true,
|
||||
viewrecords: true,
|
||||
rowList: eval('[${rmsDefaultRowList}]'),
|
||||
loadComplete: function(d) {
|
||||
var colModel = $(this).getGridParam("colModel");
|
||||
for (var i = 0; i < colModel.length; i++) {
|
||||
$(this).setColProp(colModel[i].name, { sortable: false });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function list() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST");
|
||||
$('#grid').jqGrid({
|
||||
@@ -589,17 +641,23 @@
|
||||
}
|
||||
|
||||
initCharts();
|
||||
listSummary();
|
||||
list();
|
||||
search();
|
||||
fetchChartData();
|
||||
resizeJqGridWidth('gridSummary', 'content_middle', '1200');
|
||||
resizeJqGridWidth('grid', 'content_middle', '1200');
|
||||
|
||||
$("#btn_search").click(function() {
|
||||
search();
|
||||
});
|
||||
|
||||
$("#btn_excel_export_summary").click(function() {
|
||||
exportToExcel(true);
|
||||
});
|
||||
|
||||
$("#btn_excel_export").click(function() {
|
||||
exportToExcel();
|
||||
exportToExcel(false);
|
||||
});
|
||||
|
||||
$("input[name^=search]").keydown(function(key) {
|
||||
@@ -632,9 +690,6 @@
|
||||
<button type="button" class="cssbtn" id="btn_search" level="R">
|
||||
<i class="material-icons">search</i> <%= localeMessage.getString("button.search") %>
|
||||
</button>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드
|
||||
</button>
|
||||
</div>
|
||||
<div class="title" id="title">API 시간별 통계</div>
|
||||
<table class="search_condition" cellspacing="0">
|
||||
@@ -688,8 +743,30 @@
|
||||
<div id="callChart" class="chart"></div>
|
||||
<div id="respChart" class="chart"></div>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
|
||||
<!-- 요약 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">API명별 요약 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export_summary" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (요약)
|
||||
</button>
|
||||
</div>
|
||||
<table id="gridSummary"></table>
|
||||
<div id="pagerSummary"></div>
|
||||
</div>
|
||||
|
||||
<!-- 상세 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">상세 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (상세)
|
||||
</button>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -411,15 +411,23 @@
|
||||
postData.searchEndDateTime = range.end;
|
||||
}
|
||||
|
||||
var summaryPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
if (range) {
|
||||
summaryPostData.searchStartDateTime = range.start;
|
||||
summaryPostData.searchEndDateTime = range.end;
|
||||
}
|
||||
|
||||
$("#gridSummary").setGridParam({ url: url, postData: summaryPostData, page: 1 }).trigger("reloadGrid");
|
||||
$("#grid").setGridParam({ url: url, postData: postData, page: 1 }).trigger("reloadGrid");
|
||||
fetchChartData(range);
|
||||
}
|
||||
|
||||
function exportToExcel() {
|
||||
console.log('[Excel Export] Starting...');
|
||||
function exportToExcel(isSummary) {
|
||||
var cmdType = isSummary ? 'EXCEL_EXPORT_SUMMARY' : 'EXCEL_EXPORT';
|
||||
console.log('[Excel Export] Starting... (type: ' + cmdType + ')');
|
||||
|
||||
var postData = {
|
||||
cmd: 'EXCEL_EXPORT',
|
||||
cmd: cmdType,
|
||||
searchApiName: $("input[name=searchApiName]").val(),
|
||||
searchGwInstanceId: $("input[name=searchGwInstanceId]").val(),
|
||||
searchBizDivCode: $("input[name=searchBizDivCode]").val(),
|
||||
@@ -536,7 +544,51 @@
|
||||
xhr.send(formData.join('&'));
|
||||
}
|
||||
|
||||
function list() {
|
||||
function listSummary() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
$('#gridSummary').jqGrid({
|
||||
datatype: "json",
|
||||
mtype: 'POST',
|
||||
postData: gridPostData,
|
||||
colNames: [
|
||||
'API명',
|
||||
'총건수', '성공', 'Timeout', '시스템오류', '업무오류',
|
||||
'Seq900 Timeout', 'Seq900 시스템오류', 'Seq900 업무오류',
|
||||
'평균응답(ms)', '최소응답(ms)', '최대응답(ms)'
|
||||
],
|
||||
colModel: [
|
||||
{ name: 'apiName', align: 'left', width: '250', sortable: false },
|
||||
{ name: 'totalCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'successCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'timeoutCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'systemErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'bizErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900TimeoutCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900SystemErrCnt', align: 'right', width: '120', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900BizErrCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'avgRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'minRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'maxRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false }
|
||||
],
|
||||
jsonReader: { repeatitems: false },
|
||||
pager: $('#pagerSummary'),
|
||||
page: '${param.page}',
|
||||
rowNum: '${rmsDefaultRowNum}',
|
||||
autoheight: true,
|
||||
height: 'auto',
|
||||
autowidth: true,
|
||||
viewrecords: true,
|
||||
rowList: eval('[${rmsDefaultRowList}]'),
|
||||
loadComplete: function(d) {
|
||||
var colModel = $(this).getGridParam("colModel");
|
||||
for (var i = 0; i < colModel.length; i++) {
|
||||
$(this).setColProp(colModel[i].name, { sortable: false });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function listDetail() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST");
|
||||
$('#grid').jqGrid({
|
||||
datatype: "json",
|
||||
@@ -626,17 +678,23 @@
|
||||
}
|
||||
|
||||
initCharts();
|
||||
list();
|
||||
listSummary();
|
||||
listDetail();
|
||||
search();
|
||||
fetchChartData(validateAndAdjustDateRange());
|
||||
resizeJqGridWidth('gridSummary', 'content_middle', '1200');
|
||||
resizeJqGridWidth('grid', 'content_middle', '1200');
|
||||
|
||||
$("#btn_search").click(function() {
|
||||
search();
|
||||
});
|
||||
|
||||
$("#btn_excel_export_summary").click(function() {
|
||||
exportToExcel(true);
|
||||
});
|
||||
|
||||
$("#btn_excel_export").click(function() {
|
||||
exportToExcel();
|
||||
exportToExcel(false);
|
||||
});
|
||||
|
||||
$("input[name^=search]").keydown(function(key) {
|
||||
@@ -674,9 +732,6 @@
|
||||
<button type="button" class="cssbtn" id="btn_search" level="R">
|
||||
<i class="material-icons">search</i> <%= localeMessage.getString("button.search") %>
|
||||
</button>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드
|
||||
</button>
|
||||
</div>
|
||||
<div class="title" id="title">API 분단위 통계</div>
|
||||
<table class="search_condition" cellspacing="0">
|
||||
@@ -734,8 +789,30 @@
|
||||
<div id="callChart" class="chart"></div>
|
||||
<div id="respChart" class="chart"></div>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
|
||||
<!-- 요약 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">API명별 요약 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export_summary" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (요약)
|
||||
</button>
|
||||
</div>
|
||||
<table id="gridSummary"></table>
|
||||
<div id="pagerSummary"></div>
|
||||
</div>
|
||||
|
||||
<!-- 상세 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">상세 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (상세)
|
||||
</button>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -395,18 +395,28 @@
|
||||
postData.searchEndDateTime = searchEndDate;
|
||||
}
|
||||
|
||||
var summaryPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
if (searchStartDate) {
|
||||
summaryPostData.searchStartDateTime = searchStartDate;
|
||||
}
|
||||
if (searchEndDate) {
|
||||
summaryPostData.searchEndDateTime = searchEndDate;
|
||||
}
|
||||
|
||||
$("#gridSummary").setGridParam({ url: url, postData: summaryPostData, page: 1 }).trigger("reloadGrid");
|
||||
$("#grid").setGridParam({ url: url, postData: postData, page: 1 }).trigger("reloadGrid");
|
||||
fetchChartData();
|
||||
}
|
||||
|
||||
function exportToExcel() {
|
||||
console.log('[Excel Export] Starting...');
|
||||
function exportToExcel(isSummary) {
|
||||
var cmdType = isSummary ? 'EXCEL_EXPORT_SUMMARY' : 'EXCEL_EXPORT';
|
||||
console.log('[Excel Export] Starting... (type: ' + cmdType + ')');
|
||||
|
||||
var searchStartDate = $("input[name=searchStartDateTime]").val().replace(/-/g, "");
|
||||
var searchEndDate = $("input[name=searchEndDateTime]").val().replace(/-/g, "");
|
||||
|
||||
var postData = {
|
||||
cmd: 'EXCEL_EXPORT',
|
||||
cmd: cmdType,
|
||||
searchApiName: $("input[name=searchApiName]").val(),
|
||||
searchGwInstanceId: $("input[name=searchGwInstanceId]").val(),
|
||||
searchBizDivCode: $("input[name=searchBizDivCode]").val(),
|
||||
@@ -521,6 +531,50 @@
|
||||
xhr.send(formData.join('&'));
|
||||
}
|
||||
|
||||
function listSummary() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
$('#gridSummary').jqGrid({
|
||||
datatype: "json",
|
||||
mtype: 'POST',
|
||||
postData: gridPostData,
|
||||
colNames: [
|
||||
'API명',
|
||||
'총건수', '성공', 'Timeout', '시스템오류', '업무오류',
|
||||
'Seq900 Timeout', 'Seq900 시스템오류', 'Seq900 업무오류',
|
||||
'평균응답(ms)', '최소응답(ms)', '최대응답(ms)'
|
||||
],
|
||||
colModel: [
|
||||
{ name: 'apiName', align: 'left', width: '250', sortable: false },
|
||||
{ name: 'totalCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'successCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'timeoutCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'systemErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'bizErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900TimeoutCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900SystemErrCnt', align: 'right', width: '120', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900BizErrCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'avgRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'minRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'maxRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false }
|
||||
],
|
||||
jsonReader: { repeatitems: false },
|
||||
pager: $('#pagerSummary'),
|
||||
page: '${param.page}',
|
||||
rowNum: '${rmsDefaultRowNum}',
|
||||
autoheight: true,
|
||||
height: 'auto',
|
||||
autowidth: true,
|
||||
viewrecords: true,
|
||||
rowList: eval('[${rmsDefaultRowList}]'),
|
||||
loadComplete: function(d) {
|
||||
var colModel = $(this).getGridParam("colModel");
|
||||
for (var i = 0; i < colModel.length; i++) {
|
||||
$(this).setColProp(colModel[i].name, { sortable: false });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function list() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST");
|
||||
$('#grid').jqGrid({
|
||||
@@ -593,17 +647,23 @@
|
||||
}
|
||||
|
||||
initCharts();
|
||||
listSummary();
|
||||
list();
|
||||
search();
|
||||
fetchChartData();
|
||||
resizeJqGridWidth('gridSummary', 'content_middle', '1200');
|
||||
resizeJqGridWidth('grid', 'content_middle', '1200');
|
||||
|
||||
$("#btn_search").click(function() {
|
||||
search();
|
||||
});
|
||||
|
||||
$("#btn_excel_export_summary").click(function() {
|
||||
exportToExcel(true);
|
||||
});
|
||||
|
||||
$("#btn_excel_export").click(function() {
|
||||
exportToExcel();
|
||||
exportToExcel(false);
|
||||
});
|
||||
|
||||
$("input[name^=search]").keydown(function(key) {
|
||||
@@ -636,9 +696,6 @@
|
||||
<button type="button" class="cssbtn" id="btn_search" level="R">
|
||||
<i class="material-icons">search</i> <%= localeMessage.getString("button.search") %>
|
||||
</button>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드
|
||||
</button>
|
||||
</div>
|
||||
<div class="title" id="title">API 월별 통계</div>
|
||||
<table class="search_condition" cellspacing="0">
|
||||
@@ -694,8 +751,30 @@
|
||||
<div id="callChart" class="chart"></div>
|
||||
<div id="respChart" class="chart"></div>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
|
||||
<!-- 요약 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">API명별 요약 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export_summary" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (요약)
|
||||
</button>
|
||||
</div>
|
||||
<table id="gridSummary"></table>
|
||||
<div id="pagerSummary"></div>
|
||||
</div>
|
||||
|
||||
<!-- 상세 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">상세 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (상세)
|
||||
</button>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -369,18 +369,28 @@
|
||||
postData.searchEndDateTime = searchEndDate;
|
||||
}
|
||||
|
||||
var summaryPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
if (searchStartDate) {
|
||||
summaryPostData.searchStartDateTime = searchStartDate;
|
||||
}
|
||||
if (searchEndDate) {
|
||||
summaryPostData.searchEndDateTime = searchEndDate;
|
||||
}
|
||||
|
||||
$("#gridSummary").setGridParam({ url: url, postData: summaryPostData, page: 1 }).trigger("reloadGrid");
|
||||
$("#grid").setGridParam({ url: url, postData: postData, page: 1 }).trigger("reloadGrid");
|
||||
fetchChartData();
|
||||
}
|
||||
|
||||
function exportToExcel() {
|
||||
console.log('[Excel Export] Starting...');
|
||||
function exportToExcel(isSummary) {
|
||||
var cmdType = isSummary ? 'EXCEL_EXPORT_SUMMARY' : 'EXCEL_EXPORT';
|
||||
console.log('[Excel Export] Starting... (type: ' + cmdType + ')');
|
||||
|
||||
var searchStartDate = $("input[name=searchStartDateTime]").val().replace(/-/g, "");
|
||||
var searchEndDate = $("input[name=searchEndDateTime]").val().replace(/-/g, "");
|
||||
|
||||
var postData = {
|
||||
cmd: 'EXCEL_EXPORT',
|
||||
cmd: cmdType,
|
||||
searchApiName: $("input[name=searchApiName]").val(),
|
||||
searchGwInstanceId: $("input[name=searchGwInstanceId]").val(),
|
||||
searchBizDivCode: $("input[name=searchBizDivCode]").val(),
|
||||
@@ -495,6 +505,50 @@
|
||||
xhr.send(formData.join('&'));
|
||||
}
|
||||
|
||||
function listSummary() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST_SUMMARY");
|
||||
$('#gridSummary').jqGrid({
|
||||
datatype: "json",
|
||||
mtype: 'POST',
|
||||
postData: gridPostData,
|
||||
colNames: [
|
||||
'API명',
|
||||
'총건수', '성공', 'Timeout', '시스템오류', '업무오류',
|
||||
'Seq900 Timeout', 'Seq900 시스템오류', 'Seq900 업무오류',
|
||||
'평균응답(ms)', '최소응답(ms)', '최대응답(ms)'
|
||||
],
|
||||
colModel: [
|
||||
{ name: 'apiName', align: 'left', width: '250', sortable: false },
|
||||
{ name: 'totalCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'successCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'timeoutCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'systemErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'bizErrCnt', align: 'right', width: '80', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900TimeoutCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900SystemErrCnt', align: 'right', width: '120', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'seq900BizErrCnt', align: 'right', width: '100', formatter: numberFormatter, sortable: false },
|
||||
{ name: 'avgRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'minRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false },
|
||||
{ name: 'maxRespTime', align: 'right', width: '90', formatter: decimalFormatter, sortable: false }
|
||||
],
|
||||
jsonReader: { repeatitems: false },
|
||||
pager: $('#pagerSummary'),
|
||||
page: '${param.page}',
|
||||
rowNum: '${rmsDefaultRowNum}',
|
||||
autoheight: true,
|
||||
height: 'auto',
|
||||
autowidth: true,
|
||||
viewrecords: true,
|
||||
rowList: eval('[${rmsDefaultRowList}]'),
|
||||
loadComplete: function(d) {
|
||||
var colModel = $(this).getGridParam("colModel");
|
||||
for (var i = 0; i < colModel.length; i++) {
|
||||
$(this).setColProp(colModel[i].name, { sortable: false });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function list() {
|
||||
var gridPostData = getSearchForJqgrid("cmd", "LIST");
|
||||
$('#grid').jqGrid({
|
||||
@@ -562,17 +616,23 @@
|
||||
}
|
||||
|
||||
initCharts();
|
||||
listSummary();
|
||||
list();
|
||||
search();
|
||||
fetchChartData();
|
||||
resizeJqGridWidth('gridSummary', 'content_middle', '1200');
|
||||
resizeJqGridWidth('grid', 'content_middle', '1200');
|
||||
|
||||
$("#btn_search").click(function() {
|
||||
search();
|
||||
});
|
||||
|
||||
$("#btn_excel_export_summary").click(function() {
|
||||
exportToExcel(true);
|
||||
});
|
||||
|
||||
$("#btn_excel_export").click(function() {
|
||||
exportToExcel();
|
||||
exportToExcel(false);
|
||||
});
|
||||
|
||||
$("input[name^=search]").keydown(function(key) {
|
||||
@@ -605,9 +665,6 @@
|
||||
<button type="button" class="cssbtn" id="btn_search" level="R">
|
||||
<i class="material-icons">search</i> <%= localeMessage.getString("button.search") %>
|
||||
</button>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드
|
||||
</button>
|
||||
</div>
|
||||
<div class="title" id="title">API 연간 통계</div>
|
||||
<table class="search_condition" cellspacing="0">
|
||||
@@ -662,8 +719,30 @@
|
||||
<div id="callChart" class="chart"></div>
|
||||
<div id="respChart" class="chart"></div>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
|
||||
<!-- 요약 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">API명별 요약 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export_summary" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (요약)
|
||||
</button>
|
||||
</div>
|
||||
<table id="gridSummary"></table>
|
||||
<div id="pagerSummary"></div>
|
||||
</div>
|
||||
|
||||
<!-- 상세 그리드 -->
|
||||
<div style="margin-top: 20px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||
<div class="title" style="margin: 0;">상세 통계</div>
|
||||
<button type="button" class="cssbtn" id="btn_excel_export" level="R">
|
||||
<i class="material-icons">file_download</i> Excel 다운로드 (상세)
|
||||
</button>
|
||||
</div>
|
||||
<table id="grid"></table>
|
||||
<div id="pager"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user