Files
eapim-admin/WebContent/jsp/onl/adapter/socket/socketConnection.jsp
T
Rinjae c54ef1903f init
2025-09-05 17:16:26 +09:00

275 lines
10 KiB
Plaintext

<%@ 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="/onl/adapter/socket/socketConnection.json" />';
var url_view = '<c:url value="/onl/adapter/socket/socketConnection.view" />';
var url_excel= '<c:url value="/onl/adapter/socket/socketConnection.excel"/>';
var timer;
var selectName = "searchAdptrBzwkGroupName"; // selectBox Name
function fontFormatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if (cellvalue=="true"){
return "<font color='#0000FF'>"+cellvalue+"</font>";
}else if (cellvalue=="false"){
return "<font color='#FF0000'>"+cellvalue+"</font>";
}
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if (cellvalue=="03"){
return "<img id='btn_stop' src='<c:url value='/images/bt/bt_end_sm.gif'/>' name='img_"+rowId+"' />";
}else if (cellvalue=="01"){
return "<img id='btn_start' src='<c:url value='/images/bt/bt_boot_sm.gif'/>' name='img_"+rowId+"' />";
}
return "";
}
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=searchEaiSevrInstncName]")).setNoValueInclude(true).setNoValue("", "ALL").setData(json.instanceList).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrInstncName]")).setData(json.instanceList).rendering();
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=searchAdptrBzwkGroupName]")).setData(json.adapterList).setFormat(codeName3OptionFormat).rendering();
$("select[name=searchEaiSevrInstncName]").val('${param.searchEaiSevrInstncName}');
$("select[name=searchAdptrBzwkGroupName]").val('${param.searchAdptrBzwkGroupName}');
setSearchable(selectName); // 콤보에 searchable 설정
$("select[name=searchEaiSevrInstncName]").val($("select[name=searchEaiSevrInstncName] option:first").val());
$("select[name=searchAdptrBzwkGroupName]").val($("select[name=searchAdptrBzwkGroupName] option:first").val());
if (typeof callback === 'function') {
callback(url);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json'}).trigger("reloadGrid");
}
function startStop(postData) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
list();
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype : "local",
mtype : 'POST',
colNames : [
'<%= localeMessage.getString("adapterStat.adapterGroup") %>',
'<%= localeMessage.getString("adapterStat.adapterName") %>',
'<%= localeMessage.getString("adapterStat.adapterDesc") %>',
'<%= localeMessage.getString("adapterStat.instanceName") %>',
'<%= localeMessage.getString("adapterStat.adapterDv") %>',
'INBOUND',
'CLIENT',
'SYNC',
'L.IP/PORT',
'R.IP/PORT',
'<%= localeMessage.getString("socket.sendCnt") %>',
'<%= localeMessage.getString("socket.recvCnt") %>',
'<%= localeMessage.getString("socket.firstConnDt") %>',
'<%= localeMessage.getString("socket.lastIoDt") %>',
'<%= localeMessage.getString("adapterStat.close") %>',
'session'
],
colModel : [
{ name : 'AdptrBzwkGroupName' , align : 'left' , width:'160', sortable : false },
{ name : 'AdptrBzwkName' , align : 'left' , width:'200' },
{ name : 'AdptrBzwkDesc' , align : 'left' },
{ name : 'EaiSvrInstNm' , align : 'left' , width:'80' },
{ name : 'BwkClsCd' , align : 'center' , width:'60' },
{ name : 'BoundUsage' , align : 'center' , width:'50' },
{ name : 'SocketType' , align : 'center' , width:'50' },
{ name : 'AckSupport' , align : 'center' , width:'50' },
{ name : 'LocalAddress' , align : 'center' , width:'100' },
{ name : 'RemoteAddress' , align : 'center' , width:'100' },
{ name : 'WrittenMessages' , align : 'center' , width:'60' },
{ name : 'ReadMessages' , align : 'center' , width:'60' },
{ name : 'CreationTime' , align : 'center' , width:'100' },
{ name : 'LastIoTime' , align : 'center' , width:'100' },
{ name : 'Button' , align : 'center' , width:'50' , unformat : unformatterFunction, formatter : formatterFunction },
{ name : 'Session' , hidden:true }
],
jsonReader : {
repeatitems : false
},
rowNum: 10000,
autoheight : true,
height : '500',
autowidth : true,
viewrecords : true,
ondblClickRow : function(rowId) {
},
loadComplete:function (d){
$("img[name*=img]").unbind("click");
$("img[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
var control =$(this).attr("id").split("_")[1];
var data = $('#grid').jqGrid('getRowData', rowId);
var postData = [];
postData.push({name:"cmd" , value:"TRANSACTION_STARTSTOP"});
postData.push({name:"searchEaiSevrInstncName" , value:$("select[name=searchEaiSevrInstncName]").val() });
postData.push({name:"adptrBzwkGroupName" , value:data["AdptrBzwkGroupName"]});
postData.push({name:"adptrBzwkName" , value:data["AdptrBzwkName"]});
postData.push({name:"remoteAddress" , value:data["RemoteAddress"]});
postData.push({name:"localAddress" , value:data["LocalAddress"]});
postData.push({name:"session" , value:data["Session"]});
var msgStartStop = control=="start"?"<%= localeMessage.getString("adapterStat.start") %>":"<%= localeMessage.getString("adapterStat.close") %>";
/* var resultConfirm = confirm(
data["AdptrBzwkGroupName"]
+ " "
+ data["AdptrBzwkName"]
+ "을\n\n"
+ msgStartStop
+ " 하시겠습니까?"); */
var resultConfirm = confirm(replaceMsg("<%= localeMessage.getString("common.confirmMsg1") %>"
,msgStartStop,data["AdptrBzwkGroupName"],data["AdptrBzwkName"]));
if (resultConfirm != true)
return;
startStop(postData);
});
},
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
//resizeJqGridWidth('grid','title','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 target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridJsonToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"<%=localeMessage.getString("socketConn.title") %>");
return false;
});
buttonControl();
init(list);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul>
<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_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 id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("socketConn.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterStat.instanceName") %></th>
<td>
<div class="select-style">
<select name="searchEaiSevrInstncName" value="${param.searchEaiSevrInstncName}" style="width:100%"></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterStat.adapterGroup") %></th>
<td>
<div style="position: relative; width: 100%;">
<div class="select-style">
<select name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}" style="width:100%" readonly="true"></select>
</div><!-- end.select-style -->
</div>
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>