This commit is contained in:
Rinjae
2025-09-05 17:16:26 +09:00
commit c54ef1903f
4947 changed files with 817291 additions and 0 deletions
@@ -0,0 +1,346 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotCss.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/bapMessageDailyMan.json" />';
var url_view ='<c:url value="/bap/statistics/bapMessageDailyMan.view" />';
var url_excel ='<c:url value="/bap/statistics/bapMessageDailyMan.excel" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
// Browser 버전에 따라서 jqgrid의 옵션중에 rownum 값을 셋팅합니다.
function getRowNum()
{
return ieV8Chk() ? 100 : 10000;
}
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
$(document).ready(function() {
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999-99",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['기준월', '<%=localeMessage.getString("batInterfaceMan.ifId")%>','인터페이스명'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류'
],
colModel:[
{ name : 'STATCYM' , align:'left' ,width:'60px' , sortable:false},
{ name : 'INTFID' , align:'left' ,width:'100px' , sortable:false},
{ name : 'INTFNAME' , align:'left' ,width:'200px' , sortable:false},
{ name : 'DDTRSMTNOITM1' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM1' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM2' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM2' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM3' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM3' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM4' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM4' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM5' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM5' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM6' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM6' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM7' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM7' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM8' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM8' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM9' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM9' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM10' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM10' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM11' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM11' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM12' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM12' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM13' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM13' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM14' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM14' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM15' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM15' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM16' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM16' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM17' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM17' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM18' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM18' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM19' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM19' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM20' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM20' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM21' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM21' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM22' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM22' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM23' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM23' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM24' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM24' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM25' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM25' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM26' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM26' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM27' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM27' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM28' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM28' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM29' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM29' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM30' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM30' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM31' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM31' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} }
],
jsonReader: {
repeatitems:false
},
height: 260,
autowidth: true,
rowNum : 10000, // Grid에 표시될 레코드 수 설정.
viewrecords: true, // 총 레코드 수를 페이징바에 표시. (default: false)
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
shrinkToFit: false, // 가로 스크롤바 사용
footerrow:true, // 하단에 summary row 출력여부.(default: false)
userDataOnFooter:true,
rownumbers:true, // Grid의 행번호 출력여부.(default: false)
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
loadComplete:function (d){
if(plotChart1 == undefined || plotChart1 == null)
{
var rowsData = d.rows;
var sumData = d.totalSum;
var sumDataObj = new Object();
var i = 1;
$("#chart1").empty();
$("#chart2").empty();
plotChart1 = jqLineChart('chart1', rowsData, 31,'DDTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', rowsData, 31,'DDERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
// 합계 셋팅.
while(sumData["DDTRSMTNOITM"+i+"_SUM"] != undefined)
{
if(i==1)
sumDataObj["INTFID"] = "합계";
sumDataObj["DDTRSMTNOITM"+i] = sumData["DDTRSMTNOITM" + i + "_SUM"];
sumDataObj["DDERRNOITM"+i] = sumData["DDERRNOITM" + i + "_SUM"];
i++;
}
$(this).jqGrid("footerData", "set",sumDataObj);
// End 합계 셋팅.
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var data =[];
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
// 차트 생성.
data[0]=rowData;
plotChart1 = jqLineChart('chart1', data, 31,'DDTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 31,'DDERRNOITM', "오류건수");
},
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'DDTRSMTNOITM1', numberOfColumns: 2, titleText: '1'},
{startColumnName: 'DDTRSMTNOITM2', numberOfColumns: 2, titleText: '2'},
{startColumnName: 'DDTRSMTNOITM3', numberOfColumns: 2, titleText: '3'},
{startColumnName: 'DDTRSMTNOITM4', numberOfColumns: 2, titleText: '4'},
{startColumnName: 'DDTRSMTNOITM5', numberOfColumns: 2, titleText: '5'},
{startColumnName: 'DDTRSMTNOITM6', numberOfColumns: 2, titleText: '6'},
{startColumnName: 'DDTRSMTNOITM7', numberOfColumns: 2, titleText: '7'},
{startColumnName: 'DDTRSMTNOITM8', numberOfColumns: 2, titleText: '8'},
{startColumnName: 'DDTRSMTNOITM9', numberOfColumns: 2, titleText: '9'},
{startColumnName: 'DDTRSMTNOITM10', numberOfColumns: 2, titleText: '10'},
{startColumnName: 'DDTRSMTNOITM11', numberOfColumns: 2, titleText: '11'},
{startColumnName: 'DDTRSMTNOITM12', numberOfColumns: 2, titleText: '12'},
{startColumnName: 'DDTRSMTNOITM13', numberOfColumns: 2, titleText: '13'},
{startColumnName: 'DDTRSMTNOITM14', numberOfColumns: 2, titleText: '14'},
{startColumnName: 'DDTRSMTNOITM15', numberOfColumns: 2, titleText: '15'},
{startColumnName: 'DDTRSMTNOITM16', numberOfColumns: 2, titleText: '16'},
{startColumnName: 'DDTRSMTNOITM17', numberOfColumns: 2, titleText: '17'},
{startColumnName: 'DDTRSMTNOITM18', numberOfColumns: 2, titleText: '18'},
{startColumnName: 'DDTRSMTNOITM19', numberOfColumns: 2, titleText: '19'},
{startColumnName: 'DDTRSMTNOITM20', numberOfColumns: 2, titleText: '20'},
{startColumnName: 'DDTRSMTNOITM21', numberOfColumns: 2, titleText: '21'},
{startColumnName: 'DDTRSMTNOITM22', numberOfColumns: 2, titleText: '22'},
{startColumnName: 'DDTRSMTNOITM23', numberOfColumns: 2, titleText: '23'},
{startColumnName: 'DDTRSMTNOITM24', numberOfColumns: 2, titleText: '24'},
{startColumnName: 'DDTRSMTNOITM25', numberOfColumns: 2, titleText: '25'},
{startColumnName: 'DDTRSMTNOITM26', numberOfColumns: 2, titleText: '26'},
{startColumnName: 'DDTRSMTNOITM27', numberOfColumns: 2, titleText: '27'},
{startColumnName: 'DDTRSMTNOITM28', numberOfColumns: 2, titleText: '28'},
{startColumnName: 'DDTRSMTNOITM29', numberOfColumns: 2, titleText: '29'},
{startColumnName: 'DDTRSMTNOITM30', numberOfColumns: 2, titleText: '30'},
{startColumnName: 'DDTRSMTNOITM31', numberOfColumns: 2, titleText: '31'}
]
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(!isFromToDate(postData.searchStart, postData.searchEnd, "yymm"))
{
alert("입력한 날짜를 확인하여주십시요.\n"
+ "시작일 : " + setDateFormat(postData.searchStart) + "\n"
+ "종료일 : " + setDateFormat(postData.searchEnd));
return;
}
if(plotChart1 != undefined)
{
plotChart1.destroy();
plotChart2.destroy();
}
plotChart1 = null;
plotChart2 = null;
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
if ( confirm( "엑셀파일을 다운로드하시겠습니까?" ) != true ) return;
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
merge.push(makeMerge("","0","1","0","0"));
merge.push(makeMerge("기준월","0","1","1","1"));
merge.push(makeMerge("<%=localeMessage.getString("batInterfaceMan.ifId")%>","0","1","2","2"));
merge.push(makeMerge("인터페이스명","0","1","3","3"));
for(var i = 1 ; i < 63; i++) {
merge.push(makeMerge(String((i/2+0.5)),"0","0",String(i+3),String(i+4)));
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
merge.push(makeMerge(String(i+1),String(i+2),String(i+2),"0","0"));
}
console.log($("#grid").getRowData());
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"인터페이스별 일별 거래현황",merge);
return false;
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">인터페이스별 일별 거래현황</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">인터페이스명</th>
<td>
<input type="text" name="searchIntfId" value="${param.searchIntfId}">
</td>
<th style="width:120px;">기간</th>
<td>
<input type="text" name="searchStart" value="${param.searchStart}" style="width:100px"> ~
<input type="text" name="searchEnd" value="${param.searchEnd}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<table width="100%">
<tr width="100%">
<td width="50%"><div id="chart1">차트영역</div></td>
<td width="50%"><div id="chart2">차트영역</div></td>
</tr>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,293 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/bapMessageMonthlyMan.json" />';
var url_view ='<c:url value="/bap/statistics/bapMessageMonthlyMan.view" />';
var url_excel ='<c:url value="/bap/statistics/bapMessageMonthlyMan.excel" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
$(document).ready(function() {
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
//$("input[name=searchStart]").val('201212');
//$("input[name=searchEnd]").val('201212');
// detail();
//chart('chart1',data,'DDTRSMTNOITM');
// var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
// Grid 조회.
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['기준년','<%=localeMessage.getString("batInterfaceMan.ifId")%>','인터페이스명'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류'
],
colModel:[
{ name : 'STATCY' , align:'left' ,width:'60px' ,sortable:false},
{ name : 'INTFID' , align:'left' ,width:'100px' ,sortable:false},
{ name : 'INTFNAME' , align:'left' ,width:'200px' ,sortable:false},
{ name : 'MNTRSMTNOITM1' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM1', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM1' , align:'right' ,width:'50px' , index:'MNERRNOITM1', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM2' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM2', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM2' , align:'right' ,width:'50px' , index:'MNERRNOITM2', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM3' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM3', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM3' , align:'right' ,width:'50px' , index:'MNERRNOITM3', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM4' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM4', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM4' , align:'right' ,width:'50px' , index:'MNERRNOITM4', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM5' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM5', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM5' , align:'right' ,width:'50px' , index:'MNERRNOITM5', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM6' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM6', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM6' , align:'right' ,width:'50px' , index:'MNERRNOITM6', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM7' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM7', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM7' , align:'right' ,width:'50px' , index:'MNERRNOITM7', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM8' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM8', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM8' , align:'right' ,width:'50px' , index:'MNERRNOITM8', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM9' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM9', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM9' , align:'right' ,width:'50px' , index:'MNERRNOITM9', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM10' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM10', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM10' , align:'right' ,width:'50px' , index:'MNERRNOITM10', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM11' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM11', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM11' , align:'right' ,width:'50px' , index:'MNERRNOITM11', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM12' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM12', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM12' , align:'right' ,width:'50px' , index:'MNERRNOITM12', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"}
],
//SUM(1DDTRSMTNOITM) AS DDTRSMTNOITM1, SUM(1DDERRNOITM) AS DDERRNOITM1, SUM(1DDRSPNSAVGVAL) AS DDRSPNSAVGVAL1,
jsonReader: {
repeatitems:false
},
height: 260,
autowidth: true,
pager : $('#pager'),
rowNum : 10000,
viewrecords: true,
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
shrinkTofit:false,
footerrow:true,
userDataOnFooter:true,
rownumbers:true,
//forceFit:true,
//rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
loadComplete:function (d){
if(plotChart1 == undefined || plotChart1 == null)
{
var data = d.rows;
var sumData = d.totalSum;
var sumDataObj = new Object();
var i = 1;
$("#chart1").empty();
$("#chart2").empty();
// 차트 생성.
plotChart1 = jqLineChart('chart1', data, 12,'MNTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 12,'MNERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
// 합계 셋팅.
while(sumData["MNTRSMTNOITM"+ i + "_SUM"] != undefined)
{
if(i==1)
sumDataObj["INTFID"] = "합계";
sumDataObj["MNTRSMTNOITM"+i] = sumData["MNTRSMTNOITM" + i + "_SUM"];
sumDataObj["MNERRNOITM"+i] = sumData["MNERRNOITM" + i + "_SUM"];
i++;
}
$(this).jqGrid("footerData", "set",sumDataObj);
// End 합계 셋팅.
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var data =[];
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
// 차트 생성.
data[0]=rowData;
plotChart1 = jqLineChart('chart1', data, 12,'MNTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 12,'MNERRNOITM', "오류건수");
},
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'MNTRSMTNOITM1', numberOfColumns: 2, titleText: '1'},
{startColumnName: 'MNTRSMTNOITM2', numberOfColumns: 2, titleText: '2'},
{startColumnName: 'MNTRSMTNOITM3', numberOfColumns: 2, titleText: '3'},
{startColumnName: 'MNTRSMTNOITM4', numberOfColumns: 2, titleText: '4'},
{startColumnName: 'MNTRSMTNOITM5', numberOfColumns: 2, titleText: '5'},
{startColumnName: 'MNTRSMTNOITM6', numberOfColumns: 2, titleText: '6'},
{startColumnName: 'MNTRSMTNOITM7', numberOfColumns: 2, titleText: '7'},
{startColumnName: 'MNTRSMTNOITM8', numberOfColumns: 2, titleText: '8'},
{startColumnName: 'MNTRSMTNOITM9', numberOfColumns: 2, titleText: '9'},
{startColumnName: 'MNTRSMTNOITM10', numberOfColumns: 2, titleText: '10'},
{startColumnName: 'MNTRSMTNOITM11', numberOfColumns: 2, titleText: '11'},
{startColumnName: 'MNTRSMTNOITM12', numberOfColumns: 2, titleText: '12'}
]
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(!isFromToDate(postData.searchStart, postData.searchEnd))
{
alert("입력한 날짜를 확인하여주십시요.\n"
+ "시작일 : " + setDateFormat(postData.searchStart) + "\n"
+ "종료일 : " + setDateFormat(postData.searchEnd));
return;
}
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
plotChart1 = null;
plotChart2 = null;
// grid 조회
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
if ( confirm( "엑셀파일을 다운로드하시겠습니까?" ) != true ) return;
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
merge.push(makeMerge("","0","1","0","0"));
merge.push(makeMerge("기준년","0","1","1","1"));
merge.push(makeMerge("<%=localeMessage.getString("batInterfaceMan.ifId")%>","0","1","2","2"));
merge.push(makeMerge("인터페이스명","0","1","3","3"));
for(var i = 1 ; i < 25; i++) {
merge.push(makeMerge(String((i/2+0.5)),"0","0",String(i+3),String(i+4)));
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
merge.push(makeMerge(String(i+1),String(i+2),String(i+2),"0","0"));
}
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"인터페이스별 월별 거래현황",merge);
return false;
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">인터페이스별 월별 거래현황</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">인터페이스명</th>
<td>
<input type="text" name="searchIntfId" value="${param.searchIntfId}">
</td>
<th style="width:120px;">기간</th>
<td>
<input type="text" name="searchStart" value="${param.searchStart}" style="width:100px"> ~
<input type="text" name="searchEnd" value="${param.searchEnd}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<table width="100%">
<tr width="100%">
<td width="50%"><div id="chart1">차트영역</div></td>
<td width="50%"><div id="chart2">차트영역</div></td>
</tr>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,390 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotCss.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/comEaibzwkdstcd/comBjobBzwkDstcdDailyMan.json" />';
var url_view ='<c:url value="/bap/statistics/comEaibzwkdstcd/comBjobBzwkDstcdDailyMan.view" />';
var url_excel ='<c:url value="/bap/statistics/comEaibzwkdstcd/comBjobBzwkDstcdDailyMan.excel" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
// Browser 버전에 따라서 jqgrid의 옵션중에 rownum 값을 셋팅합니다.
function getRowNum()
{
return ieV8Chk() ? 100 : 10000;
}
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
var col1 = "일괄타입코드";
var col2 = "일괄타입명";
$(document).ready(function() {
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
if(svrDstcd == "BAT"){
col1 = "<%=localeMessage.getString("batInterfaceMan.ifId")%>";
col2= "<%=localeMessage.getString("batInterfaceMan.ifName")%>";
}
$("#svrDst").val(svrDstcd);
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999-99",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['기준월',col1,col2
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류'
],
colModel:[
{ name : 'STATCYM' , align:'left' ,width:'60px' , sortable:false},
{ name : 'BJOBBZWKDSTCD' , align:'left' ,width:'100px' , sortable:false},
{ name : 'BJOBBZWKNAME' , align:'left' ,width:'200px' , sortable:false},
{ name : 'DDTRSMTNOITM1' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM1' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM2' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM2' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM3' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM3' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM4' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM4' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM5' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM5' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM6' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM6' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM7' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM7' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM8' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM8' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM9' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM9' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM10' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM10' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM11' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM11' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM12' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM12' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM13' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM13' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM14' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM14' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM15' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM15' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM16' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM16' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM17' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM17' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM18' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM18' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM19' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM19' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM20' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM20' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM21' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM21' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM22' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM22' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM23' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM23' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM24' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM24' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM25' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM25' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM26' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM26' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM27' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM27' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM28' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM28' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM29' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM29' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM30' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM30' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM31' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM31' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} }
],
jsonReader: {
repeatitems:false
},
height: 260,
autowidth: true,
rowNum : 10000, // Grid에 표시될 레코드 수 설정.
viewrecords: true, // 총 레코드 수를 페이징바에 표시. (default: false)
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
shrinkToFit: false, // 가로 스크롤바 사용
footerrow:true, // 하단에 summary row 출력여부.(default: false)
userDataOnFooter:true,
rownumbers:true, // Grid의 행번호 출력여부.(default: false)
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
var colModel = $("#grid").jqGrid('getGridParam','colModel'); //배열형태
$("#grid").jqGrid('setLabel',colModel[2]['name'],col1);//col1
$("#grid").jqGrid('setLabel',colModel[3]['name'],col2);//col2
},
loadComplete:function (d){
plotChart1 = null;
plotChart2 = null;
var data = d.rows;
if(svrDstcd=="BAT"){
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'BJOBBZWKDSTCD',data[i]['INTFID']);
$(this).jqGrid('setCell',i+1,'BJOBBZWKNAME',data[i]['INTFNAME']);
}
}
if(plotChart1 == undefined || plotChart1 == null)
{
var rowsData = d.rows;
var sumData = d.totalSum;
var sumDataObj = new Object();
var i = 1;
$("#chart1").empty();
$("#chart2").empty();
plotChart1 = jqLineChart('chart1', rowsData, 31,'DDTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', rowsData, 31,'DDERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
// 합계 셋팅.
while(sumData["DDTRSMTNOITM"+i+"_SUM"] != undefined)
{
if(i==1)
sumDataObj["BJOBBZWKDSTCD"] = "합계";
sumDataObj["DDTRSMTNOITM"+i] = sumData["DDTRSMTNOITM" + i + "_SUM"];
sumDataObj["DDERRNOITM"+i] = sumData["DDERRNOITM" + i + "_SUM"];
i++;
}
$(this).jqGrid("footerData", "set",sumDataObj);
// End 합계 셋팅.
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var data =[];
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
// 차트 생성.
data[0]=rowData;
plotChart1 = jqLineChart('chart1', data, 31,'DDTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 31,'DDERRNOITM', "오류건수");
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'DDTRSMTNOITM1', numberOfColumns: 2, titleText: '1'},
{startColumnName: 'DDTRSMTNOITM2', numberOfColumns: 2, titleText: '2'},
{startColumnName: 'DDTRSMTNOITM3', numberOfColumns: 2, titleText: '3'},
{startColumnName: 'DDTRSMTNOITM4', numberOfColumns: 2, titleText: '4'},
{startColumnName: 'DDTRSMTNOITM5', numberOfColumns: 2, titleText: '5'},
{startColumnName: 'DDTRSMTNOITM6', numberOfColumns: 2, titleText: '6'},
{startColumnName: 'DDTRSMTNOITM7', numberOfColumns: 2, titleText: '7'},
{startColumnName: 'DDTRSMTNOITM8', numberOfColumns: 2, titleText: '8'},
{startColumnName: 'DDTRSMTNOITM9', numberOfColumns: 2, titleText: '9'},
{startColumnName: 'DDTRSMTNOITM10', numberOfColumns: 2, titleText: '10'},
{startColumnName: 'DDTRSMTNOITM11', numberOfColumns: 2, titleText: '11'},
{startColumnName: 'DDTRSMTNOITM12', numberOfColumns: 2, titleText: '12'},
{startColumnName: 'DDTRSMTNOITM13', numberOfColumns: 2, titleText: '13'},
{startColumnName: 'DDTRSMTNOITM14', numberOfColumns: 2, titleText: '14'},
{startColumnName: 'DDTRSMTNOITM15', numberOfColumns: 2, titleText: '15'},
{startColumnName: 'DDTRSMTNOITM16', numberOfColumns: 2, titleText: '16'},
{startColumnName: 'DDTRSMTNOITM17', numberOfColumns: 2, titleText: '17'},
{startColumnName: 'DDTRSMTNOITM18', numberOfColumns: 2, titleText: '18'},
{startColumnName: 'DDTRSMTNOITM19', numberOfColumns: 2, titleText: '19'},
{startColumnName: 'DDTRSMTNOITM20', numberOfColumns: 2, titleText: '20'},
{startColumnName: 'DDTRSMTNOITM21', numberOfColumns: 2, titleText: '21'},
{startColumnName: 'DDTRSMTNOITM22', numberOfColumns: 2, titleText: '22'},
{startColumnName: 'DDTRSMTNOITM23', numberOfColumns: 2, titleText: '23'},
{startColumnName: 'DDTRSMTNOITM24', numberOfColumns: 2, titleText: '24'},
{startColumnName: 'DDTRSMTNOITM25', numberOfColumns: 2, titleText: '25'},
{startColumnName: 'DDTRSMTNOITM26', numberOfColumns: 2, titleText: '26'},
{startColumnName: 'DDTRSMTNOITM27', numberOfColumns: 2, titleText: '27'},
{startColumnName: 'DDTRSMTNOITM28', numberOfColumns: 2, titleText: '28'},
{startColumnName: 'DDTRSMTNOITM29', numberOfColumns: 2, titleText: '29'},
{startColumnName: 'DDTRSMTNOITM30', numberOfColumns: 2, titleText: '30'},
{startColumnName: 'DDTRSMTNOITM31', numberOfColumns: 2, titleText: '31'}
]
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(!isFromToDate(postData.searchStart, postData.searchEnd, "yymm"))
{
alert("입력한 날짜를 확인하여주십시요.\n"
+ "시작일 : " + setDateFormat(postData.searchStart) + "\n"
+ "종료일 : " + setDateFormat(postData.searchEnd));
return;
}
if(plotChart1 != undefined)
{
plotChart1.destroy();
plotChart2.destroy();
}
plotChart1 = null;
plotChart2 = null;
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
merge.push(makeMerge("","0","1","0","0"));
merge.push(makeMerge("기준월","0","1","1","1"));
merge.push(makeMerge("업무코드","0","1","2","2"));
merge.push(makeMerge("업무명","0","1","3","3"));
for(var i = 1 ; i < 32; i++) {
merge.push(makeMerge(String((i)),"0","0",String((2*i)+2),String((2*i)+3)));
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
//merge.push(makeMerge(String(i+1),String(i+2),String(i+2),"0","0"));
}
console.log($("#grid").getRowData());
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"업무별 일별 거래현황",merge);
return false;
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
svrDstcd = $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
if(svrDstcd=="BAT"){
col1="<%=localeMessage.getString("batInterfaceMan.ifId")%>";
col2="<%=localeMessage.getString("batInterfaceMan.ifName")%>";
}else{
col1="업무코드";
col2="업무명";
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">일별 거래현황</div>
<div class="select-style" style="display : inline-block;">
<select id="svrDst" name="searchSvrDstcd" style="width: 60px ; height: 25px; margin: 0px 0px 4px 0px;">
<option value="BAP">&nbsp;&nbsp;일괄</option>
<!-- <option value="BAT">&nbsp;&nbsp;배치</option> -->
</select>
</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">일괄타입명</th>
<td>
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:120px;">기간</th>
<td>
<input type="text" name="searchStart" value="${param.searchStart}" style="width:100px"> ~
<input type="text" name="searchEnd" value="${param.searchEnd}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<table width="100%">
<tr width="100%">
<td width="50%"><div id="chart1">차트영역</div></td>
<td width="50%"><div id="chart2">차트영역</div></td>
</tr>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,345 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/comEaibzwkdstcd/comBjobBzwkDstcdMonthlyMan.json" />';
var url_view ='<c:url value="/bap/statistics/comEaibzwkdstcd/comBjobBzwkDstcdMonthlyMan.view" />';
var url_excel ='<c:url value="/bap/statistics/comEaibzwkdstcd/comBjobBzwkDstcdMonthlyMan.excel" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
var col1 = "일괄타입코드";
var col2 = "일괄타입명";
$(document).ready(function() {
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
if(svrDstcd == "BAT"){
col1 = "인터페이스ID";
col2= "인터페이스명";
}
$("#svrDst").val(svrDstcd);
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
//$("input[name=searchStart]").val('201212');
//$("input[name=searchEnd]").val('201212');
// detail();
//chart('chart1',data,'DDTRSMTNOITM');
// var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
// Grid 조회.
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['기준년',col1,col2
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류'
],
colModel:[
{ name : 'STATCY' , align:'left' ,width:'60px' ,sortable:false},
{ name : 'BJOBBZWKDSTCD' , align:'left' ,width:'100px' ,sortable:false},
{ name : 'BJOBBZWKNAME' , align:'left' ,width:'200px' ,sortable:false},
{ name : 'MNTRSMTNOITM1' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM1', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM1' , align:'right' ,width:'50px' , index:'MNERRNOITM1', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM2' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM2', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM2' , align:'right' ,width:'50px' , index:'MNERRNOITM2', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM3' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM3', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM3' , align:'right' ,width:'50px' , index:'MNERRNOITM3', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM4' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM4', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM4' , align:'right' ,width:'50px' , index:'MNERRNOITM4', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM5' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM5', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM5' , align:'right' ,width:'50px' , index:'MNERRNOITM5', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM6' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM6', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM6' , align:'right' ,width:'50px' , index:'MNERRNOITM6', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM7' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM7', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM7' , align:'right' ,width:'50px' , index:'MNERRNOITM7', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM8' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM8', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM8' , align:'right' ,width:'50px' , index:'MNERRNOITM8', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM9' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM9', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM9' , align:'right' ,width:'50px' , index:'MNERRNOITM9', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM10' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM10', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM10' , align:'right' ,width:'50px' , index:'MNERRNOITM10', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM11' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM11', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM11' , align:'right' ,width:'50px' , index:'MNERRNOITM11', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM12' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM12', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM12' , align:'right' ,width:'50px' , index:'MNERRNOITM12', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"}
],
//SUM(1DDTRSMTNOITM) AS DDTRSMTNOITM1, SUM(1DDERRNOITM) AS DDERRNOITM1, SUM(1DDRSPNSAVGVAL) AS DDRSPNSAVGVAL1,
jsonReader: {
repeatitems:false
},
height: 260,
autowidth: true,
pager : $('#pager'),
rowNum : 10000,
viewrecords: true,
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
shrinkTofit:false,
footerrow:true,
userDataOnFooter:true,
rownumbers:true,
//forceFit:true,
//rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
var colModel = $("#grid").jqGrid('getGridParam','colModel'); //배열형태
$("#grid").jqGrid('setLabel',colModel[2]['name'],col1);//col1
$("#grid").jqGrid('setLabel',colModel[3]['name'],col2);//col2
},
loadComplete:function (d){
plotChart1 = null;
plotChart2 = null;
var data = d.rows;
if(svrDstcd=="BAT"){
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'BJOBBZWKDSTCD',data[i]['INTFID']);
$(this).jqGrid('setCell',i+1,'BJOBBZWKNAME',data[i]['INTFNAME']);
}
}
if(plotChart1 == undefined || plotChart1 == null)
{
var data = d.rows;
var sumData = d.totalSum;
var sumDataObj = new Object();
var i = 1;
$("#chart1").empty();
$("#chart2").empty();
// 차트 생성.
plotChart1 = jqLineChart('chart1', data, 12,'MNTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 12,'MNERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
// 합계 셋팅.
while(sumData["MNTRSMTNOITM"+ i + "_SUM"] != undefined)
{
if(i==1)
sumDataObj["BJOBBZWKDSTCD"] = "합계";
sumDataObj["MNTRSMTNOITM"+i] = sumData["MNTRSMTNOITM" + i + "_SUM"];
sumDataObj["MNERRNOITM"+i] = sumData["MNERRNOITM" + i + "_SUM"];
i++;
}
$(this).jqGrid("footerData", "set",sumDataObj);
// End 합계 셋팅.
}
var data = d.rows;
if(svrDstcd=="BAT"){
var colModel = $("#grid").jqGrid('getGridParam','colModel'); //배열형태
$("#grid").jqGrid('setLabel',colModel[2]['name'],col1);//col1
$("#grid").jqGrid('setLabel',colModel[3]['name'],col2);//col2
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'BJOBBZWKDSTCD',data[i]['INTFID']);
$(this).jqGrid('setCell',i+1,'BJOBBZWKNAME',data[i]['INTFNAME']);
}
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var data =[];
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
// 차트 생성.
data[0]=rowData;
plotChart1 = jqLineChart('chart1', data, 12,'MNTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 12,'MNERRNOITM', "오류건수");
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'MNTRSMTNOITM1', numberOfColumns: 2, titleText: '1'},
{startColumnName: 'MNTRSMTNOITM2', numberOfColumns: 2, titleText: '2'},
{startColumnName: 'MNTRSMTNOITM3', numberOfColumns: 2, titleText: '3'},
{startColumnName: 'MNTRSMTNOITM4', numberOfColumns: 2, titleText: '4'},
{startColumnName: 'MNTRSMTNOITM5', numberOfColumns: 2, titleText: '5'},
{startColumnName: 'MNTRSMTNOITM6', numberOfColumns: 2, titleText: '6'},
{startColumnName: 'MNTRSMTNOITM7', numberOfColumns: 2, titleText: '7'},
{startColumnName: 'MNTRSMTNOITM8', numberOfColumns: 2, titleText: '8'},
{startColumnName: 'MNTRSMTNOITM9', numberOfColumns: 2, titleText: '9'},
{startColumnName: 'MNTRSMTNOITM10', numberOfColumns: 2, titleText: '10'},
{startColumnName: 'MNTRSMTNOITM11', numberOfColumns: 2, titleText: '11'},
{startColumnName: 'MNTRSMTNOITM12', numberOfColumns: 2, titleText: '12'}
]
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(!isFromToDate(postData.searchStart, postData.searchEnd))
{
alert("입력한 날짜를 확인하여주십시요.\n"
+ "시작일 : " + setDateFormat(postData.searchStart) + "\n"
+ "종료일 : " + setDateFormat(postData.searchEnd));
return;
}
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
plotChart1 = null;
plotChart2 = null;
// grid 조회
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
merge.push(makeMerge("","0","1","0","0"));
merge.push(makeMerge("기준년","0","1","1","1"));
merge.push(makeMerge("업무코드","0","1","2","2"));
merge.push(makeMerge("업무명","0","1","3","3"));
for(var i = 1 ; i <= 12; i++) {
merge.push(makeMerge(String((i)),"0","0",String((2*i)+2),String((2*i)+3)));
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
//merge.push(makeMerge(String(i+1),String(i+2),String(i+2),"0","0"));
}
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"업무별 월별 거래현황",merge);
return false;
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
svrDstcd = $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
if(svrDstcd=="BAT"){
col1="인터페이스ID";
col2="인터페이스명";
}else{
col1="일괄타입코드";
col2="일괄타입명";
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">월별 거래현황</div>
<div class="select-style" style="display : inline-block;">
<select id="svrDst" name="searchSvrDstcd" style="width: 60px ; height: 25px; margin: 0px 0px 4px 0px;">
<option value="BAP">&nbsp;&nbsp;일괄</option>
<!-- <option value="BAT">&nbsp;&nbsp;배치</option> -->
</select>
</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">일괄타입명</th>
<td>
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:120px;">기간</th>
<td>
<input type="text" name="searchStart" value="${param.searchStart}" style="width:100px"> ~
<input type="text" name="searchEnd" value="${param.searchEnd}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<table width="100%">
<tr width="100%">
<td width="50%"><div id="chart1">차트영역</div></td>
<td width="50%"><div id="chart2">차트영역</div></td>
</tr>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,349 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotCss.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdDailyMan.json" />';
var url_view ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdDailyMan.view" />';
var url_excel ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdDailyMan.excel" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
// Browser 버전에 따라서 jqgrid의 옵션중에 rownum 값을 셋팅합니다.
function getRowNum()
{
return ieV8Chk() ? 100 : 10000;
}
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
$(document).ready(function() {
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999-99",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['기준월','업무코드','업무명'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류'
],
colModel:[
{ name : 'STATCYM' , align:'left' ,width:'60px' , sortable:false},
{ name : 'BJOBBZWKDSTCD' , align:'left' ,width:'100px' , sortable:false},
{ name : 'BJOBBZWKNAME' , align:'left' ,width:'200px' , sortable:false},
{ name : 'DDTRSMTNOITM1' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM1' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM2' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM2' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM3' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM3' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM4' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM4' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM5' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM5' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM6' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM6' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM7' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM7' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM8' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM8' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM9' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM9' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM10' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM10' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM11' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM11' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM12' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM12' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM13' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM13' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM14' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM14' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM15' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM15' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM16' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM16' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM17' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM17' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM18' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM18' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM19' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM19' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM20' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM20' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM21' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM21' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM22' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM22' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM23' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM23' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM24' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM24' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM25' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM25' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM26' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM26' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM27' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM27' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM28' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM28' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM29' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM29' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM30' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM30' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDTRSMTNOITM31' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} },
{ name : 'DDERRNOITM31' , align:'right' ,width:'50px' , formatter: 'integer', formatoptions:{thousandsSeparator:","} }
],
jsonReader: {
repeatitems:false
},
height: 260,
autowidth: true,
rowNum : 10000, // Grid에 표시될 레코드 수 설정.
viewrecords: true, // 총 레코드 수를 페이징바에 표시. (default: false)
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
shrinkToFit: false, // 가로 스크롤바 사용
footerrow:true, // 하단에 summary row 출력여부.(default: false)
userDataOnFooter:true,
rownumbers:true, // Grid의 행번호 출력여부.(default: false)
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
loadComplete:function (d){
if(plotChart1 == undefined || plotChart1 == null)
{
var rowsData = d.rows;
var sumData = d.totalSum;
var sumDataObj = new Object();
var i = 1;
$("#chart1").empty();
$("#chart2").empty();
plotChart1 = jqLineChart('chart1', rowsData, 31,'DDTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', rowsData, 31,'DDERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
// 합계 셋팅.
while(sumData["DDTRSMTNOITM"+i+"_SUM"] != undefined)
{
if(i==1)
sumDataObj["BJOBBZWKDSTCD"] = "합계";
sumDataObj["DDTRSMTNOITM"+i] = sumData["DDTRSMTNOITM" + i + "_SUM"];
sumDataObj["DDERRNOITM"+i] = sumData["DDERRNOITM" + i + "_SUM"];
i++;
}
$(this).jqGrid("footerData", "set",sumDataObj);
// End 합계 셋팅.
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var data =[];
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
// 차트 생성.
data[0]=rowData;
plotChart1 = jqLineChart('chart1', data, 31,'DDTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 31,'DDERRNOITM', "오류건수");
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'DDTRSMTNOITM1', numberOfColumns: 2, titleText: '1'},
{startColumnName: 'DDTRSMTNOITM2', numberOfColumns: 2, titleText: '2'},
{startColumnName: 'DDTRSMTNOITM3', numberOfColumns: 2, titleText: '3'},
{startColumnName: 'DDTRSMTNOITM4', numberOfColumns: 2, titleText: '4'},
{startColumnName: 'DDTRSMTNOITM5', numberOfColumns: 2, titleText: '5'},
{startColumnName: 'DDTRSMTNOITM6', numberOfColumns: 2, titleText: '6'},
{startColumnName: 'DDTRSMTNOITM7', numberOfColumns: 2, titleText: '7'},
{startColumnName: 'DDTRSMTNOITM8', numberOfColumns: 2, titleText: '8'},
{startColumnName: 'DDTRSMTNOITM9', numberOfColumns: 2, titleText: '9'},
{startColumnName: 'DDTRSMTNOITM10', numberOfColumns: 2, titleText: '10'},
{startColumnName: 'DDTRSMTNOITM11', numberOfColumns: 2, titleText: '11'},
{startColumnName: 'DDTRSMTNOITM12', numberOfColumns: 2, titleText: '12'},
{startColumnName: 'DDTRSMTNOITM13', numberOfColumns: 2, titleText: '13'},
{startColumnName: 'DDTRSMTNOITM14', numberOfColumns: 2, titleText: '14'},
{startColumnName: 'DDTRSMTNOITM15', numberOfColumns: 2, titleText: '15'},
{startColumnName: 'DDTRSMTNOITM16', numberOfColumns: 2, titleText: '16'},
{startColumnName: 'DDTRSMTNOITM17', numberOfColumns: 2, titleText: '17'},
{startColumnName: 'DDTRSMTNOITM18', numberOfColumns: 2, titleText: '18'},
{startColumnName: 'DDTRSMTNOITM19', numberOfColumns: 2, titleText: '19'},
{startColumnName: 'DDTRSMTNOITM20', numberOfColumns: 2, titleText: '20'},
{startColumnName: 'DDTRSMTNOITM21', numberOfColumns: 2, titleText: '21'},
{startColumnName: 'DDTRSMTNOITM22', numberOfColumns: 2, titleText: '22'},
{startColumnName: 'DDTRSMTNOITM23', numberOfColumns: 2, titleText: '23'},
{startColumnName: 'DDTRSMTNOITM24', numberOfColumns: 2, titleText: '24'},
{startColumnName: 'DDTRSMTNOITM25', numberOfColumns: 2, titleText: '25'},
{startColumnName: 'DDTRSMTNOITM26', numberOfColumns: 2, titleText: '26'},
{startColumnName: 'DDTRSMTNOITM27', numberOfColumns: 2, titleText: '27'},
{startColumnName: 'DDTRSMTNOITM28', numberOfColumns: 2, titleText: '28'},
{startColumnName: 'DDTRSMTNOITM29', numberOfColumns: 2, titleText: '29'},
{startColumnName: 'DDTRSMTNOITM30', numberOfColumns: 2, titleText: '30'},
{startColumnName: 'DDTRSMTNOITM31', numberOfColumns: 2, titleText: '31'}
]
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(!isFromToDate(postData.searchStart, postData.searchEnd, "yymm"))
{
alert("입력한 날짜를 확인하여주십시요.\n"
+ "시작일 : " + setDateFormat(postData.searchStart) + "\n"
+ "종료일 : " + setDateFormat(postData.searchEnd));
return;
}
if(plotChart1 != undefined)
{
plotChart1.destroy();
plotChart2.destroy();
}
plotChart1 = null;
plotChart2 = null;
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
merge.push(makeMerge("","0","1","0","0"));
merge.push(makeMerge("기준월","0","1","1","1"));
merge.push(makeMerge("업무코드","0","1","2","2"));
merge.push(makeMerge("업무명","0","1","3","3"));
for(var i = 1 ; i < 63; i++) {
merge.push(makeMerge(String((i/2+0.5)),"0","0",String(i+3),String(i+4)));
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
merge.push(makeMerge(String(i+1),String(i+2),String(i+2),"0","0"));
}
console.log($("#grid").getRowData());
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"업무별 일별 거래현황",merge);
return false;
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">업무별 일별 거래현황</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">업무명</th>
<td>
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:120px;">기간</th>
<td>
<input type="text" name="searchStart" value="${param.searchStart}" style="width:100px"> ~
<input type="text" name="searchEnd" value="${param.searchEnd}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<table width="100%">
<tr width="100%">
<td width="50%"><div id="chart1">차트영역</div></td>
<td width="50%"><div id="chart2">차트영역</div></td>
</tr>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,342 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript">
var url = '<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdListupMan.json" />';
var url_view = '<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdListupMan.view" />';
var url_excel = '<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdListupMan.excel" />';
function init(callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','<%=localeMessage.getString("combo.all")%>').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','<%=localeMessage.getString("combo.all")%>').setData(json.osidInstiDstcd).rendering();
putSelectFromParam();
if (typeof callback === 'function') {
callback();
}
// 검색기능을 활성화하면 업무구분에 따라 기관리스트가 변경 안됨
//setSearchable("searchBjobBzwkDstcd");
//setSearchable("searchOsidInstiDstcd");
},
error:function(e){
alert(e.responseText);
}
});
}
function statusFormat (cellvalue){
if ( cellvalue == 'T' ){
return '<%=localeMessage.getString("transactionListup.nomal")%>';
}else if ( cellvalue == 'Q' ) {
return '<%=localeMessage.getString("transactionListup.standBy")%>';
}else if ( cellvalue == 'C' ) {
return '<%=localeMessage.getString("transactionListup.CustomerStop")%>';
}else if ( cellvalue == 'N' ) {
return '<%=localeMessage.getString("transactionListup.noFile")%>';
}else if ( cellvalue == 'S' ) {
return '<span style="color:blue"><%=localeMessage.getString("transactionListup.start")%></span>';
}else if ( cellvalue == 'E' ) {
return '<span style="color:red"><%=localeMessage.getString("transactionListup.errEnd")%></span>';
}
return "";
}
function sendRecvFormat (cellvalue){
if ( cellvalue == 'S' ){
return '<%=localeMessage.getString("transactionListup.send")%>';
}else if ( cellvalue == 'R' ){
return '<%=localeMessage.getString("transactionListup.recv")%>';
}
return cellvalue;
}
function detail(){
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
if ( $("select[name=searchFrameWorkGb]").val() == '7' ) {
if ( start != end ) {
alert("NDM 거래조회기간은 1일을 넘을 수 없습니다.");
return;
}
}
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["startNum"] = 0;
postData["endNum"] = $("select[name=searchCount]").val();
postData["searchDistCd"] = $("select[name=searchDistCd]").val();
$("#grid").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
if ( searchStartYYYYMMDD == null || searchStartYYYYMMDD == ''){
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if ( searchEndYYYYMMDD == null || searchEndYYYYMMDD == ''){
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
$("select[name=searchBjobBzwkDstcd]").change(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{ cmd: 'LIST_ORGN_COMBO',
bjobBzwkDstcd : $(this).val()
},
success:function(json){
$("select[name=searchOsidInstiDstcd] option").remove();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','<%=localeMessage.getString("combo.all")%>').setData(json.osidInstiDstcd).rendering();
}
});
});
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ 'UUID',
'SUBUUID',
'프레임웍구분',
'<%=localeMessage.getString("transactionListup.bzwkdName")%>',
'<%=localeMessage.getString("transactionListup.osidInst")%>',
'<%=localeMessage.getString("transactionListup.fileName")%>',
'<%=localeMessage.getString("transactionListup.fileSize")%>',
'<%=localeMessage.getString("transactionListup.sendStatus")%>',
'<%=localeMessage.getString("transactionListup.jobType")%>',
'<%=localeMessage.getString("transactionListup.tranStartTime")%>',
'<%=localeMessage.getString("transactionListup.tranEndTime")%>'
],
colModel : [ { name : 'BJOBDMNDMSGID' , align : 'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align : 'left' , hidden:true },
{ name : 'FRAMEWORKGB' , align : 'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'AD' ) {
return 'AXWAY(대외)';
} else if ( cellvalue == 'AN' ) {
return 'AXWAY(내부)';
} else if ( cellvalue == 'NDM' ) {
return 'NDM(내부/대외)';
} else {
return cellvalue.trim();
}
}
},
{ name : 'BJOBBZWKNAME' , align : 'left' , width:'70' },
{ name : 'OSIDINSTINAME' , align : 'left' , width:'70' },
{ name : 'SNDRCVFILENAME' , align : 'left' , width:'150' },
{ name : 'SNDRCVFILESIZE' , align : 'right' , width:'70' , formatter: 'integer'},
{ name : 'THISSTGEPRCSSRSULTCD' , align : 'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'E' ) {
return '<span style="color:red">에러</span>';
} else if ( cellvalue == 'C' ) {
return '<span style="color:blue">전송성공</span>';
} else if ( cellvalue == 'P' ) {
return '<span style="color:green">진행중</span>';
} else {
return cellvalue.trim();
}
}
},
{ name : 'SNDRCV' , align:'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'S' ) {
return '송신';
} else if ( cellvalue == 'R' ) {
return '수신';
} else {
return '';
}
}
},
{ name : 'FILETRSMTSTARTHMS' , align:'center' , width:80 , formatter: timeStampFormat },
{ name : 'FILETRSMTENDHMS' , align:'center' , width:80 , formatter: timeStampFormat }
],
jsonReader : {
repeatitems : false
},
height : 500,
autowidth : true,
viewrecords : true,
//rownumbers:true,
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadComplete:function (d){
resizeJqGridWidth('grid','content_middle','1000');
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"주제별 상위거래",null);
return false;
});
buttonControl();
init(detail);
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title"><%=localeMessage.getString("transactionListup.title")%></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<!-- 거래기간 -->
<th style="width:100px;"><%=localeMessage.getString("transactionListup.tranPeriod")%></th>
<td colspan="3">
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" maxlength="10" value="${param.searchStartYYYYMMDD}" size="10" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD" id="endDatepicker" maxlength="10" value="${param.searchEndYYYYMMDD}" size="10" style="width:80px;">
<input type="hidden" name="searchStartTime" value="20170201">
<input type="hidden" name="searchEndTime" value="20170201">
</td>
<!-- 송수신구분 -->
<th style="width:100px;"><%=localeMessage.getString("transactionStatus.jobType")%></th>
<td style="width:200px;">
<div class="select-style">
<select type="text" name="searchProcessType" value="${param.searchProcessType}">
<option value="A"><%=localeMessage.getString("combo.all")%></option>
<option value="S"><%=localeMessage.getString("transactionStatus.send")%></option>
<option value="R"><%=localeMessage.getString("transactionStatus.recv")%></option>
</select>
</div>
</td>
<!-- 전송상태 -->
<th style="width:100px;"><%=localeMessage.getString("transactionStatus.sendStatus")%></th>
<td style="width:200px;">
<div class="select-style">
<select name="searchThisStgePrcssRsultCd" value="${param.searchThisStgePrcssRsultCd}">
<option value="">전체</option>
<option value="T">정상</option>
<option value="E">에러</option>
<option value="P">전송중</option>
</select>
</div>
</td>
<th style="width:100px;"><%=localeMessage.getString("transactionListup.fileName")%></th>
<td style="width:200px;">
<input type="text" name="searchBjobTranDstcdName" value="${param.searchBjobTranDstcdName}" />
</td>
</tr>
<tr>
<th style="width:100px;"><%=localeMessage.getString("transactionTrace.frameworkdst")%></th>
<td style="width:200px;">
<div class="select-style">
<select name="searchFrameWorkGb" value="${param.searchFrameWorkGb}">
<option value="2">전체</option>
<option value="1">F/W</option>
<option value="3">NDM(F)</option>
<option value="5">AXWAY(대외)</option>
<option value="6">AXWAY(내부)</option>
<option value="7">NDM(내부/대외)</option>
</select>
</div><!-- end.select-style -->
</td>
<th style="width:100px;"><%=localeMessage.getString("transactionListup.bzwkdName")%></th>
<td style="width:200px;">
<div class="select-style">
<select type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div><!-- end.select-style -->
</td>
<th style="width:100px;"><%=localeMessage.getString("transactionListup.osidInst")%></th>
<td style="width:200px;">
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
<th style="width:100px;"><%=localeMessage.getString("transactionListup.orderbyType")%></th>
<td style="width:200px;">
<div class="select-style">
<select name="searchDistCd" id="searchDistCd" readonly="readonly" >
<option value="fileSize">파일크기</option>
<option value="procTime">거래소요시간</option>
</select>
</div>
</td>
<th style="width:100px;">조회건수</th>
<td style="width:200px;">
<div class="select-style">
<select type="text" name="searchCount" value="${param.searchCount}">
<option value="10">10</option>
<option value="20">20</option>
</select>
</div>
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<!-- <div id="pager"></div> -->
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,296 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdMonthlyMan.json" />';
var url_view ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdMonthlyMan.view" />';
var url_excel ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdMonthlyMan.excel" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
$(document).ready(function() {
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
//$("input[name=searchStart]").val('201212');
//$("input[name=searchEnd]").val('201212');
// detail();
//chart('chart1',data,'DDTRSMTNOITM');
// var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
// Grid 조회.
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['기준년','업무코드','업무명'
,'전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류','전송','오류'
,'전송','오류','전송','오류'
],
colModel:[
{ name : 'STATCY' , align:'left' ,width:'60px' ,sortable:false},
{ name : 'BJOBBZWKDSTCD' , align:'left' ,width:'100px' ,sortable:false},
{ name : 'BJOBBZWKNAME' , align:'left' ,width:'200px' ,sortable:false},
{ name : 'MNTRSMTNOITM1' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM1', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM1' , align:'right' ,width:'50px' , index:'MNERRNOITM1', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM2' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM2', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM2' , align:'right' ,width:'50px' , index:'MNERRNOITM2', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM3' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM3', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM3' , align:'right' ,width:'50px' , index:'MNERRNOITM3', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM4' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM4', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM4' , align:'right' ,width:'50px' , index:'MNERRNOITM4', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM5' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM5', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM5' , align:'right' ,width:'50px' , index:'MNERRNOITM5', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM6' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM6', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM6' , align:'right' ,width:'50px' , index:'MNERRNOITM6', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM7' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM7', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM7' , align:'right' ,width:'50px' , index:'MNERRNOITM7', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM8' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM8', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM8' , align:'right' ,width:'50px' , index:'MNERRNOITM8', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM9' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM9', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM9' , align:'right' ,width:'50px' , index:'MNERRNOITM9', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM10' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM10', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM10' , align:'right' ,width:'50px' , index:'MNERRNOITM10', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM11' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM11', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM11' , align:'right' ,width:'50px' , index:'MNERRNOITM11', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNTRSMTNOITM12' , align:'right' ,width:'50px' , index:'MNTRSMTNOITM12', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'MNERRNOITM12' , align:'right' ,width:'50px' , index:'MNERRNOITM12', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"}
],
//SUM(1DDTRSMTNOITM) AS DDTRSMTNOITM1, SUM(1DDERRNOITM) AS DDERRNOITM1, SUM(1DDRSPNSAVGVAL) AS DDRSPNSAVGVAL1,
jsonReader: {
repeatitems:false
},
height: 260,
autowidth: true,
pager : $('#pager'),
rowNum : 10000,
viewrecords: true,
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
shrinkTofit:false,
footerrow:true,
userDataOnFooter:true,
rownumbers:true,
//forceFit:true,
//rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
loadComplete:function (d){
if(plotChart1 == undefined || plotChart1 == null)
{
var data = d.rows;
var sumData = d.totalSum;
var sumDataObj = new Object();
var i = 1;
$("#chart1").empty();
$("#chart2").empty();
// 차트 생성.
plotChart1 = jqLineChart('chart1', data, 12,'MNTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 12,'MNERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
// 합계 셋팅.
while(sumData["MNTRSMTNOITM"+ i + "_SUM"] != undefined)
{
if(i==1)
sumDataObj["BJOBBZWKDSTCD"] = "합계";
sumDataObj["MNTRSMTNOITM"+i] = sumData["MNTRSMTNOITM" + i + "_SUM"];
sumDataObj["MNERRNOITM"+i] = sumData["MNERRNOITM" + i + "_SUM"];
i++;
}
$(this).jqGrid("footerData", "set",sumDataObj);
// End 합계 셋팅.
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var data =[];
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
// 차트 생성.
data[0]=rowData;
plotChart1 = jqLineChart('chart1', data, 12,'MNTRSMTNOITM', "전송건수");
plotChart2 = jqLineChart('chart2', data, 12,'MNERRNOITM', "오류건수");
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'MNTRSMTNOITM1', numberOfColumns: 2, titleText: '1'},
{startColumnName: 'MNTRSMTNOITM2', numberOfColumns: 2, titleText: '2'},
{startColumnName: 'MNTRSMTNOITM3', numberOfColumns: 2, titleText: '3'},
{startColumnName: 'MNTRSMTNOITM4', numberOfColumns: 2, titleText: '4'},
{startColumnName: 'MNTRSMTNOITM5', numberOfColumns: 2, titleText: '5'},
{startColumnName: 'MNTRSMTNOITM6', numberOfColumns: 2, titleText: '6'},
{startColumnName: 'MNTRSMTNOITM7', numberOfColumns: 2, titleText: '7'},
{startColumnName: 'MNTRSMTNOITM8', numberOfColumns: 2, titleText: '8'},
{startColumnName: 'MNTRSMTNOITM9', numberOfColumns: 2, titleText: '9'},
{startColumnName: 'MNTRSMTNOITM10', numberOfColumns: 2, titleText: '10'},
{startColumnName: 'MNTRSMTNOITM11', numberOfColumns: 2, titleText: '11'},
{startColumnName: 'MNTRSMTNOITM12', numberOfColumns: 2, titleText: '12'}
]
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(!isFromToDate(postData.searchStart, postData.searchEnd))
{
alert("입력한 날짜를 확인하여주십시요.\n"
+ "시작일 : " + setDateFormat(postData.searchStart) + "\n"
+ "종료일 : " + setDateFormat(postData.searchEnd));
return;
}
if(plotChart1 != undefined)
{
// 차트 삭제
plotChart1.destroy();
plotChart2.destroy();
}
plotChart1 = null;
plotChart2 = null;
// grid 조회
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_download").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
merge.push(makeMerge("","0","1","0","0"));
merge.push(makeMerge("기준년","0","1","1","1"));
merge.push(makeMerge("업무코드","0","1","2","2"));
merge.push(makeMerge("업무명","0","1","3","3"));
for(var i = 1 ; i < 25; i++) {
merge.push(makeMerge(String((i/2+0.5)),"0","0",String(i+3),String(i+4)));
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
merge.push(makeMerge(String(i+1),String(i+2),String(i+2),"0","0"));
}
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"업무별 월별 거래현황",merge);
return false;
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_download.png" />" alt="" id="btn_download" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">업무별 월별 거래현황</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">업무명</th>
<td>
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:120px;">기간</th>
<td>
<input type="text" name="searchStart" value="${param.searchStart}" style="width:100px"> ~
<input type="text" name="searchEnd" value="${param.searchEnd}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<table width="100%">
<tr width="100%">
<td width="50%"><div id="chart1">차트영역</div></td>
<td width="50%"><div id="chart2">차트영역</div></td>
</tr>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,197 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/jqplotScript.jsp"/>
<jsp:include page="/jsp/common/include/jqplotCss.jsp"/>
<script language="javascript" >
var url ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdYearlyMan.view" />';
var url_view ='<c:url value="/bap/statistics/eaibzwkdstcd/bjobBzwkDstcdYearlyMan.json" />';
var plotChart1; // jqplot 저장 (chart1).
var plotChart2; // jqplot 저장 (chart2).
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
}
$(document).ready(function() {
$("input[name=searchStart],input[name=searchEnd]").inputmask("9999",{'autoUnmask':true});
$("input[name=searchStart],input[name=searchEnd]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
// Grid 조회.
var postData = getSearchForAjax("cmd","LIST");
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url:url,
postData:postData,
colNames:['년도', '업무코드'
,'업무명','전송','오류'
],
colModel:[
{ name : 'STATCY' , align:'left' ,width:'60px' ,sortable:false},
{ name : 'BJOBBZWKDSTCD' , align:'left' ,width:'200px' },
{ name : 'BJOBBZWKNAME' , align:'left' ,width:'200px' },
{ name : 'YNTRSMTNOITM' , align:'right' ,width:'60px' , index:'YNTRSMTNOITM', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"},
{ name : 'YNERRNOITM' , align:'right' ,width:'60px' , index:'YNERRNOITM', formatter: 'integer', formatoptions:{thousandsSeparator:","}, summaryType:"sum"}
],
jsonReader: {
repeatitems:false
},
autoheight: true,
height: 300,
rowNum : 10000, // Grid에 표시될 레코드 수 설정.
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
footerrow:true, // 하단에 summary row 출력여부.(default: false)
userDataOnFooter:true,
rownumbers:true, // Grid의 행번호 출력여부.(default: false)
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
loadComplete:function (d){
if(plotChart1 == undefined || plotChart1 == null)
{
var data = d.rows;
// 차트 생성.
plotChart1 = jqBarchart('chart1', data, "BJOBBZWKDSTCD",'YNTRSMTNOITM', "전송건수");
plotChart2 = jqBarchart('chart2', data, "BJOBBZWKDSTCD",'YNERRNOITM', "오류건수");
// Summary CSS 설정.
$(".ui-jqgrid-ftable tr:first").children("td").css("background-color", "#D4F4FA"); // td 배경색
$(".ui-jqgrid-ftable tr:first").css("height", "30px"); // tr 높이
$(".ui-jqgrid-ftable tr:first").css("font-size", "10pt"); // tr 글자 크기
$(".ui-jqgrid-ftable td:eq(1)").css("text-align", "center"); // td 글자 정렬
var yntrsmtnoitm_sum = $("#grid").jqGrid("getCol", "YNTRSMTNOITM", false, 'sum');
var ynerrnoitm_sum = $("#grid").jqGrid("getCol", "YNERRNOITM", false, 'sum');
$("#grid").jqGrid("footerData", "set", {STATCY:"합계", YNTRSMTNOITM:yntrsmtnoitm_sum
, YNERRNOITM:ynerrnoitm_sum
});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
$("#btn_search").click(function(){
plotChart1.destroy();
plotChart2.destroy();
plotChart1 = null;
plotChart2 = null;
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<!-- path -->
<div class="container">
<div class="right full">
<p class="nav">${rmsMenuPath}</p>
</div>
</div>
<!-- title -->
<div class="container" id="title">
<div class="left full ">
<p class="title"><img class="title_image" src="<c:url value="/images/title_bullet.gif"/>">업무별 년간 거래현황</p>
</div>
</div>
<!-- line -->
<div class="container">
<div class="left full title_line "> </div>
</div>
<!-- button -->
<table width="100%" height="35px" >
<tr>
<td align="left">
<table width="100%">
<tr>
<td class="search_td_title" width="120px">업무명</td>
<td>
<input type='text' name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}" style="width:100%"/>
</td>
<!-- <td class="search_td_title" width="120px">기간</td> -->
<!-- <td> -->
<%-- <input type='text' name="searchStart" value="${param.searchStart}" style="width:80px">~ --%>
<%-- <input type='text' name="searchEnd" value="${param.searchEnd}" style="width:80px"> --%>
<!-- </td> -->
</tr>
</table>
</td>
<td align="right" width="120px">
<img id="btn_search" src="<c:url value="/images/bt/bt_search.gif"/>" level="R"/>
</td>
</tr>
</table>
<br>
<table width="100%">
<tr width="100%">
<td width="1%">&nbsp;</td>
<td width="49%"><div id="chart1"></div></td>
</tr>
<tr width="100%">
<td colspan=2>&nbsp;</td>
</tr>
<tr>
<td width="1%">&nbsp;</td>
<td width="49%"><div id="chart2"></div></td>
</tr>
<tr width="100%">
<td colspan=2>&nbsp;</td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</body>
</html>