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,147 @@
<%@ 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"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function stopSession(serverName, processName, organName, localIpPort, remoteIpPort, uuid) {
if ( confirm( "* FEP 서버 : "+ serverName +"\n"+
"* 업무구분 : "+ processName + "\n"+
"* 대외기관 : "+ organName +"\n"+
"* FEP IP:Port : "+ localIpPort + "\n"+
"* 대외기관 IP:Port : " + remoteIpPort +"\n\n"+
"해당 Socket 연결을 강제 종료 하시겠습니까?") != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value:"CONTROL"});
postData.push({ name: "startStop" , value:"STOP_SOCKET_SESSION"});
postData.push({ name: "uuid" , value:uuid});
$.ajax({
type : "POST",
url:'<c:url value="/bap/adapter/socket/connStatus.json" />',
data:postData,
success:function(args){
$("#grid").trigger("reloadGrid");
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/adapter/socket/connStatus.json" />',
postData : { cmd : 'LIST' },
colNames:['서버인스턴스명',
'업무구분',
'대외기관',
'업무유형',
'UUID',
'어댑터그룹',
'어댑터명',
'Local IP:Port',
'REMOTE IP:Port',
'연결시각',
'상태',
'연결종료'
],
colModel:[
{ name : 'serverName' , align:'center' , sortable : false },
{ name : 'processName' , align:'left' },
{ name : 'organName' , align:'left' },
{ name : 'processType' , align:'center'},
{ name : 'uuid' , align:'left' },
{ name : 'adapterGroupName' , align:'left' },
{ name : 'adapterName' , align:'left' },
{ name : 'localIpPort' , align:'center'},
{ name : 'remoteIpPort' , align:'center'},
{ name : 'startTimeStamp' , align:'center'},
{ name : 'status' , align:'center'},
{ name : 'stop' , align:'center'}
],
autoheight: true,
height: $("#container").height(),
//height: "500",
rowNum: 10000,
jsonReader: {
repeatitems:false
},
gridComplete: function() {
var ids = $(this).getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var serverName = rowData['serverName'];
var processName = rowData['processName'];
var organName = rowData['organName'];
var localIpPort = rowData['localIpPort'];
var remoteIpPort = rowData['remoteIpPort'];
var uuid = rowData['uuid'];
var be = "<input style='height:22px;width:60px;' type='button' value='연결종료' onclick=\"stopSession('"+serverName+"','"+processName+"','"+organName+"','"+localIpPort+"','"+remoteIpPort+"','" +uuid +"');\" >";
$(this).setRowData(ids[i],{stop:be});
}
},
loadComplete:function (d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
$("#grid").trigger("reloadGrid");
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">연결된 세션정보</div>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
<!-- end content_middle -->
</div>
<!-- end right_box -->
</body>
</html>
@@ -0,0 +1,166 @@
<%@ 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"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/adapter/socket/instStatus.json" />',
postData : { cmd : 'LIST' },
colNames:['업무구분',
'대외기관',
'IP',
'PORT',
'사용여부',
'상태',
'연결확인',
'연결상태'
],
colModel:[
{ name : 'BJOBBZWKNAME' , align:'left', width:200, sortable:false },
{ name : 'OSIDINSTINAME' , align:'left', width:200 },
{ name : 'LNKGIPINFONAME' , align:'center' },
{ name : 'LNKGPORTINFONAME' , align:'center' },
{ name : 'THISMSGUSEYN' , align:'center',
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
},
{ name : 'TCIRTLNKGSTUSCD' , align:'center' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '정상';
} else {
return '<span style="color:red">장애</span>';
}
}
},
{ name : 'serverCheck' , align:'center' ,
formatter: function (cellValue, options, rowObject) {
var ip = rowObject.LNKGIPINFONAME;
var port = rowObject.LNKGPORTINFONAME;
var used = rowObject.THISMSGUSEYN;
var be = "";
if( !isNaN(parseFloat(port)) && used == 1 ) {
be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='실행'";
be += "onclick=\"serverCheck('"+options.rowId+"');\"";
be += " />";
}
return be;
}
},
{ name : 'serverConnected', align: 'center' }
],
autoheight: true,
height: $("#container").height(),
//height: "500",
rowNum: 10000,
jsonReader: {
repeatitems:false
},
gridComplete:function (d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++) {
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
$("#grid").trigger("reloadGrid");
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "연결유지형 소켓 상태정보", merge);
return false;
});
$("#btn_operate").click(function() {
var list = $('#grid').getDataIDs();
for( var i = 1; i <= list.length; i++ ) {
serverCheck(i);
}
});
buttonControl();
});
function serverCheck(rowId) {
var url ='<c:url value="/bap/admin/work/systemInstMan.json" />';
var data = $('#grid').getRowData(rowId);
var ip = data.LNKGIPINFONAME;
var port = data.LNKGPORTINFONAME;
var used = data.THISMSGUSEYN;
$('#grid').jqGrid('setCell', rowId, 'serverConnected', '-');
if( isNaN(parseFloat(port)) || used.indexOf('사용안함') > -1 ) return false;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'CHECK_CONNECTION',
ip: ip,
port: port
},
success: function(json) {
if( json.result.indexOf("Connected") > -1 ) {
$('#grid').jqGrid('setCell', rowId, 'serverConnected', '<span style="color:blue;">성공</span>');
} else {
$('#grid').jqGrid('setCell', rowId, 'serverConnected', '<span style="color:red;">실패</span>');
}
},
error: function(e) {
$('#grid').jqGrid('setCell', rowId, 'serverConnected', '<span style="color:red;">실패</span>');
}
});
}
</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_operate.png"/>" id="btn_operate" level="R"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">비연결유지형 클라이언트 소켓 상태정보</div>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
<!-- end content_middle -->
</div>
<!-- end right_box -->
</body>
</html>
@@ -0,0 +1,213 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/adapter/socket/serverStatus.json" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function list() {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({
url: '<c:url value="/bap/adapter/socket/serverStatus.json" />',
postData: postData,
datatype: 'json'
}).trigger("reloadGrid");
}
function control(startStop, group, adapter) {
var startStopStr = '기동';
if ( startStop == 'STOP_SOCKET_SERVER' ) {
startStopStr = '중지';
}
if ( confirm( "어댑터 그룹[" + group + "], 어댑터 명[" + adapter+ "]을 " + startStopStr + "하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value:"CONTROL"});
postData.push({ name: "startStop" , value:startStop});
postData.push({ name: "group" , value:group});
postData.push({ name: "adapter" , value:adapter});
$.ajax({
type : "POST",
url: url,
data: postData,
success: function(args) {
list();
},
error: function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData : getSearchForJqgrid("cmd", "LIST"),
colNames:['서버인스턴스명',
'업무구분',
'대외기관',
'어댑터그룹',
'어댑터명',
'IP',
'PORT',
'최대연결수',
'현재연결수',
'상태',
'상태',
'기동/종료'
],
colModel:[
{ name : 'serverName' , align:'center' , sortable : false },
{ name : 'processName' , align:'left' , width:200, sortable : false },
{ name : 'organName' , align:'left' , width:200 },
{ name : 'adptrBzwkGroupName' , align:'left' , width:200 },
{ name : 'adptrBzwkName' , align:'left' , width:200},
{ name : 'ip' , align:'center' },
{ name : 'port' , align:'center', width:70 },
{ name : 'maxConnectioncount' , align:'center', width:70 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return '무제한';
} else {
return cellvalue;
}
}
},
{ name : 'curConnectioncount' , align:'center', width:70},
{ name : 'status' , align:'center', hidden:true},
{ name : 'status2' , align:'center', width:70},
{ name : 'startStop' , align:'center'}
],
autoheight: true,
height: $("#container").height(),
//height: "500",
rowNum: 10000,
jsonReader: {
repeatitems:false
},
gridComplete: function() {
var ids = $(this).getDataIDs();
for(var i=0;i<ids.length;i++) {
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var adptrBzwkGroupName = rowData['adptrBzwkGroupName'];
var adptrBzwkName = rowData['adptrBzwkName'];
var status = rowData['status'];
var color = 'black';
//alert( 'status -->' + status );
if ( status == '중지' ) {
be = "<input style='height:22px;width:60px;' type='button' value='기동' onclick=\"control('START_SOCKET_SERVER','"+adptrBzwkGroupName+"','"+adptrBzwkName+"');\" />";
color = 'red';
$(this).setRowData(ids[i],{startStop:be});
} else if ( status == '기동중' ) {
be = "<input style='height:22px;width:60px;' type='button' value='중지' onclick=\"control('STOP_SOCKET_SERVER','"+adptrBzwkGroupName+"','"+adptrBzwkName+"');\" />";
color = 'blue';
$(this).setRowData(ids[i],{startStop:be});
}
$(this).setRowData(ids[i],{status2:'<span class="cellWithoutBackground" style="color:' + color + ';">' + status + '</span>'});
}
},
loadComplete:function (d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++) {
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
list()
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
list();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
var skipCol = new Array();
skipCol.push("startStop")
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "연결유지형 소켓 상태정보", merge, skipCol);
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<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:180px;">어댑터 업무그룹</th>
<td ><input type="text" name="searchAdapterGroup" value="${param.searchAdapterGroup}" style="width:100%"></td>
<th style="width:180px;">상태구분</th>
<td width="10%">
<div class="select-style">
<select name="searchType">
<option value="">전체</option>
<option value="1">기동중</option>
<option value="0">중지</option>
</select>
</div>
</td>
<th style="width:180px;">연결수</th>
<td width="10%">
<div class="select-style">
<select name="searchCount">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
</td>
</tr>
</tbody>
</table>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
<!-- end content_middle -->
</div>
<!-- end right_box -->
</body>
</html>
@@ -0,0 +1,351 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
$(document).ready(function() {
var url = '<c:url value="/bap/admin/adapter/adapterMan.json" />';
var url_view = '<c:url value="/bap/admin/adapter/adapterMan.view" />';
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/adapter/adapterMan.json" />',
postData : gridPostData,
colNames:['어댑터 그룹명',
'어댑터 그룹설명',
'어댑터 사용여부'
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' ,sortable:false },
{ name : 'ADPTRBZWKGROUPDESC' , align:'left' },
{ name : 'ADPTRUSEYN' , align:'center',
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var adptrBzwkGroupName = rowData['ADPTRBZWKGROUPNAME'];
var url = '<c:url value="/bap/admin/adapter/adapterMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&adptrBzwkGroupName='+adptrBzwkGroupName;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/adapter/adapterMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
for (var i = 0; i <data.length; i++) {
adptrBzwkGroupNameList.push(data[i]["ADPTRBZWKGROUPNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert(data.length+"건의 어댑터가 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_download_sql").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
for (var i = 0; i <data.length; i++) {
adptrBzwkGroupNameList.push(data[i]["ADPTRBZWKGROUPNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_ADPTR_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert(data.length+"건의 어댑터 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
for (var i = 0; i <data.length; i++) {
adptrBzwkGroupNameList.push(data[i]["ADPTRBZWKGROUPNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("어댑터 "+data.length+"건이 정상 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 어댑터가 이미 존재하여 정상 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">어댑터 관리<span class="tooltip">일괄전송에서 사용하는 어댑터 목록(Server/Non-permanent Client)</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;">어댑터 그룹명</th>
<td><input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}"></td>
<th style="width:100px;">어댑터 그룹설명</th>
<td><input type="text" name="searchAdptrBzwkGroupDesc" value="${param.searchAdptrBzwkGroupDesc}"></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,600 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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" />
<script language="javascript">
var url = '<c:url value="/bap/admin/adapter/adapterMan.json" />';
var url_view = '<c:url value="/bap/admin/adapter/adapterMan.view" />';
var isDetail = false;
var isClone = false;
var lastsel2;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
autoencode : true,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left'},
{ name : 'PRPTY2VAL' , align:'left' , title:false, editable: true}],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
gridComplete : function() {
$("#clonYn").val("0").attr("selected","selected");
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
onSelectRow: function(rowid,status){
if (lastsel2 !=undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
height : '350',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '1000');
}
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=cloneAdptrBzwkGroupName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneAdptrBzwkGroupDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneAdptrBzwkGroupName]").focus();
} else {
$("#clone").hide();
}
}
function init(key, callback) {
if (typeof callback === 'function') {
callback(key);
}
}
function detail(key) {
if (!isDetail){
var prptNames = [ 'adapter.group.name' ,
'bound.usage' ,
'default.session' ,
'll.field.index' ,
'll.field.length' ,
'max.connection' ,
'max.session' ,
'session.timeout' ,
'socket.type' ,
'trace.level' ,
'timeout' ,
'reponse.rule.code' ,
'response.olny' ,
'use.polling' ];
var prptValus = [ '' ,
'INBOUND' ,
'1' ,
'0' ,
'4' ,
'1' ,
'1' ,
'20' ,
'SERVER' ,
'0' ,
'30' ,
' ' ,
'N' ,
'N' ];
for ( var inx=0; inx < prptNames.length; inx++){
var newData = new Object();
newData.id = inx+1;
newData.PRPTYNAME = prptNames[inx];
newData.PRPTY2VAL = prptValus[inx];
$("#grid").addRowData(newData.id,newData);
}
return;
}
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
adptrBzwkGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=adptrBzwkGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
$("#grid")[0].addJSONData(data);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.adptrBzwkGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(key, detail);
$("#btn_modify").click(function() {
if (!isValid())return;
if (isDetail && isClone) {
if ( confirm( "복제하시겠습니까?" ) != true ) return;
} else if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail && isClone){
postData.push({ name: "cmd" , value:"INSERT"});
} else if (isDetail) {
postData.push({ name: "cmd" , value:"UPDATE"});
} else {
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (isClone) {
alert('복제 되었습니다.');
} else {
alert("저장 되었습니다.");
}
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
});
$("#btn_clone").click(function(){
if (!isValid()) return;
// 복제 어댑터 그룹명 & 설명
var cloneAdptrBzwkGroupName = $("input[name=cloneAdptrBzwkGroupName]").val();
var cloneAdptrBzwkGroupDesc = $("input[name=cloneAdptrBzwkGroupDesc]").val();
// 복제 어댑터 그룹명 입력여부 체크.
if(cloneAdptrBzwkGroupName == "")
{
alert("복제할 어댑터 그룹명을 입력하세요.");
$("input[name=cloneAdptrBzwkGroupName]").focus();
return;
}
var cloneAdptrKey = cloneAdptrBzwkGroupName.split("_")[1]+"_"+cloneAdptrBzwkGroupName.split("_")[2];
var adptrBzwkGroupName = $("input[name=adptrBzwkGroupName]").val();
var adptrKey = adptrBzwkGroupName.split("_")[1]+"_"+adptrBzwkGroupName.split("_")[2];
// 어댑터 그룹명 치환
$("input[name=adptrBzwkGroupName]").val(adptrBzwkGroupName.replace(adptrKey,cloneAdptrKey));
var adptrBzwkName = $("input[name=adptrBzwkName]").val();
$("input[name=adptrBzwkName]").val(adptrBzwkName.replace(adptrKey,cloneAdptrKey));
var prptyGroupName = $("input[name=prptyGroupName]").val();
$("input[name=prptyGroupName]").val(prptyGroupName.replace(adptrKey,cloneAdptrKey));
// 어댑터 그룹설명 치환
$("input[name=adptrBzwkGroupDesc]").val(cloneAdptrBzwkGroupDesc);
$("input[name=adptrDesc]").val(cloneAdptrBzwkGroupDesc);
$("input[name=prptyGroupDesc]").val(cloneAdptrBzwkGroupDesc);
$("input[name=cloneAdptrBzwkGroupName]").val("");
$("input[name=cloneAdptrBzwkGroupDesc]").val("");
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]["PRPTYNAME"] == "adapter.group.name") {
data[i]["PRPTY2VAL"] = data[i]["PRPTY2VAL"].replace(adptrKey,cloneAdptrKey); // 프로퍼티 어댑터 그룹명 치환
$("#grid").setRowData(i+1,data[i]);
} else if (data[i]["PRPTYNAME"] == "description") {
data[i]["PRPTY2VAL"] = cloneAdptrBzwkGroupDesc;
$("#grid").setRowData(i+1,data[i]);
}
}
isClone = true;
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
adptrBzwkGroupNameList.push($("input[name=adptrBzwkGroupName]").val());
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_ADPTR_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("일괄어댑터 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
adptrBzwkGroupNameList.push($("input[name=adptrBzwkGroupName]").val());
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(key);
titleControl(key);
/* if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_dev");
} */
/* 231102 김기영 이전기능 관련 숨김 처리 */
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">어댑터</div>
<form id="ajaxForm">
<!-- <div class="table_row_title">일괄전송 어댑터</div> -->
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">어댑터 그룹명</th>
<td colspan="3" ><input type="text" name="adptrBzwkGroupName"/></td>
</tr>
<tr>
<th>어댑터 유형</th>
<td colspan="3">
<div class="select-style">
<select name="adptrCd" style="width:100%" >
<option value="SOC">SocketAdapter</option>
</select>
</div>
</td>
</tr>
<tr>
<th>어댑터 그룹설명</th>
<td colspan="3"><input type="text" name="adptrBzwkGroupDesc"/> </td>
</tr>
<tr>
<th>어댑터 사용 구분</th>
<td style="width:38%;">
<div class="select-style">
<select name="adptrUseYn" style="width:100%" >
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<th style="width:180px;">복제 사용여부</th>
<td>
<div class="select-style" >
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)" >
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th>복제 어댑터 그룹명</th>
<td><input type="text" name="cloneAdptrBzwkGroupName"></td>
<th>복제 어댑터 그룹설명</th>
<td><input type="text" name="cloneAdptrBzwkGroupDesc" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="DETAIL" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</table>
<table id="adapter" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">어댑터 이름</th>
<td><input type="text" name="adptrBzwkName"/> </td>
</tr>
<tr>
<th>리스너 클래스명</th>
<td>
<div class="select-style">
<select name="lstnerClsName" style="width:100%" >
<option value="com.eactive.eai.adapter.socket.SocketAdapterListener">com.eactive.eai.adapter.socket.SocketAdapterListener</option>
</select>
</div>
</td>
</tr>
<tr>
<th>어댑터 설명</th>
<td><input type="text" name="adptrDesc"/> </td>
</tr>
<tr>
<th>프라퍼티그룹명</th>
<td><input type="text" name="prptyGroupName"/> </td>
</tr>
<tr>
<th>프라퍼티그룹 설명</th>
<td><input type="text" name="prptyGroupDesc"/> </td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,137 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/adapterPropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var prptyGroupName = rowData['PRPTYGROUPNAME'];
var url = '<c:url value="/bap/admin/common/adapterPropertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/adapterPropertyMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">어댑터 프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,305 @@
<%@ 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" />
<script language="javascript">
var isDetail = false;
var lastsel2;
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
onSelectRow: function(rowid,status){
if (lastsel2 !=undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
height : '500',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'title', '1000');
}
function init(url, key, callback) {
if (typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
prptyGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
//$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#grid")[0].addJSONData(data);
$("img[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/common/adapterPropertyMan.json" />';
var key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
});
buttonControl(key);
titleControl(key);
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">어댑터 프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName"/></td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+129
View File
@@ -0,0 +1,129 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/codeMan.json" />',
postData : gridPostData,
colNames:['오류메시지 코드',
'오류메시지'
],
colModel:[
{ name : 'MSG' , align:'left' ,sortable:false },
{ name : 'MSGCTNT' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var msg = rowData['MSG'];
var url = '<c:url value="/bap/admin/common/codeMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&msg='+msg;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/codeMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">오류메시지 관리<span class="tooltip">표준화된 IF시스템 에러 응답코드를 조회합니다. 메시지 키 및 내용으로 그에 해당하는 오류메시지를 조회할 수 있습니다.</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">오류메시지 코드</th>
<td>
<input type="text" name="searchMsg" value="${param.searchMsg}">
</td>
<th style="width:180px;">오류메시지 내용</th>
<td>
<input type="text" name="searchDesc" value="${param.searchDesc}">
</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,157 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
$(document).ready(function() {
//var returnUrl = '${param.returnUrl}';
var returnUrl = getReturnUrlForReturn();
//returnUrl = returnUrl + '?cmd='+'LIST';
//returnUrl = returnUrl + '&page='+'${param.pages}';
//returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색 조건
//returnUrl = returnUrl + '&searchMsg='+'${param.searchMsg}';
var url ='<c:url value="/bap/admin/common/codeMan.json" />';
var msg ="${param.msg}";
if (msg != "" && msg != "null") {
isDetail = true;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', msg : msg},
success:function(json){
var data = json;
$("input[name=msg]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(data[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (msg != "" && msg !="null"){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(msg);
titleControl(msg);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">오류메시지<span class="tooltip">표준화된 IF시스템 에러 응답코드를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">오류메시지 코드 *</th>
<td><input type="text" name="msg"/> </td>
</tr>
<tr>
<th>오류메시지 *</th>
<td><input type="text" name="msgCtnt"/></td>
</tr>
<tr>
<th>SMS발송문구 *</th>
<td><input type="text" name="treatMatrCtnt"/></td>
</tr>
<tr>
<th>SMS발여부/th>
<td><div class="select-style"><select name="smsSendYn" style="width:100%">
<option value="1">발송</option>
<option value="0">미발송</option>
</select></div></td>
</tr>
<tr>
<th>심각도</th>
<td><input type="text" name="itsmObstclGrdDstcd"/></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,157 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/common/comErrMessageMan.json" />';
var urlView = '<c:url value="/bap/admin/common/comErrMessageMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
gridPostData['searchSvrDstcd'] = svrDstcd;
$("#svrDst").val(svrDstcd);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/comErrMessageMan.json" />',
postData : gridPostData,
colNames:['오류메시지 코드',
'오류메시지'
],
colModel:[
{ name : 'MSG' , align:'left' ,width:50 ,sortable:false },
{ name : 'MSGCTNT' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var data = d.rows;
if(svrDstcd=="BAT"){
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'MSG',data[i]['MSGID']);
}
}
},
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : true}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var msgId = rowData['MSG'];
var url = '<c:url value="/bap/admin/common/comErrMessageMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&msg='+msgId;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/comErrMessageMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
svrDstcd = $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
});
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">오류메시지 관리<span class="tooltip">표준화된 IF시스템 에러 응답코드를 조회합니다. 메시지 키 및 내용으로 그에 해당하는 오류메시지를 조회할 수 있습니다.</span></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:180px;">오류메시지 코드</th>
<td>
<input type="text" name="searchMsg" value="${param.searchMsg}">
</td>
<th style="width:180px;">오류메시지 내용</th>
<td>
<input type="text" name="searchDesc" value="${param.searchDesc}">
</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,171 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/common/comErrMessageMan.json" />';
var msg ="${param.msg}";
var svrDstcd ="${param.searchSvrDstcd}";
console.log("test");
var svrName = "일괄";
if(svrDstcd=="BAT"){
svrName = "배치";
$(".bapTr").css("display","none");
}
$("input[name=svrName]").val(svrName);
if (msg != "" && msg != "null") {
isDetail = true;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', msg : msg, searchSvrDstcd : svrDstcd},
success:function(json){
var data = json;
$("input[name=msg]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val($.trim(data[name]));
if(svrDstcd=="BAT"){
$("input[name=msg]").val(data['MSGID']);
}
});
$("input[name=svrName]").val(svrName);
},
error:function(e){
alert(e.responseText);
}
});
}
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
if (msg != "" && msg !="null"){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(msg);
titleControl(msg);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">오류메시지<span class="tooltip">표준화된 IF시스템 에러 응답코드를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">서버구분</th>
<td><input type="text" name="svrName" readonly/></td>
</tr>
<tr>
<th style="width:20%;">오류메시지 코드 *</th>
<td><input type="text" name="msg"/> </td>
</tr>
<tr>
<th>오류메시지 *</th>
<td><input type="text" name="msgCtnt"/></td>
</tr>
<tr class="bapTr">
<th>SMS발송문구 *</th>
<td><input type="text" name="treatMatrCtnt"/></td>
</tr>
<tr class="bapTr">
<th>SMS발송여부</th>
<!-- <input type="text" name="smsSendYn"> -->
<td><div class="select-style"><select name="smsSendYn" style="width:100%">
<option value="1">발송</option>
<option value="0">미발송</option>
</select></div></td>
</tr>
<tr class="bapTr">
<th>심각도</th>
<td><input type="text" name="itsmObstclGrdDstcd"/></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,140 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
gridPostData['searchSvrDstcd'] = svrDstcd;
$("#svrDst").val(svrDstcd);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/comLifecycleMan.json" />',
postData : gridPostData,
colNames:['라이프사이클 클래스명',
'로딩순서',
'라이프사이클 구분코드'
],
colModel:[
{ name : 'LIFECYCLCLSNAME' , align:'left' ,sortable:false },
{ name : 'LODINSEQ' , align:'center' },
{ name : 'LIFECYCLUSEDSTCD' , align:'center', editoptions:{value:"S:System;A:Application"}, formatter:"select" }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LIFECYCLCLSNAME'];
var url = '<c:url value="/bap/admin/common/comLifecycleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/comLifecycleMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title">라이프사이클 관리<span class="tooltip">시스템 기동 시 로딩 되는 라이프사이클 클래스를 조회합니다.</span></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 id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,167 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function detail(url,key,svrName){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', lifeCyclClsName : key, searchSvrDstcd : svrDstcd },
success:function(json){
var data = json;
$("input[name=lifeCyclClsName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
$("input[name=svrName]").val(svrName);
},
error:function(e){
alert(e.responseText);
}
});
}
var svrDstcd ="${param.searchSvrDstcd}";
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/common/comLifecycleMan.json" />';
var key ="${param.key}";
var svrName = "일괄";
if(svrDstcd=="BAT") svrName = "배치";
$("input[name=svrName]").val(svrName);
if (key != "" && key !="null"){
isDetail = true;
}
detail(url,key,svrName);
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">라이프사이클<span class="tooltip">IF시스템 기동 시 로딩되는 라이프사이클 클래스를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">서버구분</th>
<td><input type="text" name="svrName" readonly/></td>
</tr>
<tr>
<th style="width:20%;">라이프사이클 클래스명 *</th>
<td><input type="text" name="lifeCyclClsName"/> </td>
</tr>
<tr>
<th>로딩순서 *</th>
<td><input type="text" name="lodinSeq"/></td>
</tr>
<tr>
<th>라이프사이클 구분</th>
<td>
<div class="select-style">
<select name="lifeCyclUseDstcd" >
<option value="S">System</option>
<option value="A">Application</option>
</select>
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,168 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
gridPostData['searchSvrDstcd'] = svrDstcd;
$("#svrDst").val(svrDstcd);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/comPropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var data = d.rows;
if(svrDstcd=="BAT"){
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'PRPTYGROUPNAME',data[i]['PRPTYGROUPID']);
$(this).jqGrid('setCell',i+1,'PRPTYGROUPDESC',data[i]['PRPTYGROUPNAME']);
}
}
},
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var prptyGroupName = rowData['PRPTYGROUPNAME'];
var url = '<c:url value="/bap/admin/common/comPropertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/comPropertyMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
svrDstcd = $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></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:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹 설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,470 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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" />
<script language="javascript">
var url = '<c:url value="/bap/admin/common/comPropertyMan.json" />';
var url_view = '<c:url value="/bap/admin/common/comPropertyMan.view" />';
var isDetail = false;
var lastsel2;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
onSelectRow: function(rowid,status){
if (lastsel2 !=undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
height : '500',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'title', '1000');
}
function init(url, key, callback) {
if (typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
prptyGroupName : key,
searchSvrDstcd : svrDstcd
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
if(svrDstcd=="BAT"){
$("input[name=prptyGroupName]").val(detail['PRPTYGROUPID']);
$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPNAME']);
var rows = new Array();
for(var i=0; i<data.rows.length; i++){
rows.push({"PRPTYNAME":data.rows[i]['PRPTYID'] , "PRPTY2VAL":data.rows[i]['PRPTYDETAIL']});
}
$("#grid")[0].addJSONData(rows);
}else{
$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#grid")[0].addJSONData(data);
}
$("img[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/common/comPropertyMan.json" />';
var key = "${param.prptyGroupName}";
var svrName = "일괄";
if(svrDstcd=="BAT") svrName = "배치";
$("input[name=svrName]").val(svrName);
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
if(svrDstcd=="BAT"){
gridData.push({"PRPTYID": data[i]["PRPTYNAME"], "PRPTYDETAIL": data[i]["PRPTY2VAL"]});
}else{
gridData.push(data[i]);
}
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if(svrDstcd=="BAT"){
postData = new Array();
postData.push({ name: "prptyGroupId" , value: $("input[name=prptyGroupName]").val()});
postData.push({ name: "prptyGroupName" , value: $("input[name=prptyGroupDesc]").val()});
}
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = svrDstcd+"_PROPERTY_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : svrDstcd == "BAT" ? "prptyGroupId" : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "fileName",
value : sqlFileName
});
postData.push({
name: "searchSvrDstcd" ,
value:svrDstcd
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("프로퍼티 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : svrDstcd == "BAT" ? "prptyGroupId" : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "svrType",
value : svrType
});
postData.push({
name: "searchSvrDstcd" ,
value:svrDstcd
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(key);
titleControl(key);
/* if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_dev");
} */
/* 231102 김기영 이전기능 관련 숨김 처리 */
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">서버구분</th>
<td><input type="text" name="svrName" readonly/></td>
</tr>
<tr>
<th style="width:20%;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName" style="display:inline-block; width:calc(100% - 60px);"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,50 @@
<%@ page import="java.io.File"%>
<%@ page import="java.io.*"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>파일 다운로드</title>
</head>
<body>
<%
String filePath = request.getParameter("filePath");
String fileName = request.getParameter("fileName");
BufferedInputStream bis = null;
try {
out.clear();
out = pageContext.pushBody();
byte b[] = new byte[4096];
response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment; filename = " + fileName);
//FileInputStream is = new FileInputStream(filePath+fileName);
//소스코드점검 수정 20201026
bis = new BufferedInputStream(new FileInputStream(filePath+fileName));
ServletOutputStream sos = response.getOutputStream();
int numRead;
while((numRead = bis.read(b, 0, b.length)) != -1) {
sos.write(b,0,numRead);
}
sos.flush();
sos.close();
File file = new File(filePath+fileName);
if (file.exists()) file.delete();
} catch(Exception e) {
System.out.println(e);
} finally {
if(bis != null) bis.close();
}
%>
</body>
</html>
@@ -0,0 +1,122 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/lifecycleMan.json" />',
postData : gridPostData,
colNames:['라이프사이클 클래스명',
'로딩순서',
'라이프사이클 구분코드'
],
colModel:[
{ name : 'LIFECYCLCLSNAME' , align:'left' ,sortable:false },
{ name : 'LODINSEQ' , align:'center' },
{ name : 'LIFECYCLUSEDSTCD' , align:'center', editoptions:{value:"S:System;A:Application"}, formatter:"select" }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LIFECYCLCLSNAME'];
var url = '<c:url value="/bap/admin/common/lifecycleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/lifecycleMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">라이프사이클 관리<span class="tooltip">시스템 기동 시 로딩 되는 라이프사이클 클래스를 조회합니다.</span></div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,156 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function init(url,key,callback){
if(typeof callback === 'function') {
callback(url,key);
}
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', lifeCyclClsName : key},
success:function(json){
var data = json;
$("input[name=lifeCyclClsName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/common/lifecycleMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">라이프사이클<span class="tooltip">IF시스템 기동 시 로딩되는 라이프사이클 클래스를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">라이프사이클 클래스명 *</th>
<td><input type="text" name="lifeCyclClsName"/> </td>
</tr>
<tr>
<th>로딩순서 *</th>
<td><input type="text" name="lodinSeq"/></td>
</tr>
<tr>
<th>라이프사이클 구분</th>
<td>
<div class="select-style">
<select name="lifeCyclUseDstcd" >
<option value="S">System</option>
<option value="A">Application</option>
</select>
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,142 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/propertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var prptyGroupName = rowData['PRPTYGROUPNAME'];
var url = '<c:url value="/bap/admin/common/propertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/propertyMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹 설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,429 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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" />
<script language="javascript">
var url = '<c:url value="/bap/admin/common/propertyMan.json" />';
var url_view = '<c:url value="/bap/admin/common/propertyMan.view" />';
var isDetail = false;
var lastsel2;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
onSelectRow: function(rowid,status){
if (lastsel2 !=undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
height : '500',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'title', '1000');
}
function init(url, key, callback) {
if (typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
prptyGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
//$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#grid")[0].addJSONData(data);
$("img[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/common/propertyMan.json" />';
var key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_PROPERTY_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("프로퍼티 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(key);
titleControl(key);
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_dev");
}
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName" style="display:inline-block; width:calc(100% - 60px);"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,116 @@
<%@ 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"/>
<script language="javascript" >
var $Grid ={};
$(document).ready(function() {
$Grid = $('#grid');
$Grid.jqGrid({
url: '<c:url value="/bap/admin/common/serverMan.json" />',
postData : { cmd : 'LIST' },
datatype:"json",
colNames:['서버 인스턴스명',
'서버 아이피',
'서버 포트',
'마스터여부',
'호스트명'
],
colModel:[
{ name : 'EAISEVRINSTNCNAME', align:'left' ,sortable:false },
{ name : 'EAISEVRIP', align:'left' },
{ name : 'SEVRLSNPORTNAME', align:'left' },
{ name : 'FLOVRSEVRNAME', align:'left' },
{ name : 'HOSTNAME', align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var eaiSevrInstncName = rowData['EAISEVRINSTNCNAME'];
var url = '<c:url value="/bap/admin/common/serverMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
//
//key값
url = url + '&eaiSevrInstncName='+eaiSevrInstncName;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
$("#grid").trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/serverMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page=1';
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&searchMsg=';
goNav(url);
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">일괄전송 서버 관리<span class="tooltip">일괄전송 서버 정보를 조회하는 화면입니다. 일괄전송 서버와 동기화를 위한 중요한 자료입니다</span></div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,200 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function init(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
debugger;
//new makeOptions("CODE","NAME").setObj($("select[name=flovrSevrName]")).setNoValueInclude(true).setNoValue(' ','전체').setData(json.serverRows).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=flovrSevrName]")).setData(json.serverRows).rendering();
detail(url);
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url){
var key ="${param.eaiSevrInstncName}";
if (key != "" && key !="null"){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, eaiSevrInstncName : key
},
success:function(json){
$("input[name=eaiSevrInstncName]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(json[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
}
function isValid(){
if($('input[name=eaiSevrInstncName]').val() == ""){
alert("일괄전송 서버인스턴스명을 입력하여 주십시요.");
return false;
// }else if($('select[name=flovrSevrName]').val() == ""){
// alert("장애극복서버명을 선택하여 주십시요.");
// return false;
}else if($('select[name=eaiSevrIp]').val() == ""){
alert("일괄전송 서버IP을 입력하여 주십시요.");
return false;
}else if($('input[name=sevrLsnPortName]').val() == ""){
alert("서버리슨포트명을 입력하여 주십시요.");
return false;
}else if($('select[name=hostName]').val() == ""){
alert("호스트명을 입력하여 주십시요.");
return false;
}
return true;
}
$(document).ready(function() {
var returnUrl = '${param.returnUrl}';
returnUrl = returnUrl + '?cmd='+'LIST';
returnUrl = returnUrl + '&page='+'${param.pages}';
returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색 조건
var url ='<c:url value="/bap/admin/common/serverMan.json" />';
var key ="${param.eaiSevrInstncName}";
if (key != "" && key != "null") {
isDetail = true;
}
titleControl(key);
buttonControl(key);
init(url);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (key != "" && key !="null"){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">IF서버<span class="tooltip">일괄전송 서버 정보를 수정,삭제 합니다. 일괄전송 서버 간 동기화를 위한 중요한 자료이므로 주의를 요합니다</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">IF서버인스턴스명</th><td><input type="text" name="eaiSevrInstncName"/> </td>
</tr>
<tr>
<th>마스터여부</th><td><div class="select-style"><select name="flovrSevrName"/></div></td>
</tr>
<tr>
<th>IF서버IP</th><td><input type="text" name="eaiSevrIp"/> </td>
</tr>
<tr>
<th>서버리슨포트명</th><td><input type="text" name="sevrLsnPortName"/> </td>
</tr>
<tr>
<th>호스트명</th><td><input type="text" name="hostName"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,175 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/common/sysinfoMan.json" />';
var url_view = '<c:url value="/bap/admin/common/sysinfoMan.view" />';
function init( callback ) {
if (typeof callback === 'function') {
callback();
}
}
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
$(document).ready(function() {
debugger;
init( detail);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : getSearchForJqgrid("cmd","LIST"),
colNames:['시스템코드',
'시스템명칭',
'시스템IP',
'유저ID',
'송신디렉토리',
'수신디렉토리',
'SFTP여부',
'사용여부'
],
colModel:[
{ name : 'SYSCD' , align:'center' ,width:40 ,sortable:false },
{ name : 'SYSNAME' , align:'center' ,width:40 },
{ name : 'SYSIP' , align:'center' ,width:40 },
{ name : 'USERID' , align:'center' ,width:40 },
{ name : 'SENDDIR' , align:'center' ,width:40 },
{ name : 'RECVDIR' , align:'center' ,width:40 },
{ name : 'SFTPYN' , align:'center' ,width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return 'FTP';
} else if ( cellvalue == '1' ) {
return 'SFTP';
} else {
return cellvalue;
}
}
},
{ name : 'THISMSGUSEYN' , align:'center' ,width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue == '1' ) {
return '사용';
} else {
return cellvalue;
}
}
}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var sysCd = rowData['SYSCD'];
var url2 = url_view;
url2 = url2 + '?cmd=DETAIL';
url2 = url2 + '&page='+$(this).getGridParam("page");
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
//검색값
url2 = url2 + '&'+getSearchUrl();
//key값
url2 = url2 + '&sysCd='+sysCd;
goNav(url2);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" 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:180px;">시스템 코드</th>
<td><input type="text" name="searchSysCd" value="${param.searchSysCd}"></td>
<th style="width:180px;">시스템 명</th>
<td><input type="text" name="searchSysName" value="${param.searchSysName}"></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,185 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/bap/admin/common/sysinfoMan.json" />';
var url_view = '<c:url value="/bap/admin/common/sysinfoMan.view" />';
var isDetail = false;
function detail(key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
sysCd : key
},
success : function(json) {
var data = json;
var detail = json.detail;
debugger;
// $("select[name=workGrpCd]").attr("disabled",true);
// $("select[name=sndRcvKind]").attr("disabled",true);
// $("select[name=adptrKind]").attr("disabled",true);
// $("select[name=workGrpCd]").css({'background-color' : '#e5e5e5'});
// $("select[name=sndRcvKind]").css({'background-color' : '#e5e5e5'});
// $("select[name=adptrKind]").css({'background-color' : '#e5e5e5'});
$("input,select,textarea").each(function(){
var name = $(this).attr('name');
//.toUpperCase();
if ( name != null )
$(this).val(json[name.toUpperCase()]);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var key = "${param.sysCd}";
var returnUrl = '${param.returnUrl}';
returnUrl = returnUrl + '?cmd='+'LIST';
returnUrl = returnUrl + '&page='+'${param.pages}';
returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색조건
returnUrl = returnUrl + '&'+ getSearchUrlForReturn();
if (key != "" && key != "null") {
isDetail = true;
}
detail(key);
$("#btn_modify").click(function() {
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(json) {
alert("저장 되었습니다.");
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);
});
$("select[name=sftpYn]").change(function(){
if ( $("select[name=sftpYn]").val() == '0' ){
$("input[name=sysPort]").val('21');
}else{
$("input[name=sysPort]").val('22');
}
});
buttonControl(key);
titleControl(key);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">내부 연계 시스템</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr><th style="width:180px;">시스템 코드</th><td><input type="text" name="sysCd"></td></tr>
<tr><th style="width:180px;">시스템 명칭</th><td><input type="text" name="sysName"></td></tr>
<tr><th style="width:180px;">시스템 IP</th><td><input type="text" name="sysIp"></td></tr>
<tr><th style="width:180px;">시스템 Port</th><td><input type="text" name="sysPort"></td></tr>
<tr><th style="width:180px;">USER ID</th><td><input type="text" name="userId"></td></tr>
<tr><th style="width:180px;">비밀번호</th><td><input type="password" name="userPassword"></td></tr>
<tr><th style="width:180px;">송신디렉토리</th><td><input type="text" name="sendDir"></td></tr>
<tr><th style="width:180px;">수신디렉토리</th><td><input type="text" name="recvDir"></td></tr>
<tr><th>SFTP여부</th>
<td><div class="select-style"><select name="sftpYn">
<option value="1">SFTP</option>
<option value="0">FTP</option>
</select></div></td>
</tr>
<tr><th>사용여부</th>
<td><div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,137 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/telePropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var prptyGroupName = rowData['PRPTYGROUPNAME'];
var url = '<c:url value="/bap/admin/common/telePropertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/telePropertyMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">전문 프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,305 @@
<%@ 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" />
<script language="javascript">
var isDetail = false;
var lastsel2;
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
onSelectRow: function(rowid,status){
if (lastsel2 !=undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
height : '500',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'title', '1000');
}
function init(url, key, callback) {
if (typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
prptyGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
//$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#grid")[0].addJSONData(data);
$("img[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/common/telePropertyMan.json" />';
var key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
});
buttonControl(key);
titleControl(key);
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">전문 프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName"/></td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+141
View File
@@ -0,0 +1,141 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/cron/cronMan.json" />';
var url_view = '<c:url value="/bap/admin/cron/cronMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
//gridPostData.searchSchedId = $("input[name=searchSchedId]").val();
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames:['<%= localeMessage.getString("cron.schedId") %>',
'<%= localeMessage.getString("cron.cronExp") %>',
'실행주기',
'<%= localeMessage.getString("cron.jobClassName") %>',
'<%= localeMessage.getString("cron.schedDstCd") %>',
'<%= localeMessage.getString("cron.scanDirName") %>',
'<%= localeMessage.getString("cron.timerMsg") %>'
],
colModel:[
{ name : 'SCHEDID', align:'center', sortable:false, width:50 },
{ name : 'CRONEXP', align:'left', width:60 },
{ name : 'CRONDESC', align:'left', width:100 },
{ name : 'JOBCLASSNAME', align:'left', width:150 },
{ name : 'SCHEDDSTCD', align:'center', width:80 },
{ name : 'SCANDIRNAME', align:'left' },
{ name : 'TIMERMSG', align:'left', width:80 }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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});
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['SCHEDID'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&schedId='+key;
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
//postData.searchSchedId = $("input[name=searchSchedId]").val();
$("#grid").setGridParam({postData:postData, page:"1"}).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title"><%= localeMessage.getString("cron.title") %><span class="tooltip"><%= localeMessage.getString("cron.tooltip") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("cron.search") %></th>
<td><input type="text" name="searchSchedId" value="${param.searchSchedId}"></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,236 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/bap/admin/cron/cronMan.json" />';
var url_view = '<c:url value="/bap/admin/cron/cronMan.view" />';
var isDetail = false;
function isValid() {
var schedId = $('input[name=schedId]').val();
if (schedId == "") {
alert("<%= localeMessage.getString("cronDetail.checkRequired1") %>");
$('input[name=schedId]').focus();
return false;
}
return true;
}
function init(key, callback) {
if (typeof callback === 'function') {
callback(key);
}
}
function detail(key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
schedId : key
},
success : function(json) {
var data = json;
$("input").each(function(){
var name = $(this).attr('name');
if (name != null)
$(this).val(data[name.toUpperCase()]);
});
$("input[name=schedId]").attr('readonly', true);
if($("input[name=cronExp]").val() != ""){
var val = $("input[name=cronExp]").val();
var cron = val.split(" ");
$("input[name=cronSec]").val(cron[0]);
$("input[name=cronMin]").val(cron[1]);
$("input[name=cronHour]").val(cron[2]);
$("input[name=cronDay]").val(cron[3]);
$("input[name=cronMon]").val(cron[4]);
}
},
error : function(e) {
alert(e.responseText);
}
});
}
function makeCronExp(){
var sec = $("input[name=cronSec]").val();
var min = $("input[name=cronMin]").val();
var hour = $("input[name=cronHour]").val();
var day = $("input[name=cronDay]").val();
var cronExp = sec + " " + min+ " " +hour+ " " +day+ " * ?";
$("input[name=cronExp]").val(cronExp);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.schedId}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, detail);
$("#btn_modify").click(function() {
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
// 공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("<%= localeMessage.getString("common.saveMsg") %>");
// LIST로 이동
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("<%= localeMessage.getString("common.deleteMsg") %>");
// LIST로 이동
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
// LIST로 이동
goNav(returnUrl);
});
$("input[name^=cron]").keyup(function(){
var name = $(this).attr('name');
if(name == "cronExp") return;
makeCronExp();
});
buttonControl(key);
titleControl(key);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title"><%= localeMessage.getString("cron.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("cron.schedId") %></th>
<td><input type="text" name="schedId"/></td>
</tr>
<tr>
<th rowspan="2"><%= localeMessage.getString("cron.cronExp") %></th>
<td style="border-bottom:1px solid #ebebec;"><input type="text" name="cronExp" readonly/> </td>
</tr>
<tr>
<td>
<input type="text" name="cronSec" style="width:25px" /> <%= localeMessage.getString("common.sec") %>
<input type="text" name="cronMin" style="width:25px" /> <%= localeMessage.getString("common.min") %>
<input type="text" name="cronHour" style="width:25px"/> <%= localeMessage.getString("common.time") %>
<input type="text" name="cronDay" style="width:25px" /> <%= localeMessage.getString("common.day") %>
<input type="text" name="cronMon" style="width:25px" /> <%= localeMessage.getString("common.month") %>
<span style="display:inline-block; margin-left:20px; color:red;">
[ * : 매(초/분/시), / : 증분 {예시 : (0 */1 * * * ?) 매시 0초부터 1분 간격으로 실행} ]
</span>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.jobClassName") %></th>
<td><input type="text" name="jobClassName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.schedDstCd") %></th>
<td><input type="text" name="schedDstCd"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.scanDirName") %></th>
<td><input type="text" name="scanDirName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.timerMsg") %></th>
<td><input type="text" name="timerMsg"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,427 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=searchTelgmClsDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsName]").focus();
} else {
$("#clone").hide();
$("input[name=searchTelgmClsName]").css({'background-color' : ''});
$("input[name=searchTelgmClsDesc]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var url_view = '<c:url value="/bap/admin/message/classInfoMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchTelgmClsName]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/classInfoMan.json" />',
postData : gridPostData,
colNames:['전문클래스명',
'전문클래스 설명'
],
colModel:[
{ name : 'TELGMCLSNAME' , align:'left' ,width:40 ,sortable:false },
{ name : 'TELGMCLSDESC' , align:'left' ,width:40 },
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['TELGMCLSNAME'];
var url = '<c:url value="/bap/admin/message/classInfoMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/classInfoMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getSearchUrlForReturn();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var telgmClsNameList = [];
for (var i = 0; i <data.length; i++) {
telgmClsNameList.push(data[i]["TELGMCLSNAME"].trim());
}
var url = '<c:url value="/bap/admin/message/classInfoMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "telgmClsNameList",
value : telgmClsNameList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("클래스정보 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#clonYn").val("0").attr("selected","selected");
$("#btn_clone").click(function(){
var searchTelgmClsName = $("input[name=searchTelgmClsName]").val().trim();
var cloneTelgmClsName = $("input[name=cloneTelgmClsName]").val().trim();
var searchTelgmClsDesc = $("input[name=searchTelgmClsDesc]").val().trim();
var cloneTelgmClsDesc = $("input[name=cloneTelgmClsDesc]").val().trim();
if (searchTelgmClsName == "") {
alert("대상 전문클래스명을 입력해 주세요.");
return;
} else if (cloneTelgmClsName == "") {
alert("복제 전문클래스명을 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var urlPost ='<c:url value="/bap/admin/message/classInfoMan.json" />';
postData.push({name:"telgmClsName", value:data[i]["TELGMCLSNAME"].replace(searchTelgmClsName,cloneTelgmClsName)});
postData.push({name:"telgmClsDesc", value:data[i]["TELGMCLSDESC"].replace(searchTelgmClsDesc,cloneTelgmClsDesc)});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
}
alert("전문클래스 "+data.length+"건이 복제되었습니다.");
$("input[name=searchTelgmClsName]").val(cloneTelgmClsName);
$("input[name=searchTelgmClsDesc]").val(cloneTelgmClsDesc);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var telgmClsNameList = [];
for (var i = 0; i <data.length; i++) {
telgmClsNameList.push(data[i]["TELGMCLSNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "CLASS_INFO_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsNameList",
value : telgmClsNameList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/classInfoMan.json" />',
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("클래스정보 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData();
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var telgmClsNameList = [];
for (var i = 0; i <data.length; i++) {
telgmClsNameList.push(data[i]["TELGMCLSNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsNameList",
value : telgmClsNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/classInfoMan.json" />',
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("클래스정보 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 클래스정보가 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">클래스정보 관리<span class="tooltip">클래스정보를 등록/관리합니다</span></div>
<table class="search_condition" id="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">전문클래스명</th>
<td><input type="text" name="searchTelgmClsName" value="${param.searchTelgmClsName}"></td>
<th style="width:150px;">전문클래스 설명</th>
<td><input type="text" name="searchTelgmClsDesc" value="${param.searchTelgmClsDesc}"></td>
<th style="width:150px;">복제 사용여부</th>
<td>
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:150px;">복제 전문클래스명</th>
<td><input type="text" name="cloneTelgmClsName"></td>
<th style="width:150px;">복제 전문클래스 설명</th>
<td colspan="3"><input type="text" name="cloneTelgmClsDesc" style="display:inline-block; width:calc(100% - 90px);"/>
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</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,169 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function isValid(){
if($('input[name=TelgmClsName]').val() == ""){
alert("전문클래스명을 입력하여 주십시요.");
return false;
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function init(url,key,callback){
if(typeof callback === 'function') {
callback(url,key);
}
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, key : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=telgmClsName]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(detail[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/message/classInfoMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
//gridRendering();
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">클래스정보</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">전문클래스명</th><td><input type="text" name="telgmClsName" /> </td>
</tr>
<tr>
<th>전문클래스설명</th><td><input type="text" name="telgmClsDesc" /> </td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,453 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchTelgmClsID]").css({'background-color' : '#e5e5e5'});
$("input[name=searchMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=searchTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsID]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsID]").focus();
} else {
$("#clone").hide();
$("input[name=searchTelgmClsID]").css({'background-color' : ''});
$("input[name=searchMsgMetaDstcd]").css({'background-color' : ''});
$("input[name=searchTelgmClsName]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var url = '<c:url value="/bap/admin/message/classMapMan.json" />';
var url_view = '<c:url value="/bap/admin/message/classMapMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchTelgmClsID]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['전문클래스 ID',
'전문클래스메타구분코드',
'전문클래스 명'
],
colModel:[
{ name : 'TELGMCLSID' , align:'left' ,width:40 ,sortable:false },
{ name : 'MSGMETADSTCD' , align:'left' ,width:40 },
{ name : 'TELGMCLSNAME' , align:'left' ,width:40 }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['TELGMCLSID'];
var url = '<c:url value="/bap/admin/message/classMapMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var telgmClsIdList = [];
for (var i = 0; i <data.length; i++) {
telgmClsIdList.push(data[i]["TELGMCLSID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "telgmClsIdList",
value : telgmClsIdList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("클래스맵핑 "+data.length+"건이 삭제되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#clonYn").val("0").attr("selected","selected");
$("#btn_clone").click(function(){
var searchTelgmClsID = $("input[name=searchTelgmClsID]").val().trim();
var cloneTelgmClsID = $("input[name=cloneTelgmClsID]").val().trim();
var searchMsgMetaDstcd = $("input[name=searchMsgMetaDstcd]").val().trim();
var cloneMsgMetaDstcd = $("input[name=cloneMsgMetaDstcd]").val().trim();
var searchTelgmClsName = $("input[name=searchTelgmClsName]").val().trim();
var cloneTelgmClsName = $("input[name=cloneTelgmClsName]").val().trim();
if (searchTelgmClsID == "") {
alert("대상 전문클래스ID를 입력해 주세요.");
return;
} else if (cloneTelgmClsID == "") {
alert("복제 전문클래스ID를 입력해 주세요.");
return;
} else if (searchMsgMetaDstcd == "") {
alert("대상 메시지메타구분코드를 입력해 주세요.");
return;
} else if (cloneMsgMetaDstcd == "") {
alert("복제 메시지메타구분코드를 입력해 주세요.");
return;
} else if (searchTelgmClsName == "") {
alert("대상 전문클래스명을 입력해 주세요.");
return;
} else if (cloneTelgmClsName == "") {
alert("복제 전문클래스명을 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var urlPost = url;
postData.push({name:"telgmClsID", value:data[i]["TELGMCLSID"].replace(searchTelgmClsID,cloneTelgmClsID)});
postData.push({name:"msgMetaDstcd", value:data[i]["MSGMETADSTCD"].replace(searchMsgMetaDstcd,cloneMsgMetaDstcd)});
postData.push({name:"telgmClsName", value:data[i]["TELGMCLSNAME"].replace(searchTelgmClsName,cloneTelgmClsName)});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
}
alert("전문클래스매핑 "+data.length+"건이 복제되었습니다.");
$("input[name=searchTelgmClsID]").val(cloneTelgmClsID);
$("input[name=searchMsgMetaDstcd]").val(cloneMsgMetaDstcd);
$("input[name=searchTelgmClsName]").val(cloneTelgmClsName);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var telgmClsIdList = [];
for (var i = 0; i <data.length; i++) {
telgmClsIdList.push(data[i]["TELGMCLSID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "CLASS_MAP_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsIdList",
value : telgmClsIdList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("클래스매핑 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData()
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var telgmClsIdList = [];
for (var i = 0; i <data.length; i++) {
telgmClsIdList.push(data[i]["TELGMCLSID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsIdList",
value : telgmClsIdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("클래스맵핑 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 클래스맵핑이 이미 존재하여 복사되지 않았습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">클래스맵핑 관리<span class="tooltip">클래스정보를 등록/관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">전문클래스ID</th>
<td><input type="text" name="searchTelgmClsID" value="${param.searchTelgmClsID}"></td>
<th style="width:150px;">메시지메타구분코드</th>
<td><input type="text" name="searchMsgMetaDstcd" value="${param.searchMsgMetaDstcd}"></td>
<th style="width:150px;">전문클래스명</th>
<td><input type="text" name="searchTelgmClsName" value="${param.searchTelgmClsName}"></td>
<th style="width:150px;">복제 사용여부</th>
<td>
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:150px;">복제 전문클래스ID</th>
<td><input type="text" name="cloneTelgmClsID"></td>
<th style="width:150px;">복제 메시지메타구분코드</th>
<td><input type="text" name="cloneMsgMetaDstcd"></td>
<th style="width:150px;">복제 전문클래스명</th>
<td colspan="3"><input type="text" name="cloneTelgmClsName" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,194 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function isValid(){
if($('input[name=telgmClsID]').val().trim() == ""){
alert("전문클래스ID를 입력하여 주십시요.");
return false;
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function init(url,key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("CODE","CODE").setObj($("select[name=telgmClsName]")).setNoValueInclude(true).setData(json.clsNameList).rendering();
new makeOptions("CODE","CODE").setObj($("select[name=msgMetaDstcd]")).setNoValueInclude(true).setData(json.msgMetaDstList).rendering();
if (typeof callback === 'function') {
callback(url,key);
}
setSearchable("telgmClsName,msgMetaDstcd");
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, key : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=telgmClsID]").attr('readonly',true);
$("input,select").each(function(){
if($(this).attr('name')!=undefined){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(detail[name]);
}
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/message/classMapMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">클래스맵핑</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">전문클래스ID</th><td><input type="text" name="telgmClsID" /> </td>
</tr>
<tr>
<th>메시지메타구분코드</th><td><div class="select-style"><select type="text" name="msgMetaDstcd"></select></div> </td>
</tr>
<tr>
<th>전문클래스명</th><td><div class="select-style"><select type="text" name="telgmClsName"></select></div> </td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,188 @@
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchbjobBzwkPrcssDstcd]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/flowRuleMan.json" />',
postData : gridPostData,
colNames:['BATCH작업 업무처리구분코드',
'흐름규칙유형설명',
],
colModel:[
{ name : 'BJOBBZWKPRCSSDSTCD' , align:'left' ,sortable:false },
{ name : 'FLOWRULEPTRNDESC' , align:'center' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['BJOBBZWKPRCSSDSTCD'];
var url = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
/* var url = '<c:url value="/bap/admin/message/flowRuleMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_SESSION"
});
postData.push({
name : "searchbjobBzwkPrcssDstcd",
value : $("input[name=searchbjobBzwkPrcssDstcd]").val()
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
}); */
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/flowRuleMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_session").click(function(){
var url = '<c:url value="/bap/admin/message/flowRuleMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_SESSION"
});
postData.push({
name : "searchbjobBzwkPrcssDstcd",
value : $("input[name=searchbjobBzwkPrcssDstcd]").val()
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
/* $("#btn_search").click(); */
});
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">메시지흐름규칙 관리<span class="tooltip">메시지메타 정보를 등록 관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:50px;">BATCH작업 업무처리구분코드</th>
<td style="width:150px;">
<input type="text" name="searchbjobBzwkPrcssDstcd" value="${param.searchbjobBzwkPrcssDstcd}" />
<%-- <input type="text" name="searchbjobBzwkPrcssDstcd" value="${param.searchbjobBzwkPrcssDstcd}" style="display:inline-block; width:calc(100% - 70px);">
<img id="btn_session" src="<c:url value="/img/btn_pop_select.png" />" level="R" class="btn_img"/> --%>
</td>
<th style="width:50px;">흐름규칙 유형 설명</th>
<td style="width:150px;"><input type="text" name="searchflowRulePtrnDesc" value="${param.searchflowRulePtrnDesc}"></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,734 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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" />
<script language="javascript">
var url = '<c:url value="/bap/admin/message/flowRuleMan.json" />';
var url_view = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
var url_excel= '<c:url value="/bap/admin/message/flowRuleMan.excel"/>';
var isDetail = false;
var isClone = false;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=bjobBzwkPrcssDstcd]').val() == "") {
alert("업무처리구분코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=flowRulePtrnDesc]').val() == "") {
alert("흐름규칙유형설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=bjobBzwkPrcssDstcd]').val() == "") {
alert("업무처리구분코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=flowRulePtrnDesc]').val() == "") {
alert("흐름규칙유형설명을 입력하여 주십시요.");
return false;
}
return true;
}
function reloadGridWithScrollPosition(){
//scroll 위치 유지
var scrollPosition = $('#grid').closest(".ui-jqgrid-bdiv").scrollTop();
$("#grid").trigger('reloadGrid');
//scroll 위치 설정
$('#grid').closest(".ui-jqgrid-bdiv").scrollTop(scrollPosition);
}
function swapRow(prerow, nextrow){
var rowid = nextrow;
var preRowid = prerow;
var rowData = $("#grid").jqGrid('getRowData',rowid);
var newVal = "000"+(rowData['BJOBSTGESERNO']-1);
newVal = newVal.substring(newVal.length,newVal.length-3);
rowData['BJOBSTGESERNO'] = newVal;
var preRowData = $("#grid").jqGrid('getRowData',preRowid);
var preNewVal = "000"+(Number(preRowData['BJOBSTGESERNO'])+1);
preNewVal = preNewVal.substring(preNewVal.length, preNewVal.length-3);
preRowData['BJOBSTGESERNO'] = preNewVal;
$('#grid').jqGrid('setRowData',rowid, preRowData);
$('#grid').jqGrid('setRowData',preRowid, rowData);
$("#grid").jqGrid('sortGrid','BJOBSTGESERNO',true);
reloadGridWithScrollPosition();
}
function imgUpunformatter(cellvalue, options, rowObject) {
return "";
}
function imgDownunformatter(cellvalue, options, rowObject) {
return "";
}
function imgUpformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_up.png" />';
return "<img id='btn_move_up' name='img_up_"+rowId+"' "+url+ " class='btn_img' />";
}
function imgDownformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_down.png" />';
return "<img id='btn_move_down' name='img_down_"+rowId+"' "+url+ " class='btn_img'/>";
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_delete.png" />';
return "<img id='btn_pop_delete' name='img_del_"+rowId+"' "+url+ " class='btn_img'/>";
}
function cloneunformatter(cellvalue, options, rowObject) {
return "";
}
function cloneformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_clone.png" />';
return "<img id='btn_pop_clone' name='img_clone_"+rowId+"' "+url+ " class='btn_img'/>";
}
function gridRendering() {
$('#grid').jqGrid(
{
datatype : "local",
loadonce : true,
rowNum : 10000,
colNames : [ '처리구분코드', '일련번호', '구분코드', '유형명', '변동조건설명',
'유형구분', '세부운영코드','BATCH작업공통전문거래코드','타임아웃값','작업반복횟수',
'조건항목결정내용','처리우선','전문클래스ID','조건전문유형코드','조건전문관리코드',
'조건거래분류코드', '조건응답코드', '다음단계구분코드명' , '▲', '▼','삭제','복제'],
colModel : [
{ name : 'BJOBBZWKPRCSSDSTCD' , align : 'left' , sortable:false, hidden:true},
{ name : 'BJOBSTGESERNO' , align : 'left' , sortable:false},
{ name : 'BJOBSTGEDSTCD' , align : 'left' , sortable:false},
{ name : 'BJOBSTGEPTRNNAME' , align : 'left' , sortable:false},
{ name : 'BJOBSTGEFLXBLCNDNDESC', align : 'left' , sortable:false, width : 400},
{ name : 'TELGMPTRNDSTCD' , align : 'left' , sortable:false},
{ name : 'TELGMDTALSOPERCD' , align : 'left' , sortable:false},
{ name : 'BJOBCMNTELGMTRANCD' , align : 'left' , sortable:false},
{ name : 'TOUTVAL' , align : 'left' , sortable:false},
{ name : 'BJOBITERNOTMS' , align : 'left' , sortable:false},
{ name : 'CNDNITEMDCSNCTNT' , align : 'left' , sortable:false},
{ name : 'TRANPRCSSPRITY' , align : 'left' , sortable:false},
{ name : 'TELGMCLSID' , align : 'left' , sortable:false, width : 300},
{ name : 'CNDNTELGMPTRNCD' , align : 'left' , sortable:false},
{ name : 'CNDNTELGMMGTCD' , align : 'left' , sortable:false},
{ name : 'CNDNTRANCLSFICD' , align : 'left' , sortable:false},
{ name : 'CNDNRSPNSCD' , align : 'left' , sortable:false},
{ name : 'NEXTSTGEDSTCDNAME' , align : 'left' , sortable:false},
{ name : 'MOVEUP' , align : 'center', sortable:false, width : '80', unformat : imgUpunformatter, formatter : imgUpformatter},
{ name : 'MOVEDOWN' , align : 'center', sortable:false, width : '80', unformat : imgDownunformatter, formatter : imgDownformatter},
{ name : 'DELETEYN' , align : 'center', sortable:false, width : '80', unformat : unformatterFunction, formatter : formatterFunction},
{ name : 'CLONE' , align : 'center', sortable:false, width : '80', unformat : cloneunformatter, formatter : cloneformatter}
],
jsonReader : {
repeatitems : false
},
loadComplete : function(rowId) {
$("img[name^=img_del]").click(function() {
//alert(rowid);
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'BJOBSTGESERNO');
newVal = "000"+(Number(newVal)-1);
newVal = newVal.substring(newVal.length,newVal.length-3);
$('#grid').jqGrid('setCell',i,'BJOBSTGESERNO',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
reloadGridWithScrollPosition();
//$('#grid').trigger('reloadGrid');
});
$("img[name^=img_clone]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rowData = $('#grid').getRowData(rowId);
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var cloneRowid = index + 1;
var serno = "000"+cloneRowid;
rowData["BJOBSTGESERNO"] = ("000"+cloneRowid).substring(serno.length, serno.length-3);
$("#grid").jqGrid('addRow', {
rowID : cloneRowid,
initdata : rowData,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
// 복제 대상항목 다음 순서로 이동하기
for ( var i = cloneRowid; i >= Number(rowId)+1; i--){
var preRowid = String(Number(i)-1);
swapRow(preRowid,i);
$('#grid').jqGrid("setSelection",i);
}
});
$("img[name^=img_up]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name^=img_down]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
gridComplete : function() {
$("#clonYn").val("0").attr("selected","selected");
},
onSelectRow : function(rowid, status){
},
afterInsertRow : function (rowid, data){
$("img[name='img_del_"+rowid+"']").click(function() {
//alert(rowid);
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'BJOBSTGESERNO');
newVal = "000"+(Number(newVal)-1);
newVal = newVal.substring(newVal.length,newVal.length-3);
$('#grid').jqGrid('setCell',i,'BJOBSTGESERNO',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
reloadGridWithScrollPosition();
//$('#grid').trigger('reloadGrid');
});
$("img[name=img_up_"+rowid+"]").click(function() {
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name=img_down_"+rowid+"]").click(function() {
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
ondblClickRow: function(rowId) {
if (!isValidGrid()) {
return;
}
var args = new Object();
args['data'] = $("#grid").jqGrid('getRowData',rowId);
args['ispop'] = true;
args['rowId'] = rowId;
var url = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
url = url + "?cmd=POPUP";
var result = showModal(url,args,1000,600, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
if(ret) {
$("#grid").jqGrid('setRowData', rowId,ret);
}
});
},
height : '350',
autowidth : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '1000');
}
function init(url, key, callback) {
if (typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
key : key
},
success : function(json) {
var data = json;
var detail = json.detail;
var list = json.list;
//adapterType
$("input[name=bjobBzwkPrcssDstcd]").attr('readonly', true);
$("input,select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//Prop
$("#grid").setGridParam({
dataType : "local",
data : list
}).trigger("reloadGrid");
},
error : function(e) {
alert(e.responseText);
}
});
}
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=cloneBjobBzwkPrcssDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsID]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneBjobBzwkPrcssDstcd]").focus();
} else {
$("#clone").hide();
}
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.key}";
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(url, key, detail);
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'BJOBSTGESERNO', numberOfColumns: 4, titleText: 'BATCH작업단계'},
{startColumnName: 'TELGMPTRNDSTCD', numberOfColumns: 13, titleText: ''}
]
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'메시지흐름규칙 관리');
return false;
});
$("#btn_modify").click(function() {
if (!isValid()) return;
if (isDetail && isClone) {
if ( confirm( "복제하시겠습니까?" ) != true ) return;
} else if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail && isClone){
postData.push({ name: "cmd" , value:"INSERT"});
} else if (isDetail) {
postData.push({ name: "cmd" , value:"UPDATE"});
} else {
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (isClone) {
alert('복제 되었습니다.');
goNav(returnUrl);//LIST로 이동
} else {
alert("저장 되었습니다.");
if (!isDetail)
goNav(returnUrl);//LIST로 이동
}
$("#grid").trigger("reloadGrid");//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var args = new Object();
var value = $("input[name=bjobBzwkPrcssDstcd]").val();
args['data'] = {BJOBBZWKPRCSSDSTCD:value};
args['ispop'] = false;
var url = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1000,600, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue) return;
var data = new Object();
data = args.returnValue;
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
var serno = "000"+rowid;
data["BJOBSTGESERNO"] = ("000"+rowid).substring(serno.length, serno.length-3);
data["TRANPRCSSPRITY"] ='1';
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
});
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("#btn_pop_initialize").click(function(){
$("#grid").jqGrid('clearGridData');
});
$("#btn_clone").click(function(){
var cloneBjobBzwkPrcssDstcd = $("input[name=cloneBjobBzwkPrcssDstcd]").val();
var searchBjobBzwkPrcssDstcd = $("input[name=bjobBzwkPrcssDstcd]").val();
var cloneTelgmClsID = $("input[name=cloneTelgmClsID]").val();
if (cloneBjobBzwkPrcssDstcd == "") {
alert("복제 BATCH작업업무처리구분코드를 입력해 주세요.");
return;
} else if (cloneTelgmClsID == "") {
alert("복제 전문클래스ID를 입력해 주세요.");
return;
} else {
$("input[name=bjobBzwkPrcssDstcd]").val(cloneBjobBzwkPrcssDstcd.trim());
}
$("input[name=cloneBjobBzwkPrcssDstcd]").val("");
$("input[name=cloneTelgmClsID]").val("");
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i < data.length; i++) {
data[i]["BJOBBZWKPRCSSDSTCD"] = cloneBjobBzwkPrcssDstcd;
var sourceTelgmClsID = data[i]["TELGMCLSID"].split("_")[1];
if (cloneTelgmClsID != "" && sourceTelgmClsID != "") {
data[i]["TELGMCLSID"] = data[i]["TELGMCLSID"].replace(sourceTelgmClsID,cloneTelgmClsID);
}
$("#grid").setRowData(i+1,data[i]);
}
isClone = true;
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "FLOW_RULE_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("메시지흐름규칙 입력 SQL문이 다운로드되었습니다.");
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지흐름규칙이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("메시지흐름규칙이 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_dev");
}
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_excel.png"/>" alt="" id="btn_excel" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">메시지흐름규칙</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">BATCH작업업무처리구분코드</th>
<td colspan="3"><input type="text" name="bjobBzwkPrcssDstcd" /></td>
</tr>
<tr>
<th style="width:200px;">흐름규칙 유형 설명</th>
<td style="width:400px;"><input type="text" name="flowRulePtrnDesc"/></td>
<th style="width:120px;">복제 사용여부</th>
<td style="width:400px;">
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)" >
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:200px;">복제 BATCH작업업무처리구분코드</th>
<td style="width:310px;"><input type="text" name="cloneBjobBzwkPrcssDstcd"/></td>
<th style="width:120px;">복제 전문클래스ID</th>
<td style="width:200px;">
<input type="text" name="cloneTelgmClsID" style="display:inline-block; width:calc(100% - 90px);"/>
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="DETAIL" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</table>
</form>
<div style="margin-bottom:15px; text-align:right;">
<img id="btn_pop_input" src="<c:url value="/img/btn_input.png"/>" level="W" status="DETAIL,NEW" class="btn_img" />
<img id="btn_pop_initialize" src="<c:url value="/img/btn_initialize.png"/>" level="W" status="DETAIL,NEW" class="btn_img" />
</div>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,221 @@
<%@ 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"/>
<script language="javascript" >
var popData = window.dialogArguments['data'];
var isPopup = window.dialogArguments['ispop'];
function isValid(){
}
function disorder(val){
if( val == "RECV"){
$("input[name=telgmPtrnDstcd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=telgmDtalsOperCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=bjobCmnTelgmTranCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=cndnTelgmPtrnCd]").prop('disabled',false).css('background-color','white');
$("input[name=cndnTelgmMgtCd]").prop('disabled',false).css('background-color','white');
$("input[name=cndnTranClsfiCd]").prop('disabled',false).css('background-color','white');
}else if(val == "SEND") {
$("input[name=telgmPtrnDstcd]").prop('disabled',false).css('background-color','white');
$("input[name=telgmDtalsOperCd]").prop('disabled',false).css('background-color','white');
$("input[name=bjobCmnTelgmTranCd]").prop('disabled',false).css('background-color','white');
$("input[name=cndnTelgmPtrnCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=cndnTelgmMgtCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=cndnTranClsfiCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
}
}
function init(url,key,callback){
$("input[name=bjobBzwkPrcssDstcd]").val(key);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_POP_COMBO',
bjobBzwkPrcssDstcd : key},
success:function(json){
new makeOptions("BJOBSTGEDSTCD","BJOBSTGEDSTCD").setObj($("select[name=bjobStgeDstcd]")).setNoValueInclude(true).setData(json.stgeDstcdList).rendering();
new makeOptions("BJOBSTGEDSTCD","BJOBSTGEDSTCD").setObj($("select[name=nextStgeDstcdName]")).setNoValueInclude(true).setData(json.stgeDstcdList).rendering();
disorder("SEND");
if (typeof callback === 'function') {
callback(url,key);
}
setSearchable("bjobStgeDstcd");
setSearchable("nextStgeDstcdName");
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key){
if (!isPopup)return;
var data = popData;
$("input[name=bjobBzwkPrcssDstcd]").attr('readonly',true);
$("select[name=bjobStgeDstcd]").attr('readonly',true);
$("input,select").each(function(){
if($(this).attr('name')!=undefined){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(data[name]);
}
//alert(name + "|" + data[name] + "|");
});
disorder($("select[name=bjobStgePtrnName]").val());
}
$(document).ready(function() {
var url ='<c:url value="/bap/admin/message/flowRuleMan.json" />';
var key = popData['BJOBBZWKPRCSSDSTCD'];
/* if (popData != "" && popData !="null"){
isPopup = true;
} */
init(url,key,detail);
$("select[name=bjobStgeDstcd]").focus();
$("#btn_close").click(function(){
window.close();
});
$("#btn_modify").click(function(){
if ( confirm( "수정하시겠습니까?" ) != true ) return;
var retData = new Object();
$("input").each(function(){
if ($(this).attr('name') != undefined) {
var name = $(this).attr('name').toUpperCase();
var value =$(this).val();
if ( name != null && value != '') {
retData[name]=value;
} else {
console.log["blank : " +name];
retData[name]=" ";
}
}
});
$("select").each(function(){
if ($(this).attr('name') != undefined) {
var name = $(this).attr('name').toUpperCase();
var value =$(this).find("option:selected").val();
if ( name != null && value != '') {
retData[name]=value;
} else {
retData[name]=" ";
}
}
});
window.returnValue = retData;
$("#btn_close").trigger("click");
});
$("select[name=bjobStgePtrnName]").change(function(){
var val = $(this).val();
disorder(val);
});
//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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">메시지항목 선택</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:200px;">BATCH작업업무구분코드</th>
<td><input type="text" name="bjobBzwkPrcssDstcd"></td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:200px;">BATCH작업단계구분코드</th>
<td><div class="select-style"><select name="bjobStgeDstcd" id="bjobStgeDstcd"></select></div></td>
<th style="width:200px;">다음단계구분코드명</th>
<td><div class="select-style"><select name="nextStgeDstcdName" id="nextStgeDstcdName"></select></div></td>
</tr>
<tr>
<th style="width:200px;">BATCH작업단계유형명</th>
<td>
<div class="select-style"><select type="text" name="bjobStgePtrnName">
<option value="SEND">SEND</option>
<option value="RECV">RECV</option>
<option value="END">END</option>
<option value="EEND">EEND</option>
</select></div>
</td>
<th style="width:200px;">전문유형구분코드</th><td><input type="text" name="telgmPtrnDstcd"></td>
</tr>
<tr>
<th style="width:200px;">전문세부운영코드</th><td><input type="text" name="telgmDtalsOperCd"></td>
<th style="width:200px;">BATCH작업공통전문거래코드</th><td><input type="text" name="bjobCmnTelgmTranCd"></td>
</tr>
<tr>
<th style="width:200px;">타임아웃값</th><td><input type="text" name="toutVal" value='0'></td>
<th style="width:200px;">BATCH작업반복횟수</th><td><input type="text" name="bjobIterNotms" value='0'></td>
</tr>
<tr>
<th style="width:200px;">전문클래스ID</th><td><input type="text" name="telgmClsID"></td>
<th style="width:200px;">조건항목결정내용</th><td><input type="text" name="cndnItemDcsnCtnt"></td>
</tr>
<tr>
<th style="width:200px;">조건전문유형코드</th><td><input type="text" name="cndnTelgmPtrnCd"></td>
<th style="width:200px;">조건전문관리코드</th><td><input type="text" name="cndnTelgmMgtCd"></td>
</tr>
<tr>
<th style="width:200px;">조건거래분류코드</th><td><input type="text" name="cndnTranClsfiCd"></td>
<th style="width:200px;">조건응답코드</th><td><input type="text" name="cndnRspnsCd"></td>
</tr>
<tr>
<th style="width:200px;">BATCH작업단계변동조건설명</th><td colspan="3"><input type="text" name="bjobStgeFlxblCndnDesc"></td>
</tr>
</table>
</form>
<!-- tree -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,524 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchBjobBzwkPrcssDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneBjobBzwkPrcssDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneBjobBzwkPrcssDstcd]").focus();
} else {
$("#clone").hide();
$("input[name=searchBjobBzwkPrcssDstcd]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
function lpad(str, padLen, padStr) {
if (padStr.length > padLen) {
alert("좌측에 채우고자 하는 문자열이 요청 길이보다 큽니다.");
return str;
}
str += "";
padStr += "";
while (str.length < padLen) str = padStr + str;
str = str.length >= padLen ? str.substring(0, padLen) : str;
return str;
}
function cloneunformatter(cellvalue, options, rowObject) {
return "";
}
function cloneformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_clone.png" />';
return "<img id='btn_pop_clone' name='img_clone_"+rowId+"' "+url+ " class='btn_img'/>";
}
$(document).ready(function() {
var url = '<c:url value="/bap/admin/message/flowStepMan.json" />';
var url_view = '<c:url value="/bap/admin/message/flowStepMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchBjobBzwkPrcssDstcd]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'처리구분코드',
'단계구분코드',
'단계유형명',
'흐름컴포넌트명',
'전문클래스ID',
'단위전문길이',
'작업노드설명',
'복제'
],
colModel:[
{ name : 'BJOBBZWKPRCSSDSTCD' , align:'left' ,width:40 ,sortable:false },
{ name : 'BJOBSTGEDSTCD' , align:'left' ,width:40 },
{ name : 'BJOBSTGEPTRNNAME' , align:'left' ,width:40 },
{ name : 'BJOBFLOWCMPONAME' , align:'left' ,width:40 },
{ name : 'TELGMCLSID' , align:'left' ,width:40 },
{ name : 'UNITTELGMLEN' , align:'left' ,width:40 },
{ name : 'BJOBNODEDESC' , align:'left' ,width:40, hidden : false },
{ name : 'CLONE' , align:'center',width:10, unformat:cloneunformatter, formatter:cloneformatter}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete : function(rowId) {
$("img[name^=img_clone]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rowData = $('#grid').getRowData(rowId);
var postData = $('#ajaxForm').serializeArray();
var urlPost ='<c:url value="/bap/admin/message/flowStepMan.json" />';
var bjobStgeDstcd = rowData["BJOBSTGEDSTCD"].trim();
var cloneBjobStgeDstcd = bjobStgeDstcd.substring(0,1)+lpad(Number(bjobStgeDstcd.substring(2,5))+10, 4, "0");
postData.push({name: "bjobBzwkPrcssDstcd", value:rowData["BJOBBZWKPRCSSDSTCD"].trim()});
postData.push({name: "telgmClsID", value:rowData["TELGMCLSID"].trim()});
postData.push({name: "bjobStgeDstcd", value:cloneBjobStgeDstcd});
postData.push({name: "bjobStgePtrnName", value:rowData["BJOBSTGEPTRNNAME"]});
postData.push({name: "bjobFlowCmpoName", value:rowData["BJOBFLOWCMPONAME"]});
postData.push({name: "unitTelgmLen", value:rowData["UNITTELGMLEN"]});
postData.push({name: "bjobNodeDesc", value:rowData["BJOBNODEDESC"]});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
$("input[name=searchBjobBzwkPrcssDstcd]").val(rowData["BJOBBZWKPRCSSDSTCD"].trim());
$("#btn_search").click();
});
},
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['BJOBBZWKPRCSSDSTCD'];
var key2 = rowData['BJOBSTGEDSTCD'];
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
url = url + '&key2='+key2;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
for (var i = 0; i <data.length; i++) {
bjobBzwkPrcssDstcdList.push(data[i]["BJOBBZWKPRCSSDSTCD"].trim());
bjobStgeDstcdList.push(data[i]["BJOBSTGEDSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "bjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "bjobStgeDstcdList",
value : bjobStgeDstcdList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("업무흐름단계 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#clonYn").val("0").attr("selected","selected");
$("#btn_clone").click(function(){
var searchBjobBzwkPrcssDstcd = $("input[name=searchBjobBzwkPrcssDstcd]").val().trim();
var cloneBjobBzwkPrcssDstcd = $("input[name=cloneBjobBzwkPrcssDstcd]").val().trim();
var cloneTelgmClsID = $("input[name=cloneTelgmClsID]").val().trim();
if (searchBjobBzwkPrcssDstcd == "") {
alert("대상 업무처리구분코드를 입력해 주세요.");
return;
} else if (cloneBjobBzwkPrcssDstcd == "") {
alert("복제 업무처리구분코드를 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var urlPost ='<c:url value="/bap/admin/message/flowStepMan.json" />';
var bjobBzwkPrcssDstcd = data[i]["BJOBBZWKPRCSSDSTCD"].trim();
postData.push({name:"bjobBzwkPrcssDstcd", value:bjobBzwkPrcssDstcd.replace(searchBjobBzwkPrcssDstcd,cloneBjobBzwkPrcssDstcd)});
var telgmClsID = data[i]["TELGMCLSID"].trim();
if ( telgmClsID != "" && cloneTelgmClsID != "") {
postData.push({name:"telgmClsID", value:telgmClsID.replace(telgmClsID,cloneTelgmClsID)});
} else {
postData.push({name:"telgmClsID", value:telgmClsID});
}
postData.push({name: "bjobStgeDstcd", value:data[i]["BJOBSTGEDSTCD"]});
postData.push({name: "bjobStgePtrnName", value:data[i]["BJOBSTGEPTRNNAME"]});
postData.push({name: "bjobFlowCmpoName", value:data[i]["BJOBFLOWCMPONAME"]});
postData.push({name: "unitTelgmLen", value:data[i]["UNITTELGMLEN"]});
postData.push({name: "bjobNodeDesc", value:data[i]["BJOBNODEDESC"]});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
}
alert("업무흐름단계 "+data.length+"건이 복제되었습니다.");
$("input[name=searchBjobBzwkPrcssDstcd]").val(cloneBjobBzwkPrcssDstcd);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
for (var i = 0; i <data.length; i++) {
bjobBzwkPrcssDstcdList.push(data[i]["BJOBBZWKPRCSSDSTCD"].trim());
bjobStgeDstcdList.push(data[i]["BJOBSTGEDSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "FLOW_STEP_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchBjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "searchBjobStgeDstcdList",
value : bjobStgeDstcdList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("메시지흐름단계 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData()
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
for (var i = 0; i <data.length; i++) {
bjobBzwkPrcssDstcdList.push(data[i]["BJOBBZWKPRCSSDSTCD"].trim());
bjobStgeDstcdList.push(data[i]["BJOBSTGEDSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchBjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "searchBjobStgeDstcdList",
value : bjobStgeDstcdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지흐름단계 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 메시지흐름단계가 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">흐름단계 리스트<span class="tooltip">흐름단계 리스트를 관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">업무처리구분코드</th>
<td style="width:200px;"><input type="text" name="searchBjobBzwkPrcssDstcd" value="${param.searchBjobBzwkPrcssDstcd}"></td>
<th style="width:120px;">단계구분코드</th>
<td style="width:200px;"><input type="text" name="searchBjobStgeDstcd" value="${param.searchBjobStgeDstcd}"></td>
<%-- <th style="width:120px;">흐름콤포넌트명</th>
<td style="width:200px;"><input type="text" name="searchBjobFlowCmpoName" value="${param.searchBjobFlowCmpoName}"></td> --%>
<th style="width:120px;">전문클래스ID</th>
<td style="width:200px;"><input type="text" name="searchTelgmClsID" value="${param.searchTelgmClsID}"></td>
<th style="width:120px;">복제 사용여부</th>
<td style="width:200px;">
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:120px;">복제 업무처리구분코드</th>
<td colspan="3"><input type="text" name="cloneBjobBzwkPrcssDstcd"></td>
<th style="width:120px;">복제 전문클래스ID</th>
<td colspan="3"><input type="text" name="cloneTelgmClsID" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</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,304 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var isDetail = false;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid(){
if($('input[name=bjobBzwkPrcssDstcd]').val().trim() == ""){
alert("작업업무처리구분코드를 입력하여 주십시요.");
return false;
}else if($('input[name=bjobStgeDstcd]').val().trim() == ""){
alert("작업단계구분코드를 입력하여 주십시요.");
return false;
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function init(url,key,key2,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("CODE","CODE").setObj($("select[name=telgmClsID]")).setNoValueInclude(true).setData(json.clsIDList).rendering();
setSearchable("telgmClsID");
if (typeof callback === 'function') {
callback(url,key,key2);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key,key2){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, key : key
, key2 : key2
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=bjobBzwkPrcssDstcd]").attr('readonly',true);
$("input[name=bjobStgeDstcd]").attr('readonly',true);
$("input,select").each(function(){
if($(this).attr('name')!=undefined){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(detail[name]);
}
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/message/flowStepMan.json" />';
var key ="${param.key}";
var key2 ="${param.key2}";
if (key != "" && key !="null"){
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
init(url,key,key2,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
bjobBzwkPrcssDstcdList.push(key);
bjobStgeDstcdList.push(key2);
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchBjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "searchBjobStgeDstcdList",
value : bjobStgeDstcdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_dev");
}
});
</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_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/> --%>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">흐름단계</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">BATCH작업업무처리구분코드</th><td><input type="text" name="bjobBzwkPrcssDstcd" /> </td>
</tr>
<tr>
<th>BATCH작업단계구분코드</th><td><input type="text" name="bjobStgeDstcd"> </td>
</tr>
<tr>
<th>BATCH작업단계유형명</th>
<td>
<div class="select-style"><select type="text" name="bjobStgePtrnName">
<option value="SEND">SEND</option>
<option value="RECV">RECV</option>
<option value="END">END</option>
<option value="EEND">EEND</option>
</select></div>
</td>
</tr>
<tr>
<th>BATCH작업흐름컴포넌트명</th><td><input type="text" name="bjobFlowCmpoName"></td>
</tr>
<tr>
<th>전문클래스ID</th><td><div class="select-style"><select type="text" name="telgmClsID"></select></div> </td>
</tr>
<tr>
<th>단위전문길이</th><td><input type="text" name="unitTelgmLen"></td>
</tr>
<tr>
<th>BATCH작업노드설명</th><td><input type="text" name="bjobNodeDesc"></td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,425 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/message/messageItemMan.json" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
$(document).ready(function() {
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#clonYn").val("0").attr("selected","selected");
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/messageItemMan.json" />',
postData : gridPostData,
colNames:[
'메시지항목구분명',
'메시지컬럼명',
'메시지컬럼 속성유형코드',
'메시지컬럼값',
'당메시지 컬럼 사용여부'
],
colModel:[
{ name : 'MSGITEMDSTICNAME' , align:'left' , width:40 ,sortable:false },
{ name : 'MSGCLMNNAME' , align:'center' , width:40 },
{ name : 'MSGCLMNATTRIPTRNCD' , align:'center' , width:40 },
{ name : 'MSGCLMNVAL' , align:'center' , width:40 },
{ name : 'THISMSGCLMNUSEYN' , align:'center' , width:40 ,
formatter: function (cellvalue) {
if ( !cellvalue ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue ) {
return '사용함';
} else {
return cellvalue;
}
}
}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['MSGITEMDSTICNAME'];
var url = '<c:url value="/bap/admin/message/messageItemMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/messageItemMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_clone").click(function(){
var searchMsgItemDsticName = $("input[name=searchMsgItemDsticName]").val().trim();
var cloneMsgItemDsticName = $("input[name=cloneMsgItemDsticName]").val().trim();
if (searchMsgItemDsticName == "") {
alert("대상 메시지항목 구분명을 입력해 주세요.");
return;
} else if (cloneMsgItemDsticName == "") {
alert("복제 메시지항목 구분명을 입력해 주세요.");
return;
}
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
postData.push({name:"msgItemDsticName", value:data[i]["MSGITEMDSTICNAME"].replace(searchMsgItemDsticName,cloneMsgItemDsticName)});
postData.push({name:"msgClmnName", value:data[i]["MSGCLMNNAME"].trim()});
postData.push({name:"msgClmnAttriPtrnCd", value:data[i]["MSGCLMNATTRIPTRNCD"].trim()});
postData.push({name:"msgClmnVal", value:data[i]["MSGCLMNVAL"].trim()});
postData.push({name:"thisMsgClmnUseYn", value:data[i]["THISMSGCLMNUSEYN"] == '사용함' ? '1' : '0'});
postData.push({name:"cmd", value:"CLONE"});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(args) {
},
error : function(e) {
alert(e.responseText);
}
});
}
alert("메시지 항목 "+data.length+"건이 복제되었습니다.");
$("input[name=searchMsgItemDsticName]").val(cloneMsgItemDsticName);
$("input[name=cloneMsgItemDsticName]").val("");
$("#btn_search").click();
});
$("#btn_delete").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var msgItemDsticNameList = [];
for (var i = 0; i <data.length; i++) {
msgItemDsticNameList.push(data[i]["MSGITEMDSTICNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "msgItemDsticNameList",
value : msgItemDsticNameList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("메시지항목 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_download_sql").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var msgItemDsticNameList = [];
for (var i = 0; i <data.length; i++) {
msgItemDsticNameList.push(data[i]["MSGITEMDSTICNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_MSGITEM_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "msgItemDsticNameList",
value : msgItemDsticNameList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert(data.length+"건의 메시지항목 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var msgItemDsticNameList = [];
for (var i = 0; i <data.length; i++) {
msgItemDsticNameList.push(data[i]["MSGITEMDSTICNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "msgItemDsticNameList",
value : msgItemDsticNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지항목 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 메시지항목이 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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="title">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">메시지항목 관리<span class="tooltip">메시지항목을 등록 관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">메시지항목 구분명</th>
<td style="width:20%;"><input type="text" name="searchMsgItemDsticName" value="${param.searchMsgItemDsticName}"></td>
<th>메시지 컬럼명</th>
<td><input type="text" name="searchMsgClmnName" value="${param.searchMsgClmnName}"></td>
<th>복제 메시지항목 구분명</th>
<td><input type="text" name="cloneMsgItemDsticName" style="display:inline-block; width:calc(100% - 70px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/></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,214 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function isValid(){
/* if($('input[name=key]').val().trim() == ""){
alert("기관코드를 입력하여 주십시요.");
return false;
}else if($('input[name=kikwanName]').val() == ""){
alert("기관명를 입력하여 주십시요.");
return false;
} */
return true;
}
function isValidGrid(){
return true;
}
function init(url,key,callback){
if(typeof callback === 'function') {
callback(url,key);
}
if ("${param.subPopup}") {
$("#btn_previous").attr('status',"");
$("#btn_close").attr('status',"NEW");
} else {
$("#btn_previous").attr('status',"DETAIL,NEW");
$("#btn_close").attr('status',"");
}
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, MsgItemDsticName : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=msgItemDsticName]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(detail[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/message/messageItemMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
//gridRendering();
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
if ("${param.subPopup}") { // 메타관리 팝업에서 사용되면 창닫기
window.close();
} else {
goNav(returnUrl); // LIST로 이동
}
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("#btn_close").click(function(){
window.close();
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" status="NEW"/>
</div>
<div class="title">메시지항목</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">메시지 항목 구분명</th><td><input type="text" name="msgItemDsticName" /> </td>
</tr>
<tr>
<th>메시지 컬럼명</th><td><input type="text" name="msgClmnName" /> </td>
</tr>
<tr>
<th>메시지컬럼 속성유형코드 *</th>
<td>
<div class="select-style"><select name="msgClmnAttriPtrnCd">
<option value="AA">AA</option>
<option value="AN">AN</option>
<option value="NN">NN</option>
</select></div>
</td>
</tr>
<tr>
<th>메시지 컬럼값</th><td><input type="text" name="msgClmnVal" /> </td>
</tr>
<tr>
<th>당메시지 컬럼 사용여부 *</th>
<td>
<div class="select-style"><select name="thisMsgClmnUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,446 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=searchMsgDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgMetaDstcd]").focus();
} else {
$("#clone").hide();
$("input[name=searchMsgMetaDstcd]").css({'background-color' : ''});
$("input[name=searchMsgDesc]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var url_view = '<c:url value="/bap/admin/message/messageMetaMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchMsgMetaDstcd]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#clonYn").val("0").attr("selected","selected");
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/messageMetaMan.json" />',
postData : gridPostData,
colNames:[
'메시지메타구분코드',
'메시지설명',
'당메시지 사용여부'
],
colModel:[
{ name : 'MSGMETADSTCD' , align:'left' ,width:40 ,sortable:false },
{ name : 'MSGDESC' , align:'center' ,width:40 },
{ name : 'THISMSGUSEYN' , align:'center' ,width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue == '1' ) {
return '사용';
} else {
return cellvalue;
}
}
}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['MSGMETADSTCD'];
var url = '<c:url value="/bap/admin/message/messageMetaMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/messageMetaMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var msgMetaDstcdList = [];
for (var i = 0; i <data.length; i++) {
msgMetaDstcdList.push(data[i]["MSGMETADSTCD"].trim());
}
var url = '<c:url value="/bap/admin/message/messageMetaMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "msgMetaDstcdList",
value : msgMetaDstcdList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("메시지메타 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_clone").click(function(){
var searchMsgMetaDstcd = $("input[name=searchMsgMetaDstcd]").val().trim();
var cloneMsgMetaDstcd = $("input[name=cloneMsgMetaDstcd]").val().trim();
var searchMsgDesc = $("input[name=searchMsgDesc]").val().trim();
var cloneMsgDesc = $("input[name=cloneMsgDesc]").val().trim();
if (searchMsgMetaDstcd == "") {
alert("대상 메시지메타 구분코드를 입력해 주세요.");
return;
} else if (cloneMsgMetaDstcd == "") {
alert("복제 메시지메타 구분코드를 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return ;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var msgMetaDstcd = data[i]["MSGMETADSTCD"].trim();
postData.push({name:"msgMetaDstcd", value:msgMetaDstcd});
var newMsgMetaDstcd = msgMetaDstcd.replace(searchMsgMetaDstcd,cloneMsgMetaDstcd);
postData.push({name:"newMsgMetaDstcd", value:newMsgMetaDstcd});
if ( searchMsgDesc != "" && cloneMsgDesc != "") {
var msgDesc = data[i]["MSGDESC"].trim();
var newMsgDesc = msgDesc.replace(searchMsgDesc,cloneMsgDesc);
postData.push({name:"newMsgDesc", value:newMsgDesc});
}
var url = '<c:url value="/bap/admin/message/messageMetaMan.json" />';
postData.push({name:"cmd", value:"CLONE"});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(args) {
},
error : function(e) {
alert(e.responseText);
}
});
}
alert("메시지메타 "+data.length+"건이 복제되었습니다.");
$("input[name=searchMsgMetaDstcd]").val(cloneMsgMetaDstcd);
$("input[name=searchMsgDesc]").val(cloneMsgDesc);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var msgMetaDstcdList = [];
for (var i = 0; i <data.length; i++) {
msgMetaDstcdList.push(data[i]["MSGMETADSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "MSG_META_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchMsgMetaDstcdList",
value : msgMetaDstcdList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/messageMetaMan.json" />',
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert("메시지메타 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData();
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var msgMetaDstcdList = [];
for (var i = 0; i <data.length; i++) {
msgMetaDstcdList.push(data[i]["MSGMETADSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchMsgMetaDstcdList",
value : msgMetaDstcdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/messageMetaMan.json" />',
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지메타 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 메시지메타가 이미 존재하여 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
//buttonControl();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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="title">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">메시지메타 관리<span class="tooltip">메시지메타 정보를 등록 관리합니다</span></div>
<form id="ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">메시지메타 구분코드</th>
<td><input type="text" name="searchMsgMetaDstcd" value="${param.searchMsgMetaDstcd}"></td>
<th style="width:150px;">메시지 설명</th>
<td><input type="text" name="searchMsgDesc" value="${param.searchMsgDesc}"></td>
<th style="width:120px;">복제 사용여부</th>
<td style="width:120px;">
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:150px;">복제 메시지메타 구분코드</th>
<td style="width:120px;"><input type="text" name="cloneMsgMetaDstcd"></td>
<th style="width:120px;">복제 메시지 설명</th>
<td colspan="3"><input type="text" name="cloneMsgDesc" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,480 @@
<%@ 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" />
<script language="javascript">
var isDetail = false;
function isValid() {
if ($('input[name=bjobBzwkDstcd]').val() == "") {
alert("업무그룹코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=bjobBzwkName]').val() == "") {
alert("업무그룹명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=msgMetaDstcd]').val() == "") {
alert("메타구분코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=msgDesc]').val() == "") {
alert("메타 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function swapRow(prerow, nextrow){
var rowid = nextrow;
var preRowid = prerow;
var rowData = $("#grid").jqGrid('getRowData',rowid);
rowData['MSGCLMNSEQ'] = rowData['MSGCLMNSEQ']-1;
var preRowData = $("#grid").jqGrid('getRowData',preRowid);
preRowData['MSGCLMNSEQ'] = Number(preRowData['MSGCLMNSEQ'])+1;
$('#grid').jqGrid('setRowData',rowid, preRowData);
$('#grid').jqGrid('setRowData',preRowid, rowData);
$("#grid").jqGrid('sortGrid','MSGCLMNSEQ',true);
$("#grid").trigger('reloadGrid');
}
function imgUpunformatter(cellvalue, options, rowObject) {
return "";
}
function imgDownunformatter(cellvalue, options, rowObject) {
return "";
}
function imgUpformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_up.png" />';
return "<img id='btn_move_up' name='img_up_"+rowId+"' "+url+ " class='btn_img' />";
}
function imgDownformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_down.png" />';
return "<img id='btn_move_down' name='img_down_"+rowId+"' "+url+ " class='btn_img' />";
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_delete.png" />';
return "<img id='btn_pop_delete' name='img_del_"+rowId+"' "+url+ " class='btn_img' />";
}
function gridRendering() {
$('#grid').jqGrid(
{
datatype : "local",
loadonce : true,
rowNum : 10000,
colNames : [ '메시지항목구분명', '메시지컬럼명', '메시지컬럼순서', '속성유형코드',
'메시지컬럼값', '▲', '▼', '삭제' ],
colModel : [
{ name : 'MSGITEMDSTICNAME', align : 'left' , sortable:false},
{ name : 'MSGCLMNNAME', align : 'left' , sortable:false},
{ name : 'MSGCLMNSEQ', align : 'left' , sorttype:'integer', sortable:false},
{ name : 'MSGCLMNATTRIPTRNCD',align : 'left' , sortable:false},
{ name : 'MSGCLMNVAL', align : 'left' , sortable:false},
{ name : 'MOVEUP', align : 'center', sortable:false, width : '50',unformat : imgUpunformatter,formatter : imgUpformatter},
{ name : 'MOVEDOWN', align : 'center' , sortable:false, width : '50', unformat : imgDownunformatter, formatter : imgDownformatter},
{ name : 'DELETEYN', align : 'center' , sortable:false, width : '50', unformat : unformatterFunction, formatter : formatterFunction}
],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
$("img[name^=img_del]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
debugger;
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'MSGCLMNSEQ');
newVal = Number(newVal)-1;
$('#grid').jqGrid('setCell',i,'MSGCLMNSEQ',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
$('#grid').trigger('reloadGrid');
});
$("img[name^=img_up]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name^=img_down]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
gridComplete : function() {
},
onSelectRow : function(rowid, status){
},
afterInsertRow : function (rowid, data){
$("img[name='img_del_"+rowid+"']").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
debugger;
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'MSGCLMNSEQ');
newVal = Number(newVal)-1;
$('#grid').jqGrid('setCell',i,'MSGCLMNSEQ',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
$('#grid').trigger('reloadGrid');
});
$("img[name=img_up_"+rowid+"]").click(function() {
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name=img_down_"+rowid+"]").click(function() {
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
height : '400',
autowidth : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '1000');
}
function init(url, key, callback) {
if (typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
msgMetaDstcd : key
},
success : function(json) {
var data = json;
var detail = json.detail;
var list = json.list;
//adapterType
$("input[name=msgMetaDstcd]").attr('readonly', true);
$("input,select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//Prop
$("#grid").setGridParam({
dataType : "local",
data : list
}).trigger("reloadGrid");
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/message/messageMetaMan.json" />';
var key = "${param.key}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'MSGITEMDSTICNAME', numberOfColumns: 5, titleText: '메시지항목 ITEM 리스트'},
{startColumnName: 'MOVEUP', numberOfColumns: 3, titleText: '이동'}
]
});
$("#btn_modify").click(function() {
if (!isValid()) return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("저장 되었습니다.");
//if (!isDetail)
goNav(returnUrl);//LIST로 이동
//$("#grid").trigger("reloadGrid");//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var args = new Object();
args['check'] = "";
var url = '<c:url value="/bap/admin/message/messageMetaMan.view" />';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1200,678, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var data = [];
data = args.returnValue;
for (var i = 0; i <data.length; i++) {
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
data[i]["MSGCLMNSEQ"] = rowid;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data[i],
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
}
});
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("#btn_pop_initialize").click(function(){
$("#grid").jqGrid('clearGridData');
});
$("#btn_clone").click(function(){
if ( confirm( "복제하시겠습니까?" ) != true ) return;
// 복제할 메시지메타구분코드
var newMsgMetaDstcd = $("input[name=newMsgMetaDstcd]").val();
if (!isValid()) return;
// 복제할 메시지메타구분코드 입력여부 체크.
if(newMsgMetaDstcd == "")
{
alert("복제할 메시지메타구분코드를 입력하세요.");
$("input[name=newMsgMetaDstcd]").focus();
return;
} else {
$("input[name=msgMetaDstcd]").val(newMsgMetaDstcd);
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"INSERT"});
postData.push({ name: "gridData" , value:JSON.stringify(gridData)});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert('메시지메타정보가 복제되었습니다.');
detail(url,newMsgMetaDstcd);
},
error:function(e){
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">메시지메타</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">메시지 메타구분코드</th>
<td style="width:38%;"><input type="text" name="msgMetaDstcd" />
</td>
<th>복제 메타구분코드</th>
<td>
<input type="text" name="newMsgMetaDstcd" style="display:inline-block; width:calc(100% - 70px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="DETAIL" class="btn_img"/>
</td>
</tr>
<tr>
<th>메시지 설명</th>
<td colspan="3"><input type="text" name="msgDesc" />
</td>
</tr>
<tr>
<th>당메시지 사용여부 *</th>
<td colspan="3"><div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div></td>
</tr>
</table>
</form>
<div style="margin-bottom:15px; text-align:right;">
<img id="btn_pop_input" src="<c:url value="/img/btn_input.png"/>" level="W" status="DETAIL,NEW" class="btn_img" />
<img id="btn_pop_initialize" src="<c:url value="/img/btn_initialize.png"/>"" level="W" status="DETAIL,NEW" class="btn_img" />
</div>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,249 @@
<%@ 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"/>
<script language="javascript" >
var arg = window.dialogArguments["check"];
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_delete.png" />';
return "<img id='btn_delete' name='img_del_"+rowId+"' "+url+ " class='btn_img' />";
}
function gridCloneName(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<input type='text' name='text_clone_"+rowId+"' style='display:inline-block; border:0; margin:0; height:20px; width:calc(100% - 10px);'>";
}
function gridCloneFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_clone.png" />';
return "<img id='btn_clone' name='img_clone_"+rowId+"' "+url+ " class='btn_img' />";
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/messageItemMan.json" />',
postData : gridPostData,
colNames:['메시지항목구분명',
'메시지컬럼명',
'메시지컬럼 속성유형코드',
'메시지컬럼값',
'당메시지 컬럼 사용여부',
'복제항목명',
'복제',
'삭제'
],
colModel:[
{ name : 'MSGITEMDSTICNAME' , align:'left' ,width:40 ,sortable:false },
{ name : 'MSGCLMNNAME' , align:'center' ,width:40 },
{ name : 'MSGCLMNATTRIPTRNCD' , align:'center' ,width:30 },
{ name : 'MSGCLMNVAL' , align:'center' ,width:30 },
{ name : 'THISMSGCLMNUSEYN' , align:'center' ,width:30 ,
formatter: function (cellvalue) {
if ( !cellvalue ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue ) {
return '사용함';
} else {
return cellvalue;
}
}
},
{ name : 'MSGITEMCLONENAME', align:'left', sortable:false, width:40, unformat:unformatterFunction, formatter:gridCloneName},
{ name : 'MSGITEMCLONE' , align:'center', sortable:false, width:20, unformat:unformatterFunction, formatter:gridCloneFunction},
{ name : 'DELETEYN' , align:'center', sortable:false, width:20, unformat:unformatterFunction, formatter:formatterFunction}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var result = [];
result.push(rowData);
window.returnValue = result;
$("#btn_close").trigger("click");
},
onSelectRow: function(rowId,status) {
var rowData = $(this).getRowData(rowId);
$("img[name='img_del_"+rowId+"']").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "msgItemDsticName" , value:rowData['MSGITEMDSTICNAME']});
var url2 = '<c:url value="/bap/admin/message/messageItemMan.json" />';
$.ajax({
type:"POST",
url:url2,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
$('#grid').trigger('reloadGrid');
},
error:function(e){
alert(e.responseText);
}
});
});
$("img[name='img_clone_"+rowId+"']").click(function() {
var postData = $('#ajaxForm').serializeArray();
var thisMsgClmnUseYn = rowData['THISMSGCLMNUSEYN'] == '사용함' ? '1' : '0';
postData.push({ name: "cmd" , value:"INSERT"});
postData.push({ name: "msgItemDsticName" , value:$("input[name='text_clone_"+rowId+"']").val()});
postData.push({ name: "msgClmnName" , value:rowData['MSGCLMNNAME']});
postData.push({ name: "msgClmnAttriPtrnCd" , value:rowData['MSGCLMNATTRIPTRNCD']});
postData.push({ name: "msgClmnVal" , value:rowData['MSGCLMNVAL']});
postData.push({ name: "thisMsgClmnUseYn" , value:thisMsgClmnUseYn});
var url2 = '<c:url value="/bap/admin/message/messageItemMan.json" />';
$.ajax({
type:"POST",
url:url2,
data:postData,
success:function(args){
alert("복제 되었습니다.");
$('#grid').trigger('reloadGrid');
},
error:function(e){
alert(e.responseText);
}
});
});
}
});
resizeJqGridWidth('grid','content_middle','1160');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_new").click(function(){
var args = new Object();
args['check'] = "";
var url = '<c:url value="/bap/admin/message/messageItemMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&subPopup='+true;
var ret = showModal(url,args,800,500, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
});
$('#grid').trigger('reloadGrid');
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_input").click(function(){
var data = getGridData();
if(data.length == 0){
alert("입력할 메시지항목을 선택해 주세요");
return false;
}
if ( confirm( "입력하시겠습니까?" ) != true ) return;
window.returnValue = data;
$("#btn_close").trigger("click");
});
// buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img src="<c:url value="/img/btn_input.png"/>" alt="" id="btn_input" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">메시지항목 관리</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:150px;">메시지항목 구분명</th>
<td><input type="text" name="searchMsgItemDsticName" value="${param.searchMsgItemDsticName}"></td>
<th style="width:150px;">메시지 컬럼명</th>
<td><input type="text" name="searchMsgClmnName" value="${param.searchMsgClmnName}"></td>
</tr>
</table>
</form>
<!-- tree -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end popup_box -->
</body>
</html>
@@ -0,0 +1,241 @@
<%@ 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"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function dateFormat(cellvalue, options, rowObject) {
if ( cellvalue == null || cellvalue.length < 8 )
return '';
return cellvalue.substr(0 ,4) + '-' +
cellvalue.substr(4, 2) + '-' +
cellvalue.substr(6, 2) ;
}
function getDateStr(cellvalue, options, rowObject) {
var base_dt = rowObject['BASE_DT'];
var yyyyMMdd = String(base_dt);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(4,6);
var sDate = yyyyMMdd.substring(6,8);
var date = new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
var week = ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'];
var returnStr = '';
if(date.getDay() == 0) { // 일요일
returnStr = '<span style="color:red">'+week[date.getDay()]+'</span>';
} else if (date.getDay() == 6) { // 토요일
returnStr = '<span style="color:blue">'+week[date.getDay()]+'</span>';
} else {
returnStr = week[date.getDay()];
}
return returnStr;
}
function getHoldayCd ( holday_cd ) {
if ( holday_cd == '영업일' ) {
return '1';
} else if( holday_cd == '휴일' ) {
return '2';
} else if( holday_cd == '토요일' ) {
return '3';
}
}
function getLrclDd ( lpmn_yn ) {
if ( lpmn_yn == '윤달' ) {
return '1';
} else if( lpmn_yn == '' ) {
return '0';
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/businessDayMan.json" />',
postData: gridPostData,
colNames: [ '기준일자',
'음력일자',
'요일',
'일자구분',
'윤달여부',
],
colModel: [
{ name : 'BASE_DT' , align:'center', sortable:false , formatter: dateFormat },
{ name : 'LRCL_DT' , align:'center', sortable:false , formatter: dateFormat },
{ name : 'WEEK' , align:'center', sortable:false , formatter: getDateStr },
{ name : 'HOLDAY_CD' , align:'center',
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '영업일';
} else if( cellvalue == '2' ) {
return '휴일';
} else if( cellvalue == '3' ) {
return '토요일';
} else {
return cellvalue;
}
}
},
{ name : 'LPMN_YN' , align:'center',
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '윤달';
} else if( cellvalue == '0') {
return '';
} else {
return cellvalue;
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
// rowNum: '${rmsDefaultRowNum}',
rowNum: '50',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var base_dt = rowData['BASE_DT'];
var lrcl_dt = rowData['LRCL_DT'];
var lpmn_yn = rowData['LPMN_YN'];
var holday_cd = rowData['HOLDAY_CD'];
var url = '<c:url value="/bap/admin/schedule/businessDayMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
//key값
//url += '&base_dt=' + base_dt;
url += '&base_dt=' + base_dt.replaceAll('-', '');
url += '&lrcl_dt=' + lrcl_dt.replaceAll('-', '');
url += '&lpmn_yn=' + getLrclDd(lpmn_yn);
url += '&holday_cd=' + getHoldayCd(holday_cd);
url += '&end=Yes';
goNav(url);
}
, loadComplete:function (d) {
// 토요일, 휴일
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var val = $("#grid").getCell(rows[i],'HOLDAY_CD');
if(val =="토요일"){
$("#"+rows[i]).find("td").css("background-color","#D9E5FF");
} else if(val =="휴일"){
$("#"+rows[i]).find("td").css("background-color","#FFD8D8");
}
// 금일 bold처리 필요시 주석제거
/*
var val = $("#grid").getCell(rows[i],'BASE_DT').replaceAll("-","");
if(val == getToday()) {
$("#"+rows[i]).find("td").css("font-weight","bold");
}
*/
}
}
});
resizeJqGridWidth('grid', 'title', '1000');
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
postData["likeBaseDT"] = postData["likeBaseDT"].replaceAll("-","");
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/schedule/businessDayMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
goNav(url);
});
$("input[name^=like]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">영업일 관리<span class="tooltip">일괄전송 시스템에서 관리 하는 영업일 목록을 조회합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:250px;">기준일자</th><td><input type="text" name="likeBaseDT" maxlength="10" value="${param.likeBaseDT}"></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,164 @@
<%@ 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");
%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@page import="com.eactive.eai.rms.common.util.CommonConstants"%>
<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 isDetail = false;
function isValid() {
if($('input[name=BASE_DT]').val() == "") {
alert("기준일자를 입력하여 주십시요.");
return false;
} else if($('input[name=LRCL_DT]').val() == "") {
alert("음력일자 입력하여 주십시요.");
return false;
}
return true;
}
function detail( base_dt, lrcl_dt, lpmn_yn, holday_cd) {
if (!isDetail) return;
$("input[name=BASE_DT]").val(base_dt);
$("input[name=LRCL_DT]").val(lrcl_dt);
$("select[name=LPMN_YN]").val(lpmn_yn);
$("select[name=HOLDAY_CD]").val(holday_cd);
$("input[name=BASE_DT]").attr('readonly', true);
// $("select[name=holday_cd]").attr('disabled', true);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/schedule/businessDayMan.json" />';
var base_dt = "${param.base_dt}";
var lrcl_dt = "${param.lrcl_dt}";
var lpmn_yn = "${param.lpmn_yn}";
var holday_cd = "${param.holday_cd}";
if (base_dt != "" && base_dt != "null") {
isDetail = true;
}
detail(base_dt, lrcl_dt, lpmn_yn, holday_cd);
$("#btn_modify").click(function() {
if (!isValid()) return;
if (isDetail) {
if ( confirm( "수정 하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록 하시겠습니까?" ) != true ) return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({ name: "cmd" , value:"UPDATE"});
} else {
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( "삭제 하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd", value: "DELETE"});
postData.push({ name: "BASE_DT" , value: $("select[name=BASE_DT]").val()});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">영업일</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th>기준일자</th><td><input type="text" maxlength="8" name="BASE_DT" /> </td>
</tr>
<tr>
<th>음력일자</th><td><input type="text" maxlength="8" name="LRCL_DT" /> </td>
</tr>
<tr>
<th style="width:180px;">윤달여부</th>
<td><div class="select-style"><select name="LPMN_YN">
<option value="0">아니요</option>
<option value="1">예</option>
</select></div>
</td>
</tr>
<tr>
<th style="width:180px;">일자유형</th>
<td><div class="select-style"><select name="HOLDAY_CD">
<option value="1">영업일</option>
<option value="2">휴일</option>
<option value="3">토요일</option>
</select></div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,158 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/schedule/holidayMan.json" />';
var url_view = '<c:url value="/bap/admin/schedule/holidayMan.view"/>';
function getHoldyDstcd ( holdyDstcdName ){
if ( holdyDstcdName == '공휴일' ) {
return '1';
} else if( holdyDstcdName == '임시공휴일' ) {
return '2';
} else if( holdyDstcdName == '음력휴일' ) {
return '3';
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['휴일일자',
'휴일 유형',
'설명'
],
colModel:[
{ name : 'HOLDYYMD' , align:'center', width: '30', sortable:false },
{ name : 'HOLDYDSTCD' , align:'center', width: '30' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '공휴일';
} else if( cellvalue == '2' ) {
return '임시공휴일';
} else if( cellvalue == '3' ) {
return '음력휴일';
} else {
return cellvalue;
}
}
},
{ name : 'EVNTSCHDRHOLDYCTNT' , align:'left' , width: '100' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var holdyYmd = rowData['HOLDYYMD'];
var holdyDstcd = rowData['HOLDYDSTCD'];
var evntSchdrHoldyCtnt = rowData['EVNTSCHDRHOLDYCTNT'];
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&holdyYmd='+holdyYmd;
url = url + '&holdyDstcd='+ getHoldyDstcd(holdyDstcd);
url = url + '&evntSchdrHoldyCtnt='+ (evntSchdrHoldyCtnt);
url = url + '&end=Yes';
/* goNav(encodeURI(url)); */
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=like]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">휴일 관리<span class="tooltip">일괄전송 시스템에서 관리 하는 휴일 목록을 조회합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">휴일 일자</th><td><input type="text" name="likeHoldyYmd" maxlength="8" value="${param.searchHoldyYmd}"></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,159 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function isValid(){
if($('input[name=holdyYmd]').val() == ""){
alert("휴일 일자를 입력하여 주십시요.");
return false;
}else if($('input[name=evntSchdrHoldyCtnt]').val() == ""){
alert("설명 입력하여 주십시요.");
return false;
}
return true;
}
function detail( holdyYmd, holdyDstcd, evntSchdrHoldyCtnt){
if (!isDetail)return;
$("input[name=holdyYmd]").val(holdyYmd);
$("select[name=holdyDstcd]").val(holdyDstcd);
$("input[name=evntSchdrHoldyCtnt]").val(evntSchdrHoldyCtnt);
$("input[name=holdyYmd]").attr('readonly',true);
$("select[name=holdyDstcd]").attr('disabled',true);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/schedule/holidayMan.json" />';
var holdyYmd ="${param.holdyYmd}";
var holdyDstcd ="${param.holdyDstcd}";
var evntSchdrHoldyCtnt ="${param.evntSchdrHoldyCtnt}";
debugger;
if (holdyYmd != "" && holdyYmd !="null"){
isDetail = true;
}
detail(holdyYmd,holdyDstcd,evntSchdrHoldyCtnt);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
postData.push({ name: "holdyDstcd" , value:$("select[name=holdyDstcd]").val()});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "holdyDstcd" , value:$("select[name=holdyDstcd]").val()});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">휴일</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th>휴일일자</th><td><input type="text" maxlength="8" name="holdyYmd" /> </td>
</tr>
<tr>
<th style="width:180px;">휴일유형</th>
<td><div class="select-style"><select name="holdyDstcd">
<option value="1">공휴일</option>
<option value="2">임시공휴일</option>
<option value="3">음력휴일</option>
</select></div>
</td>
</tr>
<tr>
<th>설명</th><td><input type="text" maxlength="40" name="evntSchdrHoldyCtnt" /> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,171 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/schedule/procPeriodMan.json" />';
var url_view = '<c:url value="/bap/admin/schedule/procPeriodMan.view"/>';
var select_sndRcvTyp = new Array();
function init(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL_INIT_COMBO'},
success:function(json){
list();
},
error:function(e){
alert(e.responseText);
}
});
}
function list(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1", datatype:"json" }).trigger("reloadGrid");
}
$(document).ready(function() {
// 그리드 - 송수신 주기타입 설정
select_sndRcvTyp['value'] = ": ;C1:일반복;C2:월반복;C3:월 영업일 반복;C4:주반복;C5:매주 영업일 반복;C6:주 요일 반복;C7:주 영업일 반복";
resizeJqGridWidth('grid','title','1000');
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"local",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['거래처리 주기ID',
'업무명',
'대외기관명',
'배치작업구분코드',
'배치작업 메시지 구분명',
'송수신유형',
'송수신시작시간',
'송수신종료시간',
'송수신주기타입'
],
colModel:[
{ name : 'BJOBMSGSCHEID' , align : 'center',hidden:true},
{ name : 'BJOBBZWKNAME' , align : 'left'},
{ name : 'OSIDINSTINAME' , align : 'left'},
{ name : 'BJOBTRANDSTCDNAME' , align : 'left'},
{ name : 'BJOBMSGDSTICNAME' , align : 'left'},
{ name : 'SENDRECVYN' , align : 'center', editable : false , edittype:'select',editoptions:{value:" : ;S:송신;R:수신"}, formatter:"select"},
{ name : 'SNDRCVSTARTHMS' , align : 'center', formatter: timeFormat},
{ name : 'SNDRCVENDHMS' , align : 'center', formatter: timeFormat},
{ name : 'SNDRCVCYCLTYPNAME' , align : 'left', editable : false , edittype:'select',editoptions:select_sndRcvTyp, formatter:"select"}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bJobMsgScheId = rowData['BJOBMSGSCHEID'].trim();
var detailUrl = url_view;
detailUrl = detailUrl + '?cmd=DETAIL';
detailUrl = detailUrl + '&page='+$(this).getGridParam("page");
detailUrl = detailUrl + '&returnUrl='+getReturnUrl();
detailUrl = detailUrl + '&menuId='+'${param.menuId}';
detailUrl = detailUrl + '&returnUrl='+getReturnUrl();
detailUrl = detailUrl + '&bJobMsgScheId='+bJobMsgScheId;
detailUrl = detailUrl + '&'+getSearchUrl();
//검색값
goNav(detailUrl);
}
});
init();
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1", datatype:"json" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var returnUrl = url_view;
returnUrl = returnUrl + '?cmd=DETAIL';
returnUrl = returnUrl + '&page='+$("#grid").getGridParam("page");
returnUrl = returnUrl + '&returnUrl='+getReturnUrl();
returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색값
returnUrl = returnUrl + '&'+getSearchUrl();
goNav(returnUrl);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">거래처리 주기 관리<span class="tooltip">일괄 전송 파일의 거래처리 주기 목록을 조회하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">업무명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></td>
<th style="width:150px;">대외기관명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></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,656 @@
<%@ 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"/>
<script language="javascript" src="<c:url value="/js/jquery.mask.min.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/bap/admin/schedule/procPeriodMan.json" />';
var isDetail = false;
function isValid(){
if ($('select[name=bjobBzwkDstcd]').val()==""){
alert("업무구분명을 선택하여 주십시요.");
$('select[name=bjobBzwkDstcd]').focus();
return false;
}
if ($('select[name=osidInstiDstcd]').val()==""){
alert("대상기관명을 선택하여 주십시요.");
$('select[name=osidInstiDstcd]').focus();
return false;
}
if ($('select[name=bjobMsgDstcd]').val()==""){
alert("파일명을 선택하여 주십시요.");
$('select[name=bjobMsgDstcd]').focus();
return false;
}
if ($('input[name=sndrcvStartHMS]').val()==null){
alert("시작시간을 입력하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
if ($('input[name=sndrcvEndHMS]').val()==null){
alert("종료시간을 입력하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
if($('input[name=sndrcvStartHMS]').val().length < 4 )
{
alert("시작시간을 확인하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
if($('input[name=sndrcvEndHMS]').val().length < 4)
{
alert("종료시간을 확인하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
if($('input[name=sndrcvStartHMS]').val() > $('input[name=sndrcvEndHMS]').val())
{
alert("시작시간과 종료시간을 확인하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
return true;
}
// 거래처리 주기 관리 상세화면 초기화
function init(key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.bjobBzwkDstcdList).rendering(); // BATCH작업 거래구분코드
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.osidInstiDstcdList).setAttr("BJOBBZWKDSTCD", "BJOBBZWKDSTCD").rendering(); // BATCH작업 거래구분코드
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setNoValueInclude(true).setData(json.bjobMsgDstcdList).setAttr("BJOBBZWKDSTCD", "BJOBBZWKDSTCD").rendering(); // BATCH작업 거래구분코드
new makeOptions("CODE","NAME").setObj($("select[name=sendRecvYn]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.sndRcvTypeList).rendering(); // 송수신구분
setSearchable("bjobBzwkDstcd,osidInstiDstcd,bjobMsgDstcd");
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
// BATCH작업메시지구분코드, 대외기관코드 콤보 조회
function osidFileCombo()
{
var strBjobBzwkDstcd = $("select[name=bjobBzwkDstcd]").val();
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL_OSID_FILE_COMBO', bjobBzwkDstcd : strBjobBzwkDstcd},
success:function(json){
$("select[name=bjobMsgDstcd],select[name=osidInstiDstcd]").empty();
if(strBjobBzwkDstcd == "" || strBjobBzwkDstcd == null || strBjobBzwkDstcd == undefined)
{
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setData("", "선택안함").rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setData("", "선택안함").rendering();
}
else{
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setNoValueInclude(true).setFormat(codeName3OptionFormat).setData(json.osidInstiDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setNoValueInclude(true).setData(json.bjobMsgDstcd).rendering();
}
},
error:function(e){
alert(e.responseText);
}
});
}
// 거래처리 주기 관리 등록 기본설정
function detailInit()
{
$(":radio[name=periodType]:radio[value=C1]").attr("checked", true);
$(":radio[name=daily]:radio[value=D]").attr("checked", true);
$(":radio[name=periodType]").change();
}
// 거래처리 주기 관리 상세조회
function detail(key){
if (!isDetail){
osidFileCombo();
detailInit();
return;
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', bJobMsgScheId : key},
success:function(json){
var data = json;
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
if(name!=undefined){
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
}
});
$("select[name=bjobBzwkDstcd] option, select[name=osidInstiDstcd] option, select[name=bjobMsgDstcd] option, select[name=sendRecvYn] option").not(":selected").remove();
// 거래처리 주기 설정.
setSendRecvType(data.SNDRCVCYCLTYPNAME);
},
error:function(e){
alert(e.responseText);
}
});
}
// 거래처리 주기 생성(등록 및 수정할 때)
function getSendRecvType()
{
var selectedCase = $(":radio[name=periodType]:checked").val();
var sendRecvType = '';
if(selectedCase == 'C1') { // 일반복
sendRecvType = $(":radio[name=daily]:checked").val();
}
else if(selectedCase == 'C2') { // 월반복
sendRecvType = $("select[name=monthly]").val();
sendRecvType = sendRecvType + $("select[name=monthDaily]").val();
sendRecvType = sendRecvType + $(":radio[name=monthlyHYDaily]:checked").val();
}
else if(selectedCase == 'C3') { // 월 영업일 반복
sendRecvType = $("select[name=monthlyY]").val();
sendRecvType = sendRecvType + $("select[name=monthlyYDaily]").val();
}
else if(selectedCase == 'C4') { // 주반복
sendRecvType = $("select[name=weekYDay]").val();
}
else if(selectedCase == 'C5') { // 매주 영업일 반복
sendRecvType = $("select[name=weekYDaily]").val();
}
else if(selectedCase == 'C6') { // 주 요일 반복
sendRecvType = $("select[name=week]").val();
sendRecvType = sendRecvType + $("select[name=day]").val();
}
else if(selectedCase == 'C7') { // 주 영업일 반복
sendRecvType = $("select[name=weekY]").val();
sendRecvType = sendRecvType + $("select[name=dailyY]").val();
}
return $.trim(sendRecvType);
}
// 거래처리 주기 설정(상세조회)
function setSendRecvType(sendRecvType)
{
var selectedCase = 'C1';
if(
sendRecvType == 'D' ||
sendRecvType == 'Y' ||
sendRecvType == 'Y+' ||
sendRecvType == 'S'
) {
// 일반복
$(":radio[name=daily]:radio[value='" + sendRecvType + "']").attr("checked", true);
selectedCase = 'C1';
}
else if(sendRecvType.length >= 4 &&
!isNaN(sendRecvType.substring(0,1))
) {
// 월반복
var rdoVal = "";
$("select[name=monthly]").val(sendRecvType.substring(0,2));
$("select[name=monthDaily]").val(sendRecvType.substring(2,4));
if(sendRecvType.length == 5) {
rdoVal = sendRecvType.substring(4,5);
}
$(":radio[name=monthlyHYDaily]:radio[value='" + rdoVal + "']").attr("checked", true);
selectedCase = 'C2';
}
else if(
// 월 영업일 반복
sendRecvType.length == 5 &&
sendRecvType.charAt(0) == 'Y'
) {
$("select[name=monthlyY]").val(sendRecvType.substring(0,3));
$("select[name=monthlyYDaily]").val(sendRecvType.substring(3,5));
selectedCase = 'C3';
}
else if(
// 주반복
sendRecvType.length == 2 &&
sendRecvType.charAt(0) == 'D'
) {
$("select[name=weekYDay]").val(sendRecvType);
selectedCase = 'C4';
}
else if(
// 매주 영업일 반복
sendRecvType.length >= 3 &&
sendRecvType.substring(0,2) == 'DY'
) {
$("select[name=weekYDaily]").val(sendRecvType);
selectedCase = 'C5';
}
else if(
// 주 요일 반복
sendRecvType.length == 4 &&
sendRecvType.charAt(0) == 'W' &&
sendRecvType.charAt(2) == 'D'
) {
$("select[name=week]").val(sendRecvType.substring(0,2));
$("select[name=day]").val(sendRecvType.substring(2,4));
selectedCase = 'C6';
}
else if(
// 주 영업일 반복
sendRecvType.length >= 4 &&
sendRecvType.charAt(0) == 'W' &&
sendRecvType.charAt(2) == 'Y'
) {
$("select[name=weekY]").val(sendRecvType.substring(0,2));
$("select[name=dailyY]").val(sendRecvType.substring(2,sendRecvType.length));
selectedCase = 'C7';
}
$(":radio[name=periodType]:radio[value=" + selectedCase + "]").attr("checked", true);
$(":radio[name=periodType]").change();
}
$(document).ready(function() {
$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").inputmask("hh:mm",{'autoUnmask':true});
var returnUrl = getReturnUrlForReturn();
var key ="${param.bJobMsgScheId}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key, detail);
// BATCH작업거래구분코드 이벤트
$("select[name=bjobBzwkDstcd]").change(function(){
// Batch작업메시지 구분코드
osidFileCombo();
});
// 주기구분 선택 이벤트
$(":radio[name=periodType]").change(function(){
var radioSize = $(":radio[name=periodType]").size();
var rdoVal = $(":radio[name=periodType]:checked").val();
var rdoIdx = rdoVal.substring(1);
for(var i = 0; i < radioSize; i++)
{
if(i+1 == rdoIdx)
{
$(".sndrcvCyclTyp"+(i+1)).attr("disabled", false);
continue;
}
else
{
$(".sndrcvCyclTyp"+(i+1)).attr("disabled", true);
}
}
});
// 등록 및 수정 이벤트
$("#btn_modify").click(function(){
if(!isValid()) return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
postData.push({ name: "sndrcvCyclTypName" , value: getSendRecvType()});
postData.push({ name: "sendRecvYn" , value: $("select[name=sendRecvYn]").val()});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
var txt = JSON.parse(e.responseText).errorMsg;
alert(txt);
}
});
});
// 삭제 이벤트
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "bjobMsgScheID" , value:key});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
// 이전화면 이벤트
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
// 버튼 및 TITLE 제어(공통함수)
buttonControl(isDetail);
titleControl(isDetail);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">거래처리 주기<span class="tooltip">일괄전송 파일의 거래처리 주기를 관리하는 화면입니다</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr style="display:none"><td><input name="bjobMsgScheID" ></td></tr>
<tr>
<th style="width:180px;">업무구분명 *</th>
<td><div class="select-style"><select name="bjobBzwkDstcd"></select></div></td>
<th style="width:160px;">대상기관명 *</th>
<td><div class="select-style"><select name="osidInstiDstcd"></select></div></td>
</tr>
<tr>
<th>파일명 *</th>
<td><div class="select-style"><select name="bjobMsgDstcd"></select></div></td>
<th>송수신구분 *</th>
<td><div class="select-style"><select name="sendRecvYn"></select></div></td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;"><input type="radio" name="periodType" value="C1" id="sub4_8_3_detail_1"><label for="sub4_8_3_detail_1">일반복</label></th>
<td class="sndrcvCyclTyp1">
<input type="radio" name="daily" value="D" id="sub4_8_3_detail_2"><label for="sub4_8_3_detail_2">매일처리(D)</label>
<input type="radio" name="daily" value="Y" id="sub4_8_3_detail_3"><label for="sub4_8_3_detail_3">매 영업일 처리(Y)</label>
<input type="radio" name="daily" value="Y+" id="sub4_8_3_detail_4"><label for="sub4_8_3_detail_4">매 영업 익일 처리(Y+)</label>
<input type="radio" name="daily" value="S" id="sub4_8_3_detail_5"><label for="sub4_8_3_detail_5">매 영업일/토요일 처리(S)</label>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C2" id="sub4_8_3_detail_6"><label for="sub4_8_3_detail_6">월반복</label></th>
<td>
<div class="sndrcvCyclTyp2 select-style" style="display:inline-block; width:30%;">
<select name="monthly">
<option value="00">매월</option>
<option value="01">1월</option>
<option value="02">2월</option>
<option value="03">3월</option>
<option value="04">4월</option>
<option value="05">5월</option>
<option value="06">6월</option>
<option value="07">7월</option>
<option value="08">8월</option>
<option value="09">9월</option>
<option value="10">10월</option>
<option value="11">11월</option>
<option value="12">12월</option>
</select>
</div>
<div class="sndrcvCyclTyp2 select-style" style="display:inline-block; width:30%;">
<select name="monthDaily">
<option value="01">1일</option>
<option value="02">2일</option>
<option value="03">3일</option>
<option value="04">4일</option>
<option value="05">5일</option>
<option value="06">6일</option>
<option value="07">7일</option>
<option value="08">8일</option>
<option value="09">9일</option>
<option value="10">10일</option>
<option value="11">11일</option>
<option value="12">12일</option>
<option value="13">13일</option>
<option value="14">14일</option>
<option value="15">15일</option>
<option value="16">16일</option>
<option value="17">17일</option>
<option value="18">18일</option>
<option value="19">19일</option>
<option value="20">20일</option>
<option value="21">21일</option>
<option value="22">22일</option>
<option value="23">23일</option>
<option value="24">24일</option>
<option value="25">25일</option>
<option value="26">26일</option>
<option value="27">27일</option>
<option value="28">28일</option>
<option value="29">29일</option>
<option value="30">30일</option>
<option value="31">31일</option>
<option value="-1">말일</option>
</select>
</div>
<div class="monthlyDay sndrcvCyclTyp2" style="display:inline-block; width:30%;">
<input type="radio" name="monthlyHYDaily" value="" id="sub4_8_3_detail_7"><label for="sub4_8_3_detail_7">휴일포함</label>
<input type="radio" name="monthlyHYDaily" value="-" id="sub4_8_3_detail_8"><label for="sub4_8_3_detail_8">전영업일(-)</label>
<input type="radio" name="monthlyHYDaily" value="+" id="sub4_8_3_detail_9"><label for="sub4_8_3_detail_9">후영업일(+)</label>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C3" id="sub4_8_3_detail_10"><label for="sub4_8_3_detail_10">월 영업일 반복</label></th>
<td>
<div class="sndrcvCyclTyp3 select-style" style="display:inline-block; width:30%;">
<select name="monthlyY">
<option value="Y00">매월</option>
<option value="Y01">1월</option>
<option value="Y02">2월</option>
<option value="Y03">3월</option>
<option value="Y04">4월</option>
<option value="Y05">5월</option>
<option value="Y06">6월</option>
<option value="Y07">7월</option>
<option value="Y08">8월</option>
<option value="Y09">9월</option>
<option value="Y10">10월</option>
<option value="Y11">11월</option>
<option value="Y12">12월</option>
</select>
</div>
<div class="sndrcvCyclTyp3 select-style" style="display:inline-block; width:30%;">
<select name="monthlyYDaily">
<option value="01">1영업일</option>
<option value="02">2영업일</option>
<option value="03">3영업일</option>
<option value="04">4영업일</option>
<option value="05">5영업일</option>
<option value="06">6영업일</option>
<option value="07">7영업일</option>
<option value="08">8영업일</option>
<option value="09">9영업일</option>
<option value="10">10영업일</option>
<option value="11">11영업일</option>
<option value="12">12영업일</option>
<option value="13">13영업일</option>
<option value="14">14영업일</option>
<option value="15">15영업일</option>
<option value="16">16영업일</option>
<option value="17">17영업일</option>
<option value="18">18영업일</option>
<option value="19">19영업일</option>
<option value="20">20영업일</option>
<option value="21">21영업일</option>
<option value="22">22영업일</option>
<option value="23">23영업일</option>
<option value="24">24영업일</option>
<option value="25">25영업일</option>
<option value="26">26영업일</option>
<option value="-1">마지막 영업일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C4" id="sub4_8_3_detail_11"><label for="sub4_8_3_detail_11">주반복</label></th>
<td>
<div class="sndrcvCyclTyp4 select-style" style="display:inline-block; width:30%;">
<select name="weekYDay">
<option value="D0">매일요일</option>
<option value="D1">매월요일</option>
<option value="D2">매화요일</option>
<option value="D3">매수요일</option>
<option value="D4">매목요일</option>
<option value="D5">매금요일</option>
<option value="D6">매토요일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C5" id="sub4_8_3_detail_12"><label for="sub4_8_3_detail_12">매주 영업일 반복</label></th>
<td>
<div class="sndrcvCyclTyp5 select-style" style="display:inline-block; width:30%;">
<select name="weekYDaily">
<option value="DY1">매주 첫 영업일</option>
<option value="DY2">매주 2영업일</option>
<option value="DY3">매주 3영업일</option>
<option value="DY4">매주 4영업일</option>
<option value="DY-1">매주 마지막 영업일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C6" id="sub4_8_3_detail_13"><label for="sub4_8_3_detail_13">주 요일 반복</label></th>
<td>
<div class="sndrcvCyclTyp6 select-style" style="display:inline-block; width:30%;">
<select name="week">
<option value="W1">1주</option>
<option value="W2">2주</option>
<option value="W3">3주</option>
<option value="W4">4주</option>
<option value="W5">5주</option>
</select>
</div>
<div class="sndrcvCyclTyp6 select-style" style="display:inline-block; width:30%;">
<select name="day">
<option value="D0">일요일</option>
<option value="D1">월요일</option>
<option value="D2">화요일</option>
<option value="D3">수요일</option>
<option value="D4">목요일</option>
<option value="D5">금요일</option>
<option value="D6">토요일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C7" id="sub4_8_3_detail_14"><label for="sub4_8_3_detail_14">주 영업일 반복</label></th>
<td>
<div class="sndrcvCyclTyp7 select-style" style="display:inline-block; width:30%;">
<select name="weekY">
<option value="W1">1주</option>
<option value="W2">2주</option>
<option value="W3">3주</option>
<option value="W4">4주</option>
<option value="W5">5주</option>
</select>
</div>
<div class="sndrcvCyclTyp7 select-style" style="display:inline-block; width:30%;">
<select name="dailyY">
<option value="Y1">1영업일</option>
<option value="Y2">2영업일</option>
<option value="Y3">3영업일</option>
<option value="Y4">4영업일</option>
<option value="Y-1">끝영업일</option>
</select>
</div>
</td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">시작시간</th><td><input type="text" name="sndrcvStartHMS" maxlength=5 size="5"/></td>
<th style="width:180px;">종료시간</th><td><input type="text" name="sndrcvEndHMS" maxlength=5 size="5"/></td>
<th style="width:180px;">알람여부</th>
<td>
<div class="select-style"><select name="warnYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
<th style="width:180px;">사용여부</th>
<td>
<div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,179 @@
<%@ 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"/>
<script language="javascript" >
function init(url){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/scheduleMan.json" />',
postData : gridPostData,
colNames:['스케쥴ID',
'일괄타입구분명',
'대외기관명',
'작업메시지구분명',
'거래구분명',
'시작시각',
'종료시각',
'송수신여부',
'사용여부'
],
colModel:[
{ name : 'BJOBMSGSCHEID' , align:'left', hidden:true },
{ name : 'BJOBBZWKNAME' , align:'left' },
{ name : 'OSIDINSTINAME' , align:'left' },
{ name : 'BJOBMSGDSTICNAME' , align:'left' , width:250},
{ name : 'BJOBTRANDSTCDNAME' , align:'left' , width:70},
{ name : 'SNDRCVSTARTHMS' , align:'center', width:50 , formatter: dateFormater },
{ name : 'SNDRCVENDHMS' , align:'center', width:50 , formatter: dateFormater },
{ name : 'BJOBPTRNDSTCD' , align:'center', width:50 , editoptions:{value:"RS:송신;RR:수신"}, formatter:"select" },
{ name : 'THISMSGUSEYN' , align:'center', width:50 ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bJobMsgScheId = rowData['BJOBMSGSCHEID'].trim();
var url = '<c:url value="/bap/admin/schedule/scheduleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&returnUrl='+getReturnUrl();
url = url + '&bJobMsgScheId='+bJobMsgScheId;
url = url + '&'+getSearchUrl();
//검색값
goNav(url);
}
});
}
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length !=4) return "";
var display = "";
display=display+cellvalue.substr(0,2)+":";
display=display+cellvalue.substr(2,2);
return display;
}
$(document).ready(function() {
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/admin/schedule/scheduleMan.json" />';
init(url);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/schedule/scheduleMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">스케쥴 관리<span class="tooltip">일괄 전송 파일을 송수신 하는 스케쥴을 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">일괄타입명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></td>
<th style="width:150px;">대외기관명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
<th style="width:150px;">메시지구분명</th>
<td><input type="text" name="searchBjobMsgDsticName" value="${param.searchBjobMsgDsticName}"></td>
</tr>
<tr>
<th style="width:150px;">거래구분명</th>
<td><input type="text" name="searchBjobTranDstcdName" value="${param.searchBjobTranDstcdName}"></td>
<th style="width:150px;">송수신구분</th>
<td>
<div class="select-style"><select name="searchBjobPtrnDstcd" value="${param.searchBjobPtrnDstcd}">
<option value="">전체</option>
<option value="RS">송신</option>
<option value="RR">수신</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,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"%>
<%
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"/>
<script language="javascript" src="<c:url value="/js/jquery.mask.min.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/bap/admin/schedule/scheduleMan.json" />';
var isDetail = false;
var jsonData;
function init(key,callback){
//$("input[name=standYmd]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
$("input[name=standYmd]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=standYmd]").val(getToday());
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM",outputFormat : "HHMM" });
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").inputmask("HH:MM",{'autoUnmask':true});
$("input[name=scheFrstRegiHMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':false});
$("input[name=sndrcvStartHMS]").val('0000');
$("input[name=sndrcvEndHMS]").val('2359');
$("input[name=sndrcvEndHMS]").val('2359');
$("input[name*=DlayNoday]").val('0');
$("input[name=rqstRecvReTralCnt]").val('0');
$("input[name=rqstRecvReTralIntvalTtm]").val('0');
$("select[name=rqstRecvReTralUseYn]").val('0');
if(typeof callback === 'function') {
callback(key);
}
}
function getBjobBzwkDstcd(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_BJOB_BZWK_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering();
if ( isDetail ){
detail(key);
}else{
getOgranFile(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function getOgranFile(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_ORGAN_FILE'
, bjobBzwkDstcd : $("select[name=bjobBzwkDstcd]").val()
},
success:function(json){
$("select[name=bjobMsgDstcd],select[name=osidInstiDstcd]").empty();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setData(json.osidInstiDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setData(json.bjobMsgDstcd).rendering();
debugger;
if ( !isDetail ){
getBjobPtrnDstcd(key);
}else{
$("select[name=bjobMsgDstcd]").val(jsonData['BJOBMSGDSTCD']);
$("select[name=osidInstiDstcd]").val(jsonData['OSIDINSTIDSTCD']);
getBjobPtrnDstcd(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function getBjobPtrnDstcd(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_SEND_RECV'
, bjobMsgDstcd : $("select[name=bjobMsgDstcd]").val()
},
success:function(json){
$("select[name=bjobPtrnDstcd]").empty();
new makeOptions("CODE","NAME").setObj($("select[name=bjobPtrnDstcd]")).setData(json.bjobPtrnDstcd).rendering();
if ( isDetail ){
//$("select[name=bjobPtrnDstcd]").val(jsonData['BJOBPTRNDSTCD']);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(jsonData[name.toUpperCase()]);
});
$("#creator").show();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key){
if (!isDetail){
return;
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', bJobMsgScheId : key},
success:function(json){
var data = json;
jsonData = json;
$("select[name=bjobBzwkDstcd]").val(data['BJOBBZWKDSTCD']);
getOgranFile(key);
var bjobPtrnDstcd = data['BJOBPTRNDSTCD'];
if ( bjobPtrnDstcd == 'RR'){
$("#reqForm").show();
}
//$("select[name=bjobMsgDstcd]").val(data['BJOBMSGDSTCD']);
//$("select[name=osidInstiDstcd]").val(data['OSIDINSTIDSTCD']);
//getBjobPtrnDstcd(key);
//$("select[name=bjobPtrnDstcd]").val(data['BJOBPTRNDSTCD']);
//$("input[name=bJobMsgScheId]").attr('readonly',true);
//$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
// var name = $(this).attr("name");
// var tag = $(this).prop("tagName").toLowerCase();
// $(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
//});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.bJobMsgScheId}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,getBjobBzwkDstcd);
$("select[name=bjobBzwkDstcd]").change(function(){
getOgranFile();
});
$("select[name=bjobMsgDstcd]").change(function(){
getBjobPtrnDstcd();
});
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "bjobMsgScheID" , value:key});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_operate").click(function(){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"TRANSACTION"});
postData.push({ name: "standYmd" , value: $("input[name=standYmd]").val()});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("수신 작업이 요청 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").mask("00:00");
buttonControl(isDetail);
titleControl(isDetail);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">스케쥴 <span class="tooltip">일괄전송 파일 송수신 스케쥴을 추가합니다</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr style="display:none"><td><input name="bJobMsgScheId" ></td></tr>
<tr>
<th style="width:180px;">BATCH작업거래구분코드 *<br>(일괄타입구분코드)</th>
<td><div class="select-style"><select name="bjobBzwkDstcd">
</select></div></td>
<th>BATCH작업메시지구분코드 *</th>
<td><div class="select-style"><select name="bjobMsgDstcd">
</select></div></td>
</tr>
<tr>
<th>대외기관코드 *</th>
<td><div class="select-style"><select name="osidInstiDstcd">
</select></div></td>
<th>송수신구분 *</th>
<td><div class="select-style"><select name="bjobPtrnDstcd">
</select></div></td>
</tr>
<tr>
<th>송수신시작시각 *</th><td><input type="text" name="sndrcvStartHMS" maxlength=5 size="5"/></td>
<th>송수신종료시각 *</th><td><input type="text" name="sndrcvEndHMS" maxlength=5 size="5"/></td>
</tr>
<tr>
<th>송수신시작 지연일수 *</th><td><input type="text" name="startDlayNoday"/></td>
<th>송수신종료 지연일수 *</th><td><input type="text" name="endDlayNoday"/></td>
</tr>
<tr>
<th>요구송수신재시도수 *</th><td><input type="text" name="rqstRecvReTralCnt"/></td>
<th>요구송수신재시도사용여부 *</td>
<td>
<div class="select-style"><select name="rqstRecvReTralUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
<tr>
<th>요구송수신재시도간격(초)</th><td><input type="text" name="rqstRecvReTralIntvalTtm"/></td>
<th>반복여부 *</td>
<td>
<div class="select-style"><select name="rpttYn">
<option value="0">사용안함</option>
<option value="1">사용</option>
</select></div>
</td>
</tr>
<tr>
<th>공휴일처리유형 *</td>
<td>
<div class="select-style"><select name="holdyPrcssDstcd">
<option value="0">해당없음</option>
<option value="1">영업일만처리(토요일처리안함)</option>
<option value="2">영업일만처리(토요일처리)</option>
</select></div>
</td>
<th>당메시지 사용여부 *</td>
<td>
<div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
<tr id="creator" style="display:none">
<th>최초 등록 일시</th><td><input type="text" name="scheFrstRegiHMS" readonly="readonly" /></td>
<th>최초 등록자 ID</th><td><input type="text" name="msgSndrID" readonly="readonly"/></td>
</tr>
</table>
</form>
<form id="reqForm" hidden="hidden">
<table class="table_row" cellspacing="0">
<caption>[선택 수신 작업 요청]</caption>
<tr>
<th style="width:180px;">기준일자</th>
<td><input type="text" name="standYmd" maxlength=10 size="10" style="width:calc(100% - 70px);" /> <img id="btn_operate" src="<c:url value="/img/btn_pop_operate.png"/>" class="btn_img"></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,384 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
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"/>
<script>
function init(){
$.ajax({
type: "POST",
url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />',
dataType: "json",
data: {cmd: "LIST_INIT_COMBO"},
success: function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
putSelectFromParam();
if (typeof callback === 'function') {
callback(url,"");
}
setSearchable("searchBjobBzwkDstcd");
setSearchable("searchOsidInstiDstcd");
},
error: function(e){
alert(e.responseText);
}
});
}
function trimFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
var str = $.trim(cellvalue);
str = str.slice(0, 2) + ":" + str.slice(2, 4)
return str;
}
}
function thisMsgUseYnFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
if(cellvalue == "1"){
return "사용함";
} else {
return "사용안함";
}
}
}
function fileTrsmtHmsFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
var str = $.trim(cellvalue);
str = str.slice(0, 4) + "-" + str.slice(4, 6) + "-" + str.slice(6, 8) + " " + str.slice(8, 10) + ":" + str.slice(10, 12) + ":" + str.slice(12, 14)
return str;
}
}
function thisStgePrcssRsultCdFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
if(cellvalue == "L"){
return "지연";
} else if(cellvalue == "F"){
return "미도래";
} else if(cellvalue == "Q"){
return "큐대기";
} else if(cellvalue == "S"){
return "진행중";
} else if(cellvalue == "T"){
return "정상종료";
} else if(cellvalue == "E"){
return "비정상종료";
} else if(cellvalue == "C"){
return "사용자중지";
} else if(cellvalue == "N"){
return "파일없음";
}
}
}
function list(){
var gridPostData = getSearchForJqgrid("cmd", "LIST");
gridPostData["searchBjobDmndMsgID"] = '${param.searchBjobDmndMsgID}';
gridPostData["searchBjobDmndSubMsgID"] = '${param.searchBjobDmndSubMsgID}';
gridPostData["searchBjobBzwkDstcd"] = '${param.searchBjobBzwkDstcd}';
gridPostData["searchBjobMsgDstcd"] = '${param.searchBjobMsgDstcd}';
gridPostData["searchBjobTranDstcdName"] = '${param.searchBjobTranDstcdName}';
gridPostData["searchSndrcvFileName"] = '${param.searchSndrcvFileName}';
gridPostData["searchOsidInstiDstcd"] = '${param.searchOsidInstiDstcd}';
gridPostData["searchThisMsgUseYn"] = '${param.searchThisMsgUseYn}';
gridPostData["searchThisStgePrcssRsultCd"] = '${param.searchThisStgePrcssRsultCd}';
gridPostData["searchInclude"] = '${param.searchInclude}';
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchEndHHMM]").val().replace(":","");
gridPostData["searchStartTime"] = start + "000";
gridPostData["searchEndTime"] = end + "000";
$("#grid").jqGrid({
datatype: 'json',
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />',
postData: gridPostData,
colNames: [
"UUID",
"SUBUUID",
"분류코드",
"분류명",
"대외일괄업무코드",
"대외일괄업무명",
"인터페이스ID",
"파일코드",
"사용여부",
"거래시간내 실행횟수",
"최근거래시작시간",
"최근거래종료시간",
"최근전송상태",
"파일크기",
"파일명"
],
colModel: [
{ name: "BJOBDMNDMSGID", align: "center", hidden: true },
{ name: "BJOBDMNDSUBMSGID", align: "center", hidden: true },
{ name: "BJOBBZWKDSTCD", align: "center", hidden: true },
{ name: "BJOBBZWKNAME", align: "center", width: 100 },
{ name: "OSIDINSTIDSTCD", align: "center", hidden: true },
{ name: "OSIDINSTINAME", align: "center", width: 150 },
{ name: "BJOBMSGDSTCD", align: "center", width: 80 },
{ name: "BJOBTRANDSTCDNAME", align: "center", width: 100 },
{ name: "THISMSGUSEYN", align: "center", width: 50, formatter: thisMsgUseYnFormatter },
{ name: "RUNCOUNT", align: "center", width: 80 },
{ name: "FILETRSMTSTARTHMS", align: "center", width: 80, formatter: fileTrsmtHmsFormatter },
{ name: "FILETRSMTENDHMS", align: "center", hidden: true, formatter: fileTrsmtHmsFormatter },
{ name: "THISSTGEPRCSSRSULTCD", align: "center", width: 70, formatter: thisStgePrcssRsultCdFormatter },
{ name: "SNDRCVFILESIZE", align: "center", width: 50 },
{ name: "SNDRCVFILENAME", align: "center", width: 150 }
],
jsonReader: {
repeatitems: false
},
pager: $("#pager"),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autowidth: true,
autoheight: true,
height: $("#container").height(),
viewrecords: true,
multiselect: false,
multiboxonly: false,
rowList: eval('[${rmsDefaultRowList}]'),
gridComplete: function(){
var colModel = $(this).getGridParam("colModel");
for(let i=0; i < colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
ondblClickRow: function(rowId){
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'];
var bjobBzwkName = rowData['BJOBBZWKNAME'];
var osidInstiDstcd = rowData['OSIDINSTIDSTCD'];
var osidInstiName = rowData['OSIDINSTINAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var bjobTranDstcdName = rowData['BJOBTRANDSTCDNAME'];
var thisMsgUseYn = rowData['THISMSGUSEYN'];
var url2 = '<c:url value="/bap/admin/schedule/scheduleMonitorMan.view" />';
url2= url2 + "?cmd=DETAIL";
url2= url2 + '&menuId=' + '${param.menuId}';
url2= url2 + '&page=' + $(this).getGridParam("page");
url2= url2 + '&returnUrl=' + getReturnUrl();
url2= url2 + '&bjobBzwkDstcd=' + bjobBzwkDstcd;
url2= url2 + '&bjobBzwkName=' + bjobBzwkName;
url2= url2 + '&osidInstiDstcd=' + osidInstiDstcd;
url2= url2 + '&osidInstiName=' + osidInstiName;
url2= url2 + '&bjobMsgDstcd=' + bjobMsgDstcd;
url2= url2 + '&bjobTranDstcdName=' + bjobTranDstcdName;
url2= url2 + '&thisMsgUseYn=' + thisMsgUseYn;
url2= url2 + '&' + getSearchUrl();
goNav(url2);
},
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 400) {
alert(jqXHR.responseText);
}
if(jqXHR.status == 401) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
}
$(document).ready(function(){
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if(searchStartYYYYMMDD == null || searchStartYYYYMMDD == ''){
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if(searchEndYYYYMMDD == null || searchEndYYYYMMDD == ''){
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if(searchStartHHMM == null || searchStartHHMM == ''){
$("input[name=searchStartHHMM]").val('000000');
}
if(searchEndHHMM == null || searchEndHHMM == ''){
$("input[name=searchEndHHMM]").val('235959');
}
$("input[name=searchStartYYYYMMDD]").on("change", function(){
$("input[name=searchEndYYYYMMDD]").val($("input[name=searchStartYYYYMMDD]").val());
});
$("input[name=searchEndYYYYMMDD]").on("change", function(){
$("input[name=searchStartYYYYMMDD]").val($("input[name=searchEndYYYYMMDD]").val());
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST");
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"")+$("input[name=searchEndHHMM]").val().replace(":","");
postData["searchStartTime"] = start + "000";
postData["searchEndTime"] = end + "000";
$("#grid").setGridParam({url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />', postData: postData, page: "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
init();
list();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li> <a href="#">${rmsMenuPath}</a> </li>
</ul>
</div>
<div class="content_middle">
<div class="search_wrap">
<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R" />
</div>
<div class="title">파일 송수신 모니터링</div>
<table class="search_condition" cellspacing=0>
<tr>
<th style="width: 150px;">UUID</th>
<td> <input name="searchBjobDmndMsgID" type="text" value="${param.searchBjobDmndMsgID}" /> </td>
<th style="width: 150px;">SUBUUID</th>
<td> <input name="searchBjobDmndSubMsgID" type="text" value="${param.searchBjobDmndSubMsgID}" /> </td>
<th style="width: 150px;">거래시간</th>
<td colspan="3" style="width: 300px;">
<input id="startDatepicker" name="searchStartYYYYMMDD" type="text" value="${param.searchStartYYYYMMDD}" maxlength="10" size="10" style="width: 20%;" readonly />
<input name="searchStartHHMM" type="text" value="${param.searchStartHHMM}" maxlength="8" size="8" style="width: 20%;" readonly />
~
<input id="endDatepicker" name="searchEndYYYYMMDD" type="text" value="${param.searchEndYYYYMMDD}" maxlength="10" size="10" style="width: 20%;" readonly />
<input name="searchEndHHMM" type="text" value="${param.searchEndHHMM}" maxlength="8" size="8" style="width: 20%;" readonly />
<input type="hidden" name="searchStartTime" value="20230518000000" />
<input type="hidden" name="searchEndTime" value="20230518235959" />
</td>
</tr>
<tr>
<th style="width: 150px;">분류</th>
<td>
<select name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}"></select>
</td>
<th style="width: 150px;">대외일괄업무</th>
<td>
<select name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}" style="width: 100%;"></select>
</td>
<th style="width: 150px;">최근전송상태</th>
<td>
<select name="searchThisStgePrcssRsultCd" value="${param.searchThisStgePrcssRsultCd}" style="width: 100%;">
<option value="">전체</option>
<option value="L">지연</option>
<option value="F">미도래</option>
<option value="Q">큐대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
<th style="width: 150px;">거래여부</th>
<td>
<select name="searchInclude" value="${param.searchInclude}" style="width: 100%;">
<option value="">전체</option>
<option value="1">있음</option>
<option value="0">없음</option>
</select>
</td>
</tr>
<tr>
<th style="width: 150px;">인터페이스ID</th>
<td> <input name="searchBjobMsgDstcd" type="text" value="${param.searchBjobMsgDstcd}" /> </td>
<th style="width: 150px;">파일코드</th>
<td> <input name="searchBjobTranDstcdName" type="text" value="${param.searchBjobTranDstcdName}" /> </td>
<th style="width: 150px;">파일명</th>
<td> <input name="searchSndrcvFileName" type="text" value="${param.searchSndrcvFileName}" /> </td>
<th style="width: 150px;">사용여부</th>
<td>
<select name="searchThisMsgUseYn" value="${param.searchThisMsgUseYn}" style="width: 100%;">
<option value="">전체</option>
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
</table>
<table id="grid"></table>
<div id="pager"></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,244 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
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"/>
<script>
function fileTrsmtHmsFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
var str = $.trim(cellvalue);
str = str.slice(0, 4) + "-" + str.slice(4, 6) + "-" + str.slice(6, 8) + " " + str.slice(8, 10) + ":" + str.slice(10, 12) + ":" + str.slice(12, 14)
return str;
}
}
function thisStgePrcssRsultCdFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
if(cellvalue == "L"){
return "지연";
} else if(cellvalue == "F"){
return "미도래";
} else if(cellvalue == "Q"){
return "큐대기";
} else if(cellvalue == "S"){
return "진행중";
} else if(cellvalue == "T"){
return "정상종료";
} else if(cellvalue == "E"){
return "비정상종료";
} else if(cellvalue == "C"){
return "사용자중지";
} else if(cellvalue == "N"){
return "파일없음";
}
}
}
function list(){
var gridPostData = getSearchForJqgrid("cmd", "LIST");
gridPostData["searchIsDetail"] = 'Y';
gridPostData["searchBjobMsgDstcd"] = '${param.bjobMsgDstcd}';
var start = '${param.searchStartYYYYMMDD}'.replace(/-/gi,"") + '${param.searchStartHHMM}'.replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"")+$("input[name=searchEndHHMM]").val().replace(":","");
gridPostData["searchStartTime"] = start + "000";
gridPostData["searchEndTime"] = end + "000";
$("#grid").jqGrid({
datatype: 'json',
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />',
postData: gridPostData,
colNames: [
"UUID",
"SUBUUID",
"파일크기",
"파일명",
"전송상태",
"거래시작시간",
"거래종료시간"
],
colModel: [
{ name: "BJOBDMNDMSGID", align: "center" },
{ name: "BJOBDMNDSUBMSGID", align: "center" },
{ name: "SNDRCVFILESIZE", align: "center" },
{ name: "SNDRCVFILENAME", align: "center" },
{ name: "THISSTGEPRCSSRSULTCD", align: "center", formatter: thisStgePrcssRsultCdFormatter },
{ name: "FILETRSMTSTARTHMS", align: "center", formatter: fileTrsmtHmsFormatter },
{ name: "FILETRSMTENDHMS", align: "center", formatter: fileTrsmtHmsFormatter }
],
jsonReader: {
repeatitems: false
},
pager: $("#pager"),
page: '1',
rowNum: '${rmsDefaultRowNum}',
autowidth: true,
autoheight: true,
height: $("#container").height(),
viewrecords: true,
multiselect: false,
multiboxonly: false,
rowList: eval('[${rmsDefaultRowList}]'),
gridComplete: function(){
var colModel = $(this).getGridParam("colModel");
for(let i=0; i < colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
ondblClickRow: function(rowId){
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['check'] = "";
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2= url2 + "?cmd=DETAIL";
url2= url2 + '&popup='+true;
url2= url2 + '&menuId=' + '${param.menuId}';
url2= url2 + '&page='+$(this).getGridParam("page");
url2= url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2= url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
var ret = showModal2(url2, args, 1300, 760, function(arg){
var args = null;
if(arg == null || arg == undefined ) { //chrome
args = this.dialogArguments;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
}, "scroll:yes;");
},
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 400) {
alert(jqXHR.responseText);
}
if(jqXHR.status == 401) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
}
$(document).ready(function(){
var returnUrl = getReturnUrlForReturn();
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if(searchStartYYYYMMDD == null || searchStartYYYYMMDD == ''){
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if(searchEndYYYYMMDD == null || searchEndYYYYMMDD == ''){
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if(searchStartHHMM == null || searchStartHHMM == ''){
$("input[name=searchStartHHMM]").val('000000');
}
if(searchEndHHMM == null || searchEndHHMM == ''){
$("input[name=searchEndHHMM]").val('235959');
}
$("#btn_previous").click(function(){
goNav(returnUrl);
});
list();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li> <a href="#">${rmsMenuPath}</a> </li>
</ul>
</div>
<div class="content_middle">
<div class="search_wrap">
<img id="btn_previous" src="<c:url value="/img/btn_previous.png"/>" level="R" />
</div>
<div class="title">
파일 송수신 모니터링 상세
<span class="tooltip">
일괄 전송 스케쥴을 기준으로 거래 로그를 확인할 수 있습니다. <br/>
해당 로그와 관련된 모든 정보를 확인할 수 있습니다.
</span>
</div>
<table class="search_condition" cellspacing=0>
<tr>
<th style="width: 150px;">분류명</th>
<td style="width: 150px;"> <input name="bjobBzwkName" type="text" value="${param.bjobBzwkName}" readonly /> </td>
<th style="width: 150px;">대외일괄업무명</th>
<td style="width: 150px;"> <input name="osidInstiName" type="text" value="${param.osidInstiName}" readonly /> </td>
<th style="width: 150px;">거래시간</th>
<td style="width: 300px;">
<input name="searchStartYYYYMMDD" type="text" value="${param.searchStartYYYYMMDD}" readonly style="width: 20%;" />
<input name="searchStartHHMM" type="text" value="${param.searchStartHHMM}" readonly style="width: 20%;" />
~
<input name="searchEndYYYYMMDD" type="text" value="${param.searchEndYYYYMMDD}" readonly style="width: 20%;" />
<input name="searchEndHHMM" type="text" value="${param.searchEndHHMM}" readonly style="width: 20%;" />
</td>
</tr>
<tr>
<th style="width: 150px;">인터페이스ID</th>
<td style="width: 150px;"> <input name="bjobMsgDstcd" type="text" value="${param.bjobMsgDstcd}" readonly /> </td>
<th style="width: 150px;">파일코드</th>
<td> <input name="bjobTranDstcdName" type="text" value="${param.bjobTranDstcdName}" readonly /> </td>
<th style="width: 150px;">사용여부</th>
<td> <input name="thisMsgUseYn" type="text" value="${param.thisMsgUseYn}" readonly /> </td>
</tr>
</table>
<table id="grid"></table>
<div id="pager"></div>
</div>
</div>
</body>
</html>
+273
View File
@@ -0,0 +1,273 @@
<%@ 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"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function fileupload(e,successcallback,errorcallback) {
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function(json, textStatus, jqXHR) {
$("input[name=file]").val("");
if(textStatus == 'success') {
alert('정상처리 되었습니다.');
$("#btn_search").click();
} else {
alert('업로드중 에러가 발생하였습니다.');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind) e.unbind();
} else { //for olden browsers
formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target', iframeId);
formObj.attr('action', '<c:url value="/loader.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e) {
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
function list(url) {
var gridPostData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/bizGbnMan.json" />',
postData: gridPostData,
colNames: [ '배치 대외 기관',
'배치 대외 기관명',
'사용여부'
],
colModel: [
{ name : 'BJOBBZWKDSTCD' , align:'center' ,sortable:false },
{ name : 'BJOBBZWKNAME' , align:'left' },
{ name : 'THISMSGUSEYN' , align:'center', width:50 ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'].trim();
var url = '<c:url value="/bap/admin/work/bizGbnMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
url += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
//검색값
url += '&' + getSearchUrl();
goNav(url);
}
});
}
$(document).ready(function() {
resizeJqGridWidth('grid', 'title', '1000');
var url ='<c:url value="/bap/admin/work/bizGbnMan.json" />';
list(url);
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/work/bizGbnMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "배치 대외 기관 관리", merge);
return false;
});
$("#btn_download").click(function() {
let selectedVal = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
selectedVal += "," + $("#grid").getRowData(rowId).BJOBBZWKDSTCD;
});
if(selectedVal != "") selectedVal = selectedVal.substring(1);
var url ='<c:url value="/loader.do" />';
url += '?cmd=bizGbnMan';
url += '&control=download';
url += '&serviceType=' + sessionStorage["serviceType"];
url += '&fileName=bizGbnMan';
url += '&selectedVal=' + selectedVal;
url += '&' + getSearchUrl();
goNav(url);
});
$("#multiform").on('submit', fileupload);
$('#btn_upload').click(function() {
if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
if(window.FormData !== undefined) {
$("input[name=file]").click();
} else {
if($("input[name=file]").val() == "") return;
$("#multiform").submit();
}
});
if(window.FormData !== undefined) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if (!filename.startsWith('bizGbnMan')) {
alert("배치대외기관 JSON 파일을 선택하십시오.\n\n[파일명 : bizGbnMan.json]")
return false;
}
if(filename == "") return;
else $("#multiform").submit();
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
} else {
$("input[name=file]").show();
}
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" id="title">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
<div class="search_wrap">
<input type="file" id="file" name="file" style="display:inline-block"/>
<input type="hidden" name="cmd" value="bizGbnMan"/>
<input type="hidden" name="control" value="upload"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R" />
<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
</form>
<div class="title">배치 대외 기관 관리<span class="tooltip">배치 대외 기관 코드를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">배치 대외 기관</th>
<td><input type="text" name="searchbjobBzwkDstcd" value="${param.searchbjobBzwkDstcd}"></td>
<th style="width:180px;">배치 대외 기관명</th>
<td><input type="text" name="searchbjobBzwkName" value="${param.searchbjobBzwkName}"></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,386 @@
<%@ 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"/>
<script language="javascript">
var isDetail = false;
var lastsel2;
function isValid() {
if($('input[name=bjobBzwkDstcd]').val() == "") {
alert("대외기관코드를 입력하여 주십시요.");
return false;
} else if($('input[name=bjobBzwkName]').val() == "") {
alert("대외 기관명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if($('select[name=addPrptyTypDstcd]').val() == "") {
alert("프라퍼티구분코드를 선택하여 주십시요.");
return false;
} else if($('input[name=addPrptyName]').val() == "") {
alert("프라퍼티명을 입력하여 주십시요.");
return false;
} else if($('input[name=addPrptyDesc]').val() == "") {
alert("프라퍼티 설명을 입력하여 주십시요.");
return false;
}
//중복체크
var data = $("#grid").getRowData();
for(var i = 0; i < data.length; i++) {
if (data[i]['PRPTYTYPDSTCD'] == $('select[name=addPrptyTypDstcd]').val()
&& data[i]['PRPTYNAME'] == $('input[name=addPrptyName]').val()
){
alert("증복된 프라퍼티명이 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/images/bt/pop_delete.gif" />';
//var adptrIoDstCd = options["colModel"]["ADPTRIODSTCD"];
//var adptrPrptyName = options["colModel"]["ADPTRPRPTYNAME"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' "+url+ " />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype: "local",
loadonce: true,
rowNum: 10000,
editurl: "clientArray",
colNames: [ '프라퍼티타입',
'프라퍼티명',
'프라퍼티설명',
'삭제여부'
],
colModel: [
{ name: 'PRPTYTYPDSTCD'
, align: 'center'
, formatter: function (cellvalue) {
if ( cellvalue == 'O' ) {
return '기관';
} else if (cellvalue == 'F') {
return '파일';
} else {
return cellvalue;
}
}
, unformat: function (cellvalue) {
if ( cellvalue == '기관' ) {
return 'O';
} else if (cellvalue == '파일') {
return 'F';
} else {
return cellvalue;
}
}
},
{ name: 'PRPTYNAME', align: 'left' , editable: true },
{ name: 'PRPTYDESC', align: 'left' , editable: true },
{ name: 'DELETEYN' , align: 'center', unformat: unformatterFunction, formatter: formatterFunction }
],
jsonReader: {
repeatitems: false
},
loadComplete: function () {
},
onSelectRow: function(rowid, status) {
if (lastsel2 != undefined) {
if($("#grid tr#" + lastsel2).attr("editable") == 1) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2, false, "clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol: function(){
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','title','1000');
}
function init(url, key, callback) {
if(typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType:"json",
data: {cmd: 'DETAIL'
, bjobBzwkDstcd: key
},
success: function(json){
var data = json;
var detail = json.detail;
//adapterType
$("input[name=bjobBzwkDstcd]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//Prop
$("#grid")[0].addJSONData(data);
$("img[name*=img]").click(function(){
var name = $(this).attr("name");
var rowId =name.split("_")[1];
$('#grid').jqGrid('delRowData',rowId);
});
},
error: function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/work/bizGbnMan.json" />';
var key ="${param.bjobBzwkDstcd}";
if (key != "" && key !="null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
if (!isValid()) return;
if($("#grid tr#" + lastsel2).attr("editable") == 1) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i <data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value:JSON.stringify(gridData)});
if (isDetail) {
postData.push({ name: "cmd" , value:"UPDATE"});
} else {
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if (!confirm( "삭제하시겠습니까?" )) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()){
return;
}
var data = new Object();
data["PRPTYTYPDSTCD"] = $("select[name=addPrptyTypDstcd]").val();
data["PRPTYNAME"] = $("input[name=addPrptyName]").val();
data["PRPTYDESC"] = $("input[name=addPrptyDesc]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID: rowid,
initdata: data,
position: "last", //first, last
useDefValues: false,
useFormatter: false,
addRowParams: { extraparam:{} }
});
$("#" + $('#grid').jqGrid('getGridParam','selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData',rowId);
});
});
if(!isDetail) $("#tb_clone").hide(); // 신규등록일때 복제 테이블을 숨김
$("#btn_clone").click(function() {
var newBjobBzwkDstcd = $("input[name=newBjobBzwkDstcd]"); // 복제할 배치 대외 기관 코드
if (!isValid()) return;
// 복제할 어댑터 그룹명이 입력되었는지 체크.
if(newBjobBzwkDstcd.val() == "") {
alert("복제할 대외기관코드를 입력하여 주십시요.");
newBjobBzwkDstcd.focus();
return;
}
if(newBjobBzwkDstcd.val() == key) {
alert("복제대상 대외기관코드와 동일합니다.");
newBjobBzwkDstcd.focus();
return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"CLONE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("복제 되었습니다.");
goNav(returnUrl); //LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">배치 대외 기관 코드</div>
<form id="ajaxForm">
<table id="tb_clone" class="table_row" cellspacing="0">
<tr>
<td colspan="4">
<input type="text" name="newBjobBzwkDstcd" style="width:200px;">
<img id="btn_clone" src="<c:url value="/img/btn_clone.png" />" class="btn_img"/>
</td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">배치 대외 기관 코드</th><td><input type="text" name="bjobBzwkDstcd" /></td>
</tr>
<tr>
<th>배치 대외 기관명</th><td><input type="text" name="bjobBzwkName" /></td>
</tr>
<tr>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티 타입</th>
<td>
<div class="select-style">
<select name="addPrptyTypDstcd">
<option value="F">파일</option>
<option value="O">기관</option>
</select>
</div>
</td>
<th style="width:180px;">프라퍼티명</th>
<td><input type="text" name="addPrptyName"/></td>
<td style="width:60px;" rowspan="2" ><img id="btn_pop_input" src="<c:url value="/img/btn_pop_input.png" />" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 설명</td><td colspan="3"><input type="text" name="addPrptyDesc" /></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,190 @@
<%@ 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"/>
<script language="javascript" >
var url ='<c:url value="/bap/admin/work/bizGbnMan.json" />';
var url_view ='<c:url value="/bap/admin/work/bizGbnMan.view" />';
var index;
function detail(url, key) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'LIST_PROP',
bjobBzwkDstcd : key
},
success : function(json) {
var data = json.prop;
$("#grid_detail")[0].addJSONData(data);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[ '업무구분코드',
'업무구분명'
],
colModel:[
{ name : 'BJOBBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BJOBBZWKNAME' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${param.rowNum}' != '' ? '${param.rowNum}' : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'];
index = rowId;
detail(url, bjobBzwkDstcd);
}
});
resizeJqGridWidth('grid','title','1000');
$('#grid_detail').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
colNames:[ '프라퍼티명',
'프라퍼티설명',
'프라퍼티유형'
],
colModel:[
{ name : 'PRPTYNAME' , align:'left' , width:60 ,sortable:false },
{ name : 'PRPTYDESC' , align:'left' , width:150},
{ name : 'PRPTYTYPDSTCD' , align:'center' , width:30 ,
formatter: function (cellvalue) {
if ( cellvalue == 'O' ) {
return '기관';
} else if (cellvalue == 'F') {
return '파일';
} else {
return cellvalue;
}
},
unformat: function (cellvalue) {
if ( cellvalue == '기관' ) {
return 'O';
} else if (cellvalue == '파일') {
return 'F';
} else {
return cellvalue;
}
}
}
],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function() {
return 'stop'; //정렬 방지
},
//height : '500',
autowidth : true,
autoheight : true,
height: $("#container").height(),
viewrecords : true
});
resizeJqGridWidth('grid_detail', 'title', '1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_input").click(function(){
var data = $("#grid").getRowData(index)['BJOBBZWKDSTCD'];
window.returnValue = data;
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_close").click(function(){
var data = "${param.key}";
window.returnValue = data;
window.close();
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_input.png"/>" alt="" id="btn_input" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">전문 프로퍼티 목록</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;">업무구분코드</th>
<td><input type="text" name="searchbjobBzwkDstcd" value="${param.searchbjobBzwkDstcd}"></td>
<th style="width:100px;">업무구분명</th>
<td><input type="text" name="searchbjobBzwkName" value="${param.searchbjobBzwkName}"></td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
<div class="title" style="margin-top:15px; text-align:left;">전문 프로퍼티 상세</div>
<table id="grid_detail" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,647 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ 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");
String userId = SessionManager.getUserId(request);
String userNm = SessionManager.getUserName(request);
String rollId = SessionManager.getRoleIdString(request);
String arr[] = rollId.split(",");
for(int i=0;i<arr.length;i++){
if("admin".equals(arr[i]) || "dept_admin".equals(arr[i])){
rollId = "admin";
break;
}
}
/* String biz = SessionManager.getBizString(request); //담당 업무코드(APP코드) 가져오기
String bizArr[] = biz.split(","); */
%>
<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"/>
<link href="<c:url value="/addon/bootstrap-5.3.2/css/bootstrap.min.css"/>" rel="stylesheet"/>
<script src="<c:url value="/addon/bootstrap-5.3.2/js/bootstrap.bundle.min.js"/>"></script>
<!-- FilePond stylesheet -->
<link href="<c:url value="/addon/filepond/filepond.min.css"/>" rel="stylesheet">
<!-- FilePond JavaScript library -->
<script src="<c:url value="/addon/filepond/filepond.min.js"/>"></script>
<!-- FilePond plugin for file validation -->
<script src="<c:url value="/addon/filepond/plugin/filepond-plugin-file-validate-type.min.js"/>"></script>
<script language="javascript" >
var url = '<c:url value="/bap/admin/work/interfaceManBatchFep.json" />';
var url_view = '<c:url value="/bap/admin/work/interfaceManBatchFep.view" />';
var url_file = '<c:url value="/bap/admin/work/interfaceManBatchFep.file"/>';
function gridRenderingInit() {
if("${param.userIdSpaceYN}" == "N"){
$("#searchUserId").val("${param.searchUserId}");
}else if("${param.userIdSpaceYN}" == "Y"){
$("#searchUserId").val("");
}else{
$("#searchUserId").val("<%=userId %>");
}
var rowNum = "${param.rowNum}";
if(rowNum == "") {rowNum = "${rmsDefaultRowNum}";}
var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로
postData["infDstCd"] = "OUT"; //대외 일괄
var searchStatus = new Array();
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
postData['status'] = searchStatus.join(",");
if($('input[name="delFlag"]').is(":checked")){
postData['delFlag'] = "Y";
}else{
postData['delFlag'] = "N";
}
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url : url,
postData : postData,
colNames:[ //'No.'
'<%= localeMessage.getString("interface.interfaceId") %>'
, '<%= localeMessage.getString("interface.interfaceName") %>'
, '<%= localeMessage.getString("interface.bzwkdstcd") %>'
, '<%= localeMessage.getString("interface.sendRecvType") %>'
, '<%= localeMessage.getString("interface.internalSystem") %>'
, '<%= localeMessage.getString("common.appCode") %>'
, '<%= localeMessage.getString("interface.externalBusiness") %>'
, '<%= localeMessage.getString("common.ownerId") %>'
, '<%= localeMessage.getString("common.updateDatetime") %>'
],
colModel:[
{ name : 'INFID' , align:'center' , width:'100' } //인터페이스ID
, { name : 'BJOBMSGDSTICNAME' , align:'left' , width:'200' } //인터페이스명
, { name : 'BJOBBZWKDSTCD' , align:'center' , width:'30' } //업무구분코드
, { name : 'SNDSTNM' , align:'center' , width:'30'} //송수신구분
, { name : 'SYSCD' , align:'center' , width:'30' } //시스템코드
, { name : 'UAPPLCD' , align:'center' , width:'30' } //app코드
, { name : 'OUTBIZCD' , align:'center' , width:'30' } //대외업무코드
, { name : 'THISMSGAMNDRID' , align:'center' , width:'50' } //담당자id
, { name : 'THISMSGAMNDHMS' , align:'center' , width:'70' } //수정시간
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : rowNum, //'${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords: true,
multiselect: true,
rownumbers : 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("<%= rollId %>" != "admin"){
var idArry = $("#grid").jqGrid("getDataIDs");
cnt = 0;
for(var i=0; i < idArry.length; i++){
var ret = $("#grid").getRowData(idArry[i]);
cnt = 0;
<%-- <% for(int j = 0; j < bizArr.length; j++){ %>
if(ret.APP_CD == "<%= bizArr[j] %>" && ret.DEL_FLAG == "N"){
if(ret.AUTHOR == "<%=userId %>") cnt++;
}
<%}%> --%>
if(cnt == 0){
$("#jqg_grid_" + idArry[i]).attr("disabled", true);
}
}
}
},
beforeSelectRow: function(rowid, e){
var cbsdis = $("tr#" + rowid + ".jqgrow > td > input.cbox:disabled", jQuery("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
onSelectAll: function(aRowids, status){
if(status){
for(var i = 0; i < aRowids.length; i++){
if($("#jqg_grid_" + aRowids[i]).attr("disabled")){
$("#jqg_grid_" + aRowids[i]).removeAttr("checked");
$("#jqg_grid_" + aRowids[i]).removeClass("cbox");
$("#"+aRowids[i]).css("background-color", "#ffffff");
$("#"+aRowids[i]).css("border-color", "#dddddd");
}
}
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
// 2자리 공백이 붙는 현상이 있어 trim 처리
var infId = $.trim(rowData['INFID']);
var searchStatus = [];
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
var roleSpace = "Y"; //담당자ID 입력값 없음
if ($("#searchUserId").val() != "") { //담당자ID 입력값 있음.
roleSpace = "N";
}
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&rowNum=' + $(this).getGridParam("rowNum");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&infId='+infId;
url = url + '&userIdSpaceYN=' + roleSpace;
url = url + '&searchStatus='+searchStatus.join(",");
url = encodeURI(url);
goNav(url);
},
onSelectRow: function(rowId, status){
if($("#jqg_grid_" + rowId).attr("disabled")){
$("#jqg_grid_" + rowId).removeAttr("checked");
$("#jqg_grid_" + rowId).removeClass("cbox");
$("#"+rowId).css("background-color", "#ffffff");
$("#"+rowId).css("border-color", "#dddddd");
}
},
//전문공유
onCellSelect: function(rowId, iCol) {
if(iCol == 15){
if($(this).getCell(rowId, iCol) != ""){
btn_laysync($(this).getRowData(rowId));
}
}
}
});
if("<%= rollId %>" == "admin"){
$('#grid').jqGrid("showCol", ["SYNCRESULTS", "SHR_BTN"]);
}
resizeJqGridWidth('grid','content_middle','1000');
}
$(document).ready(function() {
// debugger;
init().done(function () {
gridRenderingInit();
});
$("#btn_search").click(function(){
detail();
});
$("#btn_new").click(function() {
var searchStatus = [];
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
var roleSpace = "Y"; //담당자ID 입력값 없음
if ($("#searchUserId").val() != "") { //담당자ID 입력값 있음.
roleSpace = "N";
}
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
url = url + '&delFlag=';
url = url + '&userIdSpaceYN=' + roleSpace;
url = url + '&searchStatus='+searchStatus.join(",");
goNav(encodeURI(url));
});
/* //엑셀 다운로드
$("#btn_excel_export").on('click', function(event) {
var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로
postData["infDstCd"] = "OUT";
var searchStatus = new Array();
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
postData['status'] = searchStatus.join(",");
var linkHref = "/monitoring/iim/interface/interfaceMan.json?cmd=LIST_DOWNLOAD_EXCEL_ONL";
$.each(postData, function (name, value) {
console.log(name + "=" + value);
linkHref = linkHref + "&" + name + "=" + encodeURI(value);
});
console.log(linkHref);
var link = document.createElement('a');
document.body.appendChild(link);
link.href = linkHref;
link.click();
}); */
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
/* //user리스트 팝업호출
$("#btn_user_list").click(function(){
var args = new Object();
var url2='<c:url value="/common/acl/user/userMan.view"/>';
url2 = url2 + "?cmd=LIST_POPUP";
var result = showModal(url2,args, 500, 650, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
$("#searchUserId").val(ret['userId']); //작성자ID
});
}); */
//어드민으로 로그인했을시에 표시되는 삭제체크박스
//삭제 체크시 상태체크박스는 모두 해제처리함
$('input[name="delFlag"]').on('click', function() {
$("#btn_author_change").show();
if($('input[name="delFlag"]').is(":checked")){
$('input[name="status"]').attr("checked", false);
$("#btn_author_change").hide();
}
});
$('input[name="status"]').on('click', function() {
if($('input[name="delFlag"]').is(":checked")){
$('input[name="status"]').attr("checked", false);
}
});
//담당자변경
<%-- $("#btn_author_change").on('click', function(event) {
sel = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){ return this.id; }).get();
if(sel.length == 0 || sel == ""){
alert("변경할 인터페이스를 선택해주세요.");
return;
}
var infIdArr = [];
for(var i=0; i < sel.length ; i++){
if("<%= rollId %>" != "admin"){
if(($("#grid").getCell(sel[i], "AUTHOR") !== "<%=userId %>")) {
alert("본인담당 인터페이스가 아닌 경우 담당자변경이 불가합니다.\n인터페이스ID [" + $("#grid").getCell(sel[i], "INF_ID") + "]");
return;
}
if($("#grid").getCell(sel[i], "DEL_FLAG") == "Y"){
alert("삭제된 인터페이스입니다.\n인터페이스ID [" + $("#grid").getCell(sel[i], "INF_ID") + "]");
return;
}
}
infIdArr[i] = $("#grid").getCell(sel[i], "INF_ID");
}
var args = new Object();
args['userId'] = "<%= userId %>"; //유저아이디
args['userNm'] = "<%= userNm %>"; //유저명
args['rollId'] = "<%= rollId %>"; //권한
var url2 = url_view + "?cmd=DETAIL_AUTHOR_CHANGE";
var result = showModal(url2,args, 560, 750, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"UPDATE_BATCH_AUTHOR"}
,{ name: "chngAfUserId", value:args.returnValue} //변경후
,{ name: "infIdArr", value:infIdArr} //변경대상 인터페이스
);
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(json){
detail();
alert("담당자변경을 완료했습니다.");
},
error:function(e){
alert(e.responseText);
}
});
});
}); --%>
buttonControl();
// init(detail);
FilePond.registerPlugin(FilePondPluginFileValidateType);
// FilePond 인스턴스 생성
const pond = FilePond.create(document.querySelector('.filepond'), {
instantUpload: false, // 파일을 즉시 업로드하지 않음
allowRevert: false,
acceptedFileTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/json'],
// 서버 설정
server: {
process: {
url: url_file + '?cmd=LIST_IMPORT_FILE&serviceType=' + sessionStorage["serviceType"],
method: 'POST',
// 필요한 경우 headers나 다른 설정 추가
},
// revert, load, restore, fetch 설정 (필요한 경우)
},
// 다른 필요한 옵션 추가
});
pond.on('processfiles', () => {
// 여기에 모든 파일 업로드 완료 후 실행할 코드를 작성
console.debug('모든 파일의 처리가 완료되었습니다.');
$('#btn_search').click();
});
// "업로드 시작" 버튼 클릭 이벤트 핸들러
document.getElementById('uploadButton').addEventListener('click', function() {
pond.processFiles(); // 선택된 모든 파일을 업로드
});
// 모달 닫기 이벤트 핸들러
$('#uploadModal').on('hidden.bs.modal', function (e) {
pond.removeFiles(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
});
});
//Excel Upload ie8에서 사용하는 함수.
function getDoc(frame) {
var doc = null;
// IE8 cascading access check
try {
if (frame.contentWindow) {
doc = frame.contentWindow.document;
}
} catch(err) {
}
if (doc) { // successful getting content
return doc;
}
try { // simply checking may throw in ie8 under ssl or mismatched protocol
doc = frame.contentDocument ? frame.contentDocument : frame.document;
} catch(err) {
// last attempt
doc = frame.document;
}
return doc;
}
function makeBtnShr(cellvalue, options, rowObject){
if(rowObject.STATUS == "R" || rowObject.STATUS == "W"){
return "<img id='btn_laysync' src='<c:url value='/images/bt/bt_laysync.gif' />' level='W'/>";
}else{
return "";
}
};
//인터페이스 공유
function btn_laysync(obj) {
var infId = obj.INF_ID;
$.ajax({
type : "POST",
url: url,
dataType:"json",
async:false,
data:{cmd: "TRANSACTION_SYNC_BATCH", infId: JSON.stringify(infId)},
success:function(json){
if(status != undefined && status == 'fail'){
alert(json.errorMsg);
return;
}
var data="----result----"+"\n";
data +="성공건수("+json.succCnt+")"+"\n";
data +="실패건수("+json.failCnt+")"+"\n";
$.each(json.result,function(key,value){
data += key +"\n";
data += value +"\n";
});
alert(data);
detail();
},
error : function(e) {
alert(e.responseJSON.errorMsg);
//alert(e.responseText);
}
});
};
function init(callback){
return $.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("BZWKDSTCD","CODENAME").setObj($("select[name=searchAppCd]")).setData(json.authList.rows).rendering(); //APP코드
$("#searchInterfaceId").val("${param.searchInterfaceId}"); // 인터페이스 ID
$("#searchInterfaceName").val("${param.searchInterfaceName}"); //인터페이스 명
$("#searchAppCd").val("${param.searchAppCd}"); //APP코드
if("${param.searchUserId}" != ""){
$("#searchUserId").val("${param.searchUserId}");
}
var searchStatus = new Array();
var searchStatus = "${param.searchStatus}".split(",");
$('input:checkbox[name="status"]').each(function(){
var cStatus = this;
searchStatus.forEach(function(val, idx){
if(cStatus.value == val){
cStatus.checked = true;
}
});
});
if("${param.delFlag}" == "Y"){
$('input[name="delFlag"]').attr("checked", true);
}
// if (typeof callback === 'function') {
// callback();
// }
},
error:function(e){
alert(e.responseText);
}
});
};
function detail(){
var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로
postData["infDstCd"] = "OUT"; //대외 일괄
var searchStatus = new Array();
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
postData['status'] = searchStatus.join(",");
if($('input[name="delFlag"]').is(":checked")){
postData['delFlag'] = "Y";
}else{
postData['delFlag'] = "N";
}
$("#grid").setGridParam({url : url, postData : postData, page:1}).trigger("reloadGrid");
}
</script>
</head>
<body>
<div class="right_box">
<!-- path -->
<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">
<!-- button -->
<%-- <form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/iim/interface/interfaceMan.file" />">
<input type="file" name="file" style="display:block"/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
</form> --%>
<div class="search_wrap">
<%--<img id="btn_new" src="<c:url value="/img/btn_new.png"/>" level="W"/> <!-- 신규 -->--%>
<%--<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> <!-- 검색 -->--%>
<%-- <img id="btn_excel_export" src="<c:url value="/images/bt/bt_excel_export.jpg"/>" level="R" /> <!-- 엑셀다운로드 --> --%>
<%-- <img id="btn_excel_import" src="<c:url value="/images/bt/bt_excel_import.jpg"/>" level="R" /> --%><!-- 엑셀업로드 -->
<%-- <img id="btn_author_change" src="<c:url value="/images/bt/bt_author_change.gif"/>" level="W" /><!-- 담당자변경 --> --%>
<button type="button" class="cssbtn" id="btn_import" level="W" data-bs-toggle="modal" data-bs-target="#uploadModal"><i class="material-icons">upload</i> <%=localeMessage.getString("button.import")%></button>
<button type="button" class="cssbtn" id="btn_new" level="W" status="DETAIL,NEW"><i class="material-icons">add</i><%=localeMessage.getString("button.new")%></button>
<%--<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i><%=localeMessage.getString("button.delete")%></button>--%>
<button type="button" class="cssbtn" id="btn_search" level="R" status="DETAIL,NEW"><i class="material-icons">search</i><%=localeMessage.getString("button.search")%></button>
</div>
<!-- title -->
<div class="title">
<%= localeMessage.getString("interfaceBatchFep.title") %>
</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing=0;>
<tr>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("interface.titleInterfaceId") %></th>
<td><input type="text" name="searchInterfaceId" value="${param.searchInterfaceId}" style="width:100%"></td>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("interface.titleInterfaceName") %></th>
<td><input type="text" name="searchInterfaceName" value="${param.searchInterfaceName}" style="width:100%"></td>
</tr>
<tr>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.appCode") %></th>
<td colspan="3">
<div class="select-style">
<select name="searchAppCd" id="searchAppCd">
</select>
</div>
</td>
<%-- <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.ownerId") %></th>
<td>
<span style="width:80%; display: inline-block;">
<input type="text" name="searchUserId" id="searchUserId" value="<%=userId %>" style="width:100%">
</span>
<img id="btn_user_list" src="<c:url value="/img/btn_pop_search.png"/>" level="R" status="DETAIL,NEW"/>
</td> --%>
</tr>
<%-- <tr>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.status") %></th>
<td>
<input type="checkbox" name="status" id="statusT" value="T"> <label for="statusT"><%= localeMessage.getString("common.status.temp") %></label>
<!-- <input type="checkbox" name="status" id="statusD"> <label for="statusD">작성중</label> -->
<input type="checkbox" name="status" id="statusW" value="W"> <label for="statusW"><%= localeMessage.getString("common.status.complete") %></label>
<input type="checkbox" name="status" id="statusR" value="R"> <label for="statusR"><%= localeMessage.getString("common.status.deployed") %></label>
<input type="checkbox" name="delFlag" id="delFlag" value="Y"> <label for="statusR"><%= localeMessage.getString("common.status.removed") %></label>
</td>
<th></th><td></td>
</tr> --%>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</form>
<%-- <div style="font-size:'6';color:red;font-family:courier;">
<p>※ <%= localeMessage.getString("interface.message.descToChangeOwner") %>
</div> --%>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<!-- Modal -->
<div class="modal fade" id="uploadModal" tabindex="-1" aria-labelledby="uploadModalLabel" aria-hidden="true">
<!-- 모달 내용 -->
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="material-icons" style="vertical-align: sub; font-size: 25px">publish</i> <%=localeMessage.getString("button.import")%></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<input type="file" class="filepond" name="file" multiple data-allow-reorder="true" data-max-file-size="3MB" data-max-files="10">
</div>
<div class="modal-footer">
<button id="uploadButton" class="btn btn-primary">IMPORT <%=localeMessage.getString("button.execute")%></button>
</div>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,697 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ 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");
String userId = SessionManager.getUserId(request);
String userNm = SessionManager.getUserName(request);
String rollId = SessionManager.getRoleIdString(request);
String arr[] = rollId.split(",");
for(int i=0;i<arr.length;i++){
rollId = arr[i];
if("admin".equals(arr[i]) || "dept_admin".equals(arr[i])){
rollId = "admin";
break;
}
}
%>
<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 isDetail = false;
var isTemp = false; //임시저장 여부
var url = '<c:url value="/bap/admin/work/interfaceManBatchFep.json" />';
var url_view = '<c:url value="/bap/admin/work/interfaceManBatchFep.view" />';
var dat = {};
var delFlag = "";
var ex1 = /^[0-9]{1,2}:[0-9]{1,2}$/;
$(function(){
$(document).tooltip({
content:function(){
return $(this).prop('title');
}
})
});
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
debugger;
var key ="${param.infId}";
delFlag = "${param.delFlag}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO' //화면의 셀렉트박스 리스트 조회
, gubun: 'BATCH_FEP'
},
success:function(json){
new makeOptions("PRPTYNAME","CODENAME").setObj($("select[name=outBizCd]")).setData(json.BzSystem_BAP.rows).rendering(); //업무시스템(FEP), 대외일괄업무코드
new makeOptions("PRPTYNAME","CODENAME").setObj($("select[name=srcBzSystemCd]")).setData(json.BzSystem.rows).rendering(); //내부정보.시스템코드
new makeOptions("BZWKDSTCD","CODENAME").setObj($("select[name=appCd]")).setData(json.authList.rows).rendering(); //APP코드
$("#srcBzSystemCd").prepend("<option value=''>선택</option>");
$("#srcBzSystemCd").val(dat.SYSCD); //소스업무시스템구분
$("#srcBzSystemCd").change();
$("#outBizCd").prepend("<option value=''>선택</option>");
$("#outBizCd").val(dat.OUTBIZCD); //대외일괄업무코드
$("#outBizCd").change();
$("#appCd").val(dat.UAPPLCD); //APP코드
$("#appCd").change();
},
error:function(e){
alert(e.responseText);
}
});
$("#btn_modify").on('click', function(){
var vCmd = "";
if (isDetail){
vCmd = "UPDATE_BATCH";
}else{
vCmd = "INSERT_BATCH";
}
if(isTemp){
vCmd = "INSERT_BATCH";
}
if (!isValid()){
return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value: vCmd});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
if(args.result == "0"){
editDisp(args);
alert("인터페이스ID [" + args.BJOBMSGDSTCD + "]가 저장 되었습니다.");
}else{
alert("저장처리가 실패하였습니다.\nEIMS관리자에게 문의해주세요");
}
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
}
});
});
$("#btn_delete").on('click', function(){
if(!confirm($("#infId").val() + "를 삭제하시겠습니까?")){
return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE_BATCH"}
,{ name: "userId" , value:"<%= userId %>"}
);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
//alert(e.responseText);
}
});
});
$("#btn_previous").on('click', function(){
goNav(returnUrl);//LIST로 이동
});
// Excel upload
$("#multiform").submit(fileupload);
//대외일괄업무코드 선택 이벤트
$("#outBizCd").on('change', function(){
var idx = $("#outBizCd option").index($("#outBizCd option:selected"));
$("#outBizNm").html($("#outBizCd option:selected").text().substring($("#outBizCd option:selected").text().indexOf("[")+1, $("#outBizCd option:selected").text().indexOf("]")));
});
//내부시스템코드 선택 이벤트
$("#srcBzSystemCd").on('change', function(){
if(isDetail){
if(!isTemp){
if((dat.SYSCD) != $("#srcBzSystemCd").val()) { //내부시스템코드
$("#srcBzSystemCd").val(dat.SYSCD);
return;
}
}
}
var idx = $("#srcBzSystemCd option").index($("#srcBzSystemCd option:selected"));
$("#srcBzSystemNm").html($("#srcBzSystemCd option:selected").text().substring($("#srcBzSystemCd option:selected").text().indexOf("[")+1, $("#srcBzSystemCd option:selected").text().indexOf("]")));
});
//대외기관코드 선택 이벤트
$("#osidInstiCd").on('change', function(){
var idx = $("#osidInstiCd option").index($("#osidInstiCd option:selected"));
$("#osidInstiNm").html($("#osidInstiCd option:selected").text().substring($("#osidInstiCd option:selected").text().indexOf("[")+1, $("#osidInstiCd option:selected").text().indexOf("]")));
});
//APP코드 선택 이벤트
$("#appCd").on('change', function(){
var idx = $("#appCd option").index($("#appCd option:selected"));
$("#appNm").text($("#appCd option:selected").text().substring($("#appCd option:selected").text().indexOf("[")+1, $("#appCd option:selected").text().indexOf("]")));
});
buttonControl(isDetail);
titleControl(isDetail);
// $("#runType").trigger('change');
});
function isValid(){
if(isDetail){
if(!isTemp){
if($("#hiddenSrcBzSystemCd").val() != $("#srcBzSystemCd").val()) { //소스정보.시스템코드
alert("소스정보 또는 타겟정보의 시스템코드는 수정할 수 없습니다.");
$("#srcBzSystemCd").val($("#hiddenSrcBzSystemCd").val());
$("#srcBzSystemCd").change();
return;
}
}
}
if($("#appCd").val() == ""){
alert("APP코드를 선택해주세요.");
return;
}
if($("#outBizCd").val() == ""){
alert("대외일괄업무코드를 선택해주세요.");
return false;
}
if($('#infDesc').val().trim() == ""){
alert("인터페이스 설명을 입력하여 주십시오.");
return false;
}
if($("#authorId").val() == ""){
alert("담당자ID를 입력해주세요.");
return;
}
if($("#srcBzSystemCd").val() == ""){
alert("시스템코드를 입력해주세요.");
return false;
}
if($("#fileCode").val().trim() == ""){
alert("파일코드를 입력해주세요.");
return false;
}
if($("#srcFilePath").val().trim() == ""){
alert("파일경로를 입력해주세요.");
return false;
}
return true;
}
function init(url,key,callback){
if(typeof callback === 'function') {
callback(url,key);
}
}
function detail(url,key){
//if (!isDetail)return;
if (!isDetail){
return;
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', infId : key, delFlag : delFlag},
success:function(json){
var data = json;
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
dat = data;
editDisp(dat); //화면편집
},
error:function(e){
alert(e.responseText);
}
});
}
//Excel Upload 실행함수.
function fileupload(e,successcallback,errorcallback){
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
dat = {};
$.ajax({
url: formURL,
type: 'POST',
data: formData,
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success: function(json, textStatus, jqXHR)
{
dat = JSON.parse(json);
if ((dat.message != null && dat.message != "null") || dat.rows.length==0){
alert(dat.message);
return ;
}
dat = dat.rows[0];
editDisp(dat); //화면 편집
alert("Excel Upload가 완료되었습니다.");
if (typeof callback === 'function') {
successcallback(data, textStatus, jqXHR);
}
},
error: function(jqXHR, textStatus, errorThrown)
{
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind)
e.unbind();
}
else //for olden browsers
{
formObj.append($("<input type='hidden' name='serviceType' value='"+sessionStorage["serviceType"]+"' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" name="'+iframeId+'" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target',iframeId);
formObj.attr('action','<c:url value="/iim/interface/interfaceMan2.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e)
{
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("input[name=file]").val("");
if (k.rows.length==0){
alert(k.message);
return ;
}
dat = data.rows[0];
editDisp(dat); //화면 편집
alert("Excel Upload가 완료되었습니다.");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
function editDisp(dat){
$("#tdUpdateBy").text(dat.THISMSGCHRGIDS); //작성자
$("#tdUpdateYmd").text(dat.THISMSGAMNDHMS); //최종작성일시
$("#updateBy").val(dat.THISMSGCHRGIDS); //작성자
$("#updateYmd").val(dat.THISMSGAMNDHMS); //최종작성일시
$("#infId").val(dat.BJOBMSGDSTCD); //인터페이스 ID(물리)
$("#infDesc").val(dat.BJOBMSGDSTICNAME); //인터페이스 설명
$("#appCd").val(dat.UAPPLCD); //APP코드
$("#appNm").text(dat.APP_NM==null?"":dat.APP_NM); //APP명
$("#outBizCd").val(dat.OUTBIZCD); //대외일괄업무코드
$("#outBizNm").text(dat.OUT_BIZ_CD_NM==null?"":dat.OUT_BIZ_CD_NM); //대외일괄업무코드명
$("#hiddenSnDst").val(dat.SNDDST);
if(isDetail){
if(isTemp){
$("#snDst").val(dat.SN_DST); //송수신구분
}else{
if(dat.SNDDST=="T"){
$("#tdSnDst").text("송/수신");
}else if(dat.SNDDST=="R"){
$("#tdSnDst").text("수신");
}else{
$("#tdSnDst").text("송신");
}
}
}else{
$("#snDst").val(dat.SNDDST); //송수신구분
}
$("#authorId").val(dat.THISMSGCHRGIDS); //담당자ID
$("#srcBzSystemCd").val(dat.SYSCD); //내부정보.시스템코드
$("#hiddenSrcBzSystemCd").val(dat.SYSCD); //소스정보.시스템코드(hidden)
$("#srcBzSystemNm").html(dat.SRC_BZ_SYSTEM_NM); //내부정보.시스템코드명
$("#osidInstiCd").val(dat.OUTBIZCD); //외부정보.대외기관코드
$("#osidInstiNm").html(dat.OSID_INSTI_NM); //외부정보.대외기관코드명
$("#srcFileNm").val(dat.SRC_FILE_NM); //내부정보.파일명/패턴
$("#tgtFileNm").val(dat.TGT_FILE_NM); //외부정보.기관파일명/패턴
$("#srcFilePath").val(dat.SRCFILEPATH); //내부정보.파일경로
$("#fileCode").val(dat.BJOBTRANDSTCDNAME); //파일코드
$("#recSize").val(dat.BJOBTELGMRECSIZE); //레코드크기
isDetail = true;
$("#srcBzSystemCd").prop("disabled", true);
setButton();
}
function setButton(){
$("img[id^='btn']").hide();
if(isTemp){
$("#btn_temp").show();
$("#btn_modify").show();
$("#btn_delete").show();
$("#btn_excel_export").show();
$("#btn_previous").show();
// $("img[id^='btn_sync_log']").hide();
// $("img[id^='btn_sync']").hide();
}else{
$("#btn_modify").show();
$("#btn_delete").show();
if(dat.STATUS == "W" || dat.STATUS == "R") $("#btn_sync").show();
$("#btn_sync_log").show();
$("#btn_excel_export").show();
$("#btn_previous").show();
// $("img[id^='btn_temp']").hide();
}
if("<%= rollId %>" != "admin"){
if("<%= userId %>" != $("#authorId").val() && "<%= userId %>" != $("#updateBy").val()){
$("#btn_modify").hide();
$("#btn_delete").hide();
$("#btn_sync").hide();
}
}
if(dat.DEL_FLAG == "Y"){
$("img[delFlg]").hide();
$("#btn_restore").show();
}else{
$("#btn_restore").hide();
}
}
function getAuthorNm(key, userId, callback){
if(userId == ""){
return;
}
var url2='<c:url value="/common/acl/user/userMan.json"/>';
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DETAIL"}
,{ name: "userId" , value:userId }
);
$.ajax({
type : "POST",
url:url2,
data:postData,
success:function(json){
var dat = json;
if(dat.USERID == undefined || dat.USERID == null){
alert("존재 하지 않는 사용자 입니다.");
dat.USERNAME = "";
}
if(typeof callback === 'function') {
callback(dat.USERNAME);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function authorIdCallback(userNm){
$("#authorNm").text(userNm);userNm
}
function userList(){
var args = new Object();
var url2='<c:url value="/common/acl/user/userMan.view"/>';
url2 = url2 + "?cmd=LIST_POPUP";
var result = showModal(url2,args, 500, 650, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
});
return result;
}
</script>
</head>
<body>
<div class="right_box">
<!-- path -->
<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">
<!-- 엑셀Upload -->
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/iim/interface/interfaceMan.file" />">
<input type="file" name="file" id="file" accept=".xlsx" style="display:none"/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
<input type="text" name="section" style="display:none" value="FEPB"/>
<div class="search_wrap">
<% if ("admin".equals(rollId)) {%>
<img id="btn_restore" src="<c:url value="/images/bt/bt_restore.gif"/>" level="W" status="DETAIL" /> <!-- 복원 -->
<% } %>
<img id="btn_modify" src="<c:url value="/img/btn_modify.png"/>" level="W" status="DETAIL,NEW" delFlg="true"/>
<img id="btn_delete" src="<c:url value="/img/btn_delete.png"/>" level="R" status="DETAIL" delFlg="true"/>
<img id="btn_previous" src="<c:url value="/img/btn_previous.png"/>" level="R" status="DETAIL,NEW"/>
</div>
</form>
<!-- 엑셀Upload -->
<!-- title -->
<div class="title"><%= localeMessage.getString("interfaceBatchFep.title") %></div>
<!-- detail -->
<form id="ajaxForm" onsubmit="return false;">
<input type="hidden" name="ver" id="ver" />
<input type="hidden" name="infDstCd" id="infDstCd" value="OUT"/>
<input type="hidden" name="status" id="status" />
<input type="hidden" name="hiddenSnDst" id="hiddenSnDst" />
<input type="hidden" name="updateBy" id="updateBy" value=""/>
<input type="hidden" name="updateYmd" id="updateYmd" value=""/>
<input type="hidden" name="hiddenSrcBzSystemCd" id="hiddenSrcBzSystemCd" value="" />
<input type="hidden" name="runType" id="runType" value="E" />
<table>
<tr>
<%-- <td style="width:50%"></td>
<th style="width:5%"><%= localeMessage.getString("common.status") %> :</th> --%>
<td style="width:10%" id="statusNm"></td>
<th style="width:5%"><%= localeMessage.getString("layout.editorId") %> :</th>
<td style="width:10%" id="tdUpdateBy"></td>
<th style="width:10%"><%= localeMessage.getString("common.lastUpdateDate") %> :</th>
<td style="width:10%" id="tdUpdateYmd"></td>
</tr>
</table>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interface.titleInterfaceId") %>(<%= localeMessage.getString("common.physical") %>)</th>
<td colspan="3" style="width:35%;"><input type="text" name="infId" id="infId" style="width:100%"
readonly="readonly" placeholder="(자동생성) 출발지(3) + 목적지(3) + 일련번호(5)"/> </td>
<%-- <th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interface.titleInterfaceId") %>(<%= localeMessage.getString("common.logical") %>)</th>
<td style="width:35%;"><input type="text" name="logicalInfId" id="logicalInfId" style="width:100%"/> </td> --%>
</tr>
<%-- <tr>
<th><%= localeMessage.getString("interface.asisInterfaceId") %></th>
<td><input type="text" name="asisInfId" id="asisInfId" style="width:100%" /> </td>
<td colspan="2"></td>
</tr> --%>
<tr>
<th><%= localeMessage.getString("common.appCode") %></th>
<td>
<select name="appCd" id="appCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="appNm" style="display: inline-block;">
</div>
</td>
<th><%= localeMessage.getString("interface.externalBatchBizCode") %></th>
<td>
<select name="outBizCd" id="outBizCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="outBizNm" style="display: inline-block;">
</div>
</td>
</tr>
<%-- <tr>
<th><%= localeMessage.getString("interface.interfaceName") %></th>
<td colspan="3">
<input type="text" name="infNm" id="infNm" style="width:100%" required />
</td>
</tr> --%>
<tr>
<th><%= localeMessage.getString("interface.interfaceDesc") %></th>
<td colspan="3">
<input type="text" name="infDesc" id="infDesc" style="width:100%" required />
</td>
</tr>
<tr>
<th><%= localeMessage.getString("interface.runningType") %></th>
<td><%= localeMessage.getString("interface.batchRunTypeEvent") %>
<!-- <select name="runType" id="runType" required >
<option value="E">이벤트(배치)</option>
<option value="S">스케줄(디퍼드)</option>
</select> -->
</td>
<th><%= localeMessage.getString("common.systemCode") %></th>
<td>
<select name="srcBzSystemCd" id="srcBzSystemCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="srcBzSystemNm" style="display: inline-block;">
</div>
</td>
<%-- <th><%= localeMessage.getString("interface.batchSendCycle") %></th>
<td>
<input type="text" name="trnsmsnCycle" id="trnsmsnCycle" style="width:100%" />
</td> --%>
</tr>
<tr>
<th><%= localeMessage.getString("interface.sendRecvType") %></th>
<td style="width: 35%" id="tdSnDst">
<div class="select-style" >
<select name="snDst" id="snDst">
<option value="S"><%= localeMessage.getString("interface.transTypeOfSend") %></option>
<option value="R"><%= localeMessage.getString("interface.transTypeOfRecv") %></option>
<option value="T"><%= localeMessage.getString("interface.transTypeOfBoth") %></option>
</select>
</div>
</td>
<th><%= localeMessage.getString("common.ownerId") %></th>
<td>
<span style="width:50%; display: inline-block;">
<input type="text" name="authorId" id="authorId" style="width:100%" value="<%=userId %>" required >
</span>
<%-- <img id="btn_user_list" src="<c:url value="/img/btn_pop_search.png"/>" level="R" status="DETAIL,NEW"/>&nbsp;
<div id="authorNm" style="display: inline-block;"><%=userNm %></div> --%>
</td>
<%-- <th>담당자명</th>
<td id="authorNm" style="width:100%"><%=userNm %>
<!-- <input type="text" name="authorNm" id="authorNm" style="width:100%"/> -->
</td> --%>
</tr>
<!-- <tr height="30px">
<th style="border-right:1px solid #a3a9b1;" colspan="2">내부정보</th>
<th style="border-right:1px solid #a3a9b1;" colspan="2">외부정보</th>
</tr> -->
<%-- <tr>
<th><%= localeMessage.getString("interface.externalOrgCode") %></th>
<td>
<select name="osidInstiCd" id="osidInstiCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="osidInstiNm" style="display: inline-block;">
</div>
</td>
</tr> --%>
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interfaceBatch.fileCode") %></th>
<td style="width:35%;"><input type="text" name="fileCode" id="fileCode" style="width:100%" /></td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interfaceBatch.recordSize") %></th>
<td style="width:35%;"><input type="text" name="recSize" id="recSize" onkeyup="$(this).val($(this).val().replace(/\D/g,''));" title="숫자만 입력해주세요" placeholder="숫자만 입력해주세요" style="width:100%"/></td>
</td>
</tr>
<tr>
<%-- <th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interfaceBatch.fileName") %></th>
<td style="width:35%;"><input type="text" name="srcFileNm" id="srcFileNm" style="width:100%" /></td> --%>
<!-- <th style="width:10%; min-width: 130px;">수신파일명</th>
<td style="width:35%;"><input type="text" name="tgtFileNm" id="tgtFileNm" style="width:100%"/></td>
</td>
</tr>
<tr> -->
<th><%= localeMessage.getString("interfaceBatch.filePath") %></th>
<td colspan="3">
<input type="text" name="srcFilePath" id="srcFilePath" style="width:100%"/>
</td>
<!-- <th></th>
<td>
<input type="text" name="fileCode" id="fileCode" style="width:100%"/>
</td> -->
</tr>
<%-- <tr>
<th style="height:40px"><%= localeMessage.getString("common.etc") %></th>
<td colspan="3">
<textarea name="etcDesc" id="etcDesc" style="width:100%" rows="2" maxlength="500" ></textarea>
</td>
</tr> --%>
</tbody>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+156
View File
@@ -0,0 +1,156 @@
<%@ 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"/>
<script language="javascript" >
function list(url){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/kikwanMan.json" />',
postData : gridPostData,
colNames:['기관코드',
'기관명',
'시스템IP',
'암호화IP',
'사용여부',
//'등록자ID',
//'등록시각',
//'수정자ID',
//'수정시각'
],
colModel:[
{ name : 'KIKWANCD' , align:'left' ,width:40 ,sortable:false },
{ name : 'KIKWANNAME' , align:'center' ,width:40 },
{ name : 'SYSIP' , align:'center' ,width:40 },
{ name : 'ENCIP' , align:'center' ,width:40 },
{ name : 'THISMSGUSEYN' , align:'center' ,width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue == '1' ) {
return '사용';
} else {
return cellvalue;
}
}
}
//{ name : 'ThisMsgRegsntI' , align:'left' , hidden:true },
//{ name : 'ThisMsgRegiHMS' , align:'left' , hidden:true },
//{ name : 'ThisMsgAmndrID' , align:'left' , hidden:true},
//{ name : 'ThisMsgAmndHMS' , align:'left' , hidden:true },
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var kikwanCd = rowData['KIKWANCD'].trim();
var url = '<c:url value="/bap/admin/work/kikwanMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&kikwanCd='+kikwanCd;
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
}
});
}
$(document).ready(function() {
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/admin/work/kikwanMan.json" />';
list(url);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/work/kikwanMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">FTManager기관관리<span class="tooltip">일괄 전송 파일을 송수신 업무 구분 코드를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">기관코드</th>
<td><input type="text" name="searchKikwanCd" value="${param.searchKikwanCd}"></td>
<th style="width:180px;">기관명</th>
<td><input type="text" name="searchKikwanName" value="${param.searchKikwanName}"></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,219 @@
<%@ 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"/>
<script language="javascript" >
var isDetail = false;
function isValid(){
if($('input[name=kikwanCd]').val().trim() == ""){
alert("기관코드를 입력하여 주십시요.");
return false;
}else if($('input[name=kikwanName]').val() == ""){
alert("기관명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid(){
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function formatterFunction(cellvalue, options, rowObject){
var rowId = options["rowId"];
var url = 'src=<c:url value="/images/bt/pop_delete.gif" />';
//var adptrIoDstCd = options["colModel"]["ADPTRIODSTCD"];
//var adptrPrptyName = options["colModel"]["ADPTRPRPTYNAME"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' "+url+ " />";
}
function init(url,key,callback){
if (!isDetail){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, kikwanCd : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=kikwanCd]").val(detail["AUTOCD"]);
},
error:function(e){
alert(e.responseText);
}
});
}
if(typeof callback === 'function') {
callback(url,key);
}
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, kikwanCd : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=kikwanCd]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(detail[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/work/kikwanMan.json" />';
var key ="${param.kikwanCd}";
if (key != "" && key !="null"){
isDetail = true;
}
//gridRendering();
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">FTManager기관관리</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">기관코드</th><td><input type="text" name="kikwanCd" /> </td>
</tr>
<tr>
<th>기관명</th><td><input type="text" name="kikwanName" /> </td>
</tr>
<tr>
<th>시스템IP</th><td><input type="text" name="SysIp" /> </td>
</tr>
<tr>
<th>암호화IP</th><td><input type="text" name="EncIp" /> </td>
</tr>
<tr>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,350 @@
<%@ 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"/>
<script language="javascript" >
var selectName = "searchBjobBzwkDstcd";
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
var url ='<c:url value="/bap/admin/work/messageProcMan.json" />';
function fileupload(e,successcallback,errorcallback) {
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function(json, textStatus, jqXHR) {
$("input[name=file]").val("");
if(textStatus == 'success') {
alert('정상처리 되었습니다.');
$("#btn_search").click();
} else {
alert('업로드중 에러가 발생하였습니다.');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind) e.unbind();
} else { //for olden browsers
formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target', iframeId);
formObj.attr('action', '<c:url value="/loader.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e) {
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
function list() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames: [ '인터페이스ID',
'인터페이스설명',
'수신업무/기관',
'송신업무/기관',
'송수신파일명',
'세부기관코드',
'레코드 길이',
'송/수신여부',
/* '수신여부', */
'사용여부'
],
colModel: [
{ name: 'BJOBMSGDSTCD' , align: 'center' },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' },
{ name: 'BJOBBZWKDSTCD' , align: 'center' },
{ name: 'UAPPLCD' , align: 'center' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' },
{ name: 'BJOBINSTIDSTCD' , align: 'center' },
{ name: 'BJOBTELGMRECSIZE' , align: 'center' },
{ name: 'EAIFILESENDUSEYN' , align: 'center' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '송신';
} else {
return '수신';
}
}
},
{ name: 'THISMSGUSEYN' , align: 'center' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'].trim();
var url = '<c:url value="/bap/admin/work/messageProcMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&menuId=' + '${param.menuId}';
url += '&returnUrl=' + getReturnUrl();
url += '&bjobMsgDstcd=' + bjobMsgDstcd;
url += '&' + getSearchUrl();
//검색값
goNav(url);
}
});
}
function init() {
$.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('', '전체').setData(json.bjobBzwkDstcd).rendering(); // 업무구분코드
list();
},
error: function(e) {
alert(e.responseText);
}
});
setSearchable(selectName); // 콤보에 searchable 설정
}
$(document).ready(function() {
resizeJqGridWidth('grid', 'title', '1000');
init();
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/work/messageProcMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$("input[name^=like]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "송수신 파일 관리", merge);
return false;
});
$("#btn_download").click(function() {
let selectedVal = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
selectedVal += "," + $("#grid").getRowData(rowId).BJOBMSGDSTCD;
});
if(selectedVal != "") selectedVal = selectedVal.substring(1);
var url ='<c:url value="/loader.do" />';
url += '?cmd=messageProcMan';
url += '&control=download';
url += '&serviceType=' + sessionStorage["serviceType"];
url += '&fileName=messageProcMan';
url += '&selectedVal=' + selectedVal;
url += '&' + getSearchUrl();
goNav(url);
});
$("#multiform").on('submit', fileupload);
$('#btn_upload').click(function() {
if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
if(window.FormData !== undefined) {
$("input[name=file]").click();
} else {
if($("input[name=file]").val() == "") return;
$("#multiform").submit();
}
});
if(window.FormData !== undefined) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if (!filename.startsWith('messageProcMan')) {
alert("송수신 파일관리 JSON 파일을 선택하십시오.\n\n[파일명 : messageProcMan.json]")
return false;
}
if(filename == "") return;
else $("#multiform").submit();
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
} else {
$("input[name=file]").show();
}
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" id="title">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
<div class="search_wrap">
<input type="file" id="file" name="file" style="display:inline-block"/>
<input type="hidden" name="cmd" value="messageProcMan"/>
<input type="hidden" name="control" value="upload"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R" />
<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
</form>
<div class="title">송수신 파일 관리<span class="tooltip">일괄 전송에서 사용하는 송수신 파일을 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">인터페이스ID</th>
<td><input type="text" name="likeBjobMsgDstcd" value="${param.likeBjobMsgDstcd}"></td>
<th style="width:150px;">업무구분코드</th>
<td>
<div class="select-style">
<select name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}"></select>
</div>
</td>
<th style="width:150px;">세부기관코드</th>
<td><input type="text" name="likeBjobInstiDstcd" value="${param.likeBjobInstiDstcd}"></td>
</tr>
<tr>
<th style="width:150px;">송수신파일설명</th>
<td><input type="text" name="likeBjobTranDstcdName" value="${param.likeBjobTranDstcdName}"></td>
<th style="width:150px;">인터페이스설명</th>
<td><input type="text" name="likeBjobMsgDsticName" value="${param.likeBjobMsgDsticName}"></td>
<th style="width:150px;">사용여부</th>
<td style="width:350px;">
<div class="select-style">
<select name="searchThisMsgUseYn" value="${param.searchThisMsgUseYn}">
<option value="">전체</option>
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:150px;" hidden="hidden">어플리케이션코드</th>
<td hidden="hidden"><input type="text" name="likeUapplCd" value="${param.likeUapplCd}"></td>
<th style="width:150px;" hidden="hidden">담당자ID</th>
<td hidden="hidden"><input type="text" name="likeThisMsgChrgIDs" value="${param.likeThisMsgChrgIDs}"></td>
<th style="width:150px;" hidden="hidden"></th>
<td hidden="hidden"></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,544 @@
<%@ 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"/>
<script language="javascript" >
var selectName = "bjobBzwkDstcd,uapplCd"; // selectBox Name
var isDetail = false;
var lastsel2;
var isPopup = "${param.ispop}";
function isValid() {
if( $('input[name=bjobMsgDstcd]').val().trim() == "" ) {
alert("인터페이스ID를 입력하여 주십시요.");
return false;
} else if( $('select[name=bjobBzwkDstcd]').val() == "" ) {
alert("업무그룹코드를 선택하여 주십시요.");
return false;
} else if( $('select[name=bjobInstiDstcd]').val() == "" ) {
alert("대외기관코드를 선택하여 주십시요.");
return false;
} else if( $('input[name=bjobTranDstcdName]').val() == "" ) {
alert("BATCH작업메시지구분코드를 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobMsgDsticName]').val() == "" ) {
alert("BATCH작업메시지구분명을 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobTelgmHdrSize]').val() == "" ) {
alert("BATCH작업전문헤더크기를 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobTelgmRecSize]').val() == "" ) {
alert("BATCH작업전문데이터크기를 입력하여 주십시요.");
return false;
} else if( $('input[name=uapplCd]').val() == "" ) {
alert("APPLICATION CODE를 선택하여 주십시요.");
return false;
}
return true;
}
function gridRendering() {
$('#grid').jqGrid({
datatype: "local",
loadonce: true,
rowNum: 10000,
editurl: "clientArray",
colNames: ['프라퍼티명',
'프라퍼티설명',
'프라퍼티값'
],
colModel: [
{ name : 'PRPTYNAME' , align:'left' },
{ name : 'PRPTYDESC' , align:'left' },
{ name : 'PRPTY2VAL' , align:'left', editable : true }
],
jsonReader: {
repeatitems: false
},
loadComplete: function () {
},
onSelectRow: function(rowid,status) {
if ( lastsel2 !=undefined ) {
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol: function(){
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','title','1000');
}
function init(url,key) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
// new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering(); // 업무구분코드
// new makeOptions("CODE","NAME").setObj($("select[name=bjobInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.bjobInstiDstcd).rendering(); // 대외기관코드
//new makeOptions("BIZCODE","BIZNAME").setObj($("select[name=EAIBZWKDSTCD]")).setFormat(codeName3OptionFormat).setData(json.bizRows).rendering(); // 업무구분코드
new makeOptions("CODE","NAME").setObj($("select[name=bJobCycleGb]")).setData(json.bJobCycleGb).rendering(); // BATCH작업주기구분(BAP_CYCLE_GB)
// new makeOptions("CODE","NAME").setObj($("select[name=groupCoCd]")).setData(json.groupCoCd).rendering();
// new makeOptions("CODE","NAME").setObj($("select[name=sysCd]")).setNoValueInclude(true).setNoValue('','없음').setData(json.sysCd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=uapplCd]")).setData(json.uapplCd).rendering(); // 어플리케이션코드
if ( isDetail ) {
detail(url, key);
} else {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_PROP',
bjobBzwkDstcd : $("select[name=bjobBzwkDstcd]").val(),
bjobMsgDstcd : $("input[name=bjobMsgDstcd]").val()
},
success: function(json) {
$("#grid")[0].addJSONData(json.propMap);
$("select[name=bjobInstiDstcd] option").remove();
new makeOptions("CODE","NAME").setObj($("select[name=bjobInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.InstMap.rows).rendering(); // 대외기관코드
$("input[name=prptyGroupName]").val("TelegramInfo{" + detail["BJOBMSGDSTCD"] + "}");
// $("input[name=thisMsgChrgIDs]").val(' ');
// $("input[name=intfID]").val(' ');
$("input[name=msgPrcssPrity]").val('999');
$("input[name=dupCnt]").val('0');
$("input[name=endCnt]").val('0');
},
error: function(e) {
alert(e.responseText);
}
});
}
},
error: function(e) {
alert(e.responseText);
}
});
setSearchable(selectName); // 콤보에 searchable 설정
}
function detail(url,key) {
if ( !isDetail ) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL',
bjobMsgDstcd : key
},
success: function(json) {
var data = json;
var detail = json.detail;
//adapterType
$("input[name=bjobMsgDstcd]").attr('readonly',true);
$("select[name=bjobBzwkDstcd]").attr('disabled',false);
$("input[name=bjobTranDstcdName]").attr('readonly',false);
$("input,select").each(function() {
try {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
} catch (e) {}
});
// 파일 송수신 구분
$("select[name=fileSndRcvGbn]").val(detail["FILESENDUSEYN"] == 1 ? "S" : "R");
// 대외기관코드 change 및 값 설정
$("select[name=bjobInstiDstcd]").attr('disabled',false);
$("input[name=bjobInstiDstVal]").val(detail["BJOBINSTIDSTCD"]); // 임시로 저장
$("select[name=bjobBzwkDstcd]").val($("select[name=bjobBzwkDstcd]").val()).trigger("change");
if ( $("input[name=dupCnt]").val().trim() == "" ) $("input[name=dupCnt]").val('0');
if ( $("input[name=endCnt]").val().trim() == "" ) $("input[name=endCnt]").val('0');
//Prop
$("#grid")[0].addJSONData(data.rows);
},
error: function(e) {
alert(e.responseText);
}
});
}
var submitData = {};
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/work/messageProcMan.json" />';
var key ="${param.bjobMsgDstcd}";
$("input[name*=Size]").inputmask('decimal',{groupSeparator:',',digits:0,autoGroup:true,prefix:'',rightAlign:false,autoUnmask:true,removeMaskOnSubmit:true});
if ( key != "" && key !="null" ){
isDetail = true;
}
gridRendering();
init(url,key);
$("#btn_modify").click(function(){
if (!isValid()) return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i <data.length; i++ ) {
gridData.push(data[i]);
}
// 파일 송/수신구분 설정
$("input[name=fileSendUseYn]").val($("select[name=fileSndRcvGbn]").val() == 'S' ? '1' : '0');
$("input[name=fileRecvUseYn]").val($("select[name=fileSndRcvGbn]").val() == 'R' ? '1' : '0');
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value: JSON.stringify(gridData)});
postData.push({ name: "bjobBzwkDstcd" , value: $("select[name=bjobBzwkDstcd]").val()});
postData.push({ name: "prptyGroupName" , value: "TelegramInfo{" + $("input[name=bjobMsgDstcd]").val() + "}"});
postData.push({ name: "prptyGroupDesc" , value: $("select[name=bjobBzwkDstcd]").val()+"배치 작업의 [" +$("input[name=bjobTranDstcdName]").val() + "]메시지의 송수신 전문용 프로퍼티 정의"});
if ( isDetail ) {
postData.push( { name: "cmd" , value:"UPDATE"} );
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
if ( isPopup == 'Y' ) {
window.close();
} else {
goNav(returnUrl);//LIST로 이동
}
},
error: function(e) {
alert(e.responseText);
}
});
} else {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'INITIALIZE_PK',
tableName: 'TSEAIBJ01',
columnName: "BjobMsgDstcd",
columnValue: $('input[name=bjobMsgDstcd]').val()
},
success:function(json) {
if( json.checkPK == 'Y' ) {
alert("이미 사용중인 인터페이스ID 입니다.\n\n다른 인터페이스ID를 입력하여 주십시요.");
return false;
} else {
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
}
}
});
postData.push( { name: "cmd" , value:"INSERT"} );
}
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("select[name=bjobBzwkDstcd]").change(function() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_PROP',
bjobBzwkDstcd : $(this).val(),
bjobMsgDstcd : $('input[name=bjobMsgDstcd]').val()
},
success:function(json) {
$("#grid")[0].addJSONData(json.propMap);
$("select[name=bjobInstiDstcd] option").remove();
new makeOptions("CODE","NAME").setObj($("select[name=bjobInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.InstMap.rows).rendering(); // 대외기관코드
$("select[name=bjobInstiDstcd]").val($("input[name=bjobInstiDstVal]").val());
}
});
});
$("#btn_pop_detail").click(function() {
var popUrl = '<c:url value="/bap/admin/work/messageProcMan.view" />' + '?cmd=POPUP';
var args = new Object();
args['data'] = key;
args['ispop'] = true;
var result = showModal(popUrl, args, 700, 600, function(arg) {
var args = null;
if( arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
});
});
buttonControl(isDetail);
titleControl(isDetail);
$("#btn_close").click(function() {
window.close();
});
if ( isPopup == 'Y' ) {
$('#btn_delete').hide();
$('#btn_modify').show();
$('#btn_previous').hide();
$('#btn_close').show();
} else {
$('#btn_close').hide();
}
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" style="display:none;" />
</div>
<div class="title">송수신 파일</div>
<form id="ajaxForm">
<input type="hidden" name="sndrcvFileName" value=" "/>
<input type="hidden" name="sndScriptname" />
<table class="table_row" cellspacing="0">
<colgroup>
<col width="15%">
<col width="30%">
<col width="5%">
<col width="15%">
<col width="35%">
</colgroup>
<!-- 공통-->
<tr>
<th>인터페이스ID *</th>
<td colspan="2"><input type="text" name="bjobMsgDstcd" /></td>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th>업무구분코드</th>
<td colspan="2">
<div class="select-style">
<select name="bjobBzwkDstcd"></select>
</div>
</td>
<th>대외기관코드</th>
<td colspan="2">
<input type="hidden" name="bjobInstiDstVal" />
<div class="select-style">
<select name="bjobInstiDstcd"></select>
</div>
</td>
</tr>
<tr>
<th>BATCH작업메시지구분코드 *</th>
<td colspan="2"><input type="text" maxlength="40" name="bjobTranDstcdName" /></td>
<th>BATCH작업메시지구분명 *</th>
<td><input type="text" name="bjobMsgDsticName" /></td>
</tr>
<tr>
<th>BATCH작업전문헤더크기 *</th>
<td colspan="2"><input type="text" name="bjobTelgmHdrSize" /></td>
<th>BATCH작업전문데이터크기 *</th>
<td><input type="text" name="bjobTelgmRecSize" /></td>
</tr>
<tr>
<th>BATCH작업전문트레일러크기</th>
<td colspan="2"><input type="text" name="bjobTelgmTrailSize" /></td>
<th>BATCH작업주기구분</th>
<td><div class="select-style"><select name="bJobCycleGb"></select></div></td>
</tr>
<tr>
<input type="hidden" name="fileSendUseYn" />
<input type="hidden" name="fileRecvUseYn" />
<th>파일 송/수신 구분</th>
<td colspan="2">
<div class="select-style">
<select name="fileSndRcvGbn">
<option value="S">송신</option>
<option value="R">수신</option>
</select>
</div>
</td>
<th>수신시 알림여부</th>
<td colspan="2">
<div class="select-style">
<select name="recvNotiUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th>APPLICATION CODE *</th>
<td colspan="2"><div class="select-style"><select name="uapplCd"></select></div></td>
<!-- <th>파일명 패턴</th>
<td>
<div class="select-style">
<select name="sndrcvFileName">
<option value=" ">사용안함</option>
<option value="yyyy">YYYY</option>
<option value="yyyyMM">YYYYMM</option>
<option value="MMdd">MMDD</option>
<option value="yyyyMMdd">YYYYMMDD</option>
<option value="001">일련번호</option>
<option value="yyyy_001">YYYY_일련번호</option>
<option value="yyyyMM_001">YYYYMM_일련번호</option>
<option value="MMdd_001">MMDD_일련번호</option>
<option value="yyyyMMdd_001">YYYYMMDD_일련번호</option>
</select>
</div>
</td> -->
<th>EAI 인터페이스ID</th>
<td><input type="text" name="intfID" /></td>
</tr>
<tr>
<th>데이터검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select name="dataVrfyYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td><img id="btn_pop_detail" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
<th>작업처리 우선순위</th>
<td><input type="text" name="msgPrcssPrity" /></td>
</tr>
<tr>
<th>처리여부</th>
<td colspan="2">
<div class="select-style">
<select name="procYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<th>중복횟수</th>
<td><input type="text" name="dupCnt" /></td>
</tr>
<tr>
<th>종결여부</th>
<td colspan="2">
<div class="select-style">
<select name="endYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<th>종결횟수</th>
<td><input type="text" name="endCnt" /></td>
</tr>
<tr>
<th>파일담당자</th>
<td colspan="4"><input type="text" name="thisMsgChrgIDs" /></td>
</tr>
<!-- <tr>
<th>송신스크립트명</th>
<td colspan="4"><input type="text" name="sndScriptname" /></td>
</tr> -->
</table>
</form>
<div class="table_row_title">프라퍼티 정보</div>
<!-- grid -->
<table id="grid" ></table>
</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"%>
<%
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"/>
<script language="javascript">
var popData = window.dialogArguments['data'];
var isPopup = window.dialogArguments['ispop'];
function isValid() {
// 헤더검증 체크
if($('#hdrVeriYn').val() == "1") {
if($('#hdrVeriOffset').val().trim() == "") {
$('#hdrVeriOffset').focus();
alert("헤더검증 시작위치를 입력하여 주십시요.");
return false;
} else if($('#hdrVeriLen').val().trim() == "") {
$('#hdrVeriLen').focus();
alert("헤더검증 길이를 입력하여 주십시요.");
return false;
} else if($('#hdrVeriVal').val().trim() == "") {
$('#hdrVeriVal').focus();
alert("헤더검증 검증값을 입력하여 주십시요.");
return false;
}
}
// 데이터검증 체크
const dataVeriCnt = $("select[name=dataVeriCnt]").val();
if($('#dataVeriYn').val() == "1") {
if($('#dataVeriOffset').val().trim() == "") {
$('#dataVeriOffset').focus();
alert("데이터검증 시작위치를 입력하여 주십시요.");
return false;
} else if($('#dataVeriLen').val().trim() == "") {
$('#dataVeriLen').focus();
alert("데이터검증 길이를 입력하여 주십시요.");
return false;
} else if(dataVeriCnt == 0) {
$('#dataVeriCnt').focus();
alert("데이터검증 갯수를 선택하십시요.");
return false;
} else if(dataVeriCnt > 0) {
for(let i = 1; i <= dataVeriCnt; i++) {
if($("#dataVeriVal" + i).val().trim() == "") {
$("#dataVeriVal" + i).focus();
alert("데이터검증을 위한 검증값 [ " + i + " ] 를 입력하여 주십시요.");
return false;
}
}
}
}
// 트레일러검증 체크
if($('#trailVeriYn').val() == "1") {
if($('#trailVeriOffset').val().trim() == "") {
$("#trailVeriOffset").focus();
alert("트레일러검증 시작위치를 입력하여 주십시요.");
return false;
} else if($('#trailVeriLen').val().trim() == "") {
$("#trailVeriLen").focus();
alert("트레일러검증 길이를 입력하여 주십시요.");
return false;
} else if($('#trailVeriVal').val().trim() == "") {
$("#trailVeriVal").focus();
alert("트레일러검증 검증값을 입력하여 주십시요.");
return false;
}
}
/* $('#thisMsgUseYn').val($('#thisMsgUseCheck').is(":checked") ? '1' : '0');
$('#hdrVeriYn').val($('#hdrVeriCheck').is(":checked") ? '1' : '0');
$('#dataVeriYn').val($('#dataVeriCheck').is(":checked") ? '1' : '0');
$('#trailVeriYn').val($('#trailVeriCheck').is(":checked") ? '1' : '0');
*/
if (dataVeriCnt > 0) {
let dataVeriVal = '';
for(let i = 1; i <= dataVeriCnt; i++) {
dataVeriVal += $("#dataVeriVal" + i).val() + ',';
}
$('#dataVeriVal').val(dataVeriVal.substring(0, dataVeriVal.length-1));
} else {
$('#dataVeriVal').val('');
}
// default 값 셋팅
if ($('#hdrVeriOffset').val().trim() == "") $('#hdrVeriOffset').val("0");
if ($('#dataVeriOffset').val().trim() == "") $('#dataVeriOffset').val("0");
if ($('#trailVeriOffset').val().trim() == "") $('#trailVeriOffset').val("0");
if ($('#hdrVeriLen').val().trim() == "") $('#hdrVeriLen').val("0");
if ($('#dataVeriLen').val().trim() == "") $('#dataVeriLen').val("0");
if ($('#trailVeriLen').val().trim() == "") $('#trailVeriLen').val("0");
if ($('#hdrVeriVal').val().trim() == "") $('#hdrVeriVal').val(" ");
if ($('#dataVeriVal').val().trim() == "") $('#dataVeriVal').val(" ");
if ($('#trailVeriVal').val().trim() == "") $('#trailVeriVal').val(" ");
return true;
}
function init(url, key) {
$("input[name=bjobMsgDstcd]").val(key);
$.ajax({
type: "POST",
url: url,
dataType: "json",
data:{cmd: 'DETAIL_VERIFY_INFO',
bjobMsgDstcd: key},
success: function(json){
const detail = json.detail;
$("input[name=bjobMsgDstcd]").attr('readonly', true);
$("input[name=bjobBzwkDstcd]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
if ( name != null ) $(this).val(detail[name]);
});
/* // 사용여부 체크
$('#thisMsgUseCheck').attr('checked', $('#thisMsgUseYn').val() == 1);
// 검증여부 체크
$('#hdrVeriCheck').attr('checked', $('#hdrVeriYn').val() == 1);
$('#dataVeriCheck').attr('checked', $('#dataVeriYn').val() == 1);
$('#trailVeriCheck').attr('checked', $('#trailVeriYn').val() == 1);
*/
// 검증갯수셋팅
let dataVeriCnt = ($("#dataVeriVal").val().match(/,/g) || []).length;
if($("input[name=dataVeriVal]").val() != '') {
dataVeriCnt += 1;
const arrDataVeriVal = $("input[name=dataVeriVal]").val().split(',');
arrDataVeriVal.forEach((veriVal, idx) => {
$("#dataVeriVal" + (idx+1)).val(veriVal);
});
}
clearInputbox(dataVeriCnt);
// default 값 셋팅
if ($('#hdrVeriOffset').val().trim() == "") $('#hdrVeriOffset').val("0");
if ($('#dataVeriOffset').val().trim() == "") $('#dataVeriOffset').val("0");
if ($('#trailVeriOffset').val().trim() == "") $('#trailVeriOffset').val("0");
if ($('#hdrVeriLen').val().trim() == "") $('#hdrVeriLen').val("0");
if ($('#dataVeriLen').val().trim() == "") $('#dataVeriLen').val("0");
if ($('#trailVeriLen').val().trim() == "") $('#trailVeriLen').val("0");
$("input[name=hdrVeriCnt]").val('1').attr('readonly', true); // 헤더검증
$("select[name=dataVeriCnt]").val(dataVeriCnt); // 데이터 검증
$("input[name=trailVeriCnt]").val('1').attr('readonly', true); // 트레일러 검증
},
error: function(e){
alert(e.responseText);
}
});
}
function clearInputbox(cnt) {
const num = parseInt(cnt);
for(let i = 1; i <= 60; i++) {
$("#dataVeriVal" + i).attr('readonly', true);
}
for(let j = 0; j <= num; j++) {
$("#dataVeriVal" + j).attr('readonly', false);
}
for(let k = (num + 1); k <= 60; k++) {
$("#dataVeriVal" + k).val('');
}
}
$(document).ready(function() {
var url ='<c:url value="/bap/admin/work/messageProcMan.json" />';
var key = popData;
init(url, key);
$("select[name=dataVeriCnt]").change(function() {
clearInputbox($(this).val());
});
$("#btn_close").click(function() {
window.close();
});
$("#btn_modify").click(function() {
if(!isValid()) return true;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd", value:"UPDATE_VERIFY_INFO"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
window.close();
},
error:function(e) {
alert(e.responseText);
}
});
});
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">데이터 검증정보 관리</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:17%">인터페이스ID</th>
<td style="width:25%"><input type="text" id="bjobMsgDstcd" name="bjobMsgDstcd"></td>
<th style="width:17%">대외기관코드</th>
<td style="width:25%"><input type="text" id="bjobBzwkDstcd" name="bjobBzwkDstcd"></td>
<td style="width:16%">
<!-- <input type="hidden" id="thisMsgUseYn" name="thisMsgUseYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:4px;"><input type="checkbox" id="thisMsgUseCheck" name="thisMsgUseCheck" style="cursor:pointer;margin-right:5px;margin-bottom:3px;" />사용</label> -->
<div class="select-style">
<select id="thisMsgUseYn" name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
</table>
<fieldset style="border: 1px solid #c5c5c5; padding: 10px; margin-top:20px;">
<legend>헤더검증</legend>
<!-- <input type="hidden" id="hdrVeriYn" name="hdrVeriYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:5px;"><input type="checkbox" id="hdrVeriCheck" name="hdrVeriCheck" style="cursor:pointer;margin-right:5px;margin-bottom:5px;" />검증</label> -->
<table class="table_row" cellspacing="0">
<colgroup>
<col width="14%">
<col width="20%">
<col width="13%">
<col width="20%">
<col width="13%">
<col width="20%">
</colgroup>
<tr>
<th>검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select id="hdrVeriYn" name="hdrVeriYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td colspan="4" />
</tr>
<tr>
<th>시작위치</th>
<td><input type="text" maxlength="3" id="hdrVeriOffset" name="hdrVeriOffset" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>길이</th>
<td><input type="text" maxlength="3" id="hdrVeriLen" name="hdrVeriLen" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>검증갯수</th>
<td><input type="text" maxlength="1" id="hdrVeriCnt" name="hdrVeriCnt" value="1" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
</tr>
<tr>
<th>검증값</th>
<td colspan="5"><input type="text" maxlength="10" id="hdrVeriVal" name="hdrVeriVal" style="width:150px;" /></td>
</tr>
</table>
</fieldset>
<fieldset style="border: 1px solid #c5c5c5; padding: 10px; margin-top:20px;">
<legend>데이터 검증</legend>
<!-- <input type="hidden" id="dataVeriYn" name="dataVeriYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:5px;"><input type="checkbox" id="dataVeriCheck" name="dataVeriCheck" style="cursor:pointer;margin-right:5px;margin-bottom:5px;" />검증</label> -->
<table class="table_row" cellspacing="0">
<colgroup>
<col width="14%">
<col width="20%">
<col width="13%">
<col width="20%">
<col width="13%">
<col width="20%">
</colgroup>
<tr>
<th>검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select id="dataVeriYn" name="dataVeriYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td colspan="4" />
</tr>
<tr>
<th>시작위치</th>
<td><input type="text" maxlength="3" id="dataVeriOffset" name="dataVeriOffset" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>길이</th>
<td><input type="text" maxlength="3" id="dataVeriLen" name="dataVeriLen" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>검증갯수</th>
<td><div class="select-style">
<select id="dataVeriCnt" name="dataVeriCnt" style="text-align:center;">
<c:forEach var="i" begin="0" end="60">
<option value="${i}">${i}</option>
</c:forEach>
</select>
</div>
</td>
</tr>
<tr>
<th>검증값</th>
<td colspan="5">
<input type="hidden" id="dataVeriVal" name="dataVeriVal" />
<div style="margin-top:3px;"></div>
<c:forEach var="i" begin="1" end="60">
<c:if test="${i != 1 and i % 10 == 1}">
<br><div style="margin-top:3px;"></div>
</c:if>
<input type="text" maxlength="1" id="dataVeriVal${i}" name="dataVeriVal${i}" style="width:40px;margin-right:4.6px;text-align:center;" />
</c:forEach>
<div style="margin-top:3px;"></div>
</td>
</tr>
</table>
</fieldset>
<fieldset style="border: 1px solid #c5c5c5; padding: 10px; margin-top:20px;">
<legend>트레일러 검증</legend>
<!-- <input type="hidden" id="trailVeriYn" name="trailVeriYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:5px;"><input type="checkbox" id="trailVeriCheck" name="trailVeriCheck" style="cursor:pointer;margin-right:5px;margin-bottom:5px;" />검증</label> -->
<table class="table_row" cellspacing="0">
<colgroup>
<col width="14%">
<col width="20%">
<col width="13%">
<col width="20%">
<col width="13%">
<col width="20%">
</colgroup>
<tr>
<th>검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select id="trailVeriYn" name="trailVeriYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td colspan="4" />
</tr>
<tr>
<th>시작위치</th>
<td><input type="text" maxlength="3" id="trailVeriOffset" name="trailVeriOffset" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>길이</th>
<td><input type="text" maxlength="3" id="trailVeriLen"name="trailVeriLen" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>검증갯수</th>
<td><input type="text" maxlength="1" id="trailVeriCnt" name="trailVeriCnt" value="1" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
</tr>
<tr>
<th>검증값</th>
<td colspan="5"><input type="text" maxlength="10" id="trailVeriVal" name="trailVeriVal" style="width:150px;" /></td>
</tr>
</table>
</fieldset>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,364 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function list(){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/systemIDMan.json" />',
postData : gridPostData,
colNames:[
'시스템ID',
'시스템명',
'업무구분코드',
'업무구분명',
'대외기관코드',
'대외기관명',
'NDM노드명'
],
colModel:[
{ name : 'SYSTEMID' , align:'left' ,sortable:false},
{ name : 'SYSTEMNAME' , align:'left' },
{ name : 'BJOBBZWKDSTCD' , align:'left' },
{ name : 'BJOBBZWKNAME' , align:'left' },
{ name : 'OSIDINSTIDSTCD' , align:'left' },
{ name : 'OSIDINSTINAME' , align:'left' },
{ name : 'RMTNODENAME' , align:'center'}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var systemId = rowData['SYSTEMID'].trim();
var url = '<c:url value="/bap/admin/work/systemIDMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&menuId='+'${param.menuId}';
url = url + '&returnUrl='+getReturnUrl();
url = url + '&systemId='+systemId;
url = url + '&'+getSearchUrl();
//검색값
goNav(url);
}
});
}
$(document).ready(function() {
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/admin/work/systemIDMan.json" />';
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/work/systemIDMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var systemIDList = [];
for (var i = 0; i <data.length; i++) {
systemIDList.push(data[i]["SYSTEMID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "systemIDList",
value : systemIDList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_download_sql").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var systemIDList = [];
for (var i = 0; i <data.length; i++) {
systemIDList.push(data[i]["SYSTEMID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_SYSTEMID_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "systemIDList",
value : systemIDList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert(data.length+"건의 시스템ID 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var systemIDList = [];
for (var i = 0; i <data.length; i++) {
systemIDList.push(data[i]["SYSTEMID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "systemIDList",
value : systemIDList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("시스템ID "+data.length+"건이 정상 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 시스템ID가 이미 존재하여 정상 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
list();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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="title">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">시스템 ID관리<span class="tooltip">일괄 전송에서 사용하는 시스템 ID를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">시스템ID</th>
<td><input type="text" name="searchSystemId" value="${param.searchSystemId}"></td>
<th style="width:180px;">업무구분명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></td>
<th style="width:180px;">대외기관명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
</tr>
<tr>
<th style="width:180px;">업무구분코드</th>
<td><input type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}"></td>
<th style="width:180px;">NDM노드명</th>
<td><input type="text" name="searchRmtNodeName" value="${param.searchRmtNodeName}"></td>
<th style="width:180px;">시스템명</th>
<td><input type="text" name="searchSystemName" value="${param.searchSystemName}"></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,242 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var url ='<c:url value="/bap/admin/work/systemIDMan.json" />';
var url_view ='<c:url value="/bap/admin/work/systemIDMan.view" />';
var isDetail = false;
var selectName = "bJobBzwkDstcd"; // selectBox Name
function init(key,callback){
$.ajax({
type : "POST",
url: '<c:url value="/bap/admin/work/systemIDMan.json" />',
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=bJobBzwkDstcd]")).setNoValueInclude(true).setNoValue("", "").setFormat(codeName3OptionFormat).setData(json.bjobBzwkDstcdRows).rendering();
setSearchable(selectName);
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{ cmd: 'DETAIL',
systemId : key
},
success:function(json){
var data = json;
$("input[name=systemId]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name');
if (name != null)
$(this).val(data[name.toUpperCase()]);
});
var bJobBzwkDstcdVal = $("select[name=bJobBzwkDstcd]").val();
if(bJobBzwkDstcdVal!=""){
getOgranFile(bJobBzwkDstcdVal);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function isValid() {
var systemId = $('input[name=systemId]').val();
if (systemId == "") {
alert("시스템ID를 입력해 주세요");
$('input[name=systemId]').focus();
return false;
} else if (systemId.length > 9) {
alert("시스템ID는 8자 이내로 입력해 주세요");
$('input[name=systemId]').focus();
return false;
}
return true;
}
function getOgranFile(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_FILTER_COMBO' , bJobBzwkDstcd : key },
success:function(json){
$("select[name=osidInstiDstcd]").empty();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.osidInstiRows).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.systemId}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, detail);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
// 공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "systemId" , value:$("input[name=systemId]").val()});
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("select[name=bJobBzwkDstcd]").change(function(){
var key = $(this).val();
if(!key){
$("select[name=osidInstiDstcd]").empty();
return;
}
getOgranFile(key);
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">시스템 ID 관리</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">시스템ID</th>
<td><input type="text" name="systemId" /> </td>
</tr>
<tr>
<th style="width:180px;">시스템명</th>
<td><input type="text" name="systemName" /> </td>
</tr>
<tr>
<th style="width:180px;">업무구분코드</th>
<td>
<div class="select-style">
<select name="bJobBzwkDstcd"></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">대외기관구분코드</th>
<td>
<div class="select-style">
<select name="osidInstiDstcd"></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">NDM노드명</th>
<td><input type="text" name="rmtNodeName" /> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,308 @@
<%@ 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"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function fileupload(e,successcallback,errorcallback) {
var formObj = $(this);
var formURL = formObj.attr("action");
if( window.FormData !== undefined ) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function(json, textStatus, jqXHR) {
$("input[name=file]").val("");
if( textStatus == 'success' ) {
alert('정상처리 되었습니다.');
$("#btn_search").click();
} else {
alert('업로드중 에러가 발생하였습니다.');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("input[name=file]").val("");
if( typeof callback === 'function' ) {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if ( e.unbind ) e.unbind();
} else { //for olden browsers
formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target', iframeId);
formObj.attr('action', '<c:url value="/loader.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e) {
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if( typeof callback === 'function' ) {
//successcallback(data);
}
});
}
}
function list(url) {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/systemInstMan.json" />',
postData: gridPostData,
colNames: [ '대외기관명',
'대외기관코드',
'업무구분명',
'업무구분코드',
'송신처리규칙코드',
'수신처리규칙코드',
'파일송신유형',
'파일수신유형',
'사용여부'
],
colModel: [
{ name: 'OSIDINSTINAME' , align: 'left' ,sortable:false },
{ name: 'OSIDINSTIDSTCD' , align: 'center'},
{ name: 'BJOBBZWKNAME' , align: 'left' },
{ name: 'BJOBBZWKDSTCD' , align: 'center'},
{ name: 'SENDPRCSSRULECD' , align: 'center'},
{ name: 'RECVPRCSSRULECD' , align: 'center'},
{ name: 'EAIFILESENDPTRNDSTCD' , align: 'center' ,
formatter: function (cellvalue) {
if( cellvalue == 'R' ) {
return '요구';
} else {
return '응답';
}
}
},
{ name: 'EAIFILERECVPTRNDSTCD' , align: 'center' ,
formatter: function (cellvalue) {
if( cellvalue == 'R' ) {
return '요구';
} else {
return '응답';
}
}
},
{ name: 'THISMSGUSEYN' , align: 'center' ,
formatter: function (cellvalue) {
if( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'].trim();
var osidInstiDstcd = rowData['OSIDINSTIDSTCD'].trim();
var url = '<c:url value="/bap/admin/work/systemInstMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&menuId=' + '${param.menuId}';
url += '&returnUrl=' + getReturnUrl();
url += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
url += '&osidInstiDstcd=' + osidInstiDstcd;
url += '&' + getSearchUrl();
//검색값
goNav(url);
}
});
}
$(document).ready(function() {
resizeJqGridWidth('grid', 'title', '1000');
var url ='<c:url value="/bap/admin/work/systemInstMan.json" />';
list(url);
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/work/systemInstMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key) {
if( key.keyCode == 13 ) {
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "배치 세부 기관 관리", merge);
return false;
});
$("#btn_download").click(function() {
let selectedVal = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
selectedVal += "," + $("#grid").getRowData(rowId).BJOBBZWKDSTCD + '_' + $("#grid").getRowData(rowId).OSIDINSTIDSTCD;
});
if( selectedVal != "" ) selectedVal = selectedVal.substring(1);
var url ='<c:url value="/loader.do" />';
url += '?cmd=systemInstMan';
url += '&control=download';
url += '&serviceType=' + sessionStorage["serviceType"];
url += '&fileName=systemInstMan';
url += '&selectedVal=' + selectedVal;
url += '&' + getSearchUrl();
goNav(url);
});
$("#multiform").on('submit', fileupload);
$('#btn_upload').click(function() {
if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
if( window.FormData !== undefined ) {
$("input[name=file]").click();
} else {
if( $("input[name=file]").val() == "" ) return;
$("#multiform").submit();
}
});
if( window.FormData !== undefined ) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if( !filename.startsWith('systemInstMan') ) {
alert("배치 세부기관 관리 JSON 파일을 선택하십시오.\n\n[파일명 : systemInstMan.json]")
return false;
}
if( filename == "" ) return;
else $("#multiform").submit();
});
}
if( window.FormData !== undefined ) {
$("input[name=file]").hide();
} else {
$("input[name=file]").show();
}
buttonControl();
$("input[name=searchOsidInstiName]").val()
});
</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="title">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
<div class="search_wrap">
<input type="file" id="file" name="file" style="display:inline-block"/>
<input type="hidden" name="cmd" value="systemInstMan"/>
<input type="hidden" name="control" value="upload"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
</form>
<div class="title">배치 세부 기관 관리<span class="tooltip">일괄 전송에서 사용하는 배치 세부 기관 코드를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">배치 세부 기관 명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
<th style="width:180px;">배치 세부 기관 코드</th>
<td><input type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}"></td>
<th style="width:180px;">배치 기관명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></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,663 @@
<%@ 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"/>
<script language="javascript">
var url ='<c:url value="/bap/admin/work/systemInstMan.json" />';
var selectName = "adptrBzwkGroupName,bjobBzwkDstcd,sendPrcssRuleCd,recvPrcssRuleCd"; // selectBox Name
var isDetail = false;
var lastsel2;
var flag1 = false;
var flag2 = false;
var flag3 = false;
var isPopup = "${param.ispop}";
function isValid() {
if( $('input[name=bjobBzwkDstcd]').val() == "" ) {
alert("업무그룹코드를 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobBzwkName]').val() == "" ) {
alert("업무그룹명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if( $('select[name=addPrptyTypDstcd]').val() == "" ) {
alert("프라퍼티구분코드를 선택하여 주십시요.");
return false;
} else if( $('input[name=addPrptyName]').val() == "" ) {
alert("프라퍼티명을 입력하여 주십시요.");
return false;
} else if( $('input[name=addPrptyDesc]').val() == "" ) {
alert("프라퍼티 설명을 입력하여 주십시요.");
return false;
}
//중복체크
var data = $("#grid").getRowData();
for( var i = 0; i < data.length; i++ ) {
if( data[i]['PRPTYTYPDSTCD'] == $('select[name=addPrptyTypDstcd]').val()
&& data[i]['PRPTYNAME'] == $('input[name=addPrptyName]').val() ) {
alert("증복된 프라퍼티명이 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function localSave() {
var key = $("input[name=sysLnkgDstcd]").val();
//객체 생성
var save = {};
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
var name = $(this).attr('name').toUpperCase();
save[name] = $(this).val();
});
submitData[key]=save;
}
function gridRendering() {
$('#grid').jqGrid({
datatype: "local",
loadonce: true,
rowNum: 10000,
editurl: "clientArray",
colNames: [ '프라퍼티명',
'프라퍼티설명',
'프라퍼티값'
],
colModel: [
{ name: 'PRPTYNAME', align: 'left' },
{ name: 'PRPTYDESC', align: 'left' },
{ name: 'PRPTY2VAL', align: 'left' , editable: true }
],
jsonReader: {
repeatitems:false
},
loadComplete: function() {
},
onSelectRow: function(rowid, status) {
if( lastsel2 != undefined ) {
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2, false, "clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol: function() {
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','title','1000');
}
function init(key1, key2) {
getBjobBzwkDstcd(key1, key2);
getBjobBzwkPrcssDstcd(key1, key2);
getAdaptorGroup(key1, key2);
setSearchable(selectName); // 콤보에 searchable 설정
}
function getBjobBzwkDstcd(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_BJOB_BZWK_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering();
flag1 = true;
if( isDetail ) {
if( flag1 && flag2 && flag3 ) {
detail(key1, key2);
}
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function getBjobBzwkPrcssDstcd(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_BJOB_BZWK_PRCSS_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=sendPrcssRuleCd]")).setData(json.bjobBzwkPrcssDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=recvPrcssRuleCd]")).setData(json.bjobBzwkPrcssDstcd).rendering();
flag2 = true;
if( isDetail ) {
if( flag1 && flag2 && flag3 ) {
detail(key1, key2);
}
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function getAdaptorGroup(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_ADPTR_BZWK_GROUP_NAME_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=adptrBzwkGroupName]")).setNoValueInclude(true).setNoValue(' ','없음').setData(json.adptrBzwkGroupName).rendering();
flag3 = true;
if( isDetail ) {
if( flag1 && flag2 && flag3 ) {
detail(key1, key2);
}
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(key1,key2) {
if( !isDetail ) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL',
bjobBzwkDstcd: key1,
osidInstiDstcd: key2
},
success: function(json) {
var data = json;
var detail = json.detail;
var sysConnList = json.sysConnList;
//adapterType
$("select[name=bjobBzwkDstcd]").attr('disabled', true);
$("input[name=osidInstiDstcd]").attr('readonly', true);
$("input,select").each(function() {
try {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
} catch (e) {}
});
$("input[name=prptyGroupName]").val("TelegramInfo{" + detail["BJOBBZWKDSTCD"] + "_" + detail["OSIDINSTIDSTCD"] + "}");
if( sysConnList.length > 0 ) {
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(sysConnList[0][name]);
});
//addoption
new makeOptions("SYSLNKGDSTCD","SYSLNKGDSTCD").setObj($("select[name=sysLnkgDstcdList]")).setData(sysConnList).rendering();
for( var i = 0; i < sysConnList.length; i++ ) {
submitData[sysConnList[i]["SYSLNKGDSTCD"]] = sysConnList[i];
}
$("select[name=rqstRspnsDstcd]").trigger("change");
}
//Prop
$("#grid")[0].addJSONData(data);
},
error: function(e) {
alert(e.responseText);
}
});
}
function setRqstRspnsDstcd() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_ADPTR_BZWK_NAME_COMBO',
adptrBzwkGroupName: $("select[name=adptrBzwkGroupName]").val(),
rqstRspnsDstcd: $("select[name=rqstRspnsDstcd]").val()
},
success: function(json) {
$("select[name=adptrBzwkName]").empty();
new makeOptions("ADPTRBZWKNAME","ADPTRDESC").setObj($("select[name=adptrBzwkName]")).setData(json.adptrBzwkNameList).rendering();
var sysLnkgList = submitData[$("select[name=sysLnkgDstcdList]").val()];
$("select[name=adptrBzwkName]").val(sysLnkgList["ADPTRBZWKNAME"]);
},
error: function(e) {
alert(e.responseText);
}
});
}
var submitData = {};
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key1 = "${param.bjobBzwkDstcd}";
var key2 = "${param.osidInstiDstcd}";
$("input[name=thisMsgRegiHMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':true});
$("input[name*=Size]").inputmask('decimal', {groupSeparator: ',', digits: 0, autoGroup: true, prefix: '', rightAlign: false, autoUnmask: true, removeMaskOnSubmit: true});
$("input[name*=Indx]").inputmask('decimal', {groupSeparator: ',', digits: 0, autoGroup: true, prefix: '', rightAlign: false, autoUnmask: true, removeMaskOnSubmit: true});
if( key1 != "" && key1 !="null" ) {
isDetail = true;
}
gridRendering();
init(key1,key2);
$("#btn_modify").click(function() {
if( !isValid() ) return;
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for( var i = 0; i < data.length; i++ ) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value:JSON.stringify(gridData) });
postData.push({ name: "sysConnList" , value:JSON.stringify(submitData) });
postData.push({ name: "bjobBzwkDstcd" , value:$("select[name=bjobBzwkDstcd]").val() });
postData.push({ name: "prptyGroupName", value:$("input[name=prptyGroupName]").val() });
postData.push({ name: "prptyGroupDesc", value:$("select[name=bjobBzwkDstcd]").val() + "배치 작업의 [" + $("input[name=osidInstiName]").val() + "]대외기관의 송수신 전문용 프로퍼티 정의" });
if( isDetail ) {
postData.push({ name: "cmd" , value: "UPDATE" });
} else {
postData.push({ name: "cmd" , value: "INSERT" });
}
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
if( isPopup == 'Y') {
window.close();
} else {
goNav(returnUrl);//LIST로 이동
}
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
// selectBox의 disable 해제
// vaildation을 추가 하게 되면 validation 후에 disable 해제 해야합니다.
$("select[name=bjobBzwkDstcd]").attr("disabled", false);
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value: "DELETE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("select[name=sysLnkgDstcdList]").change(function() {
if( !($(this).val() == null || $(this).val() == undefined || $(this).val() == "") ) {
var sysLnkgList = submitData[$(this).val()];
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(sysLnkgList[name]);
});
$("select[name=rqstRspnsDstcd]").trigger("change");
} else {
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
$(this).val("");
});
}
});
$("select[name=bjobBzwkDstcd]").change(function() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_PROP',
bjobBzwkDstcd: $(this).val()
},
success: function(json) {
$("#grid")[0].addJSONData(json);
}
});
$("input[name=prptyGroupName]").val("TelegramInfo{" + $("select[name=bjobBzwkDstcd]").val() + "_" + $("input[name=osidInstiDstcd]").val() + "}");
});
$("input[name=osidInstiDstcd]").keyup(function() {
$("input[name=prptyGroupName]").val("TelegramInfo{" + $("select[name=bjobBzwkDstcd]").val() + "_" + $("input[name=osidInstiDstcd]").val() + "}");
});
$("#btn_pop_new").click(function() {
var isDuplication = false;
var isEmpty = false;
$("select[name=sysLnkgDstcdList] option").each(function() {
if( $(this).val() == $("input[name=sysLnkgDstcd]").val() ) {
isDuplication = true;
}
});
if( isDuplication ) {
alert("중복된 시스템연결구분코드가 존재합니다.확인하여 주십시요.");
return;
}
if( $("input[name=sysLnkgDstcd]").val() == null
|| $("input[name=sysLnkgDstcd]").val() == undefined
|| $("input[name=sysLnkgDstcd]").val() == ""
|| $("input[name=sysLnkgDstcd]").val().trim() == "" ) {
isEmpty = true;
}
if( isEmpty ) {
alert(" 시스템연결구분코드를 입력하여 주십시요.");
return;
}
var key = $("input[name=sysLnkgDstcd]").val();
var str = new makeOptions("CODE","NAME").setData(key,key).getOption();
$("select[name=sysLnkgDstcdList]").append(str);
$("select[name=sysLnkgDstcdList]").val(key);
submitData[key] = "";
localSave();
});
$("#btn_pop_modify").click(function() {
var isDuplication = false;
$("select[name=sysLnkgDstcdList] option").each(function() {
if( $(this).val() == $("input[name=sysLnkgDstcd]").val() ) {
isDuplication = true;
}
});
if( !isDuplication ) {
alert("시스템연결구분코드가 존재 하지 않습니다.확인하여 주십시요.");
return;
}
localSave();
});
$("#btn_pop_delete").click(function() {
var isDuplication = false;
$("select[name=sysLnkgDstcdList] option").each(function() {
if( $(this).val() == $("input[name=sysLnkgDstcd]").val() ) {
isDuplication = true;
}
});
if( !isDuplication ) {
alert("삭제할 시스템연결구분코드가 존재 하지 않습니다.확인하여 주십시요.");
return;
}
//어댑터 목록 삭제
var key = $("input[name=sysLnkgDstcd]").val();
$("select[name=sysLnkgDstcdList] option[value='"+key+"']").remove();
delete submitData[key];
$("select[name=sysLnkgDstcdList]").trigger("change");
});
$("#btn_pop_initialize").click(function() {
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
$(this).val("");
});
});
function isValidIpPort(name) {
if( $("input[name="+name+"]").val() == null
|| $("input[name="+name+"]").val() == undefined
|| $("input[name="+name+"]").val().trim() == "" ) {
return false;
}
return true;
}
$("#btn_pop_connect").click(function() {
if( !isValidIpPort("lnkgIPInfoName") ) {
alert(" 연결 IP 정보를 입력하여 주십시요.");
return;
}
if( !isValidIpPort("lnkgPortInfoName") ) {
alert(" 연결 PORT 정보를 입력하여 주십시요.");
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'CHECK_CONNECTION',
ip: $("input[name=lnkgIPInfoName]").val(),
port: $("input[name=lnkgPortInfoName]").val()
},
success: function(json) {
alert(json.result);
},
error: function(e) {
alert(e.responseText);
}
});
});
$("select[name=rqstRspnsDstcd]").change(function() {
setRqstRspnsDstcd();
});
$("select[name=adptrBzwkGroupName]").change(function() {
$("input[name=adptrBzwkGroupName]").val($("select[name=adptrBzwkGroupName]").val());
setRqstRspnsDstcd();
});
buttonControl(isDetail);
titleControl(isDetail);
$("#btn_close").click(function() {
window.close();
});
if( isPopup == 'Y') {
$('#btn_delete').hide();
$('#btn_modify').show();
$('#btn_previous').hide();
$('#btn_close').show();
} else {
$('#btn_close').hide();
}
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL" />
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" style="display:none;" />
</div>
<div class="title">배치 세부 기관</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">배치 기관</th>
<td><div class="select-style"><select name="bjobBzwkDstcd"></select></div></td>
<th style="width:180px;">배치 세부 기관 코드</th>
<td><input type="text" name="osidInstiDstcd" maxlength="4" /></td>
</tr>
<tr>
<th>배치 세부 기관명</th><td><input type="text" maxlength="40" name="osidInstiName" /></td>
<th>전문블럭크기</th><td><input type="text" name="telgmBlckSize" /> </td>
</tr>
<tr>
<th>전문일련번호크기</th><td><input type="text" name="telgmSernoSize" /></td>
<th>전문패킷크기</th><td><input type="text" name="telgmPcketSize" /></td>
</tr>
<tr>
<th>거래시작인덱스</th><td><input type="text" name="tranStartIndx" /></td>
<th>거래종료인덱스</th><td><input type="text" name="tranEndIndx" /></td>
</tr>
<tr>
<th>송신구분코드</th>
<td><div class="select-style"><select name="sendPrcssRuleCd"></select></div></td>
<th>수신구분코드</td>
<td><div class="select-style"><select name="recvPrcssRuleCd"></select></div></td>
</tr>
<tr>
<th>파일송신유형</th>
<td>
<div class="select-style">
<select name="fileSendPtrnDstcd">
<option value="R">[R] 요구</option>
<option value="A">[A] 응답</option>
</select>
</div>
</td>
<th>파일수신유형</th>
<td>
<div class="select-style">
<select name="fileRecvPtrnDstcd">
<option value="R">[R] 요구</option>
<option value="A">[A] 응답</option>
</select>
</div>
</td>
</tr>
<tr>
<th>어댑터그룹</th>
<td><div class="select-style"><select name="adptrBzwkGroupName"></select></div></td>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">[1] 사용</option>
<option value="0">[0] 사용안함</option>
</select>
</div>
</td>
</tr>
</table>
</form>
<div class="table_row_title">대외기관 연결 정보</div>
<table id="sysLnkgList" class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">시스템연결구분코드 리스트</th>
<td colspan="3">
<div class="select-style" style="display:inline-block; width:calc(100% - 325px);">
<select name="sysLnkgDstcdList" ></select>
</div>
<img id="btn_pop_new" src="<c:url value="/img/btn_pop_new.png"/>" class="btn_img" />
<img id="btn_pop_modify" src="<c:url value="/img/btn_pop_modify.png"/>" class="btn_img" />
<img id="btn_pop_delete" src="<c:url value="/img/btn_pop_delete.png"/>" class="btn_img" />
<img id="btn_pop_initialize" src="<c:url value="/img/btn_pop_initialize.png"/>" class="btn_img" />
<%-- <img id="btn_pop_connect" src="<c:url value="/img/btn_pop_connect.png"/>" class="btn_img" /> --%>
</td>
</tr>
<tr>
<th style="width:180px;">시스템연결구분코드</th>
<td><input type="text" name="sysLnkgDstcd" /></td>
<th style="width:180px;">요구어댑터구분코드</th>
<td>
<div class="select-style">
<select name="rqstRspnsDstcd" >
<option value="R">[R] 필요시 연결</option>
<option value="A">[A] 어댑터 연결</option>
</select>
</div>
</td>
</tr>
<tr>
<th>연결 IP 정보</th><td><input type="text" name="lnkgIPInfoName" /></td>
<th>연결 PORT 정보</th><td><input type="text" name="lnkgPortInfoName" /></td>
</tr>
<tr>
<th>연결 ID 정보 1</th><td><input type="text" name="lnkgID" /></td>
<th>연결 ID 정보 2</th><td><input type="text" name="lnkgPwd" /></td>
</tr>
<tr>
<th>연결 회선 상태 코드</th>
<td>
<div class="select-style">
<select name="tCirtLnkgStusCd">
<option value="1">[1] 정상</option>
<option value="0">[0] 장애</option>
</select>
</div>
</td>
<th>어댑터그룹명</th><td><input type="text" name="adptrBzwkGroupName" /></td>
</tr>
<tr>
<th>어댑터업무명</th>
<td><div class="select-style"><select name="adptrBzwkName"></select></div></td>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">[1] 사용</option>
<option value="0">[0] 사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th>등록자ID</th><td><input type="text" name="thisMsgRegsntID" readonly="readonly" /></td>
<th>등록일시</th><td><input type="text" name="thisMsgRegiHMS" readonly="readonly" /></td>
</tr>
</table>
<div class="table_row_title">프라퍼티 정보</div>
<table id="prptyGroupNameTitle" class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프로퍼티 그룹명</th><td><input type="text" name="prptyGroupName" readonly="readonly" /></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,173 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/common/telePropertyMan.json" />';
var url_view = '<c:url value="/bap/admin/common/telePropertyMan.view" />';
var index;
function init() {
if ('${param.callType}' != '') {
// $("input[name=searchPrptyGroupName]").val(window.dialogArguments["prptyGroupName"]);
$("#btn_close").show();
} else {
$("#btn_close").hide();
}
}
function detail(url, key) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
prptyGroupName : key
},
success : function(json) {
var data = json;
$("#grid_detail")[0].addJSONData(data);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/telePropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${param.rowNum}' != '' ? '${param.rowNum}' : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var prptyGroupName = rowData['PRPTYGROUPNAME'];
index = rowId;
detail(url, prptyGroupName);
}
});
resizeJqGridWidth('grid','title','1000');
$('#grid_detail').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값'],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true }],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function() {
return 'stop'; //정렬 방지
},
//height : '500',
autowidth : true,
autoheight : true,
height: $("#container").height(),
viewrecords : true
});
resizeJqGridWidth('grid_detail', 'title', '1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_input").click(function(){
var data = $("#grid").getRowData(index)['PRPTYGROUPNAME'];
window.returnValue = data;
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_close").click(function(){
window.close();
});
buttonControl();
init();
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_input.png"/>" alt="" id="btn_input" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">전문 프로퍼티 목록</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
<div class="title" style="margin-top:15px; text-align:left;">전문프로퍼티 상세</div>
<table id="grid_detail" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -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>
@@ -0,0 +1,224 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function init(callback,url){
$.ajax({
type : "POST",
url: '<c:url value="/bap/transaction/messageReqMan.json" />',
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchThisMsgUseYn]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.useYn).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(url);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function resend(bjobDmndMsgID, fileIdx) {
var fileNameId = "fileName_"+fileIdx;
var fileName = document.getElementById(fileNameId).value;
if ( confirm( "해당 건을 재 전송 하시겠습니까? :" + fileName ) != true ) return;
var postData = new Array();
postData.push({ name: "cmd" , value:"TRANSACTION_RESEND"});
postData.push({ name: "bjobDmndMsgID" , value:bjobDmndMsgID});
postData.push({ name: "sndRecvFileName" , value:fileName});
$.ajax({
type : "POST",
url:'<c:url value="/bap/transaction/messageReqMan.json" />',
data:postData,
success:function(args){
if ( args.result_resend != '' ) {
alert( args.result_resend );
}
$("#grid").trigger("reloadGrid");
},
error:function(e){
alert(e.responseText);
}
});
}
function formatter (cellvalue, options, rowObject){
}
function list(url){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/transaction/messageReqMan.json" />',
postData : gridPostData,
colNames:[
'메시지구분코드',
'인터페이스ID',
'대외일괄업무코드',
'대외일괄업무명',
'송수신파일명',
'송수신파일설명',
'재요청 파일명',
'재전송'
],
colModel:[
{ name : 'BJOBMSGDSTCD' , hidden:true },
{ name : 'INFID' , align:'left' },
{ name : 'OUTBIZCD' , align:'left' },
{ name : 'OSIDINSTINAME' , align:'left' ,sortable:false },
{ name : 'BJOBTRANDSTCDNAME' , align:'left' },
{ name : 'BJOBMSGDSTICNAME' , align:'left' },
{ name : 'SNDRCVFILENAME' , align:'center'},
{ name : 'RESEND' , align:'center'}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var ids = $(this).getDataIDs();
for(var i = 0 ; i< ids.length; i++) {
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBMSGDSTCD'];
var be = "<input style='height:20px;width:60px;' type='button' value='재전송' onclick=\"resend('"+bjobDmndMsgID+"','"+i+"');\" />";
var ed = "<input stype='height:45px;width:60px;' type='text' id='fileName_"+i+"'/>";
$(this).setRowData(ids[i],{SNDRCVFILENAME:ed});
$(this).setRowData(ids[i],{RESEND:be});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
}
$(document).ready(function() {
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchBjobBzwkName"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=likeBjobBzwkName]").val(sessionAttr);
}
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/transaction/messageReqMan.json" />';
init(list,url);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("input[name^=like]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">송수신 파일 관리<span class="tooltip">일괄 전송에서 사용하는 송수신 파일을 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">인터페이스ID</th>
<td><input type="text" name="likeInfId" value="${param.likeInfId}"></td>
<th style="width:180px;">대외일괄업무코드</th>
<td colspan="3"><input type="text" name="likeOutExtCd" value="${param.likeOutExtCd}"></td>
<th style="width:180px;">대외일괄업무명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
</tr>
<tr>
<th style="width:180px;">송수신파일명</th>
<td><input type="text" name="likeBjobTranDstcdName" value="${param.likeBjobTranDstcdName}"></td>
<th style="width:180px;">송수신파일설명</th>
<td colspan="3"><input type="text" name="likeBjobMsgDsticName" value="${param.likeBjobMsgDsticName}"></td>
<th style="width:180px;" hidden="hidden">어플리케이션코드</th>
<td hidden="hidden"><input type="text" name="likeUapplCd" value="${param.likeUapplCd}"></td>
<th style="width:180px;" hidden="hidden">담당자ID</th>
<td hidden="hidden"><input type="text" name="likeThisMsgChrgIDs" value="${param.likeThisMsgChrgIDs}"></td>
<th style="width:150px;">사용여부</th>
<td colspan="4"><div class="select-style"><select name="searchThisMsgUseYn" value="${param.searchThisMsgUseYn}"></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,267 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/transaction/procWorkMan.json" />';
var urlView = '<c:url value="/bap/transaction/procWorkMan.view" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function zeroToStr(str) {
if(str == 0)
return "";
else
return str;
}
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('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list()
{
// 송수신 시작 시간
var start1 = zeroToStr($("input[name=searchStartYYYYMMDD1]").val() + $("input[name=searchStartHHMM1]").val());
var end1 = zeroToStr($("input[name=searchEndYYYYMMDD1]").val() + $("input[name=searchEndHHMM1]").val());
// 송수신 종료시간
var start2 = zeroToStr($("input[name=searchStartYYYYMMDD2]").val() + $("input[name=searchStartHHMM2]").val());
var end2 = zeroToStr($("input[name=searchEndYYYYMMDD2]").val() + $("input[name=searchEndHHMM2]").val());
// 송수신 시작시간
$("input[name=searchStartTime1]").val(start1);
$("input[name=searchEndTime1]").val(end1);
// 송수신 종료시간
$("input[name=searchStartTime2]").val(start2);
$("input[name=searchEndTime2]").val(end2);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url, postData: postData ,page : "1" }).trigger("reloadGrid");
}
$(document).ready(function() {
// 송수신 시작, 종료시간 셋팅.
// $("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
// $("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").each(function() {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "yyyymmdd"){
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM1],input[name=searchStartHHMM2]").each(function() {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss"){
$(this).val('000000');
}
});
$("input[name=searchEndHHMM1],input[name=searchEndHHMM2]").each(function() {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss"){
$(this).val('235959');
}
});
// End 송수신 시작, 종료시간 셋팅.
// grid 생성.
// var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
// url: url,
// postData : gridPostData,
colNames:['UUID',
'SUBUUID',
'업무구분코드',
'업무구분명',
'대외기관 구분코드',
'대외기관명',
'송수신 파일 디렉토리명',
'송수신 파일명',
'작업메시지 일정ID',
'메시지처리 우선순위',
'송수신 시작시각',
'송수신 종료시각',
'작업요청 메시지<br>생성시각',
'수정일'
],
colModel:[
{ name : 'BJOBDMNDMSGID' , align:'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align:'left' , hidden:true },
{ name : 'BJOBBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BJOBBZWKDSTCDNAME' , align:'left' },
{ name : 'OSIDINSTIDSTCD' , align:'left' },
{ name : 'OSIDINSTIDSTCDNAME' , align:'left' },
{ name : 'SNDRCVFILEDIRNAME' , align:'left' , hidden:true },
{ name : 'SNDRCVFILENAME' , align:'left' , },
{ name : 'BJOBMSGSCHEID' , align:'left' , hidden:true },
{ name : 'MSGPRCSSPRITY' , align:'right' },
{ name : 'SNDRCVSTARTHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'SNDRCVENDHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'BJOBDMNDMSGCRETNHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'THISMSGAMNDHMS' , align:'center' , formatter: timeStampFormat , hidden:true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
gridview: 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)
}
$(".ui-jqgrid-labels").css("height", "20px"); // grid header 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("height", "auto"); // grid header cell 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("margin-bottom", "5px"); // grid header cell 외부여백
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobMsgScheID = rowData['BJOBMSGSCHEID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var url = urlView;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&bjobMsgScheID='+bjobMsgScheID;
url = url + '&bjobDmndSubMsgID='+bjobDmndSubMsgID;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
list();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "진행작업 관리", merge);
return false;
});
buttonControl();
init(list);
});
</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_excel.png"/>" id="btn_excel" level="R"/>
<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:180px;">업무구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div><!-- end.select-style -->
</td>
</tr>
<tr>
<th style="width:180px;">대외기관 구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">송수신파일명</th>
<td>
<input type="text" name="searchSndrcvFileName" value="${param.searchSndrcvFileName}">
</td>
</tr>
<tr>
<th style="width:180px;">송수신 시작 시각</th>
<td>
<input type="text" name="searchStartYYYYMMDD1" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM1" maxlength="8" value="" size="8" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD1" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchEndHHMM1" maxlength="8" value="" size="8" style="width:80px;">
<input type="hidden" name="searchStartTime1" value="20170201000000">
<input type="hidden" name="searchEndTime1" value="20170201235959">
</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,245 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/bap/transaction/procWorkMan.json" />';
var isDetail = false;
function init(key, key2, callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if (typeof callback === 'function') {
callback(key, key2);
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(key, key2) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd : 'DETAIL',
bjobMsgScheID : key,
bjobDmndSubMsgID : key2
},
success: function(json) {
var detail = json.detail;
$("input,select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
$("select[name=bjobBzwkDstcd] option").not(":selected").remove();
$("select[name=osidInstiDstcd] option").not(":selected").remove();
},
error : function(e) {
alert("detail error : " + e.responseText);
}
});
}
$(document).ready(function() {
//$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD],input[name=msgQueeTracTdmndYMD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS],input[name=msgQueeTracTdmndHMS]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD],input[name=msgQueeTracTdmndYMD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS],input[name=msgQueeTracTdmndHMS]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=msgPrcssPrity]").inputmask("9999",{'autoUnmask':true});
var returnUrl = getReturnUrlForReturn();
var key = "${param.bjobMsgScheID}";
var key2 = "${param.bjobDmndSubMsgID}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, key2, detail);
$("#btn_delete").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$(".focusOut").click(function(){
document.body.focus();
});
buttonControl(key);
// titleControl(key);
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW" />
</div>
<div class="title">진행작업 상세보기</div>
<form id="ajaxForm">
<input type="hidden" name="bjobDmndMsgID" />
<input type="hidden" name="bjobDmndSubMsgID" "/>
<table class="table_row" width="100%" cellspacing="0">
<tr>
<th style="width:180px;" class="focusIn">업무구분</th>
<td>
<div class="select-style" style="display:inline-block; width:calc(400px);">
<select name="bjobBzwkDstcd" value="${param.bjobBzwkDstcd}" style="width:100%; background-color:#e5e5e5" disabled></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">대외기관구분</th>
<td>
<div class="select-style" style="display:inline-block; width:calc(400px);">
<select name="osidInstiDstcd" value="${param.osidInstiDstcd}" style="width:100%; background-color:#e5e5e5" disabled></select>
</div>
</td>
</tr>
<tr>
<th>작업유형구분</th>
<td>
<input type="text" name="bjobPtrnDstcd" value="${param.bjobPtrnDstcd}" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>시스템연결구분코드</th>
<td>
<input type="text" name="sysLnkgDstcd" value="${param.sysLnkgDstcd}" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>전문재시도수</th>
<td>
<input type="text" name="telgmReTralCnt" value="${param.telgmReTralCnt}" readonly="readonly" class="focusOut" style="width:60px;">
</td>
</tr>
<tr>
<th>작업메시지 일정ID</th>
<td>
<input type="text" name="bjobMsgScheID" value="${param.bjobMsgScheID}" readonly="readonly" class="focusOut" style="width:245px;">
</td>
</tr>
<tr>
<th>송수신 시작시각</th>
<td>
<input type="text" name="sndrcvStartYMD" maxlength=10 value="${param.sndrcvStartYMD}" size="10" readonly="readonly" style="width:120px;">
<input type="text" name="sndrcvStartHMS" maxlength=9 value="${param.sndrcvStartHMS}" size="8" readonly="readonly" style="width:120px;">
<input type="hidden" name="sndrcvStart" >
</td>
</tr>
<tr>
<th>송수신 종료시각</th>
<td>
<input type="text" name="sndrcvEndYMD" maxlength=10 value="${param.sndrcvEndYMD}" size="10" readonly="readonly" style="width:120px;">
<input type="text" name="sndrcvEndHMS" maxlength=9 value="${param.sndrcvEndHMS}" size="8" readonly="readonly" style="width:120px;">
<input type="hidden" name="sndrcvEnd" >
</td>
</tr>
<tr>
<th>송수신 파일 디렉토리명</th>
<td>
<input type="text" name="sndrcvFileDirName" value="${param.sndrcvFileDirName}" readonly="readonly" class="focusOut" style="width:400px;">
</td>
</tr>
<tr>
<th>송수신 파일명</th>
<td>
<input type="text" name="sndrcvFileName" value="${param.sndrcvFileName}" readonly="readonly" class="focusOut" style="width:400px;">
</td>
</tr>
<tr>
<th>백업 송수신 파일명</th>
<td>
<input type="text" name="bkupSndrcvFileName" value="${param.bkupSndrcvFileName}" readonly="readonly" class="focusOut" style="width:400px;">
</td>
</tr>
<tr>
<th>메시지처리 우선순위</th>
<td>
<input type="text" name="msgPrcssPrity" maxlength=3 value="${param.msgPrcssPrity}" size="3" readonly="readonly" style="width:60px;">
</td>
</tr>
<tr>
<th>작업요청메시지 생성시각</th>
<td>
<input type="text" name="bjobDmndMsgCretnYMD" maxlength=10 value="${param.bjobDmndMsgCretnYMD}" size="10" readonly="readonly" class="focusOut" style="width:120px;">
<input type="text" name="bjobDmndMsgCretnHMS" maxlength=8 value="${param.bjobDmndMsgCretnHMS}" size="8" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>메시지큐추출요청시각</th>
<td>
<input type="text" name="msgQueeTracTdmndYMD" maxlength=10 value="${param.msgQueeTracTdmndYMD}" size="10" readonly="readonly" class="focusOut" style="width:120px;">
<input type="text" name="msgQueeTracTdmndHMS" maxlength=8 value="${param.msgQueeTracTdmndHMS}" size="8" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>메시지처리상태코드</th>
<td>
<input type="text" name="msgPrcssStuscd" value="${param.msgPrcssStuscd}" readonly="readonly" class="focusOut" style="width:60px;">
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,884 @@
<%@ 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"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
var selectName = "searchBjobBzwkDstcd,searchOsidInstiDstcd"; // selectBox Name
function statusFormat (cellvalue) {
if ( cellvalue == 'T' ) {
return '정상';
} else if ( cellvalue == 'Q' ) {
return '수행대기';
} else if ( cellvalue == 'V' ) {
return '검증완료';
} else if ( cellvalue == 'H' ) {
return '보류';
} else if ( cellvalue == 'J' ) {
return '종결';
} else if ( cellvalue == 'C' ) {
return '사용자중지';
} else if ( cellvalue == 'N' ) {
return '파일없음';
} else if ( cellvalue == 'S' ) {
return '<span style="color:blue">진행중</span>';
} else if ( cellvalue == 'E' ) {
return '<span style="color:red">비정상종료</span>';
}
return "";
}
function sendRecvFormat (cellvalue) {
if ( cellvalue == 'S' ) {
return '송신';
} else if ( cellvalue == 'R' ) {
return '수신';
}
return cellvalue;
}
function dateFormat(cellvalue) {
if ( cellvalue == null || cellvalue.length < 8 )
return '';
return cellvalue.substr(0 ,4) + '-' +
cellvalue.substr(4, 2) + '-' +
cellvalue.substr(6, 2) ;
}
function timeStampFormat2(cellvalue, options, rowObject) {
if ( cellvalue == null || cellvalue.length < 12 )
return '';
return cellvalue.substr(8,2) + ':' +
cellvalue.substr(10,2) + ':' +
cellvalue.substr(12,2) ;
}
function init(url, 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('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchGroupCoCd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.groupCoCd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
putSelectFromParam();
if (typeof callback === 'function') {
callback(url);
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(url) {
var activeTab = $("ul.tabs li.active").attr("rel");
var start = $("input[name=searchStartYYYYMMDD]").val().replace("-","")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace("-","")+$("input[name=searchEndHHMM]").val().replace(":","");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["activeTab"] = activeTab;
postData["searchBjobDmndMsgID"] = "";
postData["searchBbjobDmndSubMsgID"] = "";
postData["searchSndrcvFileName"] = "";
var searchGb = $("select[name=searchGb]").val();
var searchText = $("input[name=searchText]").val();
if ( searchGb == 'FILE' ) {
postData["searchSndrcvFileName"] = searchText;
} else if ( searchGb == 'IFID' ) {
postData["searchBjobMsgDstcd"] = searchText;
} else if ( searchGb == 'UUID' ) {
postData["searchBjobDmndMsgID"] = searchText;
} else if ( searchGb == 'SUBUUID' ) {
postData["searchBbjobDmndSubMsgID"] = searchText;
}
if ( activeTab == 'tabE' ) {
$("#gridE").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabF' ) {
$("#gridF").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabQ' ) {
$("#gridQ").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabS' ) {
$("#gridS").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabA' ) {
$("#gridA").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
setSearchable(selectName); // 콤보에 searchable 설정
// 이미지경로 때문에 작성함.
var arrSelectName = selectName.split(",");
for ( var i = 0; i < arrSelectName.length; i++ ) {
$("select[name=" + arrSelectName[i] +"]").css("background", "#fff url(../../img/icon_arrow_down.png) no-repeat 99% 50%");
}
}
function resend(bjobDmndMsgID, bjobDmndSubMsgID, fileTrsmtLogID, sndRecvFileName, bjobMsgDstcd) {
if ( confirm( "동일 전송건이 대기중인지 반드시 확인하시기 바랍니다.\r\n해당 건을 재 전송 하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value: "TRANSACTION_RESEND"});
postData.push({ name: "bjobDmndMsgID" , value: bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID" , value: bjobDmndSubMsgID});
postData.push({ name: "fileTrsmtLogID" , value: fileTrsmtLogID});
postData.push({ name: "sndRecvFileName" , value: sndRecvFileName});
postData.push({ name: "bjobMsgDstcd" , value: bjobMsgDstcd});
var resend_url = '<c:url value="/bap/transaction/transactionTraceMan.json" />';
$.ajax({
type: "POST",
url: resend_url,
data: postData,
success: function(args) {
$("#grid").trigger("reloadGrid");
alert( args.result );
},
error: function(e) {
alert(e.responseText);
}
});
}
function rerecv(bjobDmndMsgID, bjobDmndSubMsgID, rqstRecvFileStorgDirname, bkupSndrcvFilename) {
if ( confirm( "해당 건을 재 전송 하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value: "TRANSACTION_RERECV"});
postData.push({ name: "bjobDmndMsgID" , value: bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID" , value: bjobDmndSubMsgID});
postData.push({ name: "rqstRecvFileStorgDirname" , value: rqstRecvFileStorgDirname});
postData.push({ name: "bkupSndrcvFilename" , value: bkupSndrcvFilename});
var resend_url = '<c:url value="/bap/transaction/transactionTraceMan.json" />';
$.ajax({
type: "POST",
url: resend_url,
data: postData,
success: function(args) {
$("#grid").trigger("reloadGrid");
alert( args.result );
},
error: function(e) {
alert(e.responseText);
}
});
}
function statusChange(gridName, rowId, statusType) {
if ( confirm( "전송상태를 변경 하시겠습니까?" ) != true ) {
return;
}
var data = $('#' + gridName).getRowData(rowId);
var bjobDmndMsgID = data.BJOBDMNDMSGID;
var bjobDmndSubMsgID = data.BJOBDMNDSUBMSGID;
var sndRcvFileName = data.SNDRCVFILENAME;
var postData = new Array();
postData.push({ name: "cmd" , value: "TRANSACTION_CHANGE"});
postData.push({ name: "statusType" , value: statusType}); // 종결처리(J)
postData.push({ name: "bjobDmndMsgID" , value: bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID", value: bjobDmndSubMsgID});
postData.push({ name: "sndRcvFileName" , value: sndRcvFileName});
var chagne_url = '<c:url value="/bap/transaction/transactionStatusMan.json" />';
$.ajax({
type: "POST",
url: chagne_url,
data: postData,
success: function(args) {
$('#' + gridName).trigger("reloadGrid");
// alert( args.result );
},
error: function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
//$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
//$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var url = '<c:url value="/bap/transaction/transactionStatusMan.json" />';
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if ( searchStartYYYYMMDD == null || searchStartYYYYMMDD == '') {
$("input[name=searchStartYYYYMMDD]").val(getBeforeDay(1));
}
if ( searchEndYYYYMMDD == null || searchEndYYYYMMDD == '' ) {
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if ( searchStartHHMM == null || searchStartHHMM == '' ) {
$("input[name=searchStartHHMM]").val('000000');
}
if ( searchEndHHMM == null || searchEndHHMM == '' ) {
$("input[name=searchEndHHMM]").val('235959');
}
init(url, detail);
$("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('','전체').setData(json.osidInstiDstcd).rendering();
}
});
});
$(".tab_content").hide();
$(".tab_content:last").show();
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab).show();
detail(url);
});
$('#gridE').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'전송로그ID',
'I/F ID',
'수신일자',
'SEQ',
'업무명',
'대외기관',
'그룹사구분',
'메시지구분코드',
'작업유형',
'파일명',
'자료건수',
'파일크기',
'전송상태',
'재전송',
'시작예정',
'종료예정',
'거래시작시각',
'거래종료시각',
'지연시간',
'수신파일저장디렉토리',
'백업송수신파일명'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'FILETRSMTLOGID' , align: 'left' , hidden: true },
{ name: 'BJOBMSGDSTCD' , align: 'left' , width: '70' },
{ name: 'BASEYMD' , align: 'left' , width: '70' , formatter: dateFormat },
{ name: 'BJOBMSGDSTCDSEQ' , align: 'right' , width: '25' },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '160' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '160' },
{ name: 'GROUPCOCD' , align: 'left' , hidden: true },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '200' },
{ name: 'SNDRCVRECCNT' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'RESEND' , align: 'center' , width: '70' },
{ name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , hidden: true },
{ name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , hidden: true },
{ name: 'TRANSTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'TRANENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'DELAYTIME' , align: 'center' , width: '70' , hidden: true },
{ name: 'RQSTRECVFILESTORGDIRNAME', align: 'left' , hidden: true },
{ name: 'BKUPSNDRCVFILENAME' , align: 'left' , hidden: true }
],
jsonReader: {
repeatitems : false
},
rowNum: 10000,
//autoheight: true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['eaiBzwkDstcd' ] = rowData['EAIBZWKDSTCD'];
args['msgDpstYMS' ] = rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno' ] = rowData['EAISVCSERNO'];
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
},
gridComplete: function(d) {
var colModel = $(this).getGridParam("colModel");
for ( var i = 0 ; i< colModel.length; i++ ) {
$(this).setColProp(colModel[i].name, {sortable : false});
}
var ids = $(this).getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var fileTrsmtLogID = rowData['FILETRSMTLOGID'];
var sndRecvFileName = rowData['SNDRCVFILENAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var tranPrcssDstcd = rowData['TRANPRCSSDSTCD'];
var rqstRecvFileStorgDirname = rowData['RQSTRECVFILESTORGDIRNAME'];
var bkupSndrcvFilename = rowData['BKUPSNDRCVFILENAME'];
var sendRecvYn = rowData['SENDRECVYN'];
if ( (sendRecvYn == '송신' && '수행대기 파일없음'.indexOf(tranPrcssDstcd) == -1 && tranPrcssDstcd.indexOf('진행중') == -1)
|| (sendRecvYn == '수신' && rqstRecvFileStorgDirname.trim() != "" && bkupSndrcvFilename.trim() != "") ) {
var be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='재전송'";
if ( sendRecvYn == '송신' ) {
be += "onclick=\"resend('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+fileTrsmtLogID+"','"+sndRecvFileName+"','"+bjobMsgDstcd+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
} else {
be += "onclick=\"rerecv('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
}
be += " />";
$(this).setRowData(ids[i], {RESEND: be});
}
}
},
loadComplete:function(d) {
//$("#grid").tuiTableRowSpan("0");
}
});
$('#gridF').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무명',
'대외기관',
'그룹사구분',
'메시지구분코드',
'작업유형',
'전송상태',
'시작예정',
'종료예정'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '200' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '200' },
{ name: 'GROUPCOCD' , align: 'left' , hidden: true },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat },
{ name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat }
],
jsonReader: {
repeatitems: false
},
rowNum: 10000,
//autoheight : true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['eaiBzwkDstcd'] = rowData['EAIBZWKDSTCD'];
args['msgDpstYMS'] = rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno'] = rowData['EAISVCSERNO'];
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
},
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) {
//$("#grid").tuiTableRowSpan("0");
}
});
$('#gridQ').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무명',
'대외기관',
'메시지구분코드',
'작업유형',
'전송상태',
// '시작예정',
// '종료예정',
'메시지생성시각'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '200' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '200' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
// { name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat},
{ name: 'BJOBDMNDMSGCRETNHMS',align: 'center' , width: '159' , formatter: timeStampFormat }
],
jsonReader: {
repeatitems: false
},
rowNum: 10000,
//autoheight : true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['eaiBzwkDstcd'] = rowData['EAIBZWKDSTCD'];
args['msgDpstYMS'] = rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno'] = rowData['EAISVCSERNO'];
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
},
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) {
//$("#grid").tuiTableRowSpan("0");
}
});
$('#gridS').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무명',
'대외기관',
'메시지구분코드',
'작업유형',
'파일명',
'파일크기',
'진행율(%)',
'진행크기',
'전송상태',
// '시작예정',
// '종료예정',
'거래시작시각',
'거래종료시각'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '200' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '200' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '200' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'RATE' , align: 'right' , width: '70' },
{ name: 'CURRENTFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
// { name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat},
{ name: 'TRANSTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'TRANENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat }
],
jsonReader: {
repeatitems : false
},
rowNum: 10000,
//autoheight : true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['eaiBzwkDstcd'] = rowData['EAIBZWKDSTCD'];
args['msgDpstYMS'] = rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno'] = rowData['EAISVCSERNO'];
/* var url2 = '<c:url value="/onl/transaction/tracking/trackingMan.view"/>';
url2 = url2 + "?cmd=DETAIL";
showModal(url2,args,810,1218); */
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
//url2 = url2 + "&eaiBzwkDstcd=" +rowData['EAIBZWKDSTCD'];
//url2 = url2 + "&msgDpstYMS=" +rowData['MSGDPSTYMS'];
//url2 = url2 + "&logPrcssSerno=" +rowData['LOGPRCSSSERNO'];
//url2 = url2 + "&eaiSvcSerno=" +rowData['EAISVCSERNO'];
//goNav(url2);
},
//그리드 헤더 화살표 삭제(정렬X)
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) {
//$("#grid").tuiTableRowSpan("0");
}
});
$('#gridA').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'전송로그ID',
'인스턴스명',
'I/F ID',
'수신일자',
'SEQ',
'업무명',
'기관명',
'대외기관',
'어댑터사용구분',
'그룹사구분',
'스케쥴',
'메시지구분코드',
'작업유형',
'파일명',
'건수',
'파일크기',
'전송상태',
'재전송',
'종결',
// '시작예정',
// '종료예정',
// '작업시작시각',
// '작업종료시각',
'수신시작시각',
'수신종료시각',
'송신시작시각',
'송신종료시각',
'수신파일저장디렉토리',
'백업송수신파일명'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'FILETRSMTLOGID' , align: 'left' , hidden: true },
{ name: 'EAISEVRINSTNCNAME' , align: 'left' , width: '120' },
{ name: 'BJOBMSGDSTCD' , align: 'left' , width: '65' },
{ name: 'BASEYMD' , align: 'left' , width: '65' , formatter: dateFormat },
{ name: 'BJOBMSGDSTCDSEQ' , align: 'right' , width: '25' },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' , width: '160' },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '160' },
{ name: 'OSIDINSTINAME' , align: 'left' , hidden: true },
{ name: 'RQSTRSPNSDSTCD' , align: 'center' , hidden: true },
{ name: 'GROUPCOCD' , align: 'left' , hidden: true },
{ name: 'BJOBMSGSCHEID' , align: 'left' , hidden: true },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , hidden: true, width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '150' },
{ name: 'SNDRCVRECCNT' , align: 'right' , width: '30' , formatter: 'integer' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'RESEND' , align: 'center' , width: '70' },
{ name: 'JONG' , align: 'center' , hidden: true, width: '70' ,
formatter: function (cellValue, options, rowObject) {
var tranPrcssDstcd = rowObject.TRANPRCSSDSTCD;
var be = "";
if( tranPrcssDstcd == 'E' || tranPrcssDstcd == 'H' ) {
be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='종결처리'";
be += "onclick=\"statusChange('gridA', '"+options.rowId+"', 'J');\"";
be += " />";
}
return be;
}
},
// { name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'TRANSTARTHMS' , align: 'center' , width: '90' , formatter: timeStampFormat2 },
// { name: 'TRANENDHMS' , align: 'center' , width: '90' , formatter: timeStampFormat2 },
{ name: 'TRANSTARTHMS1' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'TRANENDHMS1' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'TRANSTARTHMS2' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'TRANENDHMS2' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'RQSTRECVFILESTORGDIRNAME', align: 'left' , hidden: true },
{ name: 'BKUPSNDRCVFILENAME' , align: 'left' , hidden: true }
],
jsonReader: {
repeatitems : false
},
rowNum: 10000,
//autoheight: true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['bjobDmndMsgID'] = rowData['BJOBDMNDMSGID'];
args['bjobDmndSubMsgID'] = rowData['BJOBDMNDSUBMSGID'];
if ( args['bjobDmndMsgID'] == null || args['bjobDmndMsgID'] == '' || args['bjobDmndSubMsgID'] == null || args['bjobDmndSubMsgID'] == '') {
alert ('거래처리 로그가 없어 조회할 수 없습니다.');
return;
}
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
},
//그리드 헤더 화살표 삭제(정렬X)
gridComplete: function(d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
var ids = $(this).getDataIDs();
for(var i=0; i < ids.length; i++ ) {
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var fileTrsmtLogID = rowData['FILETRSMTLOGID'];
var sndRecvFileName = rowData['SNDRCVFILENAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var tranPrcssDstcd = rowData['TRANPRCSSDSTCD'];
var rqstRecvFileStorgDirname = rowData['RQSTRECVFILESTORGDIRNAME'];
var bkupSndrcvFilename = rowData['BKUPSNDRCVFILENAME'];
var sendRecvYn = rowData['SENDRECVYN'];
var rqstRspnsDstCd = rowData['RQSTRSPNSDSTCD'];
if ( (sendRecvYn == '송신' && '수행대기 파일없음 진행중'.indexOf(tranPrcssDstcd) == -1)
|| (sendRecvYn == '수신' && rqstRecvFileStorgDirname.trim() != "" && bkupSndrcvFilename.trim() != "") ) {
var be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='재전송'";
if ( sendRecvYn == '송신' ) {
be += "onclick=\"resend('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+fileTrsmtLogID+"','"+sndRecvFileName+"','"+bjobMsgDstcd+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
} else {
be += "onclick=\"rerecv('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
}
be += " />";
$(this).setRowData(ids[i], {RESEND: be});
}
if ( rqstRspnsDstCd == 'A' && tranPrcssDstcd.indexOf('수행대기') > -1 ) { // A이고 수행대기이면 회색 바탕 처리
$("#"+ids[i]).find("td").css("background-color", "#E6E6FA");
}
if ( tranPrcssDstcd.indexOf('보류') > -1 ) { // 보류건 노랑 바탕 처리
$("#"+ids[i]).find("td").css("background-color", "#FFFFC0");
}
}
},
loadComplete: function(d) {
//$("#grid").tuiTableRowSpan("0");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function() {
detail();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
var activeTab = $("ul.tabs li.active").attr("rel");
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid" + activeTab.substring(3,4)), $("#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_excel.png"/>" id="btn_excel" level="R"/>
<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:100px;">업무구분명</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;">작업유형</th>
<td>
<div class="select-style">
<select type="text" name="searchProcessType" value="${param.searchProcessType}">
<option value="">전체</option>
<option value="S">송신</option>
<option value="R">수신</option>
</select>
</div>
</td>
<th style="width:100px;">상태</th>
<td>
<div class="select-style">
<select type="text" name="searchStatus" value="${param.searchStatus}">
<option value="A">전체</option>
<!-- <option value="L">지연</option> -->
<!-- <option value="F">미도래</option> -->
<option value="Q">큐대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:100px;">대외기관명</th>
<td>
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" style="width:100%" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
<th style="width:100px;">거래기간</th>
<td>
<input type="text" name="searchStartYYYYMMDD" maxlength="10" value="${param.searchStartYYYYMMDD}" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM" maxlength="8" value="${param.searchStartHHMM}" size="8" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD" maxlength="10" value="${param.searchEndYYYYMMDD}" size="10" style="width:80px;">
<input type="text" name="searchEndHHMM" maxlength="8" value="${param.searchEndHHMM}" size="8" style="width:80px;">
<input type="hidden" name="searchStartTime" value="20170201000000">
<input type="hidden" name="searchEndTime" value="20170201235959">
</td>
<th style="width:100px;">검색구분</th>
<td>
<div class="select-style" style="display:inline-block; width:100px;">
<select type="text" name="searchGb" value="${param.searchGb}">
<option value="IFID">I/F ID</option>
<option value="FILE">파일명</option>
<option value="UUID">UUID</option>
<option value="SUBUUID">SUBUUID</option>
</select>
</div>
<input type="text" name="searchText" value="${param.searchText}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<div id="container-1" >
<ul class="tabs">
<li rel="tabQ">큐대기</li>
<li rel="tabF" hidden="true">미도래</li>
<li rel="tabS">진행중</li>
<li class="active" rel="tabA">전송현황</li>
<li rel="tabE" >미완료</li>
</ul>
<div class="tab_container">
<div id="tabE" class="tab_content">
<table id="gridE" ></table>
</div>
<div id="tabF" class="tab_content">
<table id="gridF" ></table>
</div>
<div id="tabQ" class="tab_content">
<table id="gridQ" ></table>
</div>
<div id="tabS" class="tab_content">
<table id="gridS" ></table>
</div>
<div id="tabA" class="tab_content">
<table id="gridA" ></table>
</div>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,684 @@
<%@ 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"/>
<script language="javascript" src="<c:url value="/js/jquery.mask.min.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/bap/transaction/transactionStatusMan.json" />';
var detailList;
var stageList;
var fileList;
function statusFormat (cellvalue){
if ( cellvalue == 'T' ){
return '정상';
} else if ( cellvalue == 'V' ) {
return '검증완료';
} else if ( cellvalue == 'H' ) {
return '보류';
} else if ( cellvalue == 'J' ) {
return '종결';
} else if ( cellvalue == 'Q' ) {
return '수행대기';
} else if ( cellvalue == 'C' ) {
return '사용자중지';
} else if ( cellvalue == 'N' ) {
return '파일없음';
} else if ( cellvalue == 'S' ) {
return '<span style="color:blue">진행중</span>';
} else if ( cellvalue == 'E' ) {
return '<span style="color:red">비정상종료</span>';
}
return "";
}
function getSubLayerName (cellvalue){
if ( cellvalue == 'UI' ){
return '관리화면';
} else if ( cellvalue == 'FE' ) {
return '파일이벤트';
} else if ( cellvalue == 'DV' ) {
return '데이터검증';
} else if ( cellvalue == 'HD' ) {
return '보류';
} else if ( cellvalue == 'CL' ) {
return '종결';
} else if ( cellvalue == 'SS' ) {
return '소켓서버';
} else if ( cellvalue == 'SQ' ) {
return '스케쥴러(대기)';
} else if ( cellvalue == 'SP' ) {
return '스케쥴러(진행)';
} else if ( cellvalue == 'FC' ) {
return '플로우컨트롤러';
} else if ( cellvalue == 'ST' ) {
return 'F/C 개시 단계';
} else if ( cellvalue == 'FI' ) {
return 'F/C 파일정보교환 단계';
} else if ( cellvalue == 'DS' ) {
return 'F/C Data 송수신 단계';
} else if ( cellvalue == 'MI' ) {
return 'F/C 결번정보교환 단계';
} else if ( cellvalue == 'MS' ) {
return 'F/C 결번 송수신 단계';
} else if ( cellvalue == 'UE' ) {
return 'F/C 단위업무종료 단계';
} else if ( cellvalue == 'AE' ) {
return 'F/C 전업무종료 단계';
} else if ( cellvalue == 'EX' ) {
return 'F/C 예외 단계';
} else if ( cellvalue == 'LT' ) {
return 'F/C 시스템회선상태확인 단계';
} else if ( cellvalue == 'SE' ) {
return 'F/C 시스템장애통보 단계';
} else if ( cellvalue == 'SR' ) {
return 'F/C 시스템장애회복통보 단계';
} else if ( cellvalue == 'CK' ) {
return 'F/C 요구송신 테스트전문단계';
}
return "";
}
function detail(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL_FILE', bjobDmndMsgID: key1, bjobDmndSubMsgID: key2, page: 1, rows: 20 },
success: function(json) {
detailList = json.detail;
fileList = json.file;
$("#detailForm input, #detailForm select").each(function() {
var name = $(this).attr("name");
$(this).val(detailList[name.toUpperCase()]);
});
$("#gridFile")[0].addJSONData(fileList);
var postDataFile = getSearchForJqgrid("cmd", "DETAIL_FILE");
postDataFile["bjobDmndMsgID"] = key1;
postDataFile["bjobDmndSubMsgID"] = key2;
$("#gridFile").setGridParam({ url:url, postData: postDataFile, page : 1, rows: 20 }).trigger("reloadGrid");
//$("#gridFile").jqGrid('setSelection', $("#gridFile").getDataIDs()[0], true);
},
error: function(e) {
alert(e.responseText);
}
});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL_STAGE', bjobDmndMsgID: key1, bjobDmndSubMsgID: key2, page: 1, rows: 20 },
success: function(json) {
detailList = json.detail;
stageList = json.stage;
$("#detailForm input, #detailForm select").each(function() {
var name = $(this).attr("name");
$(this).val(detailList[name.toUpperCase()]);
});
$("#gridStage")[0].addJSONData(stageList);
var postDataStage = getSearchForJqgrid("cmd", "DETAIL_STAGE");
postDataStage["bjobDmndMsgID"] = key1;
postDataStage["bjobDmndSubMsgID"] = key2;
$("#gridStage").setGridParam({ url:url, postData: postDataStage, page : 1, rows: 20 }).trigger("reloadGrid");
//$("#gridStage").jqGrid('setSelection', $("#gridStage").getDataIDs()[0], true);
},
error: function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key1 ="${param.bjobDmndMsgID}";
var key2 ="${param.bjobDmndSubMsgID}";
$("input[name*=HMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':true});
$("select").attr('disabled',true);
$("select").css({'background-color' : '#ffffff'});
$("input[name*=Size]").inputmask('decimal',{groupSeparator:',',digits:0,autoGroup:true,prefix:'',rightAlign:false,autoUnmask:true,removeMaskOnSubmit:true});
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active").css("color", "#333");
$(this).addClass("active").css("color", "darkred");
$(".tab_container").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab + "Div").show();
});
$('#gridFile').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'파일명',
'자료건수',
'파일크기',
'파일상태',
'파일시작시각',
'파일종료시각',
'작업구분',
'거래구분',
'파일경로',
'저장파일명',
'장애발생내용'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden:true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden:true },
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '70' },
{ name: 'SNDRCVRECCNT' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'THISSTGEPRCSSRSULTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'FILETRSMTSTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'FILETRSMTENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' , width: '70' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '70' },
{ name: 'RQSTRECVFILESTORGDIRNAME' , align: 'left' , width: '70' },
{ name: 'BKUPSNDRCVFILENAME' , align: 'left' , width: '70' },
{ name: 'EAIOBSTCLOCCURCAUSCTNT' , align: 'left' , width: '200'}
],
jsonReader: {
root: "file",
repeatitems: false
},
pager: $('#pagerFile'),
page: '${param.pageFile}',
rowNum: 10,
rowList: eval('[${rmsDefaultRowList}]'),
//autoheight: true,
height: 250, //$("#container").height(),
autowidth: true,
viewrecords: true,
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
$("#fileForm input,#fileForm select,#fileForm textarea").each(function() {
try {
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(this).val(fileList[rowId-1][name.toUpperCase()]);
} catch(e) {}
});
},
loadComplete: function (json) {
fileList = json.file;
$(this).jqGrid('setSelection', $(this).getDataIDs()[0], true);
}
});
$('#gridStage').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'처리단계',
'흐름규칙',
'흐름단계',
'흐름단계설명',
'흐름번호',
'흐름유형',
'전문코드',
'응답코드',
'단계상태',
'단계시작시각',
'단계종료시각',
'작업구분',
'거래구분코드',
'파일명',
'장애발생내용'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden:true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden:true },
{ name: 'PRCSSSTGEDSTCD' , align: 'left' , width: '100' , formatter: getSubLayerName},
{ name: 'BJOBRULECD' , align: 'center' , width: '70' },
{ name: 'BJOBSTGECD' , align: 'right' , width: '70' },
{ name: 'BJOBSTGEFLXBLCNDNDESC' , align: 'center' , width: '159'},
{ name: 'BJOBNODECASNO' , align: 'center' , width: '50' },
{ name: 'BJOBSTGEPTRNNAME' , align: 'center' , width: '50' },
{ name: 'TELGMPERTYPCDVALCTNT' , align: 'left' , width: '70' },
{ name: 'RSPNSCDVALCTNT' , align: 'left' , width: '70' },
{ name: 'THISSTGEPRCSSRSULTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'THISSTGESTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'THISSTGEENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' , width: '70' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '70' },
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '70' },
{ name: 'EAIOBSTCLOCCURCAUSCTNT', align: 'left' , width: '200'}
],
jsonReader: {
root: "stage",
repeatitems: false
},
pager: $('#pagerStage'),
page: '${param.pageStage}',
rowNum: 10,
//rowNum: 10000,
rowList: eval('[${rmsDefaultRowList}]'),
//autoheight : true,
height: 250, //$("#container").height(),
autowidth: true,
viewrecords: true,
onSelectRow: function(rowId) {
$("#stageForm input, #stageForm select, #stageForm textarea").each(function() {
try {
var name = $(this).attr("name");
$(this).val(stageList[rowId-1][name.toUpperCase()]);
} catch(e) {}
});
},
loadComplete: function (json){
stageList = json.stage;
$(this).jqGrid('setSelection', $(this).getDataIDs()[0], true);
},
loadBeforeSend: function (xhr,settings) {
if( this.p.url ==null || this.p.url == "" ) {
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('gridFile','tabFile','1000');
resizeJqGridWidth('gridStage','tabStage','1000');
$("#btn_previous").click(function() {
returnUrl+='&activeTab='+"${param.activeTab}";
goNav(returnUrl);//LIST로 이동
});
$("#btn_systeminst_popup").click(function() {
var bjobBzwkDstcd = $("input[name=bjobBzwkDstcd]").val();
var osidInstiDstcd = $("input[name=osidInstiDstcd]").val();
var popUrl = '<c:url value="/bap/admin/work/systemInstMan.view" />';
popUrl += '?cmd=DETAIL';
popUrl += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
popUrl += '&osidInstiDstcd=' + osidInstiDstcd;
popUrl += '&ispop=Y';
var args = new Object();
args['ispop'] = 'Y';
var result = showModal(popUrl, args, 1200, 700, function(arg) {
var args = null;
if( arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
});
});
$("#btn_messageproc_popup").click(function() {
var bjobMsgDstcd = $("input[name=bjobMsgDstcd]").val();
if( bjobMsgDstcd.trim() == '' ) {
alert('거래파일 정보를 선택하십시요.');
return false;
}
var popUrl = '<c:url value="/bap/admin/work/messageProcMan.view" />';
popUrl += '?cmd=DETAIL';
popUrl += '&bjobMsgDstcd=' + bjobMsgDstcd;
popUrl += '&ispop=Y';
var args = new Object();
args['ispop'] = 'Y';
var result = showModal(popUrl, args, 1200, 700, function(arg) {
var args = null;
if( arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
});
});
$("#btn_filedetail_popup").click(function() {
var rcvFileName = $("input[name=rqstRecvFileStorgDirName]").val() + "/" + $("input[name=bkupSndrcvFileName]").val();
var bjobMsgDstcd = $("input[name=bjobMsgDstcd]").val();
if( bjobMsgDstcd.trim() == '' ) {
alert('거래파일 정보를 선택하십시요.');
return false;
}
if( $("input[name=bkupSndrcvFileName]").val() == '' ){
alert('저장된 파일명이 없습니다.');
return false;
}
var popUrl = '<c:url value="/bap/transaction/transactionStatusMan.view" />' + '?cmd=POPUP';
var args = new Object();
args['rcvFileName'] = rcvFileName;
args['bjobMsgDstcd'] = bjobMsgDstcd;
args['ispop'] = true;
var result = showModal(popUrl, args, 800, 700, function(arg) {
var args = null;
if( arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
});
});
buttonControl();
detail(key1,key2);
$("ul.tabs li:first").trigger("click");
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">거래로그상세</div>
<!-- detail -->
<form id="detailForm">
<input type="hidden" readonly="readonly" name="osidInstiDstcd"/>
<div class="container">
<div class="left full" >
<p class="comment">▣ 거래 기본 정보</p>
</div>
</div>
<table class="table_row" width="100%" cellspacing="0">
<colgroup>
<col width="7%">
<col width="18%">
<col width="7%">
<col width="14%">
<col width="4%">
<col width="7%">
<col width="18%">
</colgroup>
<tr>
<th class="detail_title">UUID</th><td><input type="text" readonly="readonly" name="bjobDmndMsgID" style="width:100%"/></td>
<th class="detail_title">대외기관</th><td style="border-right: 0px; padding-right:0px;"><input type="text" readonly="readonly" name="osidInstiName" style="width:100%"/></td>
<td><img id="btn_systeminst_popup" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
<th class="detail_title">인스턴스명</th><td><input type="text" readonly="readonly" name="eaiSevrInstncName" style="width:100%"/></td>
<th class="detail_title">대외기관IP</th><td><input type="text" readonly="readonly" name="lnkgIPInfoName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">SUB_UUID</th><td><input type="text" readonly="readonly" name="bjobDmndSubMsgID" style="width:100%"/></td>
<th class="detail_title">거래처리시간</th><td colspan="2"><input type="text" readonly="readonly" name="tranStartHMS" style="width:100%"/></td>
<th class="detail_title">흐름규칙코드</th><td><input type="text" readonly="readonly" name="flowRuleCd" style="width:100%"/></td>
<th class="detail_title">메시지송신자</th><td><input type="text" readonly="readonly" name="msgSndrID" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">작업유형</th>
<td>
<select name="bjobPtrnDstcd" style="width:100%">
<option value="AR">응답수신</option>
<option value="AS">응답송신</option>
<option value="RS">요구송신</option>
<option value="RR">요구수신</option>
</select>
</td>
<th class="detail_title">작업상태</th>
<td colspan="2">
<select name="tranPrcssDstcd" style="width:100%">
<option value=""></option>
<option value="V">검증완료</option>
<option value="H">보류</option>
<option value="J">종결</option>
<option value="Q">수행대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
<th class="detail_title">업무구분</th>
<td><input type="text" readonly="readonly" name="bjobBzwkDstcd" style="width:100%"/></td>
<th class="detail_title">메시지생성시간</th><td><input type="text" readonly="readonly" name="bjobDmndMsgCretnHMS" style="width:100%"/></td>
</tr>
</table>
</form>
<div id="container-1">
<ul class="tabs">
<li class="active" rel="tabFile">▣ 거래 파일 정보</li>
<li rel="tabStage">▣ 거래 처리단계 리스트</li>
</ul>
<div id="tabFileDiv" class="tab_container" style="width:100%">
<div id="tabFile" class="tab_content">
<table id="gridFile"></table>
<form id="fileForm">
<div id="pagerFile"></div>
<table class="table_row" width="100%" cellspacing="0" style="margin-top:10px;">
<colgroup>
<col width="15%">
<col width="30%">
<col width="5%">
<col width="15%">
<col width="30%">
<col width="5%">
</colgroup>
<tr>
<th class="detail_title">거래구분</th>
<td style="border-right: 0px; padding-right:0px;"><input type="text" readonly="readonly" name="bjobMsgDstcd" style="width:100%"/></td>
<td><img id="btn_messageproc_popup" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
<th class="detail_title">파일크기</th><td colspan="2"><input type="text" readonly="readonly" name="sndrcvFileSize" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">거래파일명</th>
<td colspan="2"><input type="text" readonly="readonly" name="sndrcvFileName" style="width:100%"/></td>
<th class="detail_title">저장된파일명</th>
<td style="border-right: 0px; padding-right:0px;"><input type="text" readonly="readonly" name="bkupSndrcvFileName" style="width:100%;"/></td>
<td><img id="btn_filedetail_popup" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
</tr>
<tr>
<th class="detail_title">파일경로</th>
<td colspan="2"><input type="text" readonly="readonly" name="rqstRecvFileStorgDirName" style="width:100%"/></td>
<th class="detail_title">파일처리시간</th>
<td colspan="2"><input type="text" readonly="readonly" name="fileTrsmtStartHMS" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">파일전송상태</th>
<td colspan="2">
<select name="thisStgePrcssRsultCd" style="width:100%">
<option value=""></option>
<option value="V">검증완료</option>
<option value="H">보류</option>
<option value="J">종결</option>
<option value="Q">수행대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
<th class="detail_title">파일담당자</th>
<td colspan="2"><input type="text" readonly="readonly" name="thisMsgChrgIDs" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">체크파일내용</th>
<td colspan="5"><input type="text" readonly="readonly" name="hdrInfoName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">장애내용</th>
<td colspan="5"><textarea name="eAIObstclOccurCausCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">파일 헤더 내용</th>
<td colspan="5"><textarea name="bjobFileHdrCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">파일 트레일러 내용</th>
<td colspan="5"><textarea name="bjobFileTrailCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
</table>
</form>
</div>
</div>
<div id="tabStageDiv" class="tab_container" style="width:100%;">
<div id="tabStage" class="tab_content">
<table id="gridStage"></table>
<form id="stageForm">
<div id="pagerStage"></div>
<table class="table_row" width="100%" cellspacing="0" style="margin-top:10px;">
<tr>
<th class="detail_title">처리단계</th>
<td>
<select name="prcssStgeDstcd" style="width:100%">
<option value=" "></option>
<option value="UI">관리화면</option>
<option value="FE">파일이벤트</option>
<option value="DV">데이터검증</option>
<option value="HD">보류</option>
<option value="CL">종결</option>
<option value="SS">소켓서버</option>
<option value="SQ">스케쥴러(대기)</option>
<option value="SP">스케쥴러(진행)</option>
<option value="FC">플로우컨트롤러</option>
<option value="ST">F/C 개시 단계</option>
<option value="FI">F/C 파일정보교환 단계</option>
<option value="DS">F/C Data 송수신 단계</option>
<option value="MI">F/C 결번정보교환 단계</option>
<option value="MS">F/C 결번 송수신 단계</option>
<option value="UE">F/C 단위업무종료 단계</option>
<option value="AE">F/C 전업무종료 단계</option>
<option value="EX">F/C 예외 단계</option>
<option value="LT">F/C 시스템회선상태확인 단계</option>
<option value="SE">F/C 시스템장애통보 단계</option>
<option value="SR">F/C 시스템장애회복통보 단계</option>
<option value="CK">F/C 요구송신 테스트전문단계</option>
</select>
</td>
<th class="detail_title">흐름규칙코드</th><td><input type="text" readonly="readonly" name="bjobRuleCd" style="width:100%"/></td>
<th class="detail_title">흐름단계코드</th><td><input type="text" readonly="readonly" name="bjobStgeCd" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">단계수행번호</th><td><input type="text" readonly="readonly" name="bjobNodeCasNo" style="width:100%"/></td>
<th class="detail_title">Flow클래스명</th><td><input type="text" readonly="readonly" name="bjobFlowCmpoClsName" style="width:100%"/></td>
<th class="detail_title">단계유형</th><td><input type="text" readonly="readonly" name="bjobStgePtrnName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">전문결정수행정보<br>(RECV시)</th>
<td>
<table width="100%" >
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- TelegramID : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDcsnID" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 클래스명 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDcsnClsName" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 전문코드 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDcsnMsgCd" style="width:100%;border:0px"/></td>
</tr>
</table>
</td>
<th class="detail_title">단계수행정보</th>
<td>
<table width="100%" style="border:0px;">
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- TelegramID : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="thisStgeTelgmID" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 클래스명 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="thisStgeClsName" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 전문코드 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="thisStgeMsgCd" style="width:100%;border:0px"/></td>
</tr>
</table>
</td>
<th class="detail_title">전문필드정보</th>
<td>
<table style="width:100%;border:0px">
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 전문종별코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmPertypCdValCtnt" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 거래구분코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDstcdValCtnt" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 업무관리코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmMgtCdValCtnt" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 응답코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="rspnsCdValCtnt" style="width:100%;border:0px"/></td>
</tr>
</table>
</td>
</tr>
<tr>
<th class="detail_title">거래구분</th><td><input type="text" readonly="readonly" name="bjobMsgDstcd" style="width:100%"/></td>
<th class="detail_title">거래파일명</th><td><input type="text" readonly="readonly" name="sndrcvFileName" style="width:100%"/></td>
<th class="detail_title">저장된파일명</th><td><input type="text" readonly="readonly" name="bkupSndrcvFileName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">파일경로</th><td><input type="text" readonly="readonly" name="rqstRecvFileStorgDirName" style="width:100%"/></td>
<th class="detail_title">단계처리시간</th><td><input type="text" readonly="readonly" name="thisStgeStartHMS" style="width:100%"/></td>
<th class="detail_title">단계상태</th>
<td>
<select name="thisStgePrcssRsultCd" style="width:100%">
<option value=""></option>
<option value="Q">수행대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
</tr>
<tr>
<th class="detail_title">장애내용</th><td colspan="5"><textarea name="eAIObstclOccurCausCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">전문헤더</th><td colspan="5"><textarea name="bjobTelgmHdr"readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">전문바디</th><td colspan="5"><textarea name="bjobTelgmTbody" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,180 @@
<%@ 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"/>
<script language="javascript">
var rcvFileName = window.dialogArguments['rcvFileName'];
var bjobMsgDstcd = window.dialogArguments['bjobMsgDstcd'];
var isPopup = window.dialogArguments['ispop'];
function isValid() {
if($('#skipCnt').val().trim() == "") {
$('#skipCnt').focus();
alert("파일 시작위치를 입력하여 주십시요.");
return false;
} else if($('#loopCnt').val().trim() == "") {
$('#loopCnt').focus();
alert("요청 건수를 입력하여 주십시요.");
return false;
} else if($('#loopCnt').val() > 100) {
$('#loopCnt').focus();
alert("요청 건수는 100건까지 가능합니다.");
return false;
}
return true;
}
function init(url, key) {
$("input[name=rcvFileName]").val(key).attr('readonly', true);
$("input[name=recSize]").val('').attr('readonly', true);
$("input[name=bjobMsgDstcd]").val(bjobMsgDstcd);
if($('#skipCnt').val().trim() == "") $('#skipCnt').val("0");
if($('#loopCnt').val().trim() == "") $('#loopCnt').val("100");
// clearInputbox();
}
function clearInputbox() {
for(let i = 0; i < 100; i++) {
$("#dataNum" + (i + 1)).text('');
$("#dataVal" + (i + 1)).text('');
}
}
function setInputbox(data) {
if(typeof data === 'undefined') return false;
const s = parseInt($('#skipCnt').val());
const l = parseInt($('#loopCnt').val());
const e = data.length < l ? data.length : l;
for(let i = 0; i < e; i++) {
$("#dataNum" + (i+1)).html((i+s+1));
$("#dataVal" + (i+1)).html(data[i].replace(/ /g, '&nbsp;'));
}
}
$(document).ready(function() {
var url ='<c:url value="/bap/transaction/transactionStatusMan.json" />';
var key = rcvFileName;
init(url, key);
$("#btn_close").click(function() {
window.close();
});
$("#btn_search").click(function() {
if (!isValid()) return false;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd", value:"DETAIL_FILE_DATA"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(json) {
clearInputbox();
$("input[name=recSize]").val(json.recSize);
setInputbox(json.detail);
},
error:function(e) {
alert(e.responseText);
}
});
});
$("#btn_prev").click(function() {
var s = parseInt($('#skipCnt').val());
var l = parseInt($('#loopCnt').val());
if ( s >= 0 ) {
var n = s - l < 0 ? 0 : s - l;
$('#skipCnt').val(n);
$("#btn_search").click();
}
});
$("#btn_next").click(function() {
var s = parseInt($('#skipCnt').val());
var l = parseInt($('#loopCnt').val());
if ( s >= 0 ) {
var n = s + l;
$('#skipCnt').val(n);
$("#btn_search").click();
}
});
});
</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_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_remove.png"/>" alt="" id="btn_prev" level="R" />
<img src="<c:url value="/img/btn_add.png"/>" alt="" id="btn_next" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">업무파일 내용 조회</div>
<form id="ajaxForm">
<input type="hidden" name="bjobMsgDstcd" />
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:23%">파일 시작위치</th>
<td style="width:10%"><input type="text" id="skipCnt" name="skipCnt" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;"></td>
<th style="width:23%">요청건수</th>
<td style="width:10%"><input type="text" id="loopCnt" name="loopCnt" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;"></td>
<th style="width:24%">한 레코드 길이</th>
<td style="width:10%"><input type="text" id="recSize" name="recSize" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;"></td>
</tr>
<tr>
<th style="width:23%">파일 이름</th>
<td colspan="5"><input type="text" id="rcvFileName" name="rcvFileName"></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<colgroup>
<col width="10%">
<col width="90%">
</colgroup>
<tr>
<th height="28px" nowrap style="text-align:center; border-right: 1px solid #a3a9b1;">순번</th>
<th nowrap style="text-align:center; border-right: 1px solid #a3a9b1;">데이터</th>
</tr>
<c:forEach var="i" begin="1" end="100">
<tr>
<td align="center" nowrap><span id="dataNum${i}"></span></td>
<td align="left" nowrap><span id="dataVal${i}"></span></td>
</tr>
</c:forEach>
</table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,336 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/bap/transaction/transactionTraceMan.json" />';
var url_view = '<c:url value="/bap/transaction/transactionTraceMan.view" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function init( callback ) {
// $("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
// $("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if ( searchStartYYYYMMDD == null || searchStartYYYYMMDD == '') {
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if ( searchEndYYYYMMDD == null || searchEndYYYYMMDD == '') {
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if ( searchStartHHMM == null || searchStartHHMM == '') {
$("input[name=searchStartHHMM]").val('000000');
}
if ( searchEndHHMM == null || searchEndHHMM == '') {
$("input[name=searchEndHHMM]").val('235959');
}
$.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('','전체').setData(json.bjobBzwkDstcd).rendering();
$("select[name=searchEaiBzwkDstcd]").searchable();
putSelectFromParam();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail() {
var start = $("input[name=searchStartYYYYMMDD]").val().replace("-","")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace("-","")+$("input[name=searchEndHHMM]").val().replace(":","");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
function resend(bjobDmndMsgID, bjobDmndSubMsgID, fileTrsmtLogID, sndRecvFileName, bjobMsgDstcd) {
if ( confirm( "해당 건을 재 전송 하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value:"TRANSACTION_RESEND"});
postData.push({ name: "bjobDmndMsgID" , value:bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID" , value:bjobDmndSubMsgID});
postData.push({ name: "fileTrsmtLogID" , value:fileTrsmtLogID});
postData.push({ name: "sndRecvFileName" , value:sndRecvFileName});
postData.push({ name: "bjobMsgDstcd" , value:bjobMsgDstcd});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").trigger("reloadGrid");
alert( args.result );
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
init( detail);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
//url: url,
//postData : gridPostData,
colNames:['UUID',
'SUBUUID',
'전송로그ID',
'프레임웍구분',
'인터페이스ID',
'업무구분',
'기관명',
'파일명',
'상태',
'시작시간',
'종료시간',
'송수신구분',
'파일크기',
'재전송',
'장애내용'
],
colModel:[
{ name : 'BJOBDMNDMSGID' , align : 'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align : 'left' , hidden:true },
{ name : 'FILETRSMTLOGID' , align : 'left' , hidden:true },
{ name : 'FRAMEWORKGB' , align : 'center' , width:40 },
{ name : 'BJOBMSGDSTCD' , align : 'left' , width:60 },
{ name : 'BJOBBZWKNAME' , align : 'left' , width:60 },
{ name : 'OSIDINSTINAME' , align : 'left' , width:60 },
{ name : 'SNDRCVFILENAME' , align : 'left' , width:60 },
{ name : 'THISSTGEPRCSSRSULTCD' , align : 'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'E' ) {
return '<span style="color:red">에러</span>';
} else if ( cellvalue == 'T' ) {
return '<span style="color:blue">전송성공</span>';
} else if ( cellvalue == 'S' ) {
return '<span style="color:green">전송중</span>';
} else {
return '';
}
}
},
{ name : 'FILETRSMTSTARTHMS' , align:'center' , width:'80' , formatter: timeStampFormat },
{ name : 'FILETRSMTENDHMS' , align:'center' , width:'80' , formatter: timeStampFormat },
{ name : 'SNDRCV' , align:'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'S' ) {
return '송신';
} else if ( cellvalue == 'R' ) {
return '수신';
} else {
return '';
}
}
},
{ name : 'SNDRCVFILESIZE' , align:'right', width:50 },
{ name : 'RESEND' , align:'center', width:50 },
{ name : 'EAIOBSTCLOCCURCAUSCTNT' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
//alert('bjobDmndMsgID-->' + bjobDmndMsgID);
if ( bjobDmndMsgID.trim() == '' ) return;
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + '?cmd=DETAIL';
url2 = url2 + '&page='+$(this).getGridParam("page");
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
//검색값
url2 = url2 + '&'+getSearchUrl();
//key값
url2 = url2 + '&bjobDmndMsgID='+bjobDmndMsgID;
url2 = url2 + "&bjobDmndSubMsgID=" + bjobDmndSubMsgID;
goNav(url2);
},
loadComplete:function (d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
gridComplete: function() {
var ids = $(this).getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var fileTrsmtLogID = rowData['FILETRSMTLOGID'];
var sndRecvFileName = rowData['SNDRCVFILENAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var sndRcv = rowData['SNDRCV'];
if ( sndRcv == '송신' || fileTrsmtLogID.trim() != '' ) {
var be = "<input style='height:22px;width:60px;' type='button' value='재전송' onclick=\"resend('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+fileTrsmtLogID+"','"+sndRecvFileName+"','"+bjobMsgDstcd+"');\" />";
$(this).setRowData(ids[i],{RESEND:be});
}
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
var start = $("input[name=searchStartYYYYMMDD]").val().replace("-","")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace("-","")+$("input[name=searchEndHHMM]").val().replace(":","");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<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:100px;">프레임웍구분</th>
<td>
<div class="select-style">
<select name="searchFrameWorkGb" value="${param.searchFrameWorkGb}">
<option value="2">전체</option>
<option value="0">내부</option>
<option value="1">대외</option>
</select>
</div><!-- end.select-style -->
</td>
<th style="width:100px;">업무구분명</th>
<td>
<div class="select-style">
<select name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div>
</td>
<th style="width:100px;">송수신구분</th>
<td>
<div class="select-style">
<select name="searchSndRcv" value="${param.searchSndRcv}">
<option value="A">전체</option>
<option value="S">송신</option>
<option value="R">수신</option>
</select>
</div>
</td>
<th style="width:100px;">상태</th>
<td>
<div class="select-style">
<select name="searchThisStgePrcssRsultCd" value="${param.searchThisStgePrcssRsultCd}">
<option value="">전체</option>
<option value="T">정상</option>
<option value="E">에러</option>
<option value="S">전송중</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:100px;">파일명</th>
<td>
<input type="text" name="searchSndrcvFileName" value="${param.searchSndrcvFileName}">
</td>
<th style="width:100px;">기관명</th>
<td>
<input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}">
</td>
<th style="width:100px;">거래기간</th>
<td colspan="3">
<input type="text" name="searchStartYYYYMMDD" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM" maxlength="8" value="" size="8" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchEndHHMM" maxlength="8" value="" size="8" style="width:80px;">
<input type="hidden" name="searchStartTime" value="20170201000000">
<input type="hidden" name="searchEndTime" value="20170201235959">
</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,188 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/bap/transaction/transactionTraceMan.json" />';
var url_view = '<c:url value="/bap/transaction/transactionTraceMan.view" />';
function init(key,callback) {
if (typeof callback === 'function') {
callback(key);
}
}
function detail(key) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
fileTrsmtLogID : key
},
success : function(json) {
$("input,select").each(function(){
var name = $(this).attr('name');
if ( name != null ) {
if (name == 'ndmRspnsCd') {
var ndmRspnsCd = json[name].trim();
if (ndmRspnsCd == "0") {
$("input[name=ndmRspnsCd]").val('정상');
$("#ndmapi").css("display","");
} else if (ndmRspnsCd == "8") {
$("input[name=ndmRspnsCd]").val('비정상');
$("#error").css("display","");
$("#ndmapi").css("display","");
} else if (ndmRspnsCd == "P") {
$("input[name=ndmRspnsCd]").val('전송중');
} else {
$("input[name=ndmRspnsCd]").val(json[name]);
}
} else {
$(this).val(json[name]);
}
}
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.fileTrsmtLogID}";
$("input").each(function(){
$(this).attr("readonly",true);
});
$("select").each(function(){
$(this).attr("disabled",true);
$(this).css({'background-color' : '#ffffff'});
});
$("input[name=thisMsgRegiHMS]").inputmask("9999/99/99 99:99:99.999",{'autoUnmask':true});
$("input[name=fileTrsmtStartHMS]").inputmask("9999/99/99 99:99:99.999",{'autoUnmask':true});
init(key,detail);
$("#btn_previous").click(function() {
goNav(returnUrl); //LIST로 이동
});
});
</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_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">리모트파일 전송결과 상세내역</div>
<form id="ajaxForm">
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">전송 거래로그 ID</th><td><input type="text" name="fileTrsmtLogID"/> </td>
<th style="width:180px;">리모트 서버</th><td><input type="text" name="rmtNodeName"/> </td>
</tr>
<tr>
<th>EAI 디렉토리</th><td><input type="text" name="fileTrsmtPathName"/> </td>
<th>EAI 파일</th><td><input type="text" name="trsmtFileName"/> </td>
</tr>
<tr>
<th>리모트 디렉토리</th><td><input type="text" name="rmtFileTrsmtPathName"/> </td>
<th>리모트 파일</th><td><input type="text" name="rmtTrsmtFileName"/> </td>
</tr>
<tr>
<th>업무구분</th><td><input type="text" name="bjobBzwkName"/> </td>
<th>대외기관</th><td><input type="text" name="osidInstiName"/> </td>
</tr>
<tr>
<th>파일크기</th><td><input type="text" name="fileTrsmtSize"/> </td>
<th>전송시간</th><td><input type="text" name="fileTrsmtStartHMS"/> </td>
</tr>
<tr>
<th>전송결과</th><td><input type="text" name="ndmRspnsCd"/> </td>
<th>기동유형</th><td><input type="text" name="fileTrsmtStartPtrnName"/> </td>
</tr>
<tr id="error" style="display:none;">
<th>장애내용</th><td colspan="3"><input type="text" name="ndmRspnsMsgCtnt"/> </td>
</tr>
<tr>
<th>업무코드(명)</th><td><input type="text" name="applCd"/> </td>
<th>업무담당자</th><td><input type="text" name="bzwkRsEmpName"/> </td>
</tr>
<tr>
<th>등록일시</th><td><input type="text" name="thisMsgRegiHMS"/> </td>
<th>등록자</th><td><input type="text" name="thisMsgRegsntID"/> </td>
</tr>
</table>
<table id="ndmapi" class="table_row" cellspacing="0" style="display:none;" >
<tr>
<th style="width:180px;">Process Name</th><td><input type="text" name="processName"/> </td>
<th style="width:180px;">Process Number</th><td><input type="text" name="processNumber"/> </td>
</tr>
<tr>
<th>Copy Start Time</th><td><input type="text" name="copyStartTime"/> </td>
<th>Copy Stop Time</th><td><input type="text" name="copyStopTime"/> </td>
</tr>
<tr>
<th>Elapsed Time</th><td><input type="text" name="elapsedTime"/> </td>
<th>Completion Code</th><td><input type="text" name="completionCode"/> </td>
</tr>
<tr>
<th>Record ID</th><td><input type="text" name="recordID"/> </td>
<th>Message ID</th><td><input type="text" name="messageID"/> </td>
</tr>
<tr>
<th>Message Short Text</th><td><input type="text" name="messageShortText"/> </td>
<th>Step Name</th><td><input type="text" name="stepName"/> </td>
</tr>
<tr>
<th>Submit Node</th><td><input type="text" name="submitNode"/> </td>
<th>Submit ID</th><td><input type="text" name="submitID"/> </td>
</tr>
<tr>
<th>Local Node Name</th><td><input type="text" name="localNodeName"/> </td>
<th>Remote Node Name</th><td><input type="text" name="remoteNodeName"/> </td>
</tr>
<tr>
<th>Source File Name</th><td><input type="text" name="sourceFileName"/> </td>
<th>Source File Total Size</th><td><input type="text" name="sourceFileTotalSize"/> </td>
</tr>
<tr>
<th>Destination File Name</th><td><input type="text" name="destinationFileName"/> </td>
<th>Destination File Total Size</th><td><input type="text" name="destinationFileTotalSize"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,303 @@
<%@ 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"/>
<script language="javascript" >
var urlView = '<c:url value="/bap/transaction/transactionWaitMan.view" />';
var url = '<c:url value="/bap/transaction/transactionWaitMan.json" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function zeroToStr(str) {
if ( str == 0 )
return "";
else
return str;
}
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('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if ( typeof callback === 'function' ) {
callback();
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function list() {
// 송수신 시작 시간
var start1 = zeroToStr($("input[name=searchStartYYYYMMDD1]").val() + $("input[name=searchStartHHMM1]").val());
var end1 = zeroToStr($("input[name=searchEndYYYYMMDD1]").val() + $("input[name=searchEndHHMM1]").val());
// 송수신 종료시간
var start2 = zeroToStr($("input[name=searchStartYYYYMMDD2]").val() + $("input[name=searchStartHHMM2]").val());
var end2 = zeroToStr($("input[name=searchEndYYYYMMDD2]").val() + $("input[name=searchEndHHMM2]").val());
// 송수신 시작시간
$("input[name=searchStartTime1]").val(start1);
$("input[name=searchEndTime1]").val(end1);
// 송수신 종료시간
$("input[name=searchStartTime2]").val(start2);
$("input[name=searchEndTime2]").val(end2);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url: url, postData: postData, page: "1" }).trigger("reloadGrid");
}
$(document).ready(function() {
// 송수신 시작, 종료시간 셋팅.
// $("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask({ alias: "datetime", autoUnmask: true, inputFormat: "yyyy-mm-dd", outputFormat: "yyyymmdd" });
// $("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask({ alias: "datetime", autoUnmask: true, inputFormat: "HH:MM:ss", outputFormat: "HHMMss" });
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").each(function() {
if( $(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "yyyymmdd" ) {
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM1],input[name=searchStartHHMM2]").each(function() {
if( $(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss" ) {
$(this).val('000000');
}
});
$("input[name=searchEndHHMM1],input[name=searchEndHHMM2]").each(function() {
if( $(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss" ) {
$(this).val('235959');
}
});
// End 송수신 시작, 종료시간 셋팅.
// grid 생성.
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무구분코드',
'업무구분명',
'대외기관 구분코드',
'대외기관명',
'송수신 파일 디렉토리명',
'송수신 파일명',
'작업메시지 일정ID',
'메시지처리 우선순위',
'송수신 시작시각',
'송수신 종료시각',
'작업요청 메시지<br>생성시각',
'수정일'
],
colModel: [
{ name : 'BJOBDMNDMSGID' , align:'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align:'left' , hidden:true },
{ name : 'BJOBBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BJOBBZWKDSTCDNAME' , align:'left' },
{ name : 'OSIDINSTIDSTCD' , align:'left' },
{ name : 'OSIDINSTIDSTCDNAME' , align:'left' },
{ name : 'SNDRCVFILEDIRNAME' , align:'left' , hidden:true },
{ name : 'SNDRCVFILENAME' , align:'left' , },
{ name : 'BJOBMSGSCHEID' , align:'left' , hidden:true },
{ name : 'MSGPRCSSPRITY' , align:'right' },
{ name : 'SNDRCVSTARTHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'SNDRCVENDHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'BJOBDMNDMSGCRETNHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'THISMSGAMNDHMS' , align:'center' , formatter: timeStampFormat , hidden:true }
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
gridview: true,
multiselect: 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)
}
$(".ui-jqgrid-labels").css("height", "20px"); // grid header 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("height", "auto"); // grid header cell 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("margin-bottom", "5px"); // grid header cell 외부여백
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobMsgScheID = rowData['BJOBMSGSCHEID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var url = urlView;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//key값
url = url + '&bjobMsgScheID='+bjobMsgScheID;
url = url + '&bjobDmndSubMsgID='+bjobDmndSubMsgID;
//검색값
url = url + '&'+getSearchUrl();
console.log(url)
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
list();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "작업대기 관리", merge);
return false;
});
$("#btn_delete").click(function() {
var selRowCnt = $("#grid").jqGrid("getGridParam", "selarrrow").length;
if ( selRowCnt == 0 ) {
alert("선택된 작업대기 항목이 없습니다.");
return false;
}
if (!confirm( "삭제하시겠습니까?" ) ) return false;
var retMessage = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
var postData = new Array();
var bjobDmndMsgID = $("#grid").getRowData(rowId).BJOBDMNDMSGID;
var bjobDmndSubMsgID = $("#grid").getRowData(rowId).BJOBDMNDSUBMSGID;
postData.push({ name: "bjobDmndMsgID", value: bjobDmndMsgID });
postData.push({ name: "bjobDmndSubMsgID", value: bjobDmndSubMsgID });
postData.push({ name: "cmd", value: "DELETE" });
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {},
error: function(e) {
retMessage = e.responseText
}
});
});
if ( retMessage != "" ) {
alert(retMessage);
} else {
list();
alert("삭제 되었습니다.");
}
});
buttonControl();
init(list);
});
</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_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<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:180px;">업무구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div><!-- end.select-style -->
</td>
</tr>
<tr>
<th style="width:180px;">대외기관 구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">송수신파일명</th>
<td>
<input type="text" name="searchSndrcvFileName" value="${param.searchSndrcvFileName}">
</td>
</tr>
<tr>
<th style="width:180px;">송수신 시작 시각</th>
<td>
<input type="text" name="searchStartYYYYMMDD1" maxlength="10" size="10" style="width:80px;" value="${param.searchStartYYYYMMDD1}">
<input type="text" name="searchStartHHMM1" maxlength="8" size="8" style="width:80px;" value="${param.searchStartHHMM1}"> ~
<input type="text" name="searchEndYYYYMMDD1" maxlength="10" size="10" style="width:80px;" value="${param.searchEndYYYYMMDD1}">
<input type="text" name="searchEndHHMM1" maxlength="8" size="8" style="width:80px;" value="${param.searchEndHHMM1}">
<input type="hidden" name="searchStartTime1" value="${param.searchStartTime1}">
<input type="hidden" name="searchEndTime1" value="${param.searchEndTime1}">
</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,323 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/bap/transaction/transactionWaitMan.json" />';
var isDetail = false;
// 송수신 시작, 종료시간 입력값이 0일때 ""로 변환하는 함수.
function zeroToStr(str) {
if ( str == 0 )
return "";
else
return str;
}
function isValid() {
var startYmd = $('input[name=sndrcvStartYMD]').val();
var startHms = $('input[name=sndrcvStartHMS]').val();
var startYmdHms;
var endYmd = $('input[name=sndrcvEndYMD]').val();
var endHms = $('input[name=sndrcvEndHMS]').val();
var endYmdHms;
if ( startYmd == null ) {
alert("송수신 시작 날짜를 입력하여 주십시요.");
$('input[name=sndrcvStartYMD]').focus();
return false;
}
if ( startHms == null ) {
alert("송수신 시작 시간을 입력하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
if ( endYmd == null ) {
alert("송수신 종료 날짜를 입력하여 주십시요.");
$('input[name=sndrcvEndYMD]').focus();
return false;
}
if ( endHms == null ) {
alert("송수신 종료 시간을 입력하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
startYmdHms = startYmd + startHms;
endYmdHms = endYmd + endHms;
if ( startYmdHms > endYmdHms ) {
alert("송수신 시작, 종료시각을 확인해 주십시요.");
return false;
}
if ( endHms == null ) {
alert("송수신 종료 시간을 입력하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
if ( $('input[name=msgPrcssPrity]').val() == null ) {
alert("메시지처리 우선순위를 입력하여 주십시요.");
$('input[name=msgPrcssPrity]').focus();
return false;
}
return true;
}
function init(key, key2, callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if ( typeof callback === 'function' ) {
callback(key, key2);
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(key, key2) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd: 'DETAIL',
bjobMsgScheID: key,
bjobDmndSubMsgID: key2
},
success: function(json) {
console.log(json)
var detail = json.detail;
$("input,select").each(function() {
try {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
} catch(e) {}
});
$("select[name=bjobBzwkDstcd] option").not(":selected").remove();
$("select[name=osidInstiDstcd] option").not(":selected").remove();
},
error: function(e) {
alert("detail error : " + e.responseText);
}
});
}
$(document).ready(function() {
//$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=msgPrcssPrity]").inputmask("9999",{'autoUnmask':true});
var returnUrl = getReturnUrlForReturn();
var key = "${param.bjobMsgScheID}";
var key2 = "${param.bjobDmndSubMsgID}";
if ( key != "" && key != "null" ) {
isDetail = true;
}
init(key, key2, detail);
$("#btn_modify").click(function() {
if ( !isValid() ) return;
var sndrcvStart = zeroToStr($("input[name=sndrcvStartYMD]").val() + $("input[name=sndrcvStartHMS]").val());
var sndrcvEnd = zeroToStr($("input[name=sndrcvEndYMD]").val() + $("input[name=sndrcvEndHMS]").val());
$("input[name=sndrcvStart]").val(sndrcvStart);
$("input[name=sndrcvEnd]").val(sndrcvEnd);
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({name: "cmd", value: "UPDATE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name: "cmd",
value: "DELETE"
});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
console.log(returnUrl);
goNav(returnUrl);//LIST로 이동
});
$(".focusOut").click(function(){
document.body.focus();
});
buttonControl(key);
titleControl(key);
});
</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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">작업대기</div>
<form id="ajaxForm">
<input type="hidden" name="bjobDmndMsgID" />
<input type="hidden" name="bjobDmndSubMsgID" "/>
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">업무구분</th>
<td>
<div class="select-style">
<select name="bjobBzwkDstcd" value="${param.bjobBzwkDstcd}" style="width:100%"></select>
</div>
</td>
</tr>
<tr>
<th>대외기관구분</th>
<td>
<div class="select-style">
<select name="osidInstiDstcd" value="${param.osidInstiDstcd}" style="width:100%"></select>
</div>
</td>
</tr>
<tr>
<th>작업유형구분</th>
<td>
<input type="text" name="bjobPtrnDstcd" value="${param.bjobPtrnDstcd}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>전문재시도수</th>
<td>
<input type="text" name="telgmReTralCnt" value="${param.telgmReTralCnt}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>작업메시지 일정ID</th>
<td>
<input type="text" name="bjobMsgScheID" value="${param.bjobMsgScheID}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>송수신 시작시각</th>
<td>
<input type="text" name="sndrcvStartYMD" maxlength=10 value="${param.sndrcvStartYMD}" size="10">
<input type="text" name="sndrcvStartHMS" maxlength=9 value="${param.sndrcvStartHMS}" size="8">
<input type="hidden" name="sndrcvStart" >
</td>
</tr>
<tr>
<th>송수신 종료시각</th>
<td>
<input type="text" name="sndrcvEndYMD" maxlength=10 value="${param.sndrcvEndYMD}" size="10">
<input type="text" name="sndrcvEndHMS" maxlength=9 value="${param.sndrcvEndHMS}" size="8">
<input type="hidden" name="sndrcvEnd" >
</td>
</tr>
<tr>
<th>송수신 파일 디렉토리명</th>
<td>
<input type="text" name="sndrcvFileDirName" value="${param.sndrcvFileDirName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>송수신 파일명</th>
<td>
<input type="text" name="sndrcvFileName" value="${param.sndrcvFileName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>백업 송수신 파일명</th>
<td>
<input type="text" name="bkupSndrcvFileName" value="${param.bkupSndrcvFileName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>메시지처리 우선순위</th>
<td>
<input type="text" name="msgPrcssPrity" maxlength=3 value="${param.msgPrcssPrity}" size="3">
</td>
</tr>
<tr>
<th>헤더정보명</th>
<td>
<input type="text" name="hdrInfoName" value="${param.hdrInfoName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>작업요청메시지 생성시각</th>
<td>
<input type="text" name="bjobDmndMsgCretnYMD" maxlength=10 value="${param.bjobDmndMsgCretnYMD}" size="10" style="background-color:#E6E6E6;" readOnly class="focusOut">
<input type="text" name="bjobDmndMsgCretnHMS" maxlength=8 value="${param.bjobDmndMsgCretnHMS}" size="8" style="background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div>
</body>
</html>
@@ -0,0 +1,201 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<script language="javascript" >
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask({
mask: "9999-99-99",
inputFormat: "yyyy-mm-dd",
autoUnmask: true
});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask({
mask: "99:99:99",
placeholder: "HH:MM:ss",
autoUnmask: true
});
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "yyyymmdd"){
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss"){
$(this).val(getStartTime());
}
});
$("input[name=searchEndHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss"){
$(this).val(getEndTime());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
gridPostData['searchStartDateTime'] = $("input[name=searchStartYYYYMMDD]").val() + $("input[name=searchStartHHMM]").val();
gridPostData['searchEndDateTime'] = $("input[name=searchEndYYYYMMDD]").val() + $("input[name=searchEndHHMM]").val();
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/common/acl/audit/auditLogMan.json" />',
postData : gridPostData,
colNames : [ '<%= localeMessage.getString("auditLogMan.logSeqNo") %>',
'<%= localeMessage.getString("auditLogMan.logamndHMS") %>',
'<%= localeMessage.getString("auditLogMan.userId") %>',
'<%= localeMessage.getString("auditLogMan.systemCode") %>',
'<%= localeMessage.getString("auditLogMan.logTypeText") %>',
'<%= localeMessage.getString("auditLogMan.command") %>',
'<%= localeMessage.getString("auditLogMan.remoteAddress") %>',
'<%= localeMessage.getString("auditLogMan.parameters") %>' ],
colModel:[
{ name : 'id' , align:'left' , width:80},
{ name : 'LOGAMNDHMS' , align:'left', width:80},
{ name : 'USERID' , align:'left', width:50},
{ name : 'systemCode' , align:'left', width:50},
{ name : 'LOGTYPETEXT', align:'left' },
{ name : 'command' , align:'left', width:50 },
{ name : 'REMOTEADDRESS', align:'left', width:80},
{ name : 'PARAMETERS' , align:'left', hidden:true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
},
ondblClickRow: function(logSeqNo) {
var rowData = $(this).getRowData(logSeqNo);
var logSeqNo = rowData['id'];
var url = '<c:url value="/common/acl/audit/auditLogMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&logSeqNo='+logSeqNo;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData['searchStartDateTime'] = $("input[name=searchStartYYYYMMDD]").val() + $("input[name=searchStartHHMM]").val();
postData['searchEndDateTime'] = $("input[name=searchEndYYYYMMDD]").val() + $("input[name=searchEndHHMM]").val();
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
function getStartTime(){
return "000000";
}
function getEndTime(){
var now = new Date();
now.setSeconds(now.getSeconds()+50)
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
tm += right("0" + now.getSeconds(), 2)
return tm;
}
</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_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title"><%= localeMessage.getString("auditLogMan.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("auditLogMan.logamndHMS") %></th>
<td>
<input type="text" name="searchStartYYYYMMDD" value="" size="10" style="width:100px; border:1px solid #ebebec;">
<input type="text" name="searchStartHHMM" value="" size="8" style="width:100px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" size="10" style="width:100px; border:1px solid #ebebec;">
<input type="text" name="searchEndHHMM" value="" size="8" style="width:100px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDateTime" />
<input type="hidden" name="searchEndDateTime" />
</td>
<th style="width:180px;"><%= localeMessage.getString("auditLogMan.userId") %></th>
<td><input type="text" name="searchUserId" name="searchUserId" value="${param.searchUserId}" style="width:100%"></td>
<th style="width:180px;"><%= localeMessage.getString("auditLogMan.systemCode") %></th>
<td><div class = "select-style">
<select id="searchSystemCode" name="searchSystemCode">
<option value=""><%= localeMessage.getString("combo.all")%></option>
<c:forEach items="${serviceTypeCombos }" var="serviceTypeCombo">
<option value="${serviceTypeCombo.code }">${serviceTypeCombo.codename }</option>
</c:forEach>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("auditLogMan.logTypeText") %></th>
<td>
<input type="text" value="" name="searchLogTypeText" checked="checked"/>
</td>
<th style="width:180px;"><%= localeMessage.getString("auditLogMan.remoteAddress") %></th>
<td><input type="text" name="searchRemoteAddress" value="${param.searchRemoteAddress}" style="width:100%"></td>
<th style="width:180px;"></th>
<td>
</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,134 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<%@page import="com.eactive.eai.rms.common.util.CommonConstants"%>
<%
String ServerUrl = "server.url" + CommonConstants.SERVER_TYPE;
%>
<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="/common/acl/audit/auditLogMan.json" />';
var url_view = '<c:url value="/common/acl/audit/auditLogMan.view" />';
var isDetail = false;
function isValid(){
if($('input[name=logSeqNo]').val() == ""){
alert("<%= localeMessage.getString("role.checkRequired1") %>");
return false;
}
return true;
}
function init(key,callback){
if(typeof callback === 'function') {
callback(key);
}
}
function detail(key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', logSeqNo : key},
success:function(json){
var data = json;
$('#logSeqNo').val(data.id);
$('#logamndHMS').val(data.lastModifiedDate);
$('#userId').val(data.userId);
$('#systemCode').val(data.systemCode);
$('#logTypeText').val(data.logTypeText);
$('#remoteAddress').val(data.remoteAddress);
$('#logMsg').val(data.message);
$('#logSubMsg').val(data.command);
$('#parameters').val(data.parameters);
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.logSeqNo}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
});
</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_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL"/>
</div>
<div class="title"><%= localeMessage.getString("auditLogMan.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;"><%= localeMessage.getString("auditLogMan.logSeqNo") %></th><td><input type="text" id="logSeqNo" name="logSeqNo" readonly="readonly"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("auditLogMan.logamndHMS") %></th><td><input type="text" id="logamndHMS" name="logamndHMS" readonly="readonly"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("auditLogMan.userId") %></th><td><input type="text" id="userId" name="userId" readonly="readonly"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("auditLogMan.systemCode") %></th><td><input type="text" id="systemCode" name="systemCode" readonly="readonly"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("auditLogMan.logTypeText") %></th><td><input type="text" id="logTypeText" name="logTypeText" readonly="readonly"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("auditLogMan.remoteAddress") %></th><td><input type="text" id="remoteAddress" name="remoteAddress" readonly="readonly"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("auditLogMan.command") %></th><td><input type="text" id="logSubMsg" name="logSubMsg" readonly="readonly"/></td>
</tr>
<tr height="100px">
<th><%= localeMessage.getString("auditLogMan.parameters") %></th><td><textarea id="parameters" name="parameters" style="width:100%;height:200px" readonly="readonly"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,183 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/common/acl/bizKeyTran/bizKeyTranMan.json" />';
var url_view = '<c:url value="/common/acl/bizKeyTran/bizKeyTranMan.view" />';
var url_excel= '<c:url value="/common/acl/bizKeyTran/bizKeyTranMan.excel" />';
var selectName = "searchEaiBzwkDstcd,searchApCode";
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json'}).trigger("reloadGrid");
}
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=searchEaiBzwkDstcd]")).setNoValueInclude(true)
.setNoValue("", "<%= localeMessage.getString("combo.all")%>").setData(json.listEAICodeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchApCode]")).setNoValueInclude(true)
.setNoValue("", "<%= localeMessage.getString("combo.all")%>").setData(json.listApCodeRows).setFormat(codeName3OptionFormat).rendering();
setSearchable(selectName);
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("bizKeyTranMan.eaiBzwkDstcd")%>',
'<%= localeMessage.getString("bizKeyTranMan.apCode")%>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center'},
{ name : 'APCODE' , align:'center' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&eaiBzwkDstcd='+rowData['EAIBZWKDSTCD'];
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
init(detail);
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'<%= localeMessage.getString("bizKeyTranMan.title")%>');
return false;
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&searchEaiBzwkDstcd=';
goNav(url2);
});
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" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_excel" level="W"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="W"/> --%>
<%-- <img src="<c:url value="/img/btn_new.png" />" alt="" id="btn_new" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("bizKeyTranMan.title")%></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th class="search_td_title" width="150px"><%= localeMessage.getString("bizKeyTranMan.eaiBzwkDstcd")%></th>
<td style="width:30%">
<div class = "select-style">
<select name = "searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}"/>
</div>
<th class="search_td_title" width="150px"><%= localeMessage.getString("bizKeyTranMan.apCode")%></th>
<td>
<div class = "select-style">
<select name = "searchApCode" value="${param.searchApCode}"/>
</div>
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" width="100%"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,173 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/common/acl/bizKeyTran/bizKeyTranMan.json" />';
var url_view = '<c:url value="/common/acl/bizKeyTran/bizKeyTranMan.view" />';
var isDetail = false;
var selectName = "eaiBzwkDstcd,apCode";
function init(key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=eaiBzwkDstcd]")).setData(json.listEAICodeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=apCode]")).setData(json.listApCodeRows).setFormat(codeName3OptionFormat).rendering();
setSearchable(selectName);
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
eaiBzwkDstcd : key
},
success : function(json) {
var data = json;
$("select[name=eaiBzwkDstcd]").val(data["EAIBZWKDSTCD"].trim()).attr('disabled','disabled');
$("select[name=apCode]").val(data["APCODE"]);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.eaiBzwkDstcd}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( '<%=localeMessage.getString("common.checkModify")%>' ) != true ) return;
} else {
if ( confirm( '<%=localeMessage.getString("common.checkInsert")%>' ) != true ) return;
}
$("select[name=eaiBzwkDstcd]").removeAttr('disabled');
$("select[name=apCode]").removeAttr('disabled');
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if (confirm("<%= localeMessage.getString("common.confirmMsg")%>") != true)
return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "eaiBzwkDstcd" , value: key});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.deleteMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
});
</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">
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%= localeMessage.getString("bizKeyTranMan.title2")%></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th width="30%" class="detail_title"><%= localeMessage.getString("bizKeyTranMan.eaiBzwkDstcd")%></th>
<td>
<div class = "select-style">
<select name = "eaiBzwkDstcd" ></select>
</div>
</td>
</tr>
<tr>
<th class="detail_title"><%= localeMessage.getString("bizKeyTranMan.apCode")%></th>
<td>
<div class = "select-style">
<select name = "apCode"></select>
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,374 @@
<%@ 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" %>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<script>
var url = '<c:url value="/common/acl/deploy/deployResourceSearchMan.json" />';
var url_view = '<c:url value="/common/acl/deploy/deployResourceSearchMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#sourceGrid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("deployResourceSearchMan.resourceApp") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.resourceType") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.resourceName") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.resourceDesc") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.resourcePath") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.interfaceName") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.interfaceDesc") %>'
, '<%= localeMessage.getString("deployResourceSearchMan.userId") %>'
, 'downloadable'
],
colModel:[
{ name : 'resourceApp' , align:'center', width: 80}
, { name : 'resourceType' , align:'center', width: 100}
, { name : 'resourceName' , align:'left', width: 250}
, { name : 'resourceDesc' , align:'left', width: 250}
, { name : 'resourcePath' , hidden: true }
, { name : 'interfaceName', align:'center' }
, { name : 'interfaceDesc', hidden: true }
, { name : 'userId' , align:'center', width: 100}
, { name : 'downloadable' , hidden: true},
],
jsonReader: {
repeatitems:false
},
rowNum : 10000,
height: "650",
viewrecords: true,
multiselect: true,
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
beforeRequest: function() {
$("div.ui-jqgrid-hbox table thead tr th input[type='checkbox']").remove();
},
loadComplete:function (d){
var ids = $(this).jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var rowId = ids[i];
var rowData = $(this).jqGrid('getRowData', rowId);
if (rowData.downloadable === 'false') {
$("#" + rowId).find("input[type=checkbox]").attr("disabled", true);
}
}
$("#sourceGrid").tuiTableRowSpan("6");
// rowspan 된 영역 클릭시 해당 record 모두 선택되도록
$('#sourceGrid').on('click', 'tr.jqgrow td:nth-child(7)', function() {
var rowId = $(this).closest('tr').attr('id');
var rowspan = $(this).attr('rowspan') || 1;
rowspan = parseInt(rowspan, 10);
// 현재 클릭된 셀부터 rowspan 개수만큼의 행 선택
var currentRow = $(this).closest('tr');
for (var i = 0; i < rowspan; i++) {
var currentRowId = currentRow.attr('id');
if (!currentRow.find('input[type=checkbox]').is(':disabled') && rowId != currentRowId) {
// 체크박스가 disabled되지 않았다면 해당 행 선택
$("#sourceGrid").jqGrid('setSelection', currentRowId, true);
}
currentRow = currentRow.next();
}
});
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
beforeSelectRow: function (rowid, e) {
var cb = $('#jqg_sourceGrid_' + rowid);
if (cb.is(':disabled')) {
return false;
}
},
onCellSelect: function (rowid, iCol, cellcontent, e) {
}
});
jQuery("#sourceGrid").jqGrid( 'setGridWidth', $("#sourceGrid_wrapper").width());
$('#targetGrid').jqGrid({
datatype:"json",
colNames:[
'<%= localeMessage.getString("deployResourceSearchMan.resourceApp") %>',
'<%= localeMessage.getString("deployResourceSearchMan.resourceType") %>',
'<%= localeMessage.getString("deployResourceSearchMan.resourceName") %>',
'<%= localeMessage.getString("deployResourceSearchMan.resourcePath") %>',
'<%= localeMessage.getString("deployResourceSearchMan.deleteBtn") %>'
],
colModel:[
{ name : 'resourceApp', hidden: true},
{ name : 'resourceType', align:'center', width: 80},
{ name : 'resourceName', align:'left' , width: 150},
{ name : 'resourcePath', align:'left' , width: 150},
{ name : 'deleteBtn', align:'center', width: 50,
formatter: (cellvalue, options, rowObject) => {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
},
unformat: (cellvalue, options, rowObject) => {
return "";
}
}
],
jsonReader: {
repeatitems:false
},
rowNum : 10000,
height: 650,
viewrecords: true,
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 (data) {
},
loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onSelectRow : function(rowid, status){
},
onCellSelect: function (rowid, iCol, cellcontent, e) {
}
});
jQuery("#targetGrid").jqGrid( 'setGridWidth', $("#targetGrid_wrapper").width());
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST");
$("#sourceGrid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
$('#sourceGrid').on('click', 'tr.jqgrow td:nth-child(7)', function() {
var rowId = $(this).closest('tr').attr('id');
var rowspan = $(this).attr('rowspan') || 1;
rowspan = parseInt(rowspan, 10);
// 현재 클릭된 셀부터 rowspan 개수만큼의 행 선택
var currentRow = $(this).closest('tr');
for (var i = 0; i < rowspan; i++) {
var currentRowId = currentRow.attr('id');
if (!currentRow.find('input[type=checkbox]').is(':disabled') && rowId != currentRowId) {
// 체크박스가 disabled되지 않았다면 해당 행 선택
$("#sourceGrid").jqGrid('setSelection', currentRowId, true);
}
currentRow = currentRow.next();
}
});
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#addBtn").click(function(){
var selectedRows = $("#sourceGrid").jqGrid('getGridParam', 'selarrrow'); // SourceGrid에서 선택된 행의 ID 배열
for(var i = 0; i < selectedRows.length; i++) {
var rowData = $("#sourceGrid").jqGrid('getRowData', selectedRows[i]);
var key = rowData.resourceName;
// TargetGrid에서 동일한 키를 가진 행이 있는지 확인
var isDuplicate = false;
var targetGridData = $("#targetGrid").jqGrid('getRowData');
for (var j = 0; j < targetGridData.length; j++) {
if (targetGridData[j].resourceName === key) {
isDuplicate = true;
break;
}
}
// 중복되지 않은 경우에만 TargetGrid에 행 추가
if (!isDuplicate) {
$("#targetGrid").jqGrid('addRowData', rowData.id, rowData);
} else {
//alert('중복된 항목이 존재합니다: ' + key);
}
}
var ids = $('#targetGrid').jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var rowid = ids[i];
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#targetGrid').jqGrid('delRowData', rowId);
});
}
});
$("#btn_download").click(function() {
var targetGridData = $("#targetGrid").jqGrid('getRowData');
const postData = new FormData();
postData.append('cmd', 'DOWNLOAD_RESOURCES_ZIP');
postData.append('gridData', JSON.stringify(targetGridData));
postData.append('serviceType', sessionStorage["serviceType"]);
fetch(url, {
method: 'POST',
// headers: {
// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
// },
body: postData
})
.then(response => {
const contentDisposition = response.headers.get('Content-Disposition');
let filename = 'noname.txt';
if (contentDisposition) {
const filenameMatch = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(contentDisposition);
if (filenameMatch && filenameMatch[1]) {
filename = filenameMatch[1].replace(/['"]/g, '');
}
}
return response.blob().then(blob => {
return { blob, filename };
});
})
.then(({ blob, filename }) => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
document.body.append(a);
a.click();
a.remove();
window.URL.revokeObjectURL(url);
})
.catch(error => console.error('Download error:', error));
});
buttonControl();
$(window).on('resize.jqGrid', function () {
jQuery("#sourceGrid").jqGrid( 'setGridWidth', $("#sourceGrid_wrapper").width());
jQuery("#targetGrid").jqGrid( 'setGridWidth', $("#targetGrid_wrapper").width());
});
});
</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">
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
</div>
<div class="title"><%= localeMessage.getString("deployResourceSearchMan.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("deployResourceSearchMan.resourceApp") %></th>
<td><input type="text" name="searchResourceApp" value="${param.searchResourceApp}"></td>
<th style="width:180px;"><%= localeMessage.getString("deployResourceSearchMan.resourceName") %></th>
<td><input type="text" name="searchResourceName" value="${param.searchResourceName}"></td>
<th style="width:180px;"><%= localeMessage.getString("deployResourceSearchMan.resourceDesc") %></th>
<td><input type="text" name="searchResourceDesc" value="${param.searchResourceDesc}"></td>
</tr>
<tr >
<th style="width:180px;"><%= localeMessage.getString("deployResourceSearchMan.resourceType") %></th>
<td>
<div class="select-style">
<select name="searchResourceType" value="${param.searchResourceType}">
<option value="">ALL</option>
<option value="interface">interface</option>
<option value="transform">transform</option>
<option value="layout">layout</option>
</select>
</div>
</td>
<th style="width:180px;"><%= localeMessage.getString("deployResourceSearchMan.interfaceName") %></th>
<td><input type="text" name="searchInterfaceName" value="${param.searchInterfaceName}"></td>
<th style="width:180px;"><%= localeMessage.getString("deployResourceSearchMan.interfaceDesc") %></th>
<td><input type="text" name="searchInterfaceDesc" value="${param.searchInterfaceDesc}"></td>
</tr>
</tbody>
</table>
<div style="text-align: right; margin-bottom: 15px;">
<button type="button" class="cssbtn" id="btn_download" level="W" ><i class="material-icons">download</i> Download</button>
</div>
<div style="display: flex; justify-content: space-between;">
<div id="sourceGrid_wrapper" style="width: 65%;">
<table id="sourceGrid" ></table>
</div>
<div style="width: 5%; text-align: center;">
<button type="button" class="cssbtn" id="addBtn" level="W" style="min-width: 50px; margin-bottom: 2px; margin-top: 90px; display: inline-block;">
<i class="material-icons">keyboard_double_arrow_right</i>
</button>
</div>
<div id="targetGrid_wrapper" style="width: 30%;">
<table id="targetGrid" ></table>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,146 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/common/acl/deploy/ruleDeployJobMan.json" />';
var url_view = '<c:url value="/common/acl/deploy/ruleDeployJobMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST");
gridPostData["sortName"] ='SCHEDULEDDATETIME';
gridPostData["sortOrder"]='DESC';
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("ruleDeployJobMan.jobId") %>',
'<%= localeMessage.getString("ruleDeployJobMan.jobName") %>',
'<%= localeMessage.getString("ruleDeployJobMan.serviceType") %>',
'<%= localeMessage.getString("ruleDeployJobMan.schduledDateTime") %>',
'<%= localeMessage.getString("ruleDeployJobMan.lastJobTime") %>',
'<%= localeMessage.getString("ruleDeployJobMan.status") %>',
'<%= localeMessage.getString("ruleDeployJobMan.userId") %>'
],
colModel:[
{ name : 'JOBID', align:'left', sortable:false, hidden:true },
{ name : 'JOBTITLE', align:'left', sortable:false },
{ name : 'SERVICETYPE', align:'center', sortable:false },
{ name : 'SCHEDULEDDATETIME', align:'center', sortable:false, formatter:dateTimeFormater },
{ name : 'LASTJOBTIME', align:'center', sortable:false, formatter:dateTimeFormater },
{ name : 'STATUS', align:'center', sortable:false },
{ name : 'USERID', align:'center', sortable:false }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
sortname : '${param.sortName}',
sortorder : '${param.sortOrder}',
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=' + $(this).getGridParam("page");
url2 += '&returnUrl=' + getReturnUrl();
url2 += '&menuId=' + '${param.menuId}';
url2 += '&sortName=' + $("#grid").getGridParam("sortname");
url2 += '&sortOrder=' + $("#grid").getGridParam("sortorder");
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&jobId=' + rowData['JOBID'];
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
function dateTimeFormater(cellvalue, options, rowObject){ //20190513134307
if (cellvalue.trim().length < 14) return "";
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2);
return display;
}
</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">
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
</div>
<div class="title"><%= localeMessage.getString("ruleDeployJobMan.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("ruleDeployJobMan.jobName") %></th>
<td><input type="text" name="searchJobTitle" value="${param.searchJobTitle}"></td>
<th style="width:180px;"><%= localeMessage.getString("ruleDeployJobMan.status") %></th>
<td>
<div class="select-style">
<select name="searchStatus" value="${param.searchStatus}">
<option value=""><%= localeMessage.getString("combo.all") %></option>
<option value="standby"><%= localeMessage.getString("ruleDeployJobMan.status.standby") %></option>
<option value="finished"><%= localeMessage.getString("ruleDeployJobMan.status.finished") %></option>
<option value="failed"><%= localeMessage.getString("ruleDeployJobMan.status.failed") %></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,234 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/common/acl/deploy/ruleDeployJobMan.json" />';
var url_view = '<c:url value="/common/acl/deploy/ruleDeployJobMan.view" />';
var isDetail = false;
var lastsel2;
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
colNames:['<%= localeMessage.getString("ruleDeployJobDetail.fileName") %>',
'<%= localeMessage.getString("ruleDeployJobDetail.bizCode") %>',
'<%= localeMessage.getString("ruleDeployJobDetail.ruleType") %>'
],
colModel:[
{ name : 'FILENAME', align:'left', sortable:false },
{ name : 'BIZCODE', align:'center', sortable:false },
{ name : 'RULETYPE', align:'center', sortable:false }
],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
height : '500',
autowidth : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '1000');
}
function init( key, callback) {
if (typeof callback === 'function') {
callback( key);
}
}
function detail( key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
jobId : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("#ajaxForm input[type!=checkbox],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(detail[name.toUpperCase()]);
});
$("#grid")[0].addJSONData(data);
formatDateTime();
},
error : function(e) {
alert(e.responseText);
}
});
}
function formatDateTime() {
var cellvalue = $("#scheduledDateTime").val();
if (cellvalue.length == 14) {
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2);
$("#scheduledDateTime").val(display);
}
cellvalue = $("#lastJobTime").val();
if (cellvalue.length == 14) {
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2);
$("#lastJobTime").val(display);
}
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.jobId}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init( key, detail);
$("#btn_delete").click(function() {
if(confirm("<%= localeMessage.getString("common.checkDelete") %>")){
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("<%= localeMessage.getString("common.deleteMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
}
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
buttonControl(key);
titleControl(key);
});
</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">
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<%-- <button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button> --%>
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW" style="display: none;" ><i class="material-icons">arrow_back</i><%=localeMessage.getString("button.previous")%></button>
</div>
<div class="title"><%= localeMessage.getString("ruleDeployJobDetail.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("ruleDeployJobMan.jobId") %></th>
<td><input type="text" name="jobId"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobMan.jobName") %></th>
<td><input type="text" name="jobTitle"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobMan.serviceType") %></th>
<td><input type="text" name="serviceType"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobMan.schduledDateTime") %></th>
<td><input type="text" name="scheduledDateTime" id="scheduledDateTime"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobMan.lastJobTime") %></th>
<td><input type="text" name="lastJobTime" id="lastJobTime"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobMan.userId") %></th>
<td><input type="text" name="userId"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobDetail.userIp") %></th>
<td><input type="text" name="userIp"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobMan.status") %></th>
<td><input type="text" name="status"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobDetail.failedCnt") %></th>
<td><input type="text" name="failedCnt"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("ruleDeployJobDetail.failedMsg") %></th>
<td><textarea name="failedMsg" rows="2"></textarea></td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,110 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<script language="javascript" >
var url ='<c:url value="/common/acl/menu/menuDBTableMan.json" />';
var url_view ='<c:url value="/common/acl/menu/menuDBTableMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['메뉴명',
'테이블명'
],
colModel:[
{ name : 'MENUNAME' , align:'left' ,sortable:false },
{ name : 'APPPATH' , align:'center' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">메뉴별 DB정보</div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">메뉴명</th>
<td><input type="text" name="searchName" value="${param.searchMenuName}"></td>
<th style="width:180px;">테이블명</th>
<td><input type="text" name="searchTblName" value="${param.searchTblName}"></td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+572
View File
@@ -0,0 +1,572 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<script language="javascript" >
var selectedMenuId = '0';
function init(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=displayYn]")).setData(json.displayYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnTypeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=appCode]")).setData(json.menuAppCdRows).setFormat(codeName3OptionFormat).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
function isValid(){
if($('input[name=menuId]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd1") %>");
return false;
}else if($('input[name=menuName]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd2") %>");
return false;
}else if($('input[name=parentMenuId]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd3") %>");
return false;
}else if($('textarea[name=menuUrl]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd4") %>");
return false;
}
var pmenu = $('input[name=parentMenuId]').val();
var menuId = $('input[name=menuId]').val();
var index = 0;
for(index=pmenu.length; index > 0 ; index--){
if ( 0 != pmenu.substr(index-1,1)){
break;
}
}
if (pmenu.substr(0,index) != menuId.substr(0,index)){
/*var r = confirm("상위메뉴ID 의 유효값("+pmenu.substr(0,index) +")과 메뉴ID("+menuId.substr(0,index)+") 의 유효값이\n"
+"일치 하지 않습니다.\n"
+ "그래도 저장 하시겠습니까?");
*/
var r = confirm(replaceMsg("<%=localeMessage.getString("menu.checkMsg1")%>", pmenu.substr(0,index),menuId.substr(0,index)));
if (r == false) return false;
}
return true;
}
function expand(){
var rowid = $('#tree').jqGrid('getGridParam','selrow');
var rowdata = $('#tree').jqGrid('getRowData',rowid);
// alert(JSON.stringify(rowdata));
if (rowdata["MENUID"] =="0"){
var rows = $('#tree').jqGrid('getGridParam','data');
for( var i=0;i<rows.length;i++){
$('#tree').jqGrid('expandNode',rows[i]);
$('#tree').jqGrid('expandRow',rows[i]);
}
}else{
//시작값 가져오기
var org = $("#tree").getDataIDs();
var start =0;
for(var i =0; i<org.length;i++){
if (org[i]==rowid){
start =i;
}
}
var rows = $('#tree').jqGrid('getGridParam','data');
var lvl = rowdata["level"];
for( var i=start;i<rows.length;i++){
if (rows[i]["level"] <= lvl && i != start){
break;
}
$('#tree').jqGrid('expandNode',rows[i]);
$('#tree').jqGrid('expandRow',rows[i]);
}
}
}
function collapse(){
var rowid = $('#tree').jqGrid('getGridParam','selrow');
var rowdata = $('#tree').jqGrid('getRowData',rowid);
if (rowdata["MENUID"] =="0"){
var rows = $('#tree').jqGrid('getGridParam','data');
for( var i=0;i<rows.length;i++){
$('#tree').jqGrid('collapseNode',rows[i]);
$('#tree').jqGrid('collapseRow',rows[i]);
}
$('#tree').jqGrid('expandNode',rows[0]);
$('#tree').jqGrid('expandRow',rows[0]);
}else{
//시작값 가져오기
var org = $("#tree").getDataIDs();
var start =0;
for(var i =0; i<org.length;i++){
if (org[i]==rowid){
start =i;
}
}
var rows = $('#tree').jqGrid('getGridParam','data');
var lvl = rowdata["level"];
for( var i=start;i<rows.length;i++){
if (rows[i]["level"] <= lvl && i != start){
break;
}
$('#tree').jqGrid('collapseNode',rows[i]);
$('#tree').jqGrid('collapseRow',rows[i]);
}
}
}
function keepSelection() {
/* find selectedMenuId idx */
var org = $("#tree").getDataIDs();
var start = 0;
for(var i = 0; i < org.length; i++) {
if(org[i] == selectedMenuId) {
start = i;
}
}
/* selection */
$("#tree").jqGrid("setSelection",$("#tree").getDataIDs()[start], true);
var rowid = $("#tree").jqGrid('getGridParam', 'selrow');
var rowdata = $('#tree').jqGrid('getRowData', rowid);
var rows = $('#tree').jqGrid('getGridParam', 'data');
var lvl = rowdata["level"];
var targets = [];
var parent = rowdata;
/* find parent's id */
for(var i = 0; i < lvl; i++) {
parent = $('#tree').jqGrid('getRowData', parent["PARENTMENUID"]);
var parentId = parent['MENUID'];
targets.push(parentId);
}
/* expand by using rows[idx] */
for(var i = 0; i < targets.length; i++) {
for(var j = 0; j < rows.length; j++) {
if(rows[j]["MENUID"] == targets[i]) {
$("#tree").jqGrid('expandNode', rows[j]);
$("#tree").jqGrid('expandRow', rows[j]);
}
}
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST_TREE"); //jqgrid에서는 object 로
var url = '<c:url value="/common/acl/menu/menuMan.json" />';
init(url);
$('#tree').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['MENUID',
'PARENTMENUID',
'SORTORDER',
'MENUNAME',
'MENUURL',
'MENUIMAGE',
'DISPLAYYN',
'USEYN',
'APPPATH',
'DISPLAYYNNM',
'USEYNNM',
'APPCODE',
'PARENTNAME'
],
colModel:[{ name : 'MENUID' , hidden:true,key :true },
{ name : 'PARENTMENUID', hidden:true },
{ name : 'SORTORDER' , hidden:true },
{ name : 'MENUNAME' , align:'left',width:300 ,sortable:false},
{ name : 'MENUURL' , hidden:true },
{ name : 'MENUIMAGE' , hidden:true },
{ name : 'DISPLAYYN' , hidden:true },
{ name : 'USEYN' , hidden:true },
{ name : 'APPPATH' , hidden:true },
{ name : 'DISPLAYYNNM' , hidden:true },
{ name : 'USEYNNM' , hidden:true },
{ name : 'APPCODE' , hidden:true },
{ name : 'PARENTNAME' , hidden:true }
],
treeGrid: true,
treeIcons : {
plus: "ui-icon-circlesmall-plus",
minus: "ui-icon-circlesmall-minus",
leaf : "ui-icon-document"
},
treeGridModel: "adjacency",
ExpandColumn: "MENUNAME",
height:"500",
width:"320",
rowNum: 1000,
gridview:true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
$("#tree").jqGrid("setSelection",$("#tree").getDataIDs()[0], true);
if(d.rows.length == 0) {
alert("검색결과가 없습니다.");
return;
}
if(d.rows[0].isLeaf === "false") {
collapse();
}
keepSelection();
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
ondblClickRow: function(rowId) {
},
onSelectRow: function(rowId) {
var data = $(this).getRowData(rowId);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
if(name=='parentName'){
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]+" ("+data.PARENTMENUID+")");
}else{
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
}
});
if (data['level'] != 3){
$(".dynamic").hide();
}else{
$(".dynamic").show();
}
}
});
//resizeJqGridWidth('tree','leftbody','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_TREE"); //jqgrid에서는 object 로
var rowid = $('#tree').jqGrid('getGridParam', 'selrow');
var rowdata = $('#tree').jqGrid('getRowData', rowid);
selectedMenuId = rowdata['MENUID'];
$("#tree").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
keepSelection();
});
$("#btn_new").click(function(){
var rowId = $('#tree').getGridParam( "selrow" );
var rowdata = $('#tree').jqGrid('getRowData', rowId);
selectedMenuId = rowdata['MENUID'];
if (isNull(rowId)){
alert("<%= localeMessage.getString("menu.checkRequierd5") %>");
return ;
}
var row = $('#tree').getRowData( rowId );
var level = Number(row["level"]) + 1;
if (level > 3 ){
alert("<%= localeMessage.getString("menu.checkMsg3") %>");
return ;
}
var args = new Object();
args['level'] = level;
args['parentMenuId'] = row['MENUID'];
args['parentName'] = row['MENUNAME']+" ("+row['MENUID']+")";
var url2 = '<c:url value="/common/acl/menu/menuMan.view"/>';
url2 = url2 + "?cmd=POPUP";
showModal(url2,args,650,520,function(){$("#btn_search").click();/*재조회*/});
});
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var rowId = $('#tree').getGridParam( "selrow" );
var rowdata = $('#tree').jqGrid('getRowData', rowId);
selectedMenuId = rowdata['MENUID'];
if (isNull(rowId)){
alert("<%= localeMessage.getString("menu.checkRequierd5") %>");
return ;
}
// $('#tree').jqGrid('resetSelection');
var row = $('#tree').getRowData( rowId );
var ids = $('#tree').getDataIDs();
var index = $('#tree').getInd(rowId);
if (ids.length > Number(index) ){
//check
var childlevel = $('#tree').jqGrid('getCell',ids[Number(index)],'level');
if (row["level"]< childlevel){//child 존재
var r = confirm("<%= localeMessage.getString("menu.checkMsg2") %>");
if (r == false){
return;
}
}
}
var postData = new Array();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "menuId" , value:$("input[name=menuId]").val()});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.deleteMsg") %>");
// $('#tree').jqGrid('resetSelection');
$("#btn_search").click();//재조회
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
});
$("#btn_modify").click(function(){
if (confirm("<%= localeMessage.getString("common.checkModify")%>") != true)
return;
var rowId = $('#tree').getGridParam( "selrow" );
var rowdata = $('#tree').jqGrid('getRowData', rowId);
selectedMenuId = rowdata['MENUID'];
if (isNull(rowId)){
alert("<%= localeMessage.getString("menu.checkRequierd5") %>");
return ;
}
if(!isValid()){
return;
}
var postData = $('#ajaxForm').serializeArray();
postData['selectedMenuId'] = selectedMenuId;
postData.push({ name: "cmd" , value:"UPDATE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
// $('#tree').jqGrid('resetSelection');
$("#btn_search").click();//재조회
},
error:function(e){
alert(e.responseText);
}
});
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_plus").click(function(){
expand();
});
$("#btn_minus").click(function(){
collapse();
});
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">
<button type="button" class="cssbtn" id="btn_delete" level="W"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_modify" level="W"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W"/> --%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("menu.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%; min-width:80px;"><%= localeMessage.getString("menu.id") %></th>
<td><input type="text" name="searchId" value=""></td>
<th style="width:10%; min-width:80px;"><%= localeMessage.getString("menu.name") %></th>
<td><input type="text" name="searchName" value=""></td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.parent") %></th>
<td><input type="text" name="searchParent" value=""></td>
<th><%= localeMessage.getString("menu.url") %></th>
<td><input type="text" name="searchUrl" value=""></td>
</tr>
</tbody>
</table>
<table cellspacing=0;>
<tbody>
<tr>
<td><img src="<c:url value="/img/ic_plus.png"/>" alt="" id="btn_plus" "/>
<img src="<c:url value="/img/ic_minus.png"/>" alt="" id="btn_minus" "/>
</td>
</tr>
</tbody>
</table>
<div style="font-size:0;">
<div style="display:inline-block; width:350px; vertical-align:top;">
<table id="tree" ></table>
</div>
<div style="display:inline-block; width:10px;">
</div>
<div style="display:inline-block; width:calc(100% - 362px); vertical-align:top;">
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:120px;"><%= localeMessage.getString("menu.id") %></th>
<td ><input type="text" name="menuId" readonly="readonly"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.name") %></th>
<td ><input type="text" name="menuName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.parent") %></th>
<td ><input type="text" name="parentName" readonly="readonly"/>
<input type="hidden" name="parentMenuId" readonly="readonly"/>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.img") %></th>
<td ><input type="text" name="menuImage"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.display") %></th>
<td>
<div class="select-style">
<select type="text" name="displayYn" />
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("combo.useYn") %></th>
<td>
<div class="select-style">
<select type="text" name="useYn" />
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.order") %></th>
<td >
<div class="select-style">
<select name="sortOrder">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.appCode") %></th>
<td>
<div class="select-style">
<select name="appCode"></select>
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("menu.useDbTab") %></th>
<td><input type="text" name="appPath"/> </td>
</tr>
<tr style="height:100px;">
<th><%= localeMessage.getString("menu.url") %><div style="color:red;"><%= localeMessage.getString("menu.checkMsg4") %></div></th>
<td><textarea name="menuUrl" style="width:100%;height:100px"></textarea></td>
</tr>
</table>
</form>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,210 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<script language="javascript" >
var level = window.dialogArguments["level"];
var parentMenuId = window.dialogArguments["parentMenuId"];
var parentName = window.dialogArguments["parentName"];
var url ='<c:url value="/common/acl/menu/menuMan.json" />';
function init(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
console.log(json);
new makeOptions("CODE","NAME").setObj($("select[name=displayYn]")).setData(json.displayYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnTypeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=appCode]")).setData(json.menuAppCdRows).setFormat(codeName3OptionFormat).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
function isValid(){
if($('input[name=menuId]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd1") %>");
return false;
}else if($('input[name=menuName]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd2") %>");
return false;
}else if($('textarea[name=menuUrl]').val() == ""){
alert("<%= localeMessage.getString("menu.checkRequierd4") %>");
return false;
}
var pmenu = $('input[name=parentMenuId]').val();
var menuId = $('input[name=menuId]').val();
var index = 0;
if (level == 1) {
index = 0;
}else if (level == 2){
index = 2;
}else if (level == 3){
index = 4;
}
if (pmenu.substr(0,index) != menuId.substr(0,index)){
var r = confirm(replaceMsg("<%=localeMessage.getString("menu.checkMsg1")%>", pmenu.substr(0,index),menuId.substr(0,index)));
if (r == false) return false;
}
return true;
}
$(document).ready(function() {
init();
$("input[name=level]").val(level);
$("input[name=parentMenuId]").val(parentMenuId);
$("input[name=parentName]").val(parentName);
$("select[name=displayYn]").val('N');
$("select[name=useYn]").val('N');
$("select[name=sortOrder]").val('1');
if (level != 3){
$(".dynamic").hide();
}
$("#btn_modify").click(function(){
if (!isValid()){
return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"INSERT"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
$("#btn_close").trigger("click");
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_close").click(function(){
window.close();
});
buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_modify" level="W"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("menu.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.id") %></th>
<td><input type="text" name="menuId"></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.name") %></th>
<td><input type="text" name="menuName"></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.parent") %></th>
<td><input type="text" name="parentName" readonly="readonly">
<input type="hidden" name="parentMenuId">
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.img") %></th>
<td><input type="text" name="menuImage"></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.display") %></th>
<td>
<div class="select-style">
<div class="select-style"><select name="displayYn"/></div>
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("combo.useYn") %></th>
<td><div class="select-style"><div class="select-style"><select name="useYn"/></div></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.order") %></th>
<td><div class="select-style"><div class="select-style"><select name="sortOrder">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select></div></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.url") %><div style="color:red;"><%= localeMessage.getString("menu.checkMsg4") %></div></th>
<td><textarea name="menuUrl" style="width:100%;height:100px"></textarea></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.appPath") %></th>
<td><input type="text" name="appPath"></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("menu.appCode") %></th>
<td><div class="select-style"><select name="appCode">
<%-- <option value="COM"><%= localeMessage.getString("menu.com") %></option>
<option value="ONL"><%= localeMessage.getString("menu.onl") %></option>
<option value="BAT"><%= localeMessage.getString("menu.bat") %></option>
<option value="BAP"><%= localeMessage.getString("menu.bap") %></option> --%>
</select></div></td>
</tr>
</tbody>
</table>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -0,0 +1,259 @@
<%@ 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"/>
<script language="javascript" >
var url = '<c:url value="/common/acl/mmiLog/mmiLogMan.json" />';
var url_view = '<c:url value="/common/acl/mmiLog/mmiLogMan.view" />';
var url_excel= '<c:url value="/common/acl/mmiLog/mmiLogMan.excel" />';
function detail(_page){
var page = "${param.page}";
if(_page == "1") page = "1";
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
start = start + $("input[name=searchStartHHMM]").val();
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
end = end + $("input[name=searchEndHHMM]").val();
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json',page : page }).trigger("reloadGrid");
}
function init(callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrDstcd]")).setNoValueInclude(true).setNoValue("", "<%= localeMessage.getString("combo.all")%>").setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length <16) return "";
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2)+".";
display=display+cellvalue.substr(14,2);
return display;
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
if(!("${param.searchStartTime}"&&"${param.searchEndTime}")) {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val("00000000");
}
});
$("input[name=searchEndHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val("23595959");
}
});
$("input[name=searchStartTime]").val(getToday()+'00000000');
$("input[name=searchEndTime]").val(getToday()+'23595959');
}else{
$("input[name=searchStartYYYYMMDD]").val("${param.searchStartYYYYMMDD}");
$("input[name=searchEndYYYYMMDD]").val("${param.searchEndYYYYMMDD}");
$("input[name=searchStartHHMM]").val("${param.searchStartHHMM}");
$("input[name=searchEndHHMM]").val("${param.searchEndHHMM}");
$("input[name=searchStartTime]").val("${param.searchStartTime}");
$("input[name=searchEndTime]").val("${param.searchEndTime}");
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("mmiLog.msgDpstHms")%>',
'<%= localeMessage.getString("mmiLog.msgDpstHms")%>',
'<%= localeMessage.getString("mmiLog.ifId")%>',
'<%= localeMessage.getString("mmiLog.eaiSvcName")%>',
'<%= localeMessage.getString("mmiLog.eaiSvrDstcd")%>',
'<%= localeMessage.getString("mmiLog.cnvsnName")%>',
'<%= localeMessage.getString("mmiLog.loutName")%>',
'<%= localeMessage.getString("mmiLog.disId")%>',
'<%= localeMessage.getString("mmiLog.DepResu")%>'
],
colModel:[
{ name : 'MSGDPSTHMS' , align:'left' ,width:"50" ,sortable:false ,formatter : dateFormater },
{ name : 'MSGDPSTHMS' , align:'left' ,hidden : true },
{ name : 'INTERFACEID' , align:'left' ,width:"50"},
{ name : 'EAISVCNAME' , align:'left' ,width:"50"},
{ name : 'EAISEVRDSTCD' , align:'left' ,width:"30" },
{ name : 'CNVSNNAME' , align:'left' ,width:"80"},
{ name : 'LOUTNAME' , align:'left' },
{ name : 'DEPLOYID' , align:'left' ,width:"20"},
{ name : 'RETURNCD' , align:'left' ,width:"20"}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&msgDpstHMS='+rowData['MSGDPSTHMS'];
url2 += '&eaiSvcName='+rowData['EAISVCNAME'];
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
init(detail);
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'mmi');
return false;
});
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
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" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_excel" level="W"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="W"/> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("mmiLog.title")%></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th class="search_td_title" style="width:10%; min-width:100px;"><%= localeMessage.getString("mmiLog.msgDpstHms")%></th>
<td colspan="3" style="width:25%">
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" value="${param.searchStartYYYYMMDD }"
readonly="readonly" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM" value="" size="8" style="width:70px;" value="${param.searchStartHHMM }" >
~<input type="text" name="searchEndYYYYMMDD" id="endDatepicker" value="${param.searchEndYYYYMMDD }"
size="10" readonly="readonly" style="width:80px;">
<input type="text" name="searchEndHHMM" value="" size="8" style="width:70px;" value="${param.searchEndHHMM }" >
<input type="hidden" name="searchStartTime" value="20170202000000">
<input type="hidden" name="searchEndTime" value="20170202235959">
</td>
<th class="search_td_title" style="width:10%; min-width:95px;"><%=localeMessage.getString("mmiLog.ifId")%></th>
<td><input type="text" name="searchInterfaceId" value="${param.searchInterfaceId}"></td>
<th class="search_td_title" style="width:10%; min-width:110px;"><%= localeMessage.getString("mmiLog.loutName")%></th>
<td><input type="text" name="searchLoutName" value="${param.searchLoutName}"></td>
</tr>
<tr>
<th class="search_td_title" ><%= localeMessage.getString("mmiLog.eaiSvrDstcd")%></th>
<td style="width:7%; min-width:70px;">
<div class="select-style">
<select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}">
</select>
</div>
</td>
<th class="search_td_title" style="width:7%; min-width:70px;"><%=localeMessage.getString("mmiLog.disId")%></th>
<td style="width:10%; min-width:100px;"><input type="text" name="searchDeployId" value="${param.searchDeployId}"></td>
<th class="search_td_title"><%= localeMessage.getString("mmiLog.cnvsnName")%></th>
<td><input type="text" name="searchCnvsnName" value="${param.searchCnvsnName}"></td>
<th class="search_td_title"><%= localeMessage.getString("mmiLog.eaiSvcName")%></th>
<td><input type="text" name="searchEaiSvcName" value="${param.searchEaiSvcName}"></td>
</tr>
</tbody>
</table>
</form>
<table id="grid" width="100%"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,247 @@
<%@ 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" />
<script language="javascript">
var url = '<c:url value="/common/acl/mmiLog/mmiLogMan.json" />';
var url_view = '<c:url value="/common/acl/mmiLog/mmiLogMan.view" />';
function dateFormater(data){
if (data==null|| data==undefined) return "";
if (data.trim().length <16) return "";
var display = "";
display=display+data.substr(0,4)+"-";
display=display+data.substr(4,2)+"-";
display=display+data.substr(6,2)+" ";
display=display+data.substr(8,2)+":";
display=display+data.substr(10,2)+":";
display=display+data.substr(12,2)+".";
display=display+data.substr(14,2);
return display;
}
function init(msgDpstHMS,eaiSvcName){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstcd]")).setNoValueInclude(true).setNoValue("", "<%= localeMessage.getString("combo.all")%>").setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
detail(msgDpstHMS,eaiSvcName);
},
error:function(e){
alert(e.responseText);
}
});
}
function detail( msgDpstHMS, eaiSvcName) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
msgDpstHMS : msgDpstHMS,
eaiSvcName : eaiSvcName
},
success : function(json) {
var data = json;
$("input").attr('readonly', true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
$("input[name=msgDpstHMS]").val(dateFormater(msgDpstHMS));
$("input[name=hdn_msgDpstHMS]").val(msgDpstHMS);
//서비스코드
$("#eaiSvcName").html(
"<span id='"+data["EAISVCNAME"]+"'>"+data["EAISVCNAME"]
+'</span> <img src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" name="eaiSvcName_xml"/>');
//변환
var cnvsnName = data["CNVSNNAME"].split(",");
var loutName = data["LOUTNAME"].split(",");
var cnvsnStr = "" ;
var loutStr = "" ;
for(var i=0; i<cnvsnName.length; i++){
if(cnvsnName[i].trim().length>0){
if(i==cnvsnName.length-1){
cnvsnStr+="<span id='"+cnvsnName[i]+"'>"+cnvsnName[i];
cnvsnStr+='</span> <img src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" name="cnvsnName_xml"/> ';
}else{
cnvsnStr+="<span id='"+cnvsnName[i]+"'>"+cnvsnName[i];
cnvsnStr+='</span> <img src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" name="cnvsnName_xml"/><br>';
}
}
}
$("#cnvsnName").html(cnvsnStr);
for(var i=0; i<loutName.length; i++){
if(loutName[i].trim().length>0){
if(i==loutName.length-1){
loutStr+="<span id='"+loutName[i]+"'>"+loutName[i];
loutStr+='</span> <img src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" name="loutName_xml"/> ';
}else{
loutStr+="<span id='"+loutName[i]+"'>"+loutName[i];
loutStr+='</span> <img src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" name="loutName_xml"/><br>';
}
}
}
$("#loutName").html(loutStr);
$("img[name*=xml]").each(function(){
$(this).css("width","65px");
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var msgDpstHMS = "${param.msgDpstHMS}";
var eaiSvcName = "${param.eaiSvcName}";
if ((msgDpstHMS != "" && msgDpstHMS != "null")||(eaiSvcName != "" && eaiSvcName != "null")) {
isDetail = true;
}
init(msgDpstHMS,eaiSvcName);
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$(document).on("click","img[name*=xml]",function(){
var name = $(this).attr("name");
var key = $(this).prev('span').attr('id');
var url = '<c:url value="/common/acl/mmiLog/mmiLogMan.json" />';
url += "?cmd=DETAIL_XML";
url += '&msgDpstHMS=' +$("input[name=hdn_msgDpstHMS]").val();
url += '&eaiSvcName=' +$("input[name=eaiSvcName]").val();
url += '&type='+name.substr(0,name.indexOf("_xml"));
url += '&key='+key;
var showXml = windowOpen(url,"showXML",1200,800,",location=0,menubar=0,titlebar=0,toolbar=0,status=0,directories=0,resizable=no,scrollbars=yes");
showXml.focus();
});
/* $(document).on("click","img[name*=xml]",function(){
var name = $(this).attr("name");
var key = $(this).prev('span').attr('id');
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{
cmd : 'DETAIL_XML_VIEW',
msgDpstHMS : $("input[name=msgDpstHMS]").val(),
eaiSvcName : $("input[name=eaiSvcName]").val(),
type : name.substr(0,name.indexOf("_xml")),
key : key
},
success:function(json){
$("img[name="+name+"]").parent().next('textarea').val(json.xmlData);
$("img[name="+name+"]").parent().next('textarea').css("display","block");//inline-block ?
},
error:function(e){
alert(e.responseText);
}
});
}); */
});
</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">
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%= localeMessage.getString("mmiLog.titleDetail")%></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:13%; min-width:130px;"><%= localeMessage.getString("mmiLog.eaiSvcName")%></th>
<td colspan="3">
<input type="hidden" name="eaiSvcName" style="width: 100%" />
<span id="eaiSvcName">
</span>
<textarea name="eaiSvcName_xml" style="width: 100% ;height:240px; margin: 10px 0px 10px 0px; display : none;" ></textarea>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("mmiLog.ifId")%></th>
<td><input type="text" name="interfaceId" style="width: 100%" /></td>
<th style="width:13%; min-width:130px;"><%= localeMessage.getString("mmiLog.disId")%></th>
<td><input type="text" name="deployId" style="width: 100%" /></td>
</tr>
<tr>
<th><%= localeMessage.getString("mmiLog.msgDpstHms")%></th>
<td><input type="text" name="msgDpstHMS" style="width: 100%" /><input type="hidden" name="hdn_msgDpstHMS" style="width: 100%" /></td>
<th><%= localeMessage.getString("mmiLog.eaiSvrDstcd")%></th>
<td><div class="select-style"><select name="eaiSevrDstcd" value="${param.eaiSevrDstcd}"disabled></select></div></td>
</tr>
<tr>
<th><%= localeMessage.getString("mmiLog.cnvsnName")%></th>
<td>
<span id="cnvsnName"></span>
<input type="hidden" name="cnvsnName" style="width: 100%" />
</td>
<th><%= localeMessage.getString("mmiLog.loutName")%></th>
<td>
<span id="loutName"></span>
<input type="hidden" name="loutName" style="width: 100%" />
</td>
</tr>
<tr>
<th>
<%= localeMessage.getString("mmiLog.reqDesc")%>
</th>
<td colspan="3">
<textarea name="reqDstcd" style="width: 100% ;height:240px; margin: 10px 0px 10px 0px;" ></textarea>
</td>
</tr>
<tr>
<th>
<%= localeMessage.getString("mmiLog.resDesc")%>
<%-- <img id="btn_xml2" src="<c:url value="/img/btn_show_xml.png" />" class="btn_img"/> --%>
</th>
<td colspan="3">
<textarea name="resDstcd" style="width: 100%;height:200px; margin: 10px 0px 10px 0px;" ></textarea>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,794 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<style>
.img_pointer{
cursor:pointer;
}
</style>
<script language="javascript" >
var url ='<c:url value="/common/acl/monitoringCode/monitoringCodeMan.json" />';
var url_view ='<c:url value="/common/acl/monitoringCode/monitoringCodeMan.view" />';
var modify_rowID = 1;
var scrollPosition = 0;
function treeGrid_reload(codeGroup,code,codeName){
var postData = {cmd : "LIST_TREE", page : "1", searchCodeGroup : codeGroup, searchCode :code, searchCodeName : codeName};
$("#tree").setGridParam({ postData: postData}).trigger("reloadGrid");
}
function isValid(){
if($('input[name=cdGroupDesc]').val() == "") {
alert("<%= localeMessage.getString("monitoringCode.checkRequierd4") %>");
$("input[name=cdGroupDesc]").focus();
return false;
}
return true;
}
// Start 초기화(jquery ready)
$(document).ready(function(){
$("input[name=searchName]").focus();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("monitoringCode.codeGroup") %>'
, '<%= localeMessage.getString("monitoringCode.codeGroupDesc") %>'
, 'CHILDCNT'
],
colModel:[
{ name : 'CDGROUP' , align:'left', width: "40%" ,sortable:false}
, { name : 'CDGROUPDESC' , align:'left', width: "60%"}
, { name : 'CHILDCNT' , hidden:true}
],
jsonReader: {
repeatitems:false
},
autowidth: true,
rowNum : 1000,
height: "430",
viewrecords: true,
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){ // JqGrid 조회 후 한번만 실행. (화면 초기 셋팅 사용.)
var rowCnt = $("#grid").getGridParam("reccount");
if(rowCnt > 0)
{
$("#grid").jqGrid("setSelection",modify_rowID, true);
$(".ui-jqgrid-bdiv").scrollTop(scrollPosition);
// 초기화
modify_rowID = 1;
scrollPosition = 0;
var treeRowCnt = $("#tree").getGridParam("reccount");
var rowId = $("#grid").getGridParam("selrow");
var code = $('input[name=searchCode]').val();
var codeName = $('input[name=searchCodeName]').val();
// Tree Grid 실행.
searchTree(rowId,code,codeName);
// 조회된 데이터를 Form에 셋팅하는 함수.
setFormGrid("grid", rowId);
/* Start [수정], [삭제] 완료 후 재조회 했을 때 Tree Grid List를 새로 고침 합니다. */
if(treeRowCnt == 0)
{
var row = $("#grid").getRowData(rowId);
var cdGroup = row["CDGROUP"];
treeGrid_reload(row["CDGROUP"],code,codeName);
}
/* End [수정], [삭제] 완료 후 재조회 했을 때 Tree Grid List를 새로 고침 합니다. */
}
else
{
treeGrid_reload("");
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onCellSelect: function(rowId, index, contents, event){
var cdGroup = $("#grid").jqGrid("getCell", rowId, "CDGROUP");
treeGrid_reload(cdGroup);
// 폼에 데이터 설정.
setFormGrid("grid", rowId);
}
});
/* Start 버튼 이벤트 */
//------ Start Grid Button ------
// 신규버튼 클릭 이벤트
$("#btn_newGrid").click(function(){
$('input[name^=search]').val("");
var rowId = $("#grid").getGridParam("selrow");
<%-- if (isNull(rowId)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
return ;
} --%>
var row = $("#grid").getRowData(rowId);
var cdGroup = row["CDGROUP"];
var cdGroupDesc = row["CDGROUPDESC"];
var args = new Object();
args["cdGroup"] = cdGroup;
args["cdGroupDesc"] = cdGroupDesc;
var url2 = url_view;
url2 += "?cmd=GROUP POPUP";
var ret = showModal(url2,args,540,400, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) {return;}
else {
if(args.returnValue != "" ) $("#btn_search").click();
}
});
});
// 수정버튼 클릭 이벤트
$("#btn_modifyGrid").click(function(){
var rowId = $('#grid').getGridParam( "selrow" );
if(!isValid()){
return;
}
if (isNull(rowId)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
return ;
}
if(!isValidGrid()){
return;
}
var r = confirm("<%= localeMessage.getString("common.checkSave") %>");
if (r == false){
return;
}
var postData = $('#ajaxFormGrid').serializeArray();
postData.push({ name: "cmd" , value:"UPDATE_GROUP"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
// 수정된 row 위치 저장.
modify_rowID = rowId;
scrollPosition = $(".ui-jqgrid-bdiv").scrollTop();
$('#grid').jqGrid('clearGridData');
$("#btn_search").click();//재조회
},
error:function(e){
alert(e.responseText);
}
});
});
// 삭제버튼 클릭 이벤트
$("#btn_deleteGrid").click(function(){
var rowId = $('#grid').getGridParam( "selrow" );
if (isNull(rowId)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
return ;
}
var row = $('#grid').getRowData( rowId );
var childCnt = row.CHILDCNT;
if(childCnt == 0)
{
var r = confirm("<%= localeMessage.getString("common.checkDelete") %>");
if (r == false){
return;
}
}
else
{
var r = confirm("<%= localeMessage.getString("monitoringCode.checkMsg1") %>");
if (r == false){
return;
}
}
var postData = new Array();
postData.push({ name: "cmd" , value:"DELETE_GROUP"});
postData.push({ name: "cdGroup" , value:$("input[name=cdGroup]").val()});
postData.push({ name: "childCnt" , value:childCnt});
postData.push();
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.deleteMsg") %>");
$('#tree').jqGrid('clearGridData');
$('input[name^=search]').val("");
$("#btn_search").click();//재조회
},
error:function(e){
alert(e.responseText);
}
});
});
//------ End Grid Button ------
//------ Start Tree Grid Button ------
// 신규버튼 클릭 이벤트
$("#btn_newTree").click(function(){
var rowIdGrid = $("#grid").getGridParam("selrow");
var rowIdTree = $("#tree").getGridParam("selrow");
if (isNull(rowIdGrid)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
return ;
}
if (isNull(rowIdTree)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
return ;
}
var rowGrid = $("#grid").getRowData(rowIdGrid);
var rowTree = $("#tree").getRowData(rowIdTree);
var level = rowTree["level"];
var codeGroup = rowGrid["CDGROUP"];
var code = rowTree["CODE"];
var parentCode = rowTree["PARENTCODE"];
var seq = rowTree["SEQ"];
var args = new Object();
args["level"] = level;
args["codeGroup"] = codeGroup;
args["code"] = code;
// args["parentCode"] = parentCode;
// 2 depth 이상 들어가지 않는다. (계층구조 아님 )
args["parentCode"] = "";
args["seq"] = seq;
var url2 = url_view;
url2 += "?cmd=POPUP";
var ret = showModal(url2,args,540,400, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) {return;}
else {
var ret = args.returnValue;
if(ret == "true")
{
$('#tree').jqGrid('clearGridData');
var cdGroup = rowGrid["CDGROUP"];
treeGrid_reload(cdGroup);
}
}
});
});
// 수정버튼 클릭 이벤트
$("#btn_modifyTree").click(function(){
var rowId = $('#tree').getGridParam( "selrow" );
var row = $('#tree').getRowData( rowId );
if (isNull(rowId)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd2") %>");
return ;
}
if(!isValidTree()){
return;
}
var r = confirm("<%= localeMessage.getString("common.checkSave") %>");
if (r == false){
return;
}
var postData = $('#ajaxFormTree').serializeArray();
postData.push({ name: "cmd" , value:"UPDATE"});
postData.push({ name: "seq" , value:0});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
$('#tree').jqGrid('clearGridData');
var cdGroup = row["CDGROUP"];
treeGrid_reload(cdGroup);
},
error:function(e){
alert(e.responseText);
}
});
});
// 삭제버튼 클릭 이벤트
$("#btn_deleteTree").click(function(){
var rowId = $('#tree').getGridParam( "selrow" );
if (isNull(rowId)){
alert("<%= localeMessage.getString("monitoringCode.checkRequierd2") %>");
return ;
}
var row = $('#tree').getRowData( rowId );
var ids = $('#tree').getDataIDs();
var index = $('#tree').getInd(rowId);
if (ids.length > Number(index) ){
//check
var childlevel = $('#tree').jqGrid('getCell',ids[Number(index)],'level');
if (row["level"] > 0 && row["level"]< childlevel){//child 존재
var r = confirm("<%= localeMessage.getString("monitoringCode.checkMsg1") %>");
if (r == false){
return;
}
else
{
$('#tree').jqGrid('resetSelection');
}
}
else
{
var r = confirm("<%= localeMessage.getString("common.checkDelete") %>");
if (r == false){
return;
}
}
}
else
{
var r = confirm("<%= localeMessage.getString("common.checkDelete") %>");
if (r == false){
return;
}
}
var postData = new Array();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push(
{ name: "codeGroup" , value:$("input[name=codeGroup]").val()}
, { name : "code", value: $("input[name=code]").val()}
, { name : "level", value: row["level"]}
);
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.deleteMsg") %>");
$('#tree').jqGrid('clearGridData');
var cdGroup = row["CDGROUP"];
treeGrid_reload(cdGroup);
},
error:function(e){
alert(e.responseText);
}
});
});
//------ End Tree Grid Button ------
// 검색버튼 클릭 이벤트
$("#btn_search").click(function(){
$('#tree').jqGrid('clearGridData');
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData}).trigger("reloadGrid");
});
/* End 버튼 이벤트 */
// 엔터 키 이벤트
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
resizeJqGridWidth('grid','gridList','1000');
resizeJqGridWidth('tree','treeList','1000');
});
// End 초기화(jquery ready)
function isValidGrid(){
if($('input[name=cdGroup]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
$('input[name=cdGroup]').focus();
return false;
}
return true;
}
function isValidTree(){
var rowId = $("#tree").getGridParam("selrow");
var row = $("#tree").getRowData(rowId);
var level = row['level'];
if($('input[name=codeGroup]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
$('input[name=codeGroup]').focus();
return false;
}
else if(level > 0 && $('input[name=code]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd2") %>");
$('input[name=code]').focus();
return false;
}
else if(level > 0 && $('input[name=codeName]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd3") %>");
$("input[name=codeName]").focus();
return false;
}
return true;
}
// 조회된 데이터를 Form에 셋팅하는 함수.
function setFormGrid(gridId, rowId)
{
var data = $("#" + gridId).getRowData(rowId);
$("#ajaxFormGrid input[type!=radio],#ajaxFormGrid select,#ajaxFormGrid textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
}
// 트리 그리드 함수.
function searchTree(rowId, code, codeName)
{
var rowData = $("#grid").getRowData(rowId);
var cdGroup = rowData["CDGROUP"];
$('#tree').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : {cmd : "LIST_TREE", searchCodeGroup : cdGroup, searchCode :code, searchCodeName : codeName},
colNames:['CODEGROUP'
, '<%= localeMessage.getString("monitoringCode.code") %>'
, '<%= localeMessage.getString("monitoringCode.codeName") %>'
, '<%= localeMessage.getString("combo.useYn") %>'
, '<%= localeMessage.getString("monitoringCode.order") %>'
, 'PARENTCODE'
, 'USEYNNAME'
],
colModel:[{ name : 'CODEGROUP' , hidden:true ,sortable:false }
, { name : 'CODE' , align:'left', key:true, width: "30%" }
, { name : 'CODENAME' , align:'left', width: "60%" }
, { name : 'USEYNNAME' , align:'center', width: "10%" }
, { name : 'SEQ' , hidden:true }
, { name : 'PARENTCODE' , hidden:true }
, { name : 'USEYN' , hidden:true }
],
treeGrid: true,
treeIcons: {
plus: "ui-icon-circlesmall-plus",
minus: "ui-icon-circlesmall-minus",
leaf : "ui-icon-document"
},
treeGridModel: "adjacency",
ExpandColumn: "CODE",
height: "430",
autowidth: true,
// width: '800',
// shrinkToFit: true,
rowNum : 1000,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: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){
var rowCnt = $("#tree").getGridParam("reccount");
if(rowCnt > 0)
{
var searchName = $("input[name=searchName]").val();
if(searchName != "")
{
// 검색조건의 데이터가 있으면 해당 row 선택.
$("#tree").jqGrid("setSelection",searchName, true);
}
else
{
// 검색조건의 값이 없으면 첫번째 row 선택.
$("#tree").jqGrid("setSelection",$("#tree").getDataIDs()[0], true);
}
}
else
{
// Tree Grid의 데이터가 없을 때 상세정보 초기화.
$("#ajaxFormTree input[type!=radio],#ajaxFormTree select,#ajaxFormTree textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val("");
});
$("select[name=useYn]").val("N");
}
resizeJqGridWidth('tree','treeList','1000');
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onSelectRow: function(rowId) {
var data = $(this).getRowData(rowId);
// Tree Grid 상세정보 셋팅.
$("#ajaxFormTree input[type!=radio],#ajaxFormTree select,#ajaxFormTree textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
// Tree Grid 상세정보 초기화.
$(tag+"[name="+name+"]").val("");
//$("select[name=useYn]").val("N");
// Tree Grid에 선택된 Row의 Level에 따라서 상세 정보 셋팅.
if(data['level'] > 0)
{
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
// codeName readOnly 처리
if(name == "codeName")
$(tag+"[name="+name+"]").attr("readonly", false);
$(".dynamic").show();
}
else
{
if(name != "code")
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
$(".dynamic").hide();
}
});
}
});
}
</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">
<button type="button" class="cssbtn" id="btn_search" level="R"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("monitoringCode.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%; min-width:80px;"><%= localeMessage.getString("monitoringCode.codeGroup") %></th>
<td>
<input type="text" name="searchCodeGroup" value="">
</td>
<th style="width:15%; min-width:140px;"><%= localeMessage.getString("monitoringCode.codeGroupDesc") %></th>
<td>
<input type="text" name="searchGroupDesc" value="">
</td>
</tr>
<tr>
<th><%= localeMessage.getString("monitoringCode.code") %></th>
<td>
<input type="text" name="searchCode" value="">
</td>
<th><%= localeMessage.getString("monitoringCode.codeName") %></th>
<td>
<input type="text" name="searchCodeName" value="">
</td>
</tr>
</tbody>
</table>
<div style="font-size:0;">
<div style="display:inline-block; width:calc(50% - 20px); vertical-align:top;">
<div style="text-align:right; font-size:12px;">
<button type="button" class="cssbtn" id="btn_deleteGrid" level="W"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_newGrid" level="W"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_modifyGrid" level="W"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
<%-- <img id="btn_deleteGrid" src="<c:url value="/img/btn_delete.png"/>" level="W" "class="btn_img" /> --%>
<%-- <img id="btn_newGrid" src="<c:url value="/img/btn_new.png" />" level="W" class="btn_img" /> --%>
<%-- <img id="btn_modifyGrid" src="<c:url value="/img/btn_modify.png"/>" level="W" "class="btn_img" /> --%>
</div>
<div id="gridList" style="margin-top:10px;">
<table id="grid"></table>
</div>
<form id="ajaxFormGrid" style="margin-top:10px;">
<table class="table_row" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;"><%= localeMessage.getString("monitoringCode.codeGroup") %></th>
<td>
<input type="text" name="cdGroup" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("monitoringCode.codeGroupDesc") %></th>
<td>
<input type="text" name="cdGroupDesc">
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div style="display:inline-block; width:40px;"></div>
<div style="display:inline-block; width:calc(50% - 20px); vertical-align:top;">
<div style="text-align:right; font-size:12px;">
<button type="button" class="cssbtn" id="btn_deleteTree" level="W"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_newTree" level="W"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_modifyTree" level="W"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
<%-- <img id="btn_deleteTree" src="<c:url value="/img/btn_delete.png" />"level="W" class="btn_img" /> --%>
<%-- <img id="btn_newTree" src="<c:url value="/img/btn_new.png"/>" level="W" class="btn_img" /> --%>
<%-- <img id="btn_modifyTree" src="<c:url value="/img/btn_modify.png" />" level="W" class="btn_img" /> --%>
</div>
<div id="treeList" style="margin-top:10px;">
<table id="tree"></table>
<div id="pager"></div>
</div>
<form id="ajaxFormTree" style="margin-top:10px;">
<table class="table_row" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;"><%= localeMessage.getString("monitoringCode.codeGroup") %></th>
<td>
<input type="text" name="codeGroup" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("monitoringCode.code") %></th>
<td>
<input type="text" name="code" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("monitoringCode.codeName") %></th>
<td>
<input type="text" name="codeName" readonly="readonly">
</td>
</tr>
<tr class="dynamic">
<th class="detail_title"><%= localeMessage.getString("combo.useYn") %></th>
<td >
<select name="useYn" style="width:100%">
<option value="Y"><%= localeMessage.getString("combo.usey") %></option>
<option value="N"><%= localeMessage.getString("combo.usen") %></option>
</select>
</td>
</tr>
<%-- <tr class="dynamic" >
<th class="detail_title"><%= localeMessage.getString("code.order") %></th>
<td >
<select name="seq" style="width:100%">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>
</td>
</tr> --%>
</tbody>
</table>
</form>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,110 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<style>
.img_pointer{
cursor:pointer;
}
</style>
<script language="javascript" >
var cdGroup = "";
$("input[name=cdGroup]").focus();
function isValid(){
if($('input[name=cdGroup]').val() == "") {
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
$("input[name=cdGroup]").focus();
return false;
}
if($('input[name=cdGroupDesc]').val() == "") {
alert("<%= localeMessage.getString("monitoringCode.checkRequierd4") %>");
$("input[name=cdGroupDesc]").focus();
return false;
}
return true;
}
$(document).ready(function() {
$("#btn_modify").click(function(){
if (!isValid()){
return;
}
var r = confirm("<%= localeMessage.getString("common.checkSave") %>");
if (r == false){
return;
}
var url ='<c:url value="/common/acl/monitoringCode/monitoringCodeMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"INSERT_GROUP"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
cdGroup = $("input[name=cdGroup]").val();
$("#btn_close").trigger("click");
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_close").click(function(){
window.returnValue = cdGroup;
window.close();
});
buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R" status="DETAIL,NEW"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
<%-- <img src="<c:url value="/img/btn_regist.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%= localeMessage.getString("monitoringCodeGroupPop.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("monitoringCode.codeGroup") %></th>
<td><input type="text" name="cdGroup"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("monitoringCode.codeGroupDesc") %></th>
<td ><input type="text" name="cdGroupDesc"/> </td>
</tr>
</table>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -0,0 +1,189 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ 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"/>
<style>
.img_pointer{
cursor:pointer;
}
</style>
<script language="javascript" >
var level = window.dialogArguments["level"];
var codeGroup = window.dialogArguments["codeGroup"];
var code = window.dialogArguments["code"];
var parentCode = window.dialogArguments["parentCode"];
var seq = window.dialogArguments["seq"];
var modifyFlag = "false";
function isValid(){
if($('input[name=codeGroup]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd1") %>");
$("input[name=codeGroup]").focus();
return false;
}
else if($('input[name=code]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd2") %>");
$("input[name=code]").focus();
return false;
}
else if($('input[name=codeName]').val() == "")
{
alert("<%= localeMessage.getString("monitoringCode.checkRequierd3") %>");
$("input[name=codeName]").focus();
return false;
}
return true;
}
$(document).ready(function() {
$("input[name=level]").val(level);
$("input[name=codeGroup]").val(codeGroup);
$("select[name=useYn]").val('N');
$("select[name=SEQ]").val("1");
/* level 값으로 코드그룹 입력 제어. */
if(level == 0)
{
$("input[name=code]").focus();
}
else if(level == 1)
{
$("input[name=parentCode]").val(code);
$("input[name=code]").focus();
}
else
{
$("input[name=parentCode]").val(code);
$("input[name=code]").focus();
}
$("#btn_modify").click(function(){
if (!isValid()){
return;
}
var r = confirm("<%= localeMessage.getString("common.checkSave") %>");
if (r == false){
return;
}
var url ='<c:url value="/common/acl/monitoringCode/monitoringCodeMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"INSERT"});
postData.push({ name: "seq" , value:0});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
modifyFlag = "true";
$("#btn_close").trigger("click");
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_close").click(function(){
window.returnValue = modifyFlag;
window.close();
});
buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R" status="DETAIL,NEW"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%= localeMessage.getString("monitoringCodePop.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("monitoringCode.codeGroup") %></th>
<td><input type="text" name="codeGroup" readonly="readonly"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("monitoringCode.code") %></th><td ><input type="text" name="code"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("monitoringCode.codeName") %></th><td ><input type="text" name="codeName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("monitoringCode.parentCode") %></th><td ><input type="text" name="parentCode" readonly="readonly"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("combo.useYn") %></th>
<td>
<div class="select-style">
<select name="useYn">
<option value="Y"><%= localeMessage.getString("combo.usey") %></option>
<option value="N"><%= localeMessage.getString("combo.usen") %></option>
</select>
</div>
</td>
</tr>
<%-- <tr>
<th><%= localeMessage.getString("code.order") %></th>
<td>
<div clasmonitoringCode.lect-style">
<select name="seq">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>
</div>
</td>
</tr> --%>
</table>
</form>
</div><!-- end.popup_box -->
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More