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,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"%>
<%@ 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/http/httpStatus.json" />';
var url_view = '<c:url value="/onl/adapter/http/httpStatus.view" />';
var url_excel= '<c:url value="/onl/adapter/http/httpStatus.excel" />';
var timer;
function list(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["adapterType"]="HTT,RST"; // REST 타입 추가
$("#grid").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
function unformatterFunction(cellvalue, options, rowObject) {
return cellvalue;
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if ("${rmsMenuAuth}" =="W"){
if (cellvalue=="03"){
// return "<img id='btn_stop' src='<c:url value='/images/bt/bt_end_sm.gif'/>' name='img_"+rowId+"' />";
return "<button type='button' class='cssbtn smallBtn2' id='btn_stop' style='vertical-align:middle; font-weight:bold;' name='img_" + rowId + "'>stop</button>";
}else if (cellvalue=="01"){
// return "<img id='btn_start' src='<c:url value='/images/bt/bt_boot_sm.gif'/>' name='img_"+rowId+"' />";
return "<button type='button' class='cssbtn smallBtn2' id='btn_start' style='vertical-align:middle; font-weight:bold;' name='img_" + rowId + "'>start</button>";
}
}
else {
return "";
}
}
function fontFormatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if (cellvalue=='normal'){
return "<font color='#0000FF'>"+cellvalue+"</font>";
}else if (cellvalue=='abnormal'){
return "<font color='#FF0000'>"+cellvalue+"</font>";
}
}
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 : "json",
mtype : 'POST',
//url : url,
//postData : gridPostData,
colNames : [
'<%= localeMessage.getString("adapterStat.adapterGroup") %>[TX]',
'<%= localeMessage.getString("adapterStat.instanceName") %>',
'<%= localeMessage.getString("adapterStat.adapterName") %>',
'<%= localeMessage.getString("adapterStat.adapterDesc") %>',
'<%= localeMessage.getString("adapterStat.adapterDv") %>',
'<%= localeMessage.getString("adapterStat.status") %>',
'<%= localeMessage.getString("adapterStat.startStat") %>',
'<%= localeMessage.getString("adapterStat.startup") %>',
'adapterGroupSimple'
],
colModel : [
{ name : 'adapterGroupName' , align : 'left' , width:'160' },
{ name : 'eaiSvrInstNm' , align : 'left' , width:'80' , sortable:true },
{ name : 'adapterName' , align : 'left' , width:'150' },
{ name : 'adapterGroupDesc' , align : 'left' },
{ name : 'adapterKind' , align : 'center' , width:'60' },
{ name : 'adapterStatus' , align : 'center' , width:'60' , unformat : unformatterFunction, formatter : fontFormatterFunction },
{ name : 'adapterStartStatus' , align : 'center' , width:'60' },
{ name : 'adapterStartStop' , align : 'center' , width:'60' , unformat : unformatterFunction, formatter : formatterFunction },
{ name : 'adapterGroupSimple' , hidden:true }
],
jsonReader : {
repeatitems : false
},
rowNum: 10000,
autoheight : true,
height : '700',
autowidth : true,
viewrecords : true,
ondblClickRow : function(rowId) {
},
loadComplete:function (d){
$("button[name*=img]").unbind("click");
$("button[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:"control" ,value:control.toUpperCase()});
postData.push({name:"eaiInstanceName" ,value:data["eaiSvrInstNm"]});
postData.push({name:"adapterGroupName" ,value:data["adapterGroupSimple"]});
postData.push({name:"adapterName" ,value:data["adapterName"]});
postData.push({name:"adapterType" ,value:data["adapterGroupSimple"].split('_')[3]}); // REST 타입 추가
// postData.push({name:"adapterType" ,value:"HTT"});
debugger;
var msgStartStop = control=='start'?'<%= localeMessage.getString("adapterStat.start") %>':'<%= localeMessage.getString("adapterStat.close") %>';
var resultConfirm = confirm(replaceMsg("<%= localeMessage.getString("common.confirmMsg1") %>",msgStartStop,data["adapterGroupName"],data["adapterName"]));
// // data["adapterGroupName"]+ " "+ data["adapterName"]+ "을\n\n"+ msgStartStop+ " 하시겠습니까?"
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()%>/";
}
// alert(errorThrown);
}
});
$("#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)
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'http adapter');
return false;
});
// buttonControl();
setTimeout(function() {
list();
}, 400)
});
</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_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" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("httpStat.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="180px"><%= localeMessage.getString("httpStat.search") %></th>
<td>
<input type="text" name="searchAdapterGroup" value="${param.searchAdapterGroup}">
<input type="hidden" name="adapterType" value="HTT" style="width:100%">
</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,226 @@
<%@ 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" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%
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/retrieve/adapterCountRetrieve.json" />';
var url_view = '<c:url value="/onl/adapter/retrieve/adapterCountRetrieve.view" />';
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=searchRealTimeCd]")).setData(
json.realTimeGroupRows).rendering();
if (typeof callback === 'function') {
callback();
}
},
error : function(e) {
alert(e.responseText);
}
});
}
function list() {
var postData = getSearchForJqgrid("cmd", "LIST");
$("#grid").setGridParam({
url : url,
postData : postData,
datatype : 'json'
}).trigger("reloadGrid");
}
// function unformatterFunction(cellvalue, options, rowObject) {
// return cellvalue;
// }
// function formatterFunction(cellvalue, options, rowObject) {
// var rowId = options["rowId"];
// if ("${rmsMenuAuth}" =="W"){
// if (cellvalue == "03") {
// return "<button type='button' class='cssbtn smallBtn2' id='btn_stop' style='vertical-align:middle; font-weight:bold;' name='img_" + rowId + "'>stop</button>";
// } else if (cellvalue == "01") {
// return "<button type='button' class='cssbtn smallBtn2' id='btn_start' style='vertical-align:middle; font-weight:bold;' name='img_" + rowId + "'>start</button>";
// }
// }
// else {
// return "";
// }
// }
// 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 startStop(postData) {
// $.ajax({
// type : "POST",
// url : url,
// dataType : "json",
// data : postData,
// success : function(json) {
// list();
// },
// error : function(e) {
// alert(e.responseText);
// }
// });
// }
// function goDetail(obj, rowId) {
// var rowData = obj
// .getRowData(rowId);
// var key = rowData['EaiSevrInstncName'];
// var key2 = rowData['AdptrBzwkGroupName'];
// var url2 = '<c:url value="/onl/adapter/socket/socketConnection.view" />';
// url2 += "?cmd=LIST";
// url2 += "&searchEaiSevrInstncName="
// + key;
// url2 += "&searchAdptrBzwkGroupName="
// + key2;
// goNav(url2);
// }
// function goFilePage(){
<%-- location.href = "<%=request.getContextPath()%>/jsp/adapterMonitorFile.jsp"; --%>
// }
//소켓 모니터 화면 추가
// function goPage() {
// var sw = screen.width;
// var sh = screen.height;
// var mode = "width="+ sw +",height="+ sh +",left=0,top=0";
// mode = mode + ",location=yes,menubar=yes,scrollbars=yes,resizable=yes,status=yes,titlebar=yes,toolbar=yes";
<%-- var win = window.open("<%=request.getContextPath()%>/jsp/adapterMonitorPage.jsp", "_blank", mode); --%>
// win.focus();
// }
$(document).ready( function() {
var postData = getSearchForJqgrid("cmd","LIST");
$('#grid').jqGrid({
datatype : "local",
mtype : 'POST',
url : url,
postData : postData,
colNames : [
'<%= localeMessage.getString("adapterStat.adapterGroup") %>',
'<%= localeMessage.getString("adapterStat.instanceName") %>',
'<%= localeMessage.getString("adapterStat.successCount") %>',
'<%= localeMessage.getString("adapterStat.errorCount") %>'
],
colModel : [
{ name : 'AdptrBzwkGroupName' ,align : 'left' , width : '140' },
{ name : 'EaiSevrInstncName' ,align : 'center' , width : '100' },
{ name : 'SuccessCount' ,align : 'center' , width : '170' },
{ name : 'ErrorCount' ,align : 'center' , width : '200' },
],
jsonReader : {
repeatitems : false
},
rowNum : 1000,
height : '500',
autowidth: true,
viewrecords : true,
gridview : true,
ondblClickRow : function(rowId) {
},
loadComplete : function(d) {
$("#sourceGrid").tuiTableRowSpan("0"); // first Column
},
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(xhr, status,error) {
alert(error);
}
});
$("#btn_search").click(function() {
list();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
list();
}
});
buttonControl();
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_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
</div>
<div class="title"><%= localeMessage.getString("adapterStat.retrieveTitle") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterStat.adapterGroup") %></th>
<td><input type="text" name="searchAdapterGroup" value="${param.searchAdapterGroup}" style="width:100%"></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterStat.instanceName") %></th>
<td><input type="text" name="searchInstanceName" value="${param.searchInstanceName}" style="width:100%"></td>
</tr>
</tbody>
</table>
</form>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,56 @@
<%@ 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" />
</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="title"><%= localeMessage.getString("logInfoMation.socketLogLocInfo") %></div>
<table class="search_condition" cellspacing=0; style="width: 70%;">
<tbody>
<tr>
<th style="width: 200px;"><%= localeMessage.getString("logInfoMation.logLocInfo") %></th>
<td><br>
<p>/log/elink/mci|eai|fep|opa/EAI Instance Name/netAdapter.log</p>
<p>Example : /log/elink/mci/mciSvr11/netAdapter.log</p>
<br></td>
</tr>
<tr>
<th style="width: 200px;"><%= localeMessage.getString("logInfoMation.errLogLocInfo") %></th>
<td><br>
<p>/log/elink/mci|eai|fep|opa/EAI Instance Name/netAdapterError.log</p>
<p>Example : /log/elink/mci/mciSvr11/netAdapterError.log</p>
<br></td>
</tr>
</tbody>
</table>
<div id="pager"></div>
</div>
<!-- end content_middle -->
</div>
<!-- end right_box -->
</body>
</html>
@@ -0,0 +1,274 @@
<%@ 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>
@@ -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"%>
<%@ 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/socketErrorContents.json" />';
var url_view = '<c:url value="/onl/adapter/socket/socketErrorContents.view" />';
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrInstncName]")).setData(json.instanceList).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
/* mtype: 'POST',
url: url, */
postData : gridPostData,
colNames:['로그내용'
],
colModel:[
{ name : 'logContent' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : 10000,
//autoheight: true,
height : '550',
autowidth: true,
viewrecords: true,
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
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) {
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["logType"] = $("input[name=logType]:checked").val();
postData["searchText"] = $("input[name=searchText]").val();
$("#grid").setGridParam({ url:url, postData: postData}).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"><%=localeMessage.getString("socketLog.title2") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:130px;"><%=localeMessage.getString("socketLog.serverInstNm") %></th>
<td>
<div class="select-style">
<select name="searchEaiSevrInstncName" value="${param.searchEaiSevrInstncName}" style="width:100%"></select>
</div>
</td>
<th style="width:130px;"><%=localeMessage.getString("socketLog.condition") %></th>
<td>
<div>
<input type="text" name="searchText" />
</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,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"%>
<%@ 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/socketLogContents.json" />';
var url_view = '<c:url value="/onl/adapter/socket/socketLogContents.view" />';
var url_excel= '<c:url value="/onl/adapter/socket/socketLogContents.excel"/>';
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrInstncName]")).setData(json.instanceList).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchLogLevel]")).setData(json.logLevelRows).setFormat(nameOptionFormat).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
// postData["logType"] = $("input[name=logType]:checked").val();
// postData["searchText"] = $("input[name=searchText]").val();
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json'}).trigger("reloadGrid");
}
$(document).ready(function() {
init();
// var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
/*url: url, */
// postData : gridPostData,
colNames:['<%=localeMessage.getString("socketLog.logCtnt") %>'
],
colModel:[
{ name : 'logContent' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : 10000,
//autoheight: true,
height : '550',
autowidth: true,
viewrecords: true,
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'error: session is closed');
parent.location.href='<%=request.getContextPath()%>/';
}
},
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) {
}
});
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 target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridJsonToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),"<%=localeMessage.getString("socketLog.title") %>");
return false;
});
buttonControl();
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">
<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("socketLog.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:130px;"><%=localeMessage.getString("socketLog.serverInstNm") %></th>
<td>
<div class="select-style">
<select name="searchEaiSevrInstncName" value="${param.searchEaiSevrInstncName}" style="width:100%"></select>
</div>
</td>
<th style="width:130px;"><%=localeMessage.getString("socketLog.loglevel") %></th>
<td>
<div class="select-style">
<select name="searchLogLevel" value="${param.searchLogLevel}" style="width:100%;">
</select>
</div>
</td>
<th style="width:130px;"><%=localeMessage.getString("socketLog.condition") %></th>
<td>
<div>
<input type="text" name="searchText" />
</div>
</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,228 @@
<%@ 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/socketProcess.json" />';
var url_view = '<c:url value="/onl/adapter/socket/socketProcess.view" />';
var url_excel = '<c:url value="/onl/adapter/socket/socketProcess.excel" />';
var timer;
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=searchRealTimeCd]")).setData(
json.realTimeGroupRows).rendering();
if (typeof callback === 'function') {
callback();
}
},
error : function(e) {
alert(e.responseText);
}
});
}
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 cellvalue;
}
function list(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json'}).trigger("reloadGrid");
}
$(document).ready(function() {
var mod = sessionStorage["mod"];
if (mod == undefined || mod == "")
mod = "ALL";
else
sessionStorage["mod"] = "";
$(
"input:radio[name=searchType]:radio[value='"
+ mod + "']").attr("checked", true);
$('#grid').jqGrid({
datatype : "local",
mtype : 'POST',
//url : url,
//postData : gridPostData,
colNames : [
'<%= localeMessage.getString("adapterStat.adapterGroup") %>',
'<%= localeMessage.getString("adapterStat.instanceName") %>',
'<%= localeMessage.getString("adapterStat.adapterName") %>',
'<%= localeMessage.getString("adapterStat.adapterDesc") %>',
'Max Connection',
'<%= localeMessage.getString("socket.currentConn") %>',
'<%= localeMessage.getString("socket.sendCnt") %>',
'<%= localeMessage.getString("socket.recvCnt") %>',
'<%= localeMessage.getString("socket.errCnt") %>',
'<%= localeMessage.getString("adapterStat.status") %>'
],
colModel : [
{ name : 'AdptrBzwkGroupName' , align : 'left' , width:'140' },
{ name : 'EaiSevrInstncName' , align : 'left' , width:'100', sortable : false },
{ name : 'AdptrBzwkName' , align : 'left' , width:'170' },
{ name : 'AdptrBzwkDesc' , align : 'left' , width:'200' },
{ name : 'MaxConnection' , align : 'center' , width:'95' ,formatter:'integer' },
{ name : 'CurrentConnection' , align : 'center' , width:'60' ,formatter:'integer' },
{ name : 'SendCount' , align : 'center' , width:'60' ,formatter:'integer' },
{ name : 'RecvCount' , align : 'center' , width:'60' ,formatter:'integer' },
{ name : 'ErrorCount' , align : 'center' , width:'60' ,formatter:'integer'},
{ name : 'Status' , align : 'center' , width:'60' ,unformat : unformatterFunction, formatter : fontFormatterFunction}
],
jsonReader : {
repeatitems : false
},
rowNum: 10000,
height : '500',
viewrecords : true,
autowidth: true,
gridview: true,
ondblClickRow : function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['EaiSevrInstncName'];
var key2 = rowData['AdptrBzwkGroupName'];
var url2 = '<c:url value="/onl/adapter/socket/socketConnection.view" />';
url2 += "?cmd=LIST";
url2 += "&searchEaiSevrInstncName="+key;
url2 += "&searchAdptrBzwkGroupName="+key2;
url2 += '&menuId='+'${param.menuId}';
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){
}
,
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
$("#btn_search").click(function(){
list();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
list();
}
});
$("input:radio[name=searchType]").change(function() {
var searchType = $(this).val();
if (searchType == "GRP")
$("select[name=searchRealTimeCd]").show();
else
$("select[name=searchRealTimeCd]").hide();
});
$("#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"),'SOCKET_connection info');
return false;
});
buttonControl();
// init(list);
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 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("socketProc.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("socketProc.searchOpt") %></th>
<td>
<input type="radio" value="ALL" name="searchType" checked="checked"/><%= localeMessage.getString("socketProc.all") %>
<input type="radio" value="ERR" name="searchType"/><%= localeMessage.getString("socketProc.error") %>
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterStat.adapterGroup") %></th>
<td><input type="text" name="searchAdapterGroup" value="${param.searchAdapterGroup}" style="width:100%"></td>
</tr>
</tbody>
</table>
</form>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
<!-- <div class="table_wrap col">
<table width="100%" height="35px">
</table>
</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"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%
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/socketStatus.json" />';
var url_view = '<c:url value="/onl/adapter/socket/socketStatus.view" />';
var url_excel = '<c:url value="/onl/adapter/socket/socketStatus.excel" />';
var timer;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var stgSvr = <%=SystemUtil.isStagingServer()%>;
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=searchRealTimeCd]")).setData(
json.realTimeGroupRows).rendering();
if (typeof callback === 'function') {
callback();
}
},
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 unformatterFunction(cellvalue, options, rowObject) {
return cellvalue;
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if ("${rmsMenuAuth}" =="W"){
if (cellvalue == "03") {
// return "<img id='btn_stop' src='<c:url value='/images/bt/bt_end_sm.gif'/>' name='img_" + rowId + "' />";
return "<button type='button' class='cssbtn smallBtn2' id='btn_stop' style='vertical-align:middle; font-weight:bold;' name='img_" + rowId + "'>stop</button>";
} else if (cellvalue == "01") {
return "<button type='button' class='cssbtn smallBtn2' id='btn_start' style='vertical-align:middle; font-weight:bold;' name='img_" + rowId + "'>start</button>";
}
}
else {
return "";
}
}
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 startStop(postData) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
list();
},
error : function(e) {
alert(e.responseText);
}
});
}
function goDetail(obj, rowId) {
var rowData = obj
.getRowData(rowId);
var key = rowData['EaiSevrInstncName'];
var key2 = rowData['AdptrBzwkGroupName'];
var url2 = '<c:url value="/onl/adapter/socket/socketConnection.view" />';
url2 += "?cmd=LIST";
url2 += "&searchEaiSevrInstncName="
+ key;
url2 += "&searchAdptrBzwkGroupName="
+ key2;
goNav(url2);
}
function goFilePage(){
location.href = "<%=request.getContextPath()%>/jsp/adapterMonitorFile.jsp";
}
//소켓 모니터 화면 추가
function goPage() {
var sw = screen.width;
var sh = screen.height;
var mode = "width="+ sw +",height="+ sh +",left=0,top=0";
// mode = mode + ",channelmode=yes"; //only IE titlebar=yes
// mode = mode + ",,fullsctreen=yes"; // only IE titlebar=no
mode = mode + ",location=yes,menubar=yes,scrollbars=yes,resizable=yes,status=yes,titlebar=yes,toolbar=yes";
var win = window.open("<%=request.getContextPath()%>/jsp/adapterMonitorPage.jsp", "_blank", mode);
win.focus();
}
$(document).ready( function() {
//권한체크
if ("${rmsMenuAuth}" =="W"){
$("#socketLink ,#socketLink2").show();
}
$("select[name=searchRealTimeCd]").hide();
var mod = sessionStorage["mod"];
if (mod == undefined || mod == "")
mod = "ALL";
else
sessionStorage["mod"] = "";
$("input:radio[name=searchType]:radio[value='"+ mod + "']").attr("checked", true);
$('#grid').jqGrid({
datatype : "local",
mtype : 'POST',
//url : url,
//postData : gridPostData,
colNames : [
'<%= localeMessage.getString("adapterStat.adapterGroup") %>[TX]',
'<%= localeMessage.getString("adapterStat.instanceName") %>',
'<%= localeMessage.getString("adapterStat.adapterName") %>',
'<%= localeMessage.getString("adapterStat.adapterDesc") %>',
'<%= localeMessage.getString("adapterStat.adapterDv") %>',
'<%= localeMessage.getString("adapterStat.status") %>',
'<%= localeMessage.getString("adapterStat.startStat") %>',
'<%= localeMessage.getString("adapterStat.startup") %>'
],
colModel : [
{ name : 'AdptrBzwkGroupName' ,align : 'left' ,width : '140' },
{ name : 'EaiSevrInstncName' ,align : 'left' ,width : '100' ,sortable : false },
{ name : 'AdptrBzwkName' ,align : 'left' ,width : '170' },
{ name : 'AdptrBzwkDesc' ,align : 'left' ,width : '200' },
{ name : 'AdptrType' ,align : 'center' ,width : '80' },
{ name : 'Status' ,align : 'center' ,width : '40' ,unformat : unformatterFunction, formatter : fontFormatterFunction},
{ name : 'Starting' ,align : 'center' ,width : '55' },
{ name : 'StartStop' ,align : 'center' ,width : '60' ,unformat : unformatterFunction, formatter : formatterFunction}
],
jsonReader : {
repeatitems : false
},
rowNum : 1000,
height : '500',
autowidth: true,
viewrecords : true,
gridview : true,
ondblClickRow : function(rowId) {
console.log("rowId", rowId);
var rowData = $(this)
.getRowData(rowId);
var key = rowData['EaiSevrInstncName'];
var key2 = rowData['AdptrBzwkGroupName'];
var url2 = '<c:url value="/onl/adapter/socket/socketConnection.view" />';
url2 += "?cmd=LIST";
url2 += "&searchEaiSevrInstncName="
+ key;
url2 += "&searchAdptrBzwkGroupName="
+ key2;
url2 += '&menuId='+'${param.menuId}';
goNav(url2);
},
loadComplete : function(d) {
$("button[name*=img]").unbind("click");
$("button[name*=img]").click(function() {
// alert('click');
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 : "control" ,value : control });
postData.push({ name : "eaiInstanceName" ,value : data["EaiSevrInstncName"]});
postData.push({ name : "adapterGroupName" ,value : data["AdptrBzwkGroupName"]});
postData.push({ name : "adapterName" ,value : data["AdptrBzwkName"]});
var msgStartStop = control == "start" ? "<%= localeMessage.getString("adapterStat.start") %>":"<%= localeMessage.getString("adapterStat.close") %>";
var resultConfirm = confirm(replaceMsg("<%= localeMessage.getString("common.confirmMsg1") %>",msgStartStop,data["AdptrBzwkGroupName"],data["AdptrBzwkName"]));
/* var resultConfirm = confirm(data["AdptrBzwkGroupName"]
+ " "
+ data["AdptrBzwkName"]
+ "을\n\n"
+ msgStartStop
+ " 하시겠습니까?"); */
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(xhr, status,error) {
alert(error);
//clearInterval(timer);
}
});
$("#btn_search").click(function() {
list();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
list();
}
});
$("input:radio[name=searchType]").change(function() {
var searchType = $(this).val();
if (searchType == "GRP")
$("select[name=searchRealTimeCd]").show();
else
$("select[name=searchRealTimeCd]").hide();
});
$("#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"),'SOCKET_STATUS');
return false;
});
buttonControl();
//init(list);
console.log(roleString);
if(stgSvr) {
var strRole = roleString;
var strVal = "admin";
var arrRoleID = strRole.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
if (role == strVal) {
flag = true;
return false;
}
});
if(flag)
$("#socketLink ,#socketLink2").show();
}
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">
<!--어드민만 보이게 -->
<span id="socketLink" style="cursor:pointer;font-size:13px;display:none;" onClick="goFilePage()"><b>[<%= localeMessage.getString("socketStat.fileDown") %>]</b></span>&nbsp;&nbsp;&nbsp;
<span id="socketLink2" style="cursor:pointer;font-size:13px;display:none;" onClick="goPage()"><b>[<%= localeMessage.getString("socketStat.socketMoniPop") %>]</b></span>&nbsp;&nbsp;
<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("socketStat.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("socketStat.searchOpt") %></th>
<td>
<input type="radio" value="ALL" name="searchType" checked="checked"/><%= localeMessage.getString("socketStat.all") %>
<input type="radio" value="ERR" name="searchType"/><%= localeMessage.getString("socketStat.error") %>
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterStat.adapterGroup") %></th>
<td><input type="text" name="searchAdapterGroup" value="${param.searchAdapterGroup}" style="width:100%"></td>
</tr>
</tbody>
</table>
</form>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
<div class="table_wrap col">
<table width="100%" height="35px">
</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"%>
<%@ 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/socketTracking.json" />';
var url_view = '<c:url value="/onl/adapter/socket/socketTracking.view" />';
var timer;
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 formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<button type='button' class='cssbtn smallBtn2' id='btn_stop' style='vertical-align:middle; font-weight:bold;' name='img_"+cellvalue+"_"+rowId+"'>level "+cellvalue+" </button>";
// return "<img id='btn_stop' src='<c:url value='/images/bt/bt_level"+cellvalue+"_sm.gif'/>' name='img_"+cellvalue+"_"+rowId+"' />";
}
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("", "선택안함").setData(json.instanceList).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrInstncName]")).setData(json.instanceList).rendering();
if('${param.searchEaiSevrInstncName}' != ""){
$("select[name=searchEaiSevrInstncName]").val('${param.searchEaiSevrInstncName}');
}
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.status") %>',
'LEVEL',
'LEVEL0',
'LEVEL1',
'LEVEL2',
'LEVEL3'
],
colModel : [
{ name : 'AdptrBzwkGroupName' , align : 'left' , width:'140' ,sortable : false },
{ name : 'AdptrBzwkName' , align : 'left' , width:'170' },
{ name : 'AdptrBzwkDesc' , align : 'left' },
{ name : 'Status' , align : 'center' , width:'50' , formatter : fontFormatterFunction},
{ name : 'Level' , align : 'center' , width:'50'},
{ name : 'Level0' , align : 'center' , width:'50' , formatter : formatterFunction},
{ name : 'Level1' , align : 'center' , width:'50' , formatter : formatterFunction},
{ name : 'Level2' , align : 'center' , width:'50' , formatter : formatterFunction},
{ name : 'Level3' , align : 'center' , width:'50' , formatter : formatterFunction}
],
jsonReader : {
repeatitems : false
},
rowNum: 10000,
height : '500',
viewrecords : true,
autowidth: true,
gridview: true,
ondblClickRow : function(rowId) {
},
loadComplete:function (d){
// $("img[name*=img]").unbind("click");
$("button[name*=img]").unbind("click");
$("button[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var control = name.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:"level" , value:control});
var msgStartStop = "level"+control;
var resultConfirm = confirm(replaceMsg("<%= localeMessage.getString("common.confirmMsg1") %>"
,msgStartStop,data["AdptrBzwkGroupName"],data["AdptrBzwkName"]));
/* var resultConfirm = confirm(
data["AdptrBzwkGroupName"]
+ " "
+ data["AdptrBzwkName"]
+ "을\n\n"
+ msgStartStop
+ "으로 설정 하시겠습니까?"); */
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' +
'error: session is closed');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
$("#btn_search").click(function(){
list();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
list();
}
});
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">
<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("socketTracking.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>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,527 @@
<%@ 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="/onl/admin/adapter/adapterChangeMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/adapterChangeMan.view" />';
var modify_rowID = 1;
function beforeModify(dev, test) {
var dev_flag = dev =="ON"?"1":"0";
var test_flag = test=="ON"?"1":"0";
return "D"+dev_flag+"T"+test_flag;
}
function list(_page) {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url, postData: postData,datatype:"json"}).trigger("reloadGrid");
}
function dataFormater(cellvalue, options, rowObject) {
if (cellvalue == null || cellvalue==undefined) {
return "";
}
if(cellvalue == '0') {
return $(document.createElement('span')).attr({ style : "color:red" }).text("OFF").prop('outerHTML');
}
if(cellvalue == '1') {
return $(document.createElement('span')).attr({ style : "color:blue" }).text("ON").prop('outerHTML');
}
return "";
}
function startStop(postData,rowId) {
$("#modal-overlay").fadeIn();
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
$("#modal-overlay").fadeOut();
alert(json.message);
list("1");
reloadDetailGrid(rowId);
// 수정된 row 위치 저장.
modify_rowID = rowId;
},
error : function(e) {
$("#modal-overlay").fadeOut();
alert(e.responseText);
}
});
}
//어댑터 상세그리드 함수.
function searchAadaptDetail(adptGroup , eaisevrdstcd) {
var postData = getSearchForJqgrid("cmd","LIST_SELECT_ADAPTER");
postData["searchAdapterGroup"] = adptGroup;
postData["eaisevrdstcd"] = eaisevrdstcd;
$("#gridDetail").setGridParam({ url:url, postData: postData }).trigger("reloadGrid");
}
//어댑터 전환이력 가져오기
function searchUserInfo(adptGroup) {
var postData = getSearchForJqgrid("cmd","LIST_USER_INFO");
postData["adptrbzwkgroupname"] =adptGroup;
$("#gridDetail2").setGridParam({ url:url, postData: postData }).trigger("reloadGrid");
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
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 allOffBtnFormatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img name='img_"+rowId+"' src=<c:url value='/images/bt/pop_operate.gif' /> />";
}
function dateFormater(cellvalue, options, rowObject){ //20190513134307
if (cellvalue==null|| cellvalue==undefined) return "";
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;
}
function reloadDetailGrid(rowId){
$('#gridDetail').jqGrid('clearGridData');
$('#gridDetail2').jqGrid('clearGridData');
var adptGroup = $("#grid").jqGrid("getCell", rowId, "ADPTRBZWKGROUPNAME");
var eaisevrdstcd = $("#grid").jqGrid("getCell", rowId, "EAISEVRDSTCD");
searchAadaptDetail(adptGroup , eaisevrdstcd);
searchUserInfo(adptGroup);
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
postData : gridPostData,
url : url,
colNames:['어댑터 그룹명',
'어댑터 설명',
'어댑터 별명',
'DEV',
'TEST',
'모두끄기',
'서버구분코드',
'업무구분코드',
'사용자업무코드권한',
'담당자명',
'연락처'
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' ,width:100},
{ name : 'ADPTRBZWKGROUPDESC' , align:'left' ,width:100 },
{ name : 'ADPTRNICKNAME' , align:'left' ,width:60 },
{ name : 'ADPTRUSEYN' , align:'center' ,width:30, formatter: dataFormater },
{ name : 'ADPTRUSEYN2' , align:'center' ,width:30, formatter: dataFormater },
{ name : 'OFFALL' , align:'center' ,width:30, formatter: allOffBtnFormatterFunction},
{ name : 'EAISEVRDSTCD' , hidden:true},
{ name : 'EAIBZWKDSTCD' , hidden:true},
{ name : 'AUTHCHK' , hidden:true},
{ name : 'OSIDINSTIBZWKRSEMPNAME',align:'center' ,width:70, sortable : false},
{ name : 'OSIDINSTITELNO' , align:'center' ,width:70, sortable : false}
],
jsonReader: {
repeatitems:false
},
autoheight: true,
//height: $("#container").height(),
height: "280",
autowidth: true,
viewrecords: true,
rowNum : 5000,
loadonce:true,
gridComplete:function (d){
//GroupHeader 셋팅후 colModel 변경
/* $("#grid").jqGrid('destroyGroupHeader');
var colModel = $(this).getGridParam("colModel");
$(this).jqGrid('setLabel',colModel[2].name, adptInstNm[0]);
$(this).jqGrid('setLabel',colModel[3].name, adptInstNm[1]);
$(this).jqGrid('setLabel',colModel[4].name, adptInstNm[2]);
$(this).jqGrid('setLabel',colModel[5].name, adptInstNm[3]);
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'ADPTRUSEYN1', numberOfColumns: 2, titleText: 'TOBE'},
{startColumnName: 'ADPTRUSEYN3', numberOfColumns: 2, titleText: 'ASIS'},
{startColumnName: 'OSIDINSTIBZWKRSEMPNAME', numberOfColumns: 2, titleText: '대외기관'}
]
}); */
},
loadComplete:function (d){
$("#modal-overlay").fadeOut();
if(d.errMsg) {
alert(d.errMsg);
}
var rowCnt = $("#grid").getGridParam("reccount");
if(rowCnt > 0)
{
$("#grid").jqGrid("setSelection",modify_rowID, true);
// 초기화
modify_rowID = 1;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
console.error(errorThrown);
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
},
onCellSelect: function(rowId, index, contents, event) {
var data = $(this).getRowData(rowId);
var cellValue = $(this).getCell(rowId,index);
//on 클릭시 기동하고자하는 어댑터 선택하라는 메시지 나옴
//off 클릭시 전부 off 시킨후에 선택어댑터 on 시킴
var modfibfeaisevrname = "";
var modfibfeaiInstname = "";
var hist_adapterInst = ""; //최종 변경 INST
var hist_user = ""; //최종 변경 이사용자
var hist_user_telNo = ""; //전화번호
var eaibzwkdstcd = $("#grid").jqGrid("getCell", rowId, "EAIBZWKDSTCD");
var isUserBiz = $("#grid").jqGrid("getCell", rowId, "AUTHCHK");
if(index == 3 || index == 4) { //어댑터 ON/OFF
adapter_on_off(rowId, index, data, cellValue);
} else if(index == 5) {
all_adapter_off(rowId, data, cellValue);
} else {
reloadDetailGrid(rowId);
}
}
});
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'ADPTRUSEYN', numberOfColumns: 3, titleText: '우체국'},
{startColumnName: 'OSIDINSTIBZWKRSEMPNAME', numberOfColumns: 2, titleText: '대외기관'}
]
});
$("#btn_search").click(function(){
$('#gridDetail').jqGrid('clearGridData');
$('#gridDetail2').jqGrid('clearGridData');
list("1");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$('#gridDetail').jqGrid({
datatype:"json",
mtype: 'POST',
colNames:['엔진 서버구분',
'어댑터 그룹명',
'어댑터명',
'상태',
'기동',
'엔진 인스턴스명'
],
colModel : [
{
name : 'EaiServerName',
align : 'center',
width : '40',
sortable : false
},
{
name : 'AdptrBzwkGroupName',
align : 'left',
width : '140',
sortable : false
},
{
name : 'AdptrBzwkName',
align : 'left',
width : '170',
sortable : false
},
{
name : 'Status',
align : 'center',
width : '40',
sortable : false,
unformat : unformatterFunction,
formatter : fontFormatterFunction
},
{
name : 'Starting',
align : 'center',
width : '55',
sortable : false
},
{
name : 'EaiSevrInstncName',
align : 'left',
width : '100',
sortable : false
}
],
jsonReader: {
repeatitems:false
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
autowidth: true,
height: "120",
});
//변경이력관리
$('#gridDetail2').jqGrid({
datatype:"json",
mtype: 'POST',
colNames:['부서명',
'ID',
'변경자',
'연락처',
'휴대폰번호',
'변경일시',
'변경전',
'변경후'
],
colModel:[
{ name : 'TEAMNAME' , align:'center' , sortable : false},
{ name : 'USERID' , align:'center' ,width:100, sortable : false},
{ name : 'USERNAME' , align:'center' ,width:100, sortable : false},
{ name : 'OFCTELNO' , align:'center' ,width:100, sortable : false},
{ name : 'CPHNNO' , align:'center' ,width:100, sortable : false},
{ name : 'LASTAMNDYMS' , align:'center' ,width:100 ,formatter: dateFormater, sortable : false},
{ name : 'MODFIBFEAISEVRNAME' , align:'center' ,width:100, sortable : false, formatter: beforeAfterFormatter},
{ name : 'MODFIAFEAISEVRNAME' , align:'center' ,width:100, sortable : false, formatter: beforeAfterFormatter}
],
jsonReader: {
repeatitems:false
},
autowidth: true,
height: "100",
});
buttonControl();
});
function adapter_on_off(rowId, index, data, cellValue) {
var cellTextValue = $(cellValue).text();
var useYn_1_textValue = $(data.ADPTRUSEYN).text();
var useYn_2_textValue = $(data.ADPTRUSEYN2).text();
if(cellValue == "") {
alert("어댑터 ON/OFF 상태를 알 수 없습니다.");
return;
}
//권한체크
if ("${rmsMenuAuth}" == "R") {
alert("어댑터전환 권한이 없습니다.");
return;
}
if(cellTextValue == "ON") {
alert("기동하고자 하는 어댑터(ON시키고자 하는 어댑터)를 클릭하십시오.");
return;
}
var postData = [];
postData.push({ name: "cmd" , value:"UPDATE_STARTSTOP"});
var request_dev_useYn = "";
var request_test_useYn = "";
if(useYn_1_textValue == "OFF" && useYn_2_textValue == "OFF") {
if(index == 3) {
request_dev_useYn = "1";
request_test_useYn = "0";
} else if (index == 4) {
request_dev_useYn = "0";
request_test_useYn = "1";
}
} else {
request_dev_useYn = useYn_1_textValue == "ON" ? "0" : "1";
request_test_useYn = useYn_2_textValue == "ON" ? "0" : "1";
}
var confirmStr = data.ADPTRBZWKGROUPDESC + "를\n개발 : " + $(dataFormater(request_dev_useYn)).text() + "\n테스트 : " + $(dataFormater(request_test_useYn)).text() + "\n로 변경하시겠습니까?";
if(confirm(confirmStr)){
$.each(data, function(rowId,index) {
if(index == "ON") {
modfibfeaisevrname = adptInstMap.get(rowId);
modfibfeaiInstname = adptInstNmMap.get(rowId);
}
});
postData.push({ name: "ADPTRBZWKGROUPNAME" , value:data.ADPTRBZWKGROUPNAME});
postData.push({ name: "DEVUSEYN", value: request_dev_useYn });
postData.push({ name: "TESTUSEYN", value: request_test_useYn });
// 변경전 어댑터정보
postData.push({ name : "MODFIBFEAISEVRNAME", value : beforeModify(useYn_1_textValue, useYn_2_textValue)});
startStop(postData, rowId);
}
}
function all_adapter_off(rowId, data, cellValue) {
var useYn_1_textValue = $(data.ADPTRUSEYN).text();
var useYn_2_textValue = $(data.ADPTRUSEYN2).text();
if(useYn_1_textValue == "" || useYn_2_textValue == "") {
alert("어댑터 ON/OFF 상태를 알 수 없습니다.");
return;
}
if(confirm("개발, 테스트 어댑터를 모두 끕니다. 진행하시겠습니까?")) {
var postData = [];
postData.push({ name: "cmd" , value : "UPDATE_STARTSTOP" });
postData.push({ name: "ADPTRBZWKGROUPNAME" , value: data.ADPTRBZWKGROUPNAME});
postData.push({ name: "DEVUSEYN" , value: "0" });
postData.push({ name: "TESTUSEYN" , value: "0" });
postData.push({ name: "MODFIBFEAISEVRNAME", value : beforeModify(useYn_1_textValue, useYn_2_textValue)});
startStop(postData, rowId);
}
}
function beforeAfterFormatter(cellvalue, options, rowObject) {
return cellvalue.replace("D", "개발 : ").replace("T", "테스트 : ").replaceAll("1", "ON ").replaceAll("0", "OFF ");
}
</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_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> <!-- 3자리만 입력가능하게 -->
<td style="width:250px;">
<input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}" >
</td>
<th style="width:100px;">어댑터 설명</th>
<td style="width:250px;">
<input type="text" name="searchAdptrBzwkGroupDesc" value="${param.searchAdptrBzwkGroupDesc}">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div style="color:blue;text-align:right;height:20px;">- 연결유지형 소켓의 세션이 없는경우 상태가 false 로 보임(상대기관의 서버상태 확인필요)</div>
<table id="gridDetail" ></table>
<div style="height:10px;"></div>
<table id="gridDetail2" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<div id="modal-overlay">wait</div>
</body>
</html>
@@ -0,0 +1,186 @@
<%@ 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="/onl/admin/adapter/adapterChnlMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/adapterChnlMan.view" />';
function init(callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_SEARCH_INIT_COMBO'},
success:function(json){
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:['어댑터그룹명 ',
'대외채널구분코드',
'대외채널기관코드',
'대외채널업체ID',
'송수신회선구분코드',
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' },
{ name : 'OTSDCHNLDVCD' , align:'left' },
{ name : 'OTSDCHNLINSTCD' , align:'left' },
{ name : 'OSDCHCOID' , align:'left' },
{ name : 'SNDRCVLNKDVCD' , 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){
//$(this).setGridParam({datatype:'local'});
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
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 += '&adptrBzwkGroupName='+rowData['ADPTRBZWKGROUPNAME'];
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_new").click(function(){
var url2 = '<c:url value="/onl/admin/adapter/adapterChnlMan.view"/>';
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("#btn_initialize").click(function(){
var r = confirm("재로딩 하시겠습니까?");
if(r !=true) return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert("성공");
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_search").click(function(){
$("#grid").setGridParam({ postData: { searchAdptrBzwkGroupName: $('input[name=searchAdptrBzwkGroupName]').val()},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_initialize.png"/>" alt="" id="btn_initialize" 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">어댑터 채널</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">그룹명</th>
<td>
<input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}">
</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,270 @@
<%@ 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="/onl/admin/adapter/adapterChnlMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/adapterChnlMan.view" />';
var selectName = "EAIBZWKDSTCD"; // selectBox Name
var isDetail = false;
function isValid() {
if ($('input[name=adptrBzwkGroupName]').val() == "") {
alert("어댑터 그룹명을 입력하여 주십시요.");
return false;
}
if ($('select[name=sndrcvLnkDvcd]').val() == "") {
alert("어댑터 유형을 선택하여 주십시요.");
return false;
}
if ($('input[name=otsdChnlDvcd]').val() == "") {
alert("어댑터 채널구분코드를 입력하여 주십시요.");
return false;
}
return true;
}
function init(key, callback) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'LIST_INIT_COMBO'
},
success : function(json) {
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',
adptrBzwkGroupName : key
},
success : function(json) {
var detail = json.detail;
//adapterGroup
$("input[name=ADPTRBZWKGROUPNAME]").attr('readonly', true);
$("#detail input,#detail select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.adptrBzwkGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
detail(key);
$("#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(args.result);
goNav(returnUrl);//LIST로 이동
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
});
$("#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(args.result);
goNav(returnUrl);//LIST로 이동
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
});
$("#btn_initialize").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "RELOAD"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("RELOAD 되었습니다.");
//goNav(returnUrl);//LIST로 이동
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_search").click(function() {
var args = new Object();
var key = $("input[name=adptrBzwkGroupName]").val();
var url1 = url_view;
url1 += "?cmd=POPUP";
url1 += "?adptrBzwkGroupName="+key;
var ret = showModal(url1,args,1200,800, 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 == null) return;
var retVal = ret['key'];
if(retVal == null || retVal=="") return;
$("input[name=adptrBzwkGroupName]").val(retVal);
});
});
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 id="detail" class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">어댑터 그룹명</th>
<td>
<input type="text" name="adptrBzwkGroupName" style="width:calc(100% - 70px);" />
<img id="btn_search" src="<c:url value="/img/btn_pop_search.png"/>" level="W" status="NEW" class="btn_img" />
</td>
</tr>
<tr>
<th>서비스타입</th>
<td>
<div class="select-style">
<select name="serviceTypeName" ><option value="FEP">FEP</option><option value="EAI">EAI</option></select>
</div>
</td>
</tr>
<tr>
<th>채널구분코드</th>
<td><input type="text" name="otsdChnlDvcd" /></td>
</tr>
<tr>
<th>기관코드</th>
<td><input type="text" name="otsdChnlInstCd" /></td>
</tr>
<tr>
<th>업체코드</th>
<td><input type="text" name="osdchCoId"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("batInterfaceMan.popSndRecvDiv")%></th>
<td>
<div class="select-style">
<select name="sndrcvLnkDvcd">
<option value="2">IN</option>
<option value="1">OU</option>
<option value="3">IO</option>
</select>
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,133 @@
<%@ 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="/onl/admin/adapter/adapterChnlMan.json" />';
var adptrBzwkGroupName = window.dialogArguments["adptrBzwkGroupName"];
$(document).ready(function() {
//$('input[name=adptrBzwkGroupName]').val(eaiSvcName);
var serviceType = $('select[name=serviceType] option:selected').val();
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : {cmd : "LIST_POP",adptrBzwkGroupName : adptrBzwkGroupName==null?"":adptrBzwkGroupName,serviceType:serviceType },
colNames : [ '어뎁터명',
'어뎁터설명'
],
colModel : [ { name : 'ADPTRBZWKGROUPNAME' , align : 'left' , width:'40' ,sortable:false},
{ name : 'ADPTRBZWKGROUPDESC' , align : 'left' , width:'100'},
],
jsonReader : {
repeatitems : false
},
rowNum: 10000,
height: '500',
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['ADPTRBZWKGROUPNAME'];
var retData=new Object() ;
retData['key'] = key;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var _adptrBzwkGroupName = $('input[name=searchAdptrBzwkGroupName]').val();
var serviceType = $('select[name=serviceType] option:selected').val();
var postData = new Array();
postData.push({ name: "cmd" , value:"LIST_POP"});
postData.push({ name: "adptrBzwkGroupName" , value:_adptrBzwkGroupName});
postData.push({ name: "serviceType" , value:serviceType});
$("#grid").setGridParam({ postData:postData}).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/>
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/>
</div>
<div class="title">어댑터 조회</div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;">어댑터명</th>
<td style="width:80%;">
<input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}" style="width:65%;">
<div class="select-style" style="display:inline-block; width:30%;">
<select name="serviceType">
<option value="FEP">FEP</option>
<option value="EAI">EAI</option>
</select>
</div>
</td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</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"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.context.MonitoringContext"%>
<%@ page import="com.eactive.eai.rms.common.util.CommonUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
MonitoringContext monitoringContext = (MonitoringContext)CommonUtil.getBean(request, "monitoringContext");
String deployYnStr = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_YN_BY_RMS, "N");
boolean deployYn = "Y".equalsIgnoreCase(deployYnStr);
%>
<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="/onl/admin/adapter/adapterMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/adapterMan.view" />';
var url_excel='<c:url value="/onl/admin/adapter/adapterMan.excel"/>';
var url_file ='<c:url value="/onl/admin/adapter/adapterMan.file"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var stageSvr = <%=SystemUtil.isStagingServer()%>;
var selectName = "searchEaiBzwkDstcd";
var select_useYn = new Array();
var select_adptrMsgPtrnCdRows = new Array();
//var select_testMasterYnRows = new Array();
function init(callback) {
return $.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_SEARCH_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchAdptrIoDstCd]")).setNoValueInclude(true).setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(json.adptrIoDstcdRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchAdptrMsgPtrnCd]")).setNoValueInclude(true).setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(json.adptrMsgPtrnCdRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchAdptrUseYn]")).setNoValueInclude(true).setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiBzwkDstcd]")).setNoValueInclude(true).setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(json.bzwkCodeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchAdptrMsgDstCd]")).setNoValueInclude(true).setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(json.msgTypeRows).setFormat(codeName3OptionFormat).rendering();
select_useYn['value'] = ": ;"+getGridSelectText("CODE","NAME", json.useYnRows);
select_adptrMsgPtrnCdRows['value'] = ": ;"+getGridSelectText("CODE","NAME", json.adptrMsgPtrnCdRows);
//select_testMasterYnRows['value'] = ": ;"+getGridSelectText("CODE","NAME", json.testMasterYnRows);
setSearchable(selectName);
putSelectFromParam();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list(_page)
{
var page = "${param.page}";
if(_page) page = _page;
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["sortName"] ='${param.sortName}';
postData["sortOrder"]="${param.sortOrder}";
$("#grid").setGridParam({ url:url, postData: postData ,sortName:'${param.sortName}', sortOrder:"${param.sortOrder}",page : page }).trigger("reloadGrid");
}
function onclickBtnClone() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
if (sel.length == 0) {
alert('<%= localeMessage.getString("eaiMessage.alert17")%>');
return;
}
var selectedAdapterNames = [];
$(sel).each(function(index, i) {
var adapterName = $('#grid').getCell(i, 'ADPTRBZWKGROUPNAME');
selectedAdapterNames.push(adapterName);
});
var url2 = url_view;
url2 += "?cmd=POPUP CALENDAR";
var args = new Object();
args['selectedAdapterName'] = selectedAdapterNames.join(',');
showModal(url2,args,540,280, 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;
deployAdapters(args.returnValue);
});
}
function deployAdapters(ret) {
var params = ret;
params['cmd'] = 'CLONETOPROD';
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
list($("#grid").getGridParam("page"));
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
$(document).ready(function() {
init().done(function(result) {
jqGridInit();
});
$('#btn_clone').click(onclickBtnClone);
$("#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("adapter.title")%>');
return false;
});
$("#btn_search").click(function(){
list("1");
});
$("#btn_new").click(function(){
var url2 = '<c:url value="/onl/admin/adapter/adapterMan.view"/>';
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
url2 += '&sortName='+$("#grid").getGridParam("sortname");
url2 += '&sortOrder='+$("#grid").getGridParam("sortorder");
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
if(devSvr || stageSvr){
setBtnHide(roleString, "admin", "btn_clone");
}else{
$("#btn_clone").hide();
}
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(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
});
});
function jqGridInit() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
sortable: false,
// url: url,
// postData : gridPostData,
colNames:['<%= localeMessage.getString("adapter.adptrBzwkGroupName")%>',
'<%= localeMessage.getString("adapter.adptrBzwkGroupDesc")%>',
'<%= localeMessage.getString("adapter.adptrIoDstCd")%>',
'<%= localeMessage.getString("adapter.adptrMsgpTrnCdType")%>',
'<%= localeMessage.getString("adapter.eaiBzwkDstCd")%>',
<%-- '<%= localeMessage.getString("adapter.adptrCd")%>', --%>
'<%= localeMessage.getString("adapter.adptrMsgDstCd")%>',
'<%= localeMessage.getString("adapter.adptrUseYn")%>'
<%-- '<%= localeMessage.getString("adapter.kesauseyn")%>', --%>
<%-- '<%= localeMessage.getString("adapter.testmasteryn")%>',
'<%= localeMessage.getString("adapter.adptrnickname")%>' --%>
<%-- '<%= localeMessage.getString("adapterDetail.eaisevrdstcd")%>', --%>
<%-- '<%= localeMessage.getString("adapterDetail.dradptryn")%>' --%>
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' },
{ name : 'ADPTRBZWKGROUPDESC' , align:'left', width:180},
{ name : 'ADPTRIODSTCD' , align:'center', width:100, edittype:'select',editoptions:{value : "I:INBOUND;O:OUTBOUND"}, formatter:"select"},
{ name : 'ADPTRMSGPTRNCD' , align:'center', width:70, edittype:'select' , editoptions:select_adptrMsgPtrnCdRows, formatter:"select"},
{ name : 'EAIBZWKDSTCD' , align:'center', width:70},
// { name : 'ADPTRCD' , align:'center' ,width:70},
{ name : 'ADPTRMSGDSTCD' , align:'center', width:70},
{ name : 'ADPTRUSEYN' , align:'center' , width:80, edittype:'select', editoptions:select_useYn, formatter:"select"},
// { name : 'KESAUSEYN' , align:'center' ,width:100},
// { name : 'TESTMASTERYN' , align:'center' ,width:100, edittype:'select', editoptions:select_testMasterYnRows, formatter:"select", hidden:true},
// { name : 'ADPTRNICKNAME' , align:'center' ,width:100, hidden:true},
// { name : 'EAISEVRDSTCD' , align:'center' ,width:80 ,formatter : formatter},
// { name : 'DRADPTRYN' , align:'center' ,width:100}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
sortname : '${param.sortName}',
sortorder : '${param.sortOrder}',
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
//$(this).setGridParam({datatype:'local'});
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
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 += '&adptrBzwkGroupName='+encodeURIComponent(rowData['ADPTRBZWKGROUPNAME']);
goNav(url2);
},
onSortCol :function(sidx,colnum,sort_order){
var gridPostData = getSearchForJqgrid("cmd","LIST");
var sortorder="";
if( sort_order == "")
sortorder ='asc';
else
sortorder = sort_order;
gridPostData["sortName"] =sidx;
gridPostData["sortOrder"]=sortorder;
$("#grid").setGridParam({ url:url, postData: gridPostData, sortname:sidx, sortorder:sortorder, page:"1"}).trigger("reloadGrid");
}
});
resizeJqGridWidth('grid','content_middle','1000');
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">
<% if (SystemUtil.isDevServer() && deployYn) { %>
<button type="button" class="cssbtn" id="btn_clone" level="W"><i class="material-icons">move_up</i> <%= localeMessage.getString("button.copyStage") %></button>
<% } else if (SystemUtil.isStagingServer() && deployYn) { %>
<button type="button" class="cssbtn" id="btn_clone" level="W"><i class="material-icons">move_up</i> <%= localeMessage.getString("button.copyProd") %></button>
<% } %>
<button type="button" class="cssbtn" id="btn_import" level="R" 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_excel" level="R" ><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_clone.png"/>" alt="" id="btn_clone" level="W" style="height:32px;"/> --%>
<%-- <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"><%= localeMessage.getString("adapter.title")%></div>
<form id = "ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="13%"><%= localeMessage.getString("adapter.adptrBzwkGroupName")%></th>
<td colspan="5"> <input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}"></td>
</tr>
<tr>
<th width="13%"><%= localeMessage.getString("adapter.adptrBzwkGroupDesc")%></th>
<td width="20%"><input type="text" name="searchAdptrBzwkGroupDesc" value="${param.searchAdptrBzwkGroupDesc}"></td>
<th width="13%"><%= localeMessage.getString("adapter.adptrIoDstCd")%></th>
<td width="20%">
<div class="select-style">
<select name="searchAdptrIoDstCd" value="${param.searchAdptrIoDstCd}" ></select></td>
</div>
</td>
<th width="13%"><%= localeMessage.getString("adapter.adptrMsgpTrnCdType")%></th>
<td width="20%">
<div class="select-style">
<select name="searchAdptrMsgPtrnCd" value="${param.searchAdptrMsgPtrnCd}" ></select>
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("adapter.adptrMsgDstCd")%></th>
<td>
<div class="select-style">
<select name="searchAdptrMsgDstCd" value="${param.searchAdptrMsgDstCd}">
</select>
</div>
</td>
<th><%= localeMessage.getString("adapterDetail.eaibzwkdstcd")%></th>
<td>
<div class="select-style">
<select name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</select>
</div>
</td>
<th><%= localeMessage.getString("adapter.adptrUseYn")%></th>
<td>
<div class="select-style">
<select name="searchAdptrUseYn" value="${param.searchAdptrUseYn}">
</select>
</div>
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></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>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,622 @@
<%@ 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_custom.jsp"/>
<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/admin/adapter/adapterMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/adapterMan.view" />';
var selectName = "EAIBZWKDSTCD"; // selectBox Name
var prptyDomain =[]; //도메인 정보를 전역변수로 선언함
var isDetail = false;
var lastRadioVal = {}; //라디오박스의 최종값 저장(네임:값)
function isValid(){
if($('input[name=ADPTRBZWKGROUPNAME]').val() == ""){
alert("<%=localeMessage.getString("adapterDetail.checkRequierd1")%>");
$('input[name=ADPTRBZWKGROUPNAME]').focus();
return false;
}
if($('select[name=ADPTRCD]').val() == ""){
alert("<%=localeMessage.getString("adapterDetail.checkRequierd2")%>");
$('select[name=ADPTRCD]').focus();
return false;
}
return true;
}
function localSave(){
var key =$("input[name=ADPTRBZWKNAME]").val();
//객체 생성
var save ={};
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
var name = $(this).attr('name').toUpperCase();
save[name] = $(this).val();
});
var fullData = $("#grid").getRowData();
//getRowData 하면 select html 그대로 들어가기 때문에 추가함
for(var i=0;i<fullData.length;i++){
var keyName = fullData[i].PRPTYGROUPNAME+"_"+fullData[i].PRPTYNAME;
keyName = keyName.replace(/[.\{\}]/g,''); //Name은 . 또는 {} 포함안되므로 치환
var domainType = fullData[i].DOMAINTYPE;
if(fullData[i].DOMAINTYPE != null && fullData[i].DOMAINTYPE != "" ){
if(domainType.toUpperCase() == "SELECT"){
fullData[i]["PRPTY2VAL"]= $("select[name="+keyName+"] option:selected").val();
}else if(domainType.toUpperCase() == "RADIO"){
fullData[i]["PRPTY2VAL"]= $("input:radio[name="+keyName+"]:checked").val();
} else if(domainType.toUpperCase() == "CHECK"){
fullData[i]["PRPTY2VAL"]= $("input:checkbox[name="+keyName+"]:checked").val();
}
}else{
fullData[i]["PRPTY2VAL"]=fullData[i]["PRPTY2VAL"].replace(/&nbsp;/g,' ');
}
fullData[i]["PRPTYGROUPNAME"]=$("input[name=PRPTYGROUPNAME]").val();
//추가 2019.03.13 SWCHOI
fullData[i]["LSTNERCLSNAME"]=$("input[name=LSTNERCLSNAME]").val();
fullData[i]["TESTCLSNAME"]=$("input[name=TESTCLSNAME]").val();
fullData[i]["ADPTRDESC"]=$("input[name=ADPTRDESC]").val();
}
save["rows"]=fullData;
submitData[key]=save;
alert("화면상에서 저장되었습니다.\n상단 수정버튼을 이용하여 모든 정보를 저장해 주세요.");
}
function init(key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","CODE").setObj($("select[name=EAIBZWKDSTCD]")).setFormat(codeName3OptionFormat).setData(json.bizRows).rendering(); // 업무구분코드
new makeOptions("CODE","NAME").setObj($("select[name=ADPTRCD]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.adapterTypeRows).rendering(); // 어댑터 유형
new makeOptions("CODE","NAME").setObj($("select[name=ADPTRMSGDSTCD]")).setFormat(codeName3OptionFormat).setData(json.msgTypeRows).rendering(); // 메시지타입
new makeOptions("CODE","NAME").setObj($("select[name=MSGENCODE]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.msgEncodeRows).rendering(); // 메시지문자셋
new makeOptions("CODE","NAME").setObj($("select[name=EAISEVRINSTNCNAME]")).setData(json.instanceRows).rendering(); // 서버인스턴스명
new makeOptions("CODE","NAME").setObj($("select[name=ADPTRIODSTCD]")).setData(json.adptrIoDstcdRows).setFormat(codeName3OptionFormat).rendering(); // IN/OUT 구분
new makeOptions("CODE","NAME").setObj($("select[name=ADPTRMSGPTRNCD]")).setData(json.adptrMsgPtrnCdRows).setFormat(codeName3OptionFormat).rendering(); // 표준/비표준 구분
new makeOptions("CODE","NAME").setObj($("select[name=ADPTRUSEYN]")).setData(json.ynNumRows).setFormat(codeName3OptionFormat).rendering(); // 어댑터 사용구분
new makeOptions("CODE","NAME").setObj($("select[name=SNDRCVHMSLOGYN]")).setData(json.ynNumRows).setFormat(codeName3OptionFormat).rendering(); // 송수신 로그여부
new makeOptions("CODE","NAME").setObj($("select[name=SPCFCLUUSEYN]")).setData(json.ynNumRows).setFormat(codeName3OptionFormat).rendering(); // 특정LU 사용여부
//new makeOptions("CODE","NAME").setObj($("select[name=OSIDINSTIYN]")).setData(json.ynTypeRows).setFormat(codeName3OptionFormat).rendering(); // 대외기관 여부
//new makeOptions("CODE","NAME").setObj($("select[name=MONIUSEYN]")).setData(json.ynRows).setFormat(codeName3OptionFormat).rendering(); // 모니터링 사용 여부
//new makeOptions("CODE","NAME").setObj($("select[name=MONIOPTION]")).setData(json.monicondiSetRows).setFormat(codeName3OptionFormat).rendering(); // 모니터링 조건설정여부
//new makeOptions("CODE","NAME").setObj($("select[name=TESTMASTERYN]")).setData(json.testMasterYnRows).setFormat(codeName3OptionFormat).rendering(); //TAS참조대표어댑터여부
//EAI서버구분코드
new makeOptions("CODE","NAME").setObj($("select[name=EAISEVRDSTCD]")).setData(json.inoutTypeRows).setFormat(codeName3OptionFormat).rendering();
//DR대상 어댑터여부
new makeOptions("CODE","NAME").setObj($("select[name=DRADPTRYN]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
// 동일 세션 사용여부(Socket IOBOUND)
new makeOptions("CODE","NAME").setObj($("select[name=sameSessionYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
// IN/OUT pair Adapter 사용 여부
new makeOptions("CODE","NAME").setObj($("select[name=pairAdapterYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
if(key == "")
{
$("input[name=REFCLSNAME]").val(json.refClsName); // 어댑터 신규 입력할 때 참조 클래스명 default setting.
setSearchable(selectName); // 콤보에 searchable 설정
}
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'
, ADPTRBZWKGROUPNAME : key
},
success:function(json){
var detail = json;
var adapters = json.adapters;
var prop = json.adapters[0].adapterProps;
//어댑터 리스트 카운트
adaptersCnt = adapters.length;
if(adaptersCnt > 0){
$("#adaptersCnt").text("- "+adaptersCnt+" 개");
}
prptyDomain = json.dInfo;
//도메인 정보
//adapterGroup
$("input[name=ADPTRBZWKGROUPNAME]").attr('readonly',true);
var moniTmp = "";
var osidinstiYn = "N";
$("#detail input,#detail select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//adapter
if (adapters.length > 0){
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(adapters[0][name]);
});
//addoption
new makeOptions("PRPTYGROUPNAME","PRPTYGROUPNAME").setObj($("select[name=ADAPTERLIST]")).setData(adapters).rendering();
for(var i=0;i<adapters.length;i++){
submitData[adapters[i]["PRPTYGROUPNAME"]]=adapters[i];
}
}
//prop
$("#grid")[0].addJSONData(prop);
setSearchable(selectName); // 콤보에 searchable 설정
},
error:function(e){
alert(e.responseText);
}
});
}
function mltplFormatter (cellvalue, options,rowObject){
if(rowObject.DMNKND != null && rowObject.DMNKND != "" && rowObject.DOMAINTYPE != null){
if(rowObject.DOMAINTYPE.toUpperCase() == "SELECT"){
return setSelectCombo(rowObject);
}else if(rowObject.DOMAINTYPE.toUpperCase() == "RADIO"){
var val= setRadio(rowObject);
return val;
}else if(rowObject.DOMAINTYPE.toUpperCase() == "CHECK"){
return setCheckbox(rowObject);
}else{
return cellvalue;
}
}else{
if(cellvalue === undefined || cellvalue == null){
return '';
}
cellvalue = cellvalue.replace(/[ ]/g,'&nbsp;');
return cellvalue;
}
//return '<pre>'+cellvalue + '</pre>';
}
function mltplUnFormatter (cellvalue, options,rowObject){
var name = (rowObject.PRPTYGROUPNAME==null?"":rowObject.PRPTYGROUPNAME)+"_"+rowObject.PRPTYNAME;
name = name.replace(/[.\{\}]/g,''); //name 에는 . {} 못들어가서 제거
if(rowObject.DMNKND != null && rowObject.DMNKND != "" && rowObject.DOMAINTYPE != null){
if(rowObject.DOMAINTYPE.toUpperCase() == "SELECT"){
return $("select[name="+name+"] option:selected").val();
}else if(rowObject.DOMAINTYPE.toUpperCase() == "RADIO"){
//return setRadio(rowObject);
}else if(rowObject.DOMAINTYPE.toUpperCase() == "CHECK"){
//return setCheckbox(rowObject);
}else{
return cellvalue;
}
}
else{
return cellvalue.replace(/&nbsp;/g,' ');
}
}
function setSelectCombo(rows){
var domainName = rows.DMNKND;
var value = rows.PRPTY2VAL;
var result="";
var data = prptyDomain[domainName].data;
if(data == null || data.length == 0){
console.log("도메인명 : "+domainName +" 코드 조회 안됨");
}
var name = (rows.PRPTYGROUPNAME==null?"":rows.PRPTYGROUPNAME)+"_"+rows.PRPTYNAME;
name = name.replace(/[.\{\}]/g,'');
result='<select name="'+name+'" style="width:100%">';
//result += '<option value=""></option>';
for(var idx=0;idx < data.length; idx++){
if(data[idx].CODE == value)
result += '<option value="'+ data[idx].CODE+'" selected>'+data[idx].NAME +'</option>';
else
result += '<option value="'+ data[idx].CODE+'">'+data[idx].NAME +'</option>';
}
result +='</select>';
return result;
}
function setRadio(rows){
var domainName = rows.DMNKND;
var value = rows.PRPTY2VAL;
var result="";
var data = prptyDomain[domainName].data;
if(data == null || data.length == 0){
console.log("도메인명 : "+domainName +" 코드 조회 안됨");
}
var name = (rows.PRPTYGROUPNAME==null?"":rows.PRPTYGROUPNAME)+"_"+rows.PRPTYNAME;
name = name.replace(/[.\{\}]/g,'');
for(var idx=0;idx < data.length; idx++){
if(data[idx].CODE == value){
result += '<input type="radio" name="'+name+'" value="'+ data[idx].CODE+'" checked>'+data[idx].NAME+" ";
lastRadioVal[name] = value;
}else{
result += '<input type="radio" name="'+name+'" value="'+ data[idx].CODE+'" >'+data[idx].NAME+" ";
}
}
return result;
}
function setCheckbox(rows){
var domainName = rows.DMNKND;
var value = rows.PRPTY2VAL;
var result="";
var data = prptyDomain[domainName].data;
if(data == null || data.length == 0){
console.log("도메인명 : "+domainName +" 코드 조회 안됨");
}
var name = (rows.PRPTYGROUPNAME==null?"":rows.PRPTYGROUPNAME)+"_"+rows.PRPTYNAME;
name = name.replace(/[.\{\}]/g,'');
for(var idx=0;idx < data.length; idx++){
if(data[idx].CODE == value)
result += '<input type="checkbox" name="'+name+'" value="'+ data[idx].CODE+'" checked>'+data[idx].NAME+" ";
else
result += '<input type="checkbox" name="'+name+'" value="'+ data[idx].CODE+'">'+data[idx].NAME+" ";
}
return result;
}
//도메인 타입이 null이면 조건체크 중에 에러 발생해서 공백으로 치환
function nullFormatter(cellvalue, options, rowData){
if(cellvalue === undefined || cellvalue == null || cellvalue ==='NULL'){
cellvalue='';
}
return cellvalue;
}
function gridRendering(){
$('#grid').jqGrid({
datatype:"local",
editurl : "clientArray",
loadonce: true,
rowNum: 10000,
autoencode:false,
colNames:['<%=localeMessage.getString("adapterDetail.prptyGroupName")%>',
'<%=localeMessage.getString("adapterDetail.prptyName")%>',
'<%=localeMessage.getString("adapterDetail.prpty2Val")%>',
'<%=localeMessage.getString("adapterDetail.prptydesc")%>',
'<%=localeMessage.getString("adapterDetail.dmnkNd")%>',
'<%=localeMessage.getString("adapterDetail.domainType")%>'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' , hidden: true },
{ name : 'PRPTYNAME' , align:'left' , width:'35%' },
{ name : 'PRPTY2VAL' , align:'left' , width:'65%', title:false, editable: false, formatter:mltplFormatter, unformatter:mltplUnFormatter},
{ name : 'PRPTYDESC' ,hidden:true},
{ name : 'DMNKND' ,hidden:true},
{ name : 'DOMAINTYPE' ,hidden:true, formatter:nullFormatter}
],
jsonReader: {
repeatitems:false
},
loadComplete : function (data) {
},
gridComplete : function(){
//라디오 버튼의 해제 기능
$(":radio").unbind("click");
$("input[type=radio]").bind('click',function(){
var name = $(this).attr('name');
var lastVal = lastRadioVal[name];
if(lastVal == $(this).val()){
$(this).attr('checked',false);
lastRadioVal[name]= '';
}else{
lastRadioVal[name]= $(this).val();
}
});
//프라퍼티 정보 tooltip 적용
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var tooltip = $(this).getCell(rows[i],'PRPTYDESC');
$("#grid").setCell(rows[i],'PRPTYNAME','','',{'title':tooltip});
}
},
onSelectRow: function(rowid,status){
var rowData = $(this).getRowData(rowid);
var domainName = rowData.DMNKND;
var domainType = rowData.DOMAINTYPE;
if(domainType.toUpperCase() == 'SELECT' || domainType.toUpperCase() == 'CHECK' || domainType.toUpperCase() == 'RADIO') return;
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);
//도메인 지정
if(domainName != null && domainName != "" && prptyDomain[domainName] != null && prptyDomain[domainName] !="")
$("input[name=PRPTY2VAL]").inputmask(prptyDomain[domainName]["info"].DOMAINVAL,{'autoUnmask':true});
var val = $('input[name=PRPTY2VAL]').val();
$('input[name=PRPTY2VAL]').val(val.replace(/&nbsp;/g,' ')); //Html Text --> Inputbox Text : &nbsp --> ' '
lastsel2=rowid;
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
height: '250',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','content_middle','980');
}
var submitData = {};
var lastsel2;
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
$("img,select[name=ADAPTERLIST]").click(function(){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
});
// var key ="${param.adptrBzwkGroupName}";
var key = '<c:out value="${param.adptrBzwkGroupName}"/>';
if (key != "" && key !="null"){
isDetail = true;
}
gridRendering();
init(key,detail);
$("input[name=ADPTRBZWKNAME]").keyup(function(key){
$("input[name=PRPTYGROUPNAME]").val($(this).val());
$("input[name=PRPTYGROUPDESC]").val("어댑터 프라퍼티 : "+$(this).val());
});
$("select[name=ADAPTERLIST]").change(function(){
if (!($(this).val() == null || $(this).val() == undefined || $(this).val() == "")){
var adapter = submitData[$(this).val()];
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(adapter[name]);
});
$("#grid")[0].addJSONData(adapter.adapterProps);
}else{
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
$(this).val("");
});
var ids = $("#grid").getDataIDs();
for(var i=0;i<ids.length;i++){
$("#grid").jqGrid('setCell',ids[i],'PRPTY2VAL',null);
}
}
});
$("select[name=ADPTRCD],select[name=ADPTRIODSTCD]").change(function(){
if ($('select[name=ADPTRCD]').val()=="") return;
if ($('select[name=ADPTRIODSTCD]').val()=="") return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_PROP'
, adptrCd : $('select[name=ADPTRCD]').val()
, adptrIoDstcd : $('select[name=ADPTRIODSTCD]').val()
},
success:function(json){
prptyDomain = json.dInfo;
//$("#grid").trigger("reloadGrid");
$("#grid")[0].addJSONData(json);
},
error:function(e){
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
//모니터링 사용여부
$("select[name=MONIUSEYN]").change(function(){
var moniUseYn = $(this).val();
if(moniUseYn == "Y"){
$(".conditionYn").attr("disabled",false);
}else{
$(".conditionYn").attr("disabled",true);
}
});
$("#btn_close").click(function(){
window.close();
});
$('body').css("overflow-x","hidden");
$('body').css("overflow-y","auto");
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R" status="DETAIL,NEW"/> --%>
<button type="button" class="cssbtn" id="btn_close" level="R" status="DETAIL,NEW"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
</div>
<form id="ajaxForm">
<div class="table_row_title"><%=localeMessage.getString("adapterDetail.title2")%></div>
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:16%;"><%=localeMessage.getString("adapterDetail.adptrbzwkgroupname")%></th>
<td style="width:34%;"><input type="text" name="ADPTRBZWKGROUPNAME"/> </td>
<th style="width:16%;"><%=localeMessage.getString("adapterDetail.eaibzwkdstcd")%></th>
<td style="width:34%;">
<div class="select-style">
<select name="EAIBZWKDSTCD" disabled></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrmsgptrncd")%></th>
<td >
<div class="select-style">
<select name="ADPTRMSGPTRNCD" disabled></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptruseyn")%></th>
<td >
<div class="select-style">
<select name="ADPTRUSEYN" disabled></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.sndrcvhmslogyn")%></th>
<td >
<div class="select-style">
<select name="SNDRCVHMSLOGYN" disabled></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptriodstcd")%></th>
<td >
<div class="select-style">
<select name="ADPTRIODSTCD" disabled></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrcd")%></th>
<td >
<div class="select-style">
<select name="ADPTRCD" disabled></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptrmsgdstcd")%></th>
<td >
<div class="select-style">
<select name="ADPTRMSGDSTCD" disabled></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.msgencode")%></th>
<td>
<div class="select-style">
<select name="MSGENCODE" disabled></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.refclsname")%></th>
<td><input type="text" name="REFCLSNAME" disabled/>
<input type="hidden" name="KESAUSEYN" value="0"/>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.spcfcluuseyn")%></th>
<td >
<div class="select-style">
<select name="SPCFCLUUSEYN" disabled></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptrbzwkgroupdesc")%></th>
<td><input type="text" name="ADPTRBZWKGROUPDESC" disabled/> </td>
</tr>
</table>
</form>
<div class="table_row_title"><%=localeMessage.getString("adapterDetail.title3")%></div>
<!-- 어댑터-->
<table id="adapter" class="table_row" cellspacing="0" >
<tr>
<th style="width:16%;"><%=localeMessage.getString("adapterDetail.title5")%></th>
<td colspan="3">
<div class="select-style" style="display:inline-block; width:calc(100% - 250px);">
<select name="ADAPTERLIST" ></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrbzwkname")%></th>
<td style="width:34%;" ><input type="text" name="ADPTRBZWKNAME" disabled/> </td>
<th style="width:16%;"><%=localeMessage.getString("adapterDetail.eaisevrinstncname")%></th>
<td >
<div class="select-style">
<select name="EAISEVRINSTNCNAME" disabled></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.lstnerclsname")%></th><td colspan="3"><input type="text" name="LSTNERCLSNAME" disabled/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.testclsname")%></th><td colspan="3"><input type="text" name="TESTCLSNAME" disabled/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrdesc")%></th><td colspan="3"><input type="text" name="ADPTRDESC" disabled/> </td>
</tr>
<tr style="display:none" >
<th><%=localeMessage.getString("adapterDetail.prptygroupname")%></th><td colspan="3"><input type="text" name="PRPTYGROUPNAME"/> </td>
</tr>
<tr style="display:none" >
<th><%=localeMessage.getString("adapterDetail.prptygroupdesc")%></th><td colspan="3"><input type="text" name="PRPTYGROUPDESC"/> </td>
</tr>
</table>
<div class="table_row_title"><%=localeMessage.getString("adapterDetail.title4")%></div>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,88 @@
<%@ 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 type="text/css">
.img_pointer { cursor:pointer; }
</style>
<script type="text/javascript">
var adapterNames = window.dialogArguments['selectedAdapterName'];
$(document).ready(function() {
$("input[name=cmDate]").inputmask("yyyy-mm-dd",{'autoUnmask':true}).val(getToday());
$("input[name=cmTime]").inputmask("hh:mm:ss",{'autoUnmask':true}).val('10:00:00');
$('#btn_operate').click(operate);
$("#btn_close").click(function(){
window.close();
});
});
function operate() {
if (jQuery.trim($(':text[name=cmTitle]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.name")%>');
return;
}
if (jQuery.trim($(':text[name=cmDate]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.cmDate")%>');
return;
}
if (jQuery.trim($(':text[name=cmTime]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.cmTime")%>');
return;
}
if (!confirm('<%=localeMessage.getString("ruleDeploy.confirm.adapters")%>')) {
return;
}
var value = {
'CmTitle': $(':text[name=cmTitle]').val(),
'CmDate': $(':text[name=cmDate]').val(),
'CmTime': $(':text[name=cmTime]').val(),
'ListAdapterName': adapterNames
}
window.returnValue = value;
window.close();
}
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_operate" level="W" status="DETAIL,NEW" style="min-width:75px;"><i class="material-icons">play_circle</i> <%= localeMessage.getString("button.execute") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R" status="DETAIL,NEW" style="min-width:75px;"><i class="material-icons">close</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%=localeMessage.getString("ruleDeploy.title.adapters")%></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:32%;"><%=localeMessage.getString("ruleDeploy.cmTitle")%></th>
<td><input type="text" name="cmTitle"/></td>
</tr>
<tr>
<th style="width:32%;"><%=localeMessage.getString("ruleDeploy.cmDate")%></th>
<td><input type="text" name="cmDate"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("ruleDeploy.cmTime")%></th>
<td><input type="text" name="cmTime"/></td>
</tr>
</table>
<small>* <%=localeMessage.getString("ruleDeploy.msg1")%></small><br>
<small>* <%=localeMessage.getString("ruleDeploy.msg5")%></small><br>
<small>* <%=localeMessage.getString("ruleDeploy.msg3")%></small>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -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"%>
<%@ 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/admin/adapter/adapterTypeMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/adapterTypeMan.view" />';
var url_excel= '<c:url value="/onl/admin/adapter/adapterTypeMan.excel" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("adapterType.adptrCd")%> ',
'<%= localeMessage.getString("adapterType.adptrName")%>'
],
colModel:[
{ name : 'ADPTRCD' , align:'left' ,sortable:false },
{ name : 'ADPTRNAME' , align:'left' ,width:300}
],
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 += '&adptrCd='+rowData['ADPTRCD'];
goNav(url2);
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
$("#grid").setGridParam({ postData: { searchAdptrCd: $('input[name=searchAdptrCd]').val()} }).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);
});
$("#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("adapterType.title")%>');
return false;
});
$("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">
<button type="button" class="cssbtn" id="btn_excel" level="R" ><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="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"><%= localeMessage.getString("adapterType.title")%></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapterType.adptrCd")%></th>
<td>
<input type="text" name="searchAdptrCd" value="${param.searchAdptrCd}">
</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,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"%>
<%@ 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/admin/adapter/adapterTypeMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/adapterTypeMan.view" />';
var isDetail=false;
var lastsel2;
var domainName = new Array(); //도메인 콤보박스
function isValid(){
if($('input[name=adptrCd]').val() == ""){
alert("<%=localeMessage.getString("adapterTypeDetail.checkRequierd1")%>");
return false;
}else if($('input[name=adptrName]').val() == ""){
alert("<%=localeMessage.getString("adapterTypeDetail.checkRequierd2")%>");
return false;
}
return true;
}
function isValidGrid(){
if($('select[name=addAdptrIoDstCd]').val() == ""){
alert("<%=localeMessage.getString("adapterTypeDetail.checkRequierd3")%>");
return false;
}else if($('input[name=addAdptrPrptyName]').val() == ""){
alert("<%=localeMessage.getString("adapterTypeDetail.checkRequierd4")%>");
return false;
}else if($('input[name=addAdptrPrptyDesc]').val() == ""){
alert("<%=localeMessage.getString("adapterTypeDetail.checkRequierd5")%>");
return false;
}
//중복체크
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['ADPTRIODSTCD'] == $('select[name=addAdptrIoDstCd]').val()
&& data[i]['ADPTRPRPTYNAME'] == $('input[name=addAdptrPrptyName]').val()
){
alert("<%=localeMessage.getString("adapterTypeDetail.checkRequierd6")%>");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function formatterFunction(cellvalue, options, rowObject){
var rowId = options["rowId"];
var adptrIoDstCd = options["colModel"]["ADPTRIODSTCD"];
var adptrPrptyName = options["colModel"]["ADPTRPRPTYNAME"];
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",
//cellEdit: true,
//cellsubmit : 'clientArray',
colNames:['<%=localeMessage.getString("adapter.adptrIoDstCd")%> ',
'<%=localeMessage.getString("adapterTypeDetail.addAdptrPrptyName")%>',
'<%=localeMessage.getString("adapterTypeDetail.addAdptrPrptyDesc")%>',
'<%=localeMessage.getString("adapterTypeDetail.domainName")%>',
'<%=localeMessage.getString("adapterTypeDetail.deleteYn")%>'
],
colModel:[
{ name : 'ADPTRIODSTCD' , align:'center' ,width:'40' },
{ name : 'ADPTRPRPTYNAME' , align:'left' ,width:'200' , editable : true },
{ name : 'ADPTRPRPTYDESC' , align:'left' , editable : true },
{ name : 'DMNKND' , align:'left' ,width:'60', editable : true, edittype:'select', formatter:'select', editoptions: { value: domainName['value'] }},
{ name : 'DELETEYN' , align:'center' ,width:'50' ,unformat: unformatterFunction, formatter: formatterFunction}
],
jsonReader: {
repeatitems:false
},
loadComplete : function () {
},
gridComplete : function(){
$("img[name*=img]").off('click').on('click', function(){
var name = $(this).attr("name");
var rowId =name.split("_")[1];
$('#grid').jqGrid('delRowData',rowId);
});
//$(this).setColProp('DMNKND',{editoptions:domainName});
},
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,
viewrecords: true
});
resizeJqGridWidth('grid','content_middle','1000');
}
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=addAdptrIoDstCd]")).setData(json.adptrIoDstcdRows).setFormat(codeName3OptionFormat).rendering();
domainName['value'] = ": ;"+getGridSelectText("CODE","CODE",json.domainName);
$("#grid").setColProp('DMNKND',{editoptions:domainName,editable:true,edittype:'select',formatter:'select'});
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'
, adptrCd : key
},
success:function(json){
var data = json;
var detail = json.detail;
//adapterType
$("input[name=adptrCd]").attr('readonly',true).val(data['ADPTRCD']);
$("input[name=adptrName]").val(data['ADPTRNAME']);
//adapterTypeProp
var gridData = json['gridData'] || [];
$("#grid").jqGrid('setGridParam', { data: gridData }).trigger('reloadGrid');
},
error: function(xhr, status, error) {
console.error('AJAX Error:', error);
console.error('Status:', status);
console.error('Response:', xhr.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.adptrCd}";
if (key != "" && key !="null"){
isDetail = true;
}
gridRendering();
init(key,detail);
$("#btn_modify").click(function(){
if (lastsel2 != undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
if (!isValid()) return;
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i <data.length; i++) {
gridData.push(data[i]);
}
if (lastsel2) {
$('#grid').jqGrid('saveRow', lastsel2, false, 'clientArray');
}
var gridData = $("#grid").getRowData();
//공통부만 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("<%=localeMessage.getString("common.saveMsg")%>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
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);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("#btn_pop_input").click(function(){
if (!isValidGrid()){
return;
}
var data = new Object();
data["ADPTRIODSTCD"]=$("select[name=addAdptrIoDstCd]").val();
data["ADPTRPRPTYNAME"]=$("input[name=addAdptrPrptyName]").val();
data["ADPTRPRPTYDESC"]=$("input[name=addAdptrPrptyDesc]").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(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">
<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("adapterTypeDetail.title")%></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;"><%=localeMessage.getString("adapterType.adptrCd")%></th>
<td ><input type="text" name="adptrCd" /> </td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterType.adptrName")%></th><td ><input type="text" name="adptrName" /> </td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;"><%=localeMessage.getString("adapter.adptrIoDstCd")%></th>
<td>
<div class="select-style">
<select name="addAdptrIoDstCd" />
</div>
</td>
<th style="width:180px;"><%=localeMessage.getString("adapterTypeDetail.addAdptrPrptyName")%></th>
<td><input type="text" name="addAdptrPrptyName"/></td>
<td style="width:60px" rowspan="2" > <!-- <img id="btn_pop_input" src="<c:url value="/img/btn_pop_input.png"/>" class="btn_img" /> -->
<button type="button" class="cssbtn smallBtn2" id="btn_pop_input" style="vertical-align:middle; font-weight:bold;"><i class="material-icons">input</i><%= localeMessage.getString("button.input") %></button>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterTypeDetail.addAdptrPrptyDesc")%></th>
<td colspan="3"><input type="text" name="addAdptrPrptyDesc" /></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,287 @@
<%@ 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.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%
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/admin/adapter/messageKeyMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/messageKeyMan.view" />';
var url_excel= '<c:url value="/onl/admin/adapter/messageKeyMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
function init(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchIoDstcd]")).setData(json.exrTypeRows).setNoValueInclude(true).setFormat(codeName3OptionFormat).rendering();
// new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrDstcd]")).setData(json.sevrTypeRows).setNoValueInclude(true).setFormat(codeName3OptionFormat).rendering();
putSelectFromParam();
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST_GROUP"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("messageKey.adptrBzwkGroupName")%> ',
'<%= localeMessage.getString("messageKey.msgDstCd")%>',
'<%= localeMessage.getString("messageKey.ioDstCd")%>',
'<%= localeMessage.getString("messageKey.ioDstCd")%>',
'<%= localeMessage.getString("messageKey.groupInorNo")%>',
'<%= localeMessage.getString("messageKey.bzwkFldName")%>',
'<%= localeMessage.getString("messageKey.nomalPrcssCtnt")%>',
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' ,sortable:false },
{ name : 'MSGDSTCD' , align:'center' ,width:50},
{ name : 'IODSTCD' , hidden : true},
{ name : 'IODSTCDTEXT' , align:'left' ,width:80},
{ name : 'GROUPINORNO' , align:'center' ,width:50},
{ name : 'BZWKFLDNAMETEXT' , align:'left' ,width:300},
{ name : 'NOMALPRCSSCTNT' , align:'center' ,width:50}
],
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 (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) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var url2 = url_view;
var ioDstcd = rowData['IODSTCD'];
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&adptrBzwkGroupName='+rowData['ADPTRBZWKGROUPNAME'];
url2 += '&msgDstcd='+rowData['MSGDSTCD'];
url2 += '&ioDstcd='+ioDstcd;
url2 += '&groupInorNo='+rowData['GROUPINORNO'];
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#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("messageKey.title")%>');
return false;
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_GROUP"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=NEW';
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();
}
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$('#btn_clone').click(onclickBtnClone);
init();
buttonControl();
/*
if(devSvr){
setBtnHide(roleString, "admin", "btn_clone");
}else{
setBtnHide(roleString, " ", "btn_clone");
}
*/
//모든조건에서 안보이게
setBtnHide(" ", "admin", "btn_clone");
});
function onclickBtnClone() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
if (sel.length == 0) {
alert('<%=localeMessage.getString("eaiMessage.alert17")%>');
return;
}
if(!confirm("기능구분, 그룹 상관없이 어댑터명 별로 메시지키 전체가 넘어갑니다.")){
return;
}
var selectedAdapterNames = [];
$(sel).each(function(index, i) {
var adapterName = $('#grid').getCell(i, 'ADPTRBZWKGROUPNAME');
selectedAdapterNames.push(adapterName);
});
var args = new Object();
var url2 = '<c:url value="/onl/admin/adapter/adapterMan.view" />';
url2 += '?cmd=POPUP CALENDAR';
args['selectedAdapterName'] = selectedAdapterNames.join(',');
showModal(url2,args,540,200, 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;
cloneToProd(args.returnValue);
});
}
function cloneToProd(ret) {
var params = ret;
params['cmd'] = 'CLONETOPROD';
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</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_initialize" level="W"><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></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_clone.png"/>" alt="" id="btn_clone" level="W" style="height:32px;"/>
<%-- <img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="W"/> --%>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" 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("messageKey.title")%></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%;"><%= localeMessage.getString("messageKey.adptrBzwkGroupName")%></th>
<td style="width:40%;">
<input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}">
</td>
<th style="width:10%;"><%= localeMessage.getString("messageKey.ioDstCd")%></th>
<td style="width:40%;">
<div class="select-style">
<select name="searchIoDstcd" value="${param.searchIoDstcd}">
</select>
</div>
</td>
<!--
<th style="width:150px;">서버구분코드</th>
<td>
<div class="select-style">
<select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}" style="width: 100%;">
</select>
</div>
</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,263 @@
<%@ 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="/onl/admin/adapter/messageKeyMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/messageKeyMan.view" />';
var isDetail = false;
function buildJsonArray(){
var jsonArr = [];
var jsonArrIndex = 0;
for(var i=0;i<9;i++){
var rowData = {fldPrcssNo:"",bzwkFldName:"",msgFldStartSituVal:"",msgFldLen:"",nomalPrcssCtnt:"",clsName:""};
for(var key in rowData){
var value = $("input[name="+key+"]").eq(i).val();
rowData[key] = value;
if (!value) {
continue;
}
}
if( rowData.bzwkFldName.trim()=="") break;
jsonArr[jsonArrIndex] = rowData;
jsonArrIndex++;
}
return jsonArr;
}
function isValid(){
for(var i=0;i<9;i++){
var value = $("input[name=bzwkFldName]").eq(i).val();
if (value.length>0){
if (isNaN(parseInt($("input[name=msgFldStartSituVal]").eq(i).val()))){
alert("<%=localeMessage.getString("messageKey.msgFldStartSituVal")%>"+Number(i+1)+"<%=localeMessage.getString("messageKey.checkValue")%>");
return false;
}
if (isNaN(parseInt($("input[name=msgFldLen]").eq(i).val()))){
alert("<%=localeMessage.getString("messageKey.msgFldLen")%>"+Number(i+1)+"<%=localeMessage.getString("messageKey.checkValue")%>");
return false;
}
}
}
return true;
}
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'
, adptrBzwkGroupName : key
, msgDstcd : "${param.msgDstcd}"
, ioDstcd : "${param.ioDstcd}"
, groupInorNo : "${param.groupInorNo}"
},
success:function(json){
var data = json.rows;
//공통
$("input[name=adptrBzwkGroupName]").val(data[0]['ADPTRBZWKGROUPNAME']);
$("input[name=msgDstcd]").val(data[0]['MSGDSTCD']);
$("input[name=ioDstcdTxt]").val(data[0]['IODSTCD']);
$("input[name=groupInorNo]").val(data[0]['GROUPINORNO']);
//hidden 셋팅
$("input[name=ioDstcd]").val("${param.ioDstcd}");
//개별
for (var i=0;i<data.length;i++){
$("input[name=fldPrcssNo]").eq(i).val(data[i]['FLDPRCSSNO']);
$("input[name=bzwkFldName]").eq(i).val(data[i]['BZWKFLDNAME']);
$("input[name=clsName]").eq(i).val(data[i]['CLSNAME']);
$("input[name=msgFldStartSituVal]").eq(i).val(data[i]['MSGFLDSTARTSITUVAL']);
$("input[name=msgFldLen]").eq(i).val(data[i]['MSGFLDLEN']);
$("input[name=nomalPrcssCtnt]").eq(i).val(data[i]['NOMALPRCSSCTNT']);
}
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.adptrBzwkGroupName}";
if (key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value:JSON.stringify(buildJsonArray())});
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")%>")){
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);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',adptrBzwkGroupName:$("input[name=adptrBzwkGroupName]").val(),ioDstcd:$("input[name=ioDstcd]").val()},
success:function(json){
alert(json.message);
},
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_initialize" level="W" status="DETAIL,NEW"><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></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_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_initialize.png" />" id="btn_initialize" 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_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("messageKey.subtitle")%></div>
<!-- 공통-->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:150px;"><%= localeMessage.getString("messageKey.adptrBzwkGroupName")%></th>
<td><input type="text" name="adptrBzwkGroupName" readonly="readonly" /> </td>
<th style="width:150px;"><%= localeMessage.getString("messageKey.groupInorNo")%></th>
<td><input type="text" name="groupInorNo" readonly="readonly" /></td>
</tr>
<tr>
<th style="width:150px;"><%= localeMessage.getString("messageKey.msgDstCd")%></th>
<td><input type="text" name="msgDstcd" readonly="readonly" /></td>
<th style="width:150px;"><%= localeMessage.getString("messageKey.etractionDstCd")%></th>
<td><input type="text" name="ioDstcdTxt" value="${param.ioDstcd}" readonly="readonly" />
<input type="hidden" name="ioDstcd"/>
</td>
</tr>
</table>
</form>
<!-- 개별 -->
<table class="table_row" cellspacing="0">
<tr height="30px">
<th style = "text-align:center"><%= localeMessage.getString("messageKey.dstCd")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.bzwkFldName")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.msgFldStartSituVal")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.msgFldLen")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.nomalPrcssCtnt")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.clsName")%></th>
</tr>
<c:forEach var="i" begin="1" end="9">
<tr>
<td><input type="hidden" name="fldPrcssNo" value="${i}" /><c:out value="${i}"/></td>
<td><input type="text" name="bzwkFldName"/></td></td>
<td><input type="text" name="msgFldStartSituVal"/></td>
<td><input type="text" name="msgFldLen"/></td>
<td><input type="text" name="nomalPrcssCtnt"/></td>
<td><input type="text" name="clsName"/></td>
</tr>
<%-- <tr>
<th style="width:150px;background-color:#c5c5c5"><%= localeMessage.getString("messageKey.bzwkFldName")%><c:out value="${i}"/></th>
<td><input type="hidden" name="fldPrcssNo" value="${i}" />
<input type="text" name="bzwkFldName"/></td>
<th><%= localeMessage.getString("messageKey.msgFldStartSituVal")%><c:out value="${i}"/></th>
<td style="width:50px;"><input type="text" name="msgFldStartSituVal"/></td>
<th><%= localeMessage.getString("messageKey.msgFldLen")%><c:out value="${i}"/></th>
<td style="width:50px;"><input type="text" name="msgFldLen"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("messageKey.nomalPrcssCtnt")%><c:out value="${i}"/></th>
<td><input type="text" name="nomalPrcssCtnt"/></td>
<th><%= localeMessage.getString("messageKey.clsName")%><c:out value="${i}"/></th>
<td colspan="3"><input type="text" name="clsName"/></td>
</tr> --%>
</c:forEach>
</table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,233 @@
<%@ 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="/onl/admin/adapter/messageKeyMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/messageKeyMan.view" />';
var selectName = "adptrBzwkGroupName"; // selectBox Name
var isDetail = false;
function buildJsonArray(){
var jsonArr = [];
var jsonArrIndex = 0;
for(var i=0;i<9;i++){
var rowData = {fldPrcssNo:"",bzwkFldName:"",clsName:"",msgFldStartSituVal:"",msgFldLen:"",nomalPrcssCtnt:""};
for(var key in rowData){
var value = $("input[name="+key+"]").eq(i).val();
rowData[key] = value;
if (!value) {
continue;
}
}
if( rowData.bzwkFldName.trim()=="") break;
jsonArr[jsonArrIndex] = rowData;
jsonArrIndex++;
}
return jsonArr;
}
function isValid(){
if($('select[name=adptrBzwkGroupName]').val() == ""){
alert("<%= localeMessage.getString("messageKey.alert1")%>");
return false;
}else if($('select[name=msgDstcd]').val() == ""){
alert("<%= localeMessage.getString("messageKey.alert2")%>");
return false;
}else if($('select[name=ioDstcd]').val() == ""){
alert("<%= localeMessage.getString("messageKey.alert3")%>");
return false;
}
for(var i=0;i<9;i++){
var value = $("input[name=bzwkFldName]").eq(i).val();
if (value.length>0){
if (isNaN(parseInt($("input[name=msgFldStartSituVal]").eq(i).val()))){
alert("<%= localeMessage.getString("messageKey.msgFldStartSituVal")%>"+Number(i+1)+"<%= localeMessage.getString("messageKey.checkValue")%>");
return false;
}
if (isNaN(parseInt($("input[name=msgFldLen]").eq(i).val()))){
alert("<%= localeMessage.getString("messageKey.msgFldLen")%>"+Number(i+1)+"<%= localeMessage.getString("messageKey.checkValue")%>");
return false;
}
}
}
return true;
}
function init(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
//adptrBzwkGroupName combo
new makeOptions("CODE","NAME").setObj($("select[name=adptrBzwkGroupName]")).setFormat(codeName3OptionFormat).setData(json.adapterRows).rendering();
//msgDstcd combo
new makeOptions("CODE","NAME").setObj($("select[name=msgDstcd]")).setFormat(codeName3OptionFormat).setData(json.msgTypeRows).rendering();
//ioDstcd combo
new makeOptions("CODE","NAME").setObj($("select[name=ioDstcd]")).setFormat(codeName3OptionFormat).setData(json.exrTypeRows).rendering();
setSearchable(selectName); // 콤보에 searchable 설정
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.adptrBzwkGroupName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key);
$("#btn_modify").click(function(){
if (!isValid())return;
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
//adptrBzwkGroupName 필드가 중복되어 array로 필드값이 셋팅 되어 제거
// postData.push({ name: "adptrBzwkGroupName" , value:$("select[name=adptrBzwkGroupName]").val()});
postData.push({ name: "gridData" , value:JSON.stringify(buildJsonArray())});
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(){
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();
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("messageKey.subtitle")%></div>
<!-- 공통-->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:150px;"><%= localeMessage.getString("messageKey.adptrBzwkGroupName")%></th>
<td colspan="3">
<div class="select-style"><select type="text" name="adptrBzwkGroupName"/></div>
<!-- <input type="text" name="adptrBzwkGroupName"/> -->
</td>
</tr>
<tr>
<th style="width:150px;"><%= localeMessage.getString("messageKey.msgDstCd")%></th>
<td><div class="select-style"><select type="text" name="msgDstcd"/></div></td>
<th style="width:150px;"><%= localeMessage.getString("messageKey.etractionDstCd")%></th>
<td><div class="select-style"><select type="text" name="ioDstcd"/></div>
<input type="hidden" name="groupInorNo" />
</td>
</tr>
</table>
</form>
<!-- 개별 -->
<table class="table_row" cellspacing="0">
<tr height="30px">
<th style = "text-align:center"><%= localeMessage.getString("messageKey.dstCd")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.bzwkFldName")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.msgFldStartSituVal")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.msgFldLen")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.nomalPrcssCtnt")%></th>
<th style = "text-align:center"><%= localeMessage.getString("messageKey.clsName")%></th>
</tr>
<c:forEach var="i" begin="1" end="9">
<tr>
<td><input type="hidden" name="fldPrcssNo" value="${i}" /><c:out value="${i}"/></td>
<td><input type="text" name="bzwkFldName"/></td></td>
<td><input type="text" name="msgFldStartSituVal"/></td>
<td><input type="text" name="msgFldLen"/></td>
<td><input type="text" name="nomalPrcssCtnt"/></td>
<td><input type="text" name="clsName"/></td>
</tr>
<%-- <tr>
<th style="width:150px;background-color:#c5c5c5"><%= localeMessage.getString("messageKey.bzwkFldName")%><c:out value="${i}"/></th>
<td><input type="hidden" name="fldPrcssNo" value="<c:out value="${i}"/>" />
<input type="text" name="bzwkFldName"/></td>
<th><%= localeMessage.getString("messageKey.msgFldStartSituVal")%><c:out value="${i}"/></th>
<td style="width:50px;"><input type="text" name="msgFldStartSituVal"/></td>
<th><%= localeMessage.getString("messageKey.msgFldLen")%><c:out value="${i}"/></th>
<td style="width:50px;"><input type="text" name="msgFldLen"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("messageKey.nomalPrcssCtnt")%><c:out value="${i}"/></th>
<td><input type="text" name="nomalPrcssCtnt"/></td>
<th><%= localeMessage.getString("messageKey.clsName")%><c:out value="${i}"/></th>
<td colspan="3"><input type="text" name="clsName"/></td>
</tr> --%>
</c:forEach>
</table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,225 @@
<%@ 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/admin/adapter/snaAdapterMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/snaAdapterMan.view" />';
var url_excel= '<c:url value="/onl/admin/adapter/snaAdapterMan.excel" />';
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchAdptrUseYn]")).setNoValueInclude(true).setNoValue("","<%= localeMessage.getString("combo.all")%>").setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list(_page)
{
var page = "${param.page}";
if(_page == "1") page = "1";
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json' }).trigger("reloadGrid");
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if (cellvalue == "1") {
return "<%= localeMessage.getString("combo.usey")%>";
} else{
return "<%= localeMessage.getString("combo.usen")%>";
}
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function imgFormatterFunction(cellvalue, options, rowObject){
var rowId = options["rowId"];
var adptrGroupName = rowObject['ADPTRBZWKGROUPNAME'];
return "<img style='width:50px' name='img_"+rowId+"' src=<c:url value='/img/btn_pop_search.png' /> onclick='fnAppCodeDetail("+'"'+adptrGroupName+'"'+")' />";
}
function fnAppCodeDetail(adptrGroupName){
var url2 = url_view;
url2 += '?cmd=DETAIL2';
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&adptrBzwkGroupName='+adptrGroupName;
return goNav(url2);
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("snaAdapterMan.adptGrpName")%>',
'<%= localeMessage.getString("snaAdapterMan.ioType")%>',
'<%= localeMessage.getString("snaAdapterMan.useYn")%>',
'<%= localeMessage.getString("snaAdapterMan.apCode")%>'
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' },
{ name : 'ADPTRIODSTCD' , align:'center' ,width:70 },
{ name : 'ADPTRUSEYN' , align:'center' ,width:70 , formatter: formatterFunction},
{ name : 'APPCODE' , align:'center' ,width:100 , unfomatter : unformatterFunction, formatter: imgFormatterFunction, excelDown:'no'}
],
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}]'),
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
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 += '&sortName='+$("#grid").getGridParam("sortname");
url2 += '&sortOrder='+$("#grid").getGridParam("sortorder");
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&adptrBzwkGroupName='+rowData['ADPTRBZWKGROUPNAME'];
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
list("1");
});
$("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("snaAdapterMan.excelTitle")%>');
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"><%= localeMessage.getString("snaAdapterMan.title")%></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:130px;"><%= localeMessage.getString("snaAdapterMan.useYn")%></th>
<td>
<div class="select-style">
<select name="searchAdptrUseYn" value="${param.searchAdptrUseYn}">
</select>
</div>
</td>
<th style="width:130px;"><%= localeMessage.getString("snaAdapterMan.adptGrpName")%></th>
<td>
<input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}">
</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,482 @@
<%@ 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_custom.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/adapter/snaAdapterMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/snaAdapterMan.view" />';
var selectName = "EAIBZWKDSTCD"; // selectBox Name
var prptyDomain =[]; //도메인 정보를 전역변수로 선언함
var isDetail = false;
var lastRadioVal = {}; //라디오박스의 최종값 저장(네임:값)
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=EAISEVRINSTNCNAME]")).setData(json.instanceRows).rendering();
if(key == "")
{
$("input[name=REFCLSNAME]").val(json.refClsName); // 어댑터 신규 입력할 때 참조 클래스명 default setting.
setSearchable(selectName); // 콤보에 searchable 설정
}
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'
, ADPTRBZWKGROUPNAME : key
},
success:function(json){
var detail = json.detail;
var adapters = json.detail.adapters;
var prop = json.detail.adapters[0];
prptyDomain = json.dInfo;
//도메인 정보
//adapterGroup
$("input[name=ADPTRBZWKGROUPNAME]").attr('readonly',true);
var moniTmp = "";
var org_adptNickNm = "";
$("#detail input,#detail select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//어댑터별칭
$("input[name=ORGADPTRNICKNAME]").val(org_adptNickNm);
//adapter
if (adapters.length > 0){
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(adapters[0][name]);
});
//addoption
new makeOptions("PRPTYGROUPNAME","PRPTYGROUPNAME").setObj($("select[name=ADAPTERLIST]")).setData(adapters).rendering();
for(var i=0;i<adapters.length;i++){
submitData[adapters[i]["PRPTYGROUPNAME"]]=adapters[i];
}
}
/* if(prop.rows[0].PRPTYNAME == "APP_CODE"){
$("#APP_CODE").val(prop.rows[0].PRPTY2VAL);
} */
//prop
$("#grid")[0].addJSONData(prop);
setSearchable(selectName); // 콤보에 searchable 설정
},
error:function(e){
alert(e.responseText);
}
});
}
function mltplFormatter (cellvalue, options,rowObject){
if(rowObject.DMNKND != null && rowObject.DMNKND != "" && rowObject.DOMAINTYPE != null){
if(rowObject.DOMAINTYPE.toUpperCase() == "SELECT"){
return setSelectCombo(rowObject);
}else if(rowObject.DOMAINTYPE.toUpperCase() == "RADIO"){
var val= setRadio(rowObject);
return val;
}else if(rowObject.DOMAINTYPE.toUpperCase() == "CHECK"){
return setCheckbox(rowObject);
}else{
return cellvalue;
}
}else{
if(cellvalue === undefined || cellvalue == null){
return '';
}
cellvalue = cellvalue.replace(/[ ]/g,'&nbsp;');
return cellvalue;
}
//return '<pre>'+cellvalue + '</pre>';
}
function mltplUnFormatter (cellvalue, options,rowObject){
var name = (rowObject.PRPTYGROUPNAME==null?"":rowObject.PRPTYGROUPNAME)+"_"+rowObject.PRPTYNAME;
name = name.replace(/[.\{\}]/g,''); //name 에는 . {} 못들어가서 제거
if(rowObject.DMNKND != null && rowObject.DMNKND != "" && rowObject.DOMAINTYPE != null){
if(rowObject.DOMAINTYPE.toUpperCase() == "SELECT"){
return $("select[name="+name+"] option:selected").val();
}else if(rowObject.DOMAINTYPE.toUpperCase() == "RADIO"){
//return setRadio(rowObject);
}else if(rowObject.DOMAINTYPE.toUpperCase() == "CHECK"){
//return setCheckbox(rowObject);
}else{
return cellvalue;
}
}
else{
return cellvalue.replace(/&nbsp;/g,' ');
}
}
function setSelectCombo(rows){
var domainName = rows.DMNKND;
var value = rows.PRPTY2VAL;
var result="";
var data = prptyDomain[domainName].data;
if(data == null || data.length == 0){
console.log("도메인명 : "+domainName +" 코드 조회 안됨");
}
var name = (rows.PRPTYGROUPNAME==null?"":rows.PRPTYGROUPNAME)+"_"+rows.PRPTYNAME;
name = name.replace(/[.\{\}]/g,'');
result='<select name="'+name+'" style="width:100%">';
//result += '<option value=""></option>';
for(var idx=0;idx < data.length; idx++){
if(data[idx].CODE == value)
result += '<option value="'+ data[idx].CODE+'" selected>'+data[idx].NAME +'</option>';
else
result += '<option value="'+ data[idx].CODE+'">'+data[idx].NAME +'</option>';
}
result +='</select>';
return result;
}
function setRadio(rows){
var domainName = rows.DMNKND;
var value = rows.PRPTY2VAL;
var result="";
var data = prptyDomain[domainName].data;
if(data == null || data.length == 0){
console.log("도메인명 : "+domainName +" 코드 조회 안됨");
}
var name = (rows.PRPTYGROUPNAME==null?"":rows.PRPTYGROUPNAME)+"_"+rows.PRPTYNAME;
name = name.replace(/[.\{\}]/g,'');
for(var idx=0;idx < data.length; idx++){
if(data[idx].CODE == value){
result += '<input type="radio" name="'+name+'" value="'+ data[idx].CODE+'" checked>'+data[idx].NAME+" ";
lastRadioVal[name] = value;
}else{
result += '<input type="radio" name="'+name+'" value="'+ data[idx].CODE+'" >'+data[idx].NAME+" ";
}
}
return result;
}
function setCheckbox(rows){
var domainName = rows.DMNKND;
var value = rows.PRPTY2VAL;
var result="";
var data = prptyDomain[domainName].data;
if(data == null || data.length == 0){
console.log("도메인명 : "+domainName +" 코드 조회 안됨");
}
var name = (rows.PRPTYGROUPNAME==null?"":rows.PRPTYGROUPNAME)+"_"+rows.PRPTYNAME;
name = name.replace(/[.\{\}]/g,'');
for(var idx=0;idx < data.length; idx++){
if(data[idx].CODE == value)
result += '<input type="checkbox" name="'+name+'" value="'+ data[idx].CODE+'" checked>'+data[idx].NAME+" ";
else
result += '<input type="checkbox" name="'+name+'" value="'+ data[idx].CODE+'">'+data[idx].NAME+" ";
}
return result;
}
//도메인 타입이 null이면 조건체크 중에 에러 발생해서 공백으로 치환
function nullFormatter(cellvalue, options, rowData){
if(cellvalue === undefined || cellvalue == null || cellvalue ==='NULL'){
cellvalue='';
}
return cellvalue;
}
function gridRendering(){
$('#grid').jqGrid({
datatype:"local",
editurl : "clientArray",
loadonce: true,
rowNum: 10000,
autoencode:false,
colNames:['<%=localeMessage.getString("adapterDetail.prptyGroupName")%>',
'<%=localeMessage.getString("adapterDetail.prptyName")%>',
'<%=localeMessage.getString("adapterDetail.prpty2Val")%>',
'PRPTYDESC',
'<%=localeMessage.getString("adapterDetail.dmnkNd")%>',
'<%=localeMessage.getString("adapterDetail.domainType")%>'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' , hidden:true},
{ name : 'PRPTYNAME' , align:'left' , width:20},
{ name : 'PRPTY2VAL' , align:'left' , title:false, editable: false, formatter:mltplFormatter, unformatter:mltplUnFormatter},
{ name : 'PRPTYDESC' ,hidden:true},
{ name : 'DMNKND' ,hidden:true},
{ name : 'DOMAINTYPE' ,hidden:true, formatter:nullFormatter}
],
jsonReader: {
repeatitems:false
},
loadComplete : function (data) {
},
gridComplete : function(){
//라디오 버튼의 해제 기능
$(":radio").unbind("click");
$("input[type=radio]").bind('click',function(){
var name = $(this).attr('name');
var lastVal = lastRadioVal[name];
if(lastVal == $(this).val()){
$(this).attr('checked',false);
lastRadioVal[name]= '';
}else{
lastRadioVal[name]= $(this).val();
}
});
//프라퍼티 정보 tooltip 적용
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var tooltip = $(this).getCell(rows[i],'PRPTYDESC');
$("#grid").setCell(rows[i],'PRPTYNAME','','',{'title':tooltip});
}
},
onSelectRow: function(rowid,status){
var rowData = $(this).getRowData(rowid);
var domainName = rowData.DMNKND;
var domainType = rowData.DOMAINTYPE;
if(domainType.toUpperCase() == 'SELECT' || domainType.toUpperCase() == 'CHECK' || domainType.toUpperCase() == 'RADIO') return;
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);
//도메인 지정
if(domainName != null && domainName != "" && prptyDomain[domainName] != null)
$("input[name=PRPTY2VAL]").inputmask(prptyDomain[domainName]["info"].DOMAINVAL,{'autoUnmask':true});
var val = $('input[name=PRPTY2VAL]').val();
$('input[name=PRPTY2VAL]').val(val.replace(/&nbsp;/g,' ')); //Html Text --> Inputbox Text : &nbsp --> ' '
lastsel2=rowid;
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','content_middle','1000');
}
var submitData = {};
var lastsel2;
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
$("img,select[name=ADAPTERLIST]").click(function(){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
});
var key ="${param.adptrBzwkGroupName}";
if (key != "" && key !="null"){
isDetail = true;
}
gridRendering();
init(key,detail);
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("select[name=ADAPTERLIST]").change(function(){
if (!($(this).val() == null || $(this).val() == undefined || $(this).val() == "")){
var adapter = submitData[$(this).val()];
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(adapter[name]);
});
$("#grid")[0].addJSONData(adapter);
}else{
$("#adapter input,#adapter select").not('select[name=ADAPTERLIST]').each(function(){
$(this).val("");
});
var ids = $("#grid").getDataIDs();
for(var i=0;i<ids.length;i++){
$("#grid").jqGrid('setCell',ids[i],'PRPTY2VAL',null);
}
}
});
$("#btn_modify").click(function(){
var args = new Object();
args['adptrbzwkgroupname'] = $("input[name=ADPTRBZWKGROUPNAME]").val();
args['adptrbzwkname'] = $("input[name=ADPTRBZWKNAME]").val();
//인스턴스명추가
args['eaiSevrInstncName'] = $("select[name=EAISEVRINSTNCNAME]").val();
var url2 = url_view;
url2 += "?cmd=POPUP";
//showModal(url2,args,470,740);
var ret = showModal(url2,args,980,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;
$("select[name=ADAPTERLIST] option").remove();
$("select[name=EAISEVRINSTNCNAME] option").remove();
init(key,detail);
});
});
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_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title"><%=localeMessage.getString("snaAdapterMan.detailTitle")%></div>
<form id="ajaxForm">
<div class="table_row_title"><%=localeMessage.getString("adapterDetail.title2")%></div>
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;"><%=localeMessage.getString("adapterDetail.adptrbzwkgroupname")%></th>
<td><input type="text" name="ADPTRBZWKGROUPNAME" ></td>
</tr>
</table>
</form>
<div class="table_row_title"><%=localeMessage.getString("adapterDetail.title3")%></div>
<!-- 어댑터-->
<table id="adapter" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;"><%=localeMessage.getString("adapterDetail.title5")%></th>
<td colspan="3">
<div class="select-style" style="display:inline-block; width:calc(100% - 250px);">
<select name="ADAPTERLIST"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrbzwkname")%></th><td ><input type="text" name="ADPTRBZWKNAME" readonly/> </td>
<th style="width:180px;"><%=localeMessage.getString("adapterDetail.eaisevrinstncname")%></th>
<td >
<div class="select-style">
<select name="EAISEVRINSTNCNAME"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.lstnerclsname")%></th><td colspan="3"><input type="text" name="LSTNERCLSNAME" readonly/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.testclsname")%></th><td colspan="3"><input type="text" name="TESTCLSNAME" readonly/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrdesc")%></th><td colspan="3"><input type="text" name="ADPTRDESC" readonly/> </td>
</tr>
<tr style="display:none" >
<th><%=localeMessage.getString("adapterDetail.prptygroupname")%></th><td colspan="3"><input type="text" name="PRPTYGROUPNAME" readonly/> </td>
</tr>
<tr style="display:none" >
<th><%=localeMessage.getString("adapterDetail.prptygroupdesc")%></th><td colspan="3"><input type="text" name="PRPTYGROUPDESC" readonly/> </td>
</tr>
</table>
<div class="table_row_title">
<table><tr><td class="table_row_title"><%= localeMessage.getString("adapterDetail.title4")%> </td>
<td>&nbsp;</td>
<td>
<img id="btn_modify" src="<c:url value="/img/btn_pop_modify.png" />" level="W" status="DETAIL,NEW" class="btn_img" />
</td></tr></table>
</div>
<!-- <table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">APP_CODE</th>
<td><textarea name="APP_CODE" id="APP_CODE" style="height:80px;" readonly></textarea></td>
</tr>
</table> -->
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,230 @@
<%@ 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_custom.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/adapter/snaAdapterMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/snaAdapterMan.view" />';
var isDetail = false;
var colN = new Array();
var colM = new Array();
var checked = "<c:url value='/images/icon_checkbox_checked.png'/>";
var unChecked ="<c:url value='/images/icon_checkbox.png'/>";
function detail(key){
var apCode = $("input[name=searchAppCode]").val();
var instStr = "";
var idx=0;
$("input[name^=EAI]").each(function(){
$(this).val();
if( $(this).prop("checked")==true){
if(idx==0){
instStr +=$(this).val();
}else{
instStr +=","+$(this).val();
}
idx++;
}
});
$.ajax({
url : url,
dataType : 'json',
type : 'POST',
data:{cmd: 'DETAIL2', ADPTRBZWKGROUPNAME : key, apCode : apCode, instStr : instStr},
success : function(json){
if(json){
if(!json.Error){
var colD = json.data;
$("#grid")[0].addJSONData(colD);
}
}
},
error : function(xhr, ajaxOptions,thrownError){
},
complete : function(){
}
});
}
function chkFormatter(cellvalue, options, rowObject){
var rowId = options["rowId"];
var colum = rowObject[options["colModel"]["name"]];
if( colum == 1){
return '<img src="'+checked+'" style="width:16px;" />';
}else{
return '<img src="'+unChecked+'" style="width:16px;" />';
}
}
function gridRendering(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=EAISEVRINSTNCNAME]")).setData(json.instanceRows).rendering();
var result = "";
var code = "";
colN.push("APPCODE");
var colMStr = {name : 'apCode', align:'center' , width:'80px'};
colM.push(colMStr);
for(var i=0; i<json.instanceRows.length; i++){
code = json.instanceRows[i]["CODE"];
if(code=='ALL'){
result += '<span id="allSpan">&nbsp; <img src="<c:url value="/images/icon_checkbox_checked.png"/>" style="width:16px;" id="all" />&nbsp;' + code+"</span>";
result += " "+'<input type="checkbox" id="all" name="ALL" value="'+ code+'" checked style="visibility: hidden;">';
}else{
result += '<span name="'+json.instanceRows[i]["NAME"]+'" >&nbsp; <img src="<c:url value="/images/icon_checkbox.png"/>" style="width:16px;" />&nbsp;' + code+"</span>";
result += " "+'&nbsp;<input type="checkbox" name="'+json.instanceRows[i]["NAME"]+'" value="'+ code+'" style="visibility: hidden;">&nbsp;';
if(i==8)result+="<br>";
var instName = code.split("_");
colNStr = "i"+instName[0].substr(instName[0].length-1,1)+instName[1].substr(instName[1].length-1,1);
colN.push(colNStr);
colMStr = {name : code, align:'center' ,formatter: chkFormatter , width:'50px'};
colM.push(colMStr);
}
}
$("#svrInst").html(result);
$('#grid').jqGrid({
datatype:"local",
editurl : "clientArray",
loadonce: true,
rowNum: 10000,
autoencode:false,
colNames: colN,
colModel: colM,
jsonReader: {
repeatitems:false
},
loadComplete : function (data) {
},
gridComplete : function(){
},
onSelectRow: function(rowid,status){
var rowData = $(this).getRowData(rowid);
},
onSortCol : function(){
},
height: '500',
autowidth: true,
viewrecords: true
});
},
error:function(e){
alert(e.responseText);
}
});
resizeJqGridWidth('grid','content_middle','1000');
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.adptrBzwkGroupName}";
if (key != "" && key !="null"){
isDetail = true;
}
gridRendering();
detail(key);
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST·Î À̵¿
});
$("#btn_search").click(function(){
detail(key);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//checkBox event
$(document).on("click","#allSpan",function(){
$("input[name^=EAI]").prop("checked","");
$("span[name^=EAI]").children("img").attr("src",unChecked);
$("#all").attr("src",checked);
});
$(document).on("click","span[name^=EAI]",function(){
var thisName = $(this).attr("name");
if($(this).children("img").attr("src")==checked){
$(this).children("img").attr("src",unChecked);
$("input[name="+thisName+"]").prop("checked","");
}else{
$(this).children("img").attr("src",checked);
$("input[name="+thisName+"]").prop("checked","checked");
}
$("#all").attr("src",unChecked);
if($("input[name^=EAI]:checked").length==0){
$("#all").attr("src",checked);
}
});
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" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_search.png"/>" alt="" name="img_search" id="btn_search" level="R" 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("snaAdapterMan.detail2Title")%></div>
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;"><%=localeMessage.getString("adapterDetail.adptrbzwkgroupname")%></th>
<td><input type="text" name="ADPTRBZWKGROUPNAME" value="${param.adptrBzwkGroupName}" readonly></td>
</tr>
<tr>
<th style="width:180px;">APP CODE</th><td ><input type="text" name="searchAppCode"/> </td>
</tr>
<tr>
<th ><%=localeMessage.getString("snaAdapterMan.svrInst")%></th>
<td>
<div id="svrInst"></div>
</td>
</tr>
</table>
<table id="grid" ></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"%>
<%@ 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/admin/adapter/snaAdapterMan.json" />';
var adptrbzwkname = window.dialogArguments["adptrbzwkname"];
var adptrbzwkgroupname = window.dialogArguments["adptrbzwkgroupname"];
var eaiSevrInstncName = window.dialogArguments["eaiSevrInstncName"];
var arrGridData = new Array();
//업무코드를 추가 및 삭제 할 때 validation 체크
function isGridValid(gridName)
{
var gridCnt = 0;
gridCnt = $(gridName).jqGrid("getGridParam", "selarrrow").length;
if(gridCnt <= 0)
{
alert("<%= localeMessage.getString("userPop.checkRequierd1") %>");
return false;
}
return true;
}
//대상 그리드 Reload.
function targetGridReload(){
var postData = getSearchForJqgrid("cmd","LIST_ADAPTER_BIZ"); //jqgrid에서는 object 로
postData["searchPrptygroupName"] = adptrbzwkname;
postData["targetGridYn"] = "Y";
$("#targetGrid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
}
// 대상 그리드 조회
function targetGrid()
{
var gridPostData = getSearchForJqgrid("cmd","LIST_ADAPTER_BIZ"); //jqgrid에서는 object 로
gridPostData["searchPrptygroupName"] = adptrbzwkname;
gridPostData["targetGridYn"] = "Y";
$('#targetGrid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
loadui: "disable",
postData : gridPostData,
colNames:['<%= localeMessage.getString("unifbwk.bizCode") %> ',
'<%= localeMessage.getString("unifbwk.bizName") %>',
'CHK'
],
colModel:[
{ name : 'BIZCODE' , align:'left' ,key:true ,sortable:false },
{ name : 'BIZNAME' , align:'left' },
{ name : 'CHK' , hidden:true }
],
jsonReader: {
repeatitems:false
},
autoheight: true,
height: $("#container").height(),
height: 430,
autowidth: true,
viewrecords: true,
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
scroll: true, // 스크롤 사용여부 설정.(default: false)
rowNum : 10000, // Grid에 표시될 레코드 수 설정 (-1은 조회된 데이터 전부 그리드에 셋팅).
multiselect : true,
loadComplete:function (d){
var targetGridCnt = $("#targetGrid").getGridParam("reccount");
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
arrGridData = $("#targetGrid").getRowData();
// 사용자 업무코드 List Count
$("input[name=selectCnt]").val(targetGridCnt);
// 검색조건의 데이터가 있으면 해당 row 선택.
var searchName = $("input[name=searchBzwkName]").val().split(",");
for(var idx in searchName){
var val = searchName[idx];
$("#targetGrid").jqGrid("setSelection",val, true);
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
gridComplete:function (d){
$("input[name=selectCnt]").val($("#targetGrid").getGridParam("reccount"));
},
onSelectRow: function(rowId){
// 선택된 row로 이동
$("#"+$("#targetGrid").jqGrid("getGridParam", "selrow")).focus();
}
});
}
//저장
function modify(modifyType, grid)
{
if (confirm("<%= localeMessage.getString("common.checkModify")%>") != true)
return;
var gridData = new Array();
if(modifyType == "add")
{
gridData = grid;
}
if(modifyType == "delete")
{
var data = $(grid).getRowData();
for ( var i = 0; i < data.length; i++) {
if(data[i]['CHK'] =='true'){
gridData.push(data[i]);
}
}
}
var codeArray = "";
for (var i = 0; i <gridData.length; i++) {
codeArray += (codeArray==""?"":",") + gridData[i]['BIZCODE'].trim();
}
var postData = new Array();
postData.push({ name: "cmd" , value:"UPDATE_ADAPTER_BIZ"});
postData.push({ name: "prptygroupName" , value:adptrbzwkname});
postData.push({ name: "adptrbzwkgroupname" , value:adptrbzwkgroupname});
postData.push({ name: "eaiSevrInstncName" , value:eaiSevrInstncName});
postData.push({ name: "gridData" , value:codeArray});
$.ajax({
type : "POST",
url:url,
data:postData,
success : function(json) {
if(json.message == "success"){
alert("<%= localeMessage.getString("common.saveMsg") %>");
window.returnValue = "ok";
$("#btn_close").trigger("click");
}else{
alert(json.message);
}
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
// 업무코드 List Count
//init();
// 전체 업무코드 조회
var gridPostData = getSearchForJqgrid("cmd","LIST_ADAPTER_BIZ"); //jqgrid에서는 object 로
gridPostData["searchPrptygroupName"] = adptrbzwkname;
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("unifbwk.bizCode") %> ',
'<%= localeMessage.getString("unifbwk.bizName") %>',
'CHK'
],
colModel:[
{ name : 'BIZCODE' , align:'left' ,sortable:false },
{ name : 'BIZNAME' , align:'left' },
{ name : 'CHK' , align:'left' ,hidden:true }
],
jsonReader: {
repeatitems:false
},
autoheight: true,
height: $("#container").height(),
height: 430,
autowidth: true,
viewrecords: true,
gridview: true, // jqGrid의 성능 향상 - treeGrid, subGrid, afterInsertRow event의 경우 제외.
scroll: true, // 스크롤 사용여부 설정.(default: false)
rowNum : 10000, // Grid에 표시될 레코드 수 설정 (-1은 조회된 데이터 전부 그리드에 셋팅).
multiselect : true,
loadComplete: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) {
},
gridComplete:function (d){
//targetGridReload();
},
});
// target Grid
targetGrid();
$("#chkCheck").click(function(e){
e = e || event;/* get IE event ( not passed ) */
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = false;
$("input[id*=chkCHK]").prop("checked",$(this).is(":checked"));
});
// 조회된 그리드에서 대상 그리드로 업무코드 추가.
$("input[name=add]").click(function(){
if(!isGridValid("#grid")) return;
var selRowIds = $("#grid").jqGrid("getGridParam", "selarrrow");
for(var i=0;i<selRowIds.length;i++){
$("#grid").jqGrid("setCell", selRowIds[i], "CHK", "true");
arrGridData.push($("#grid").getRowData(selRowIds[i]));
}
modify("add", arrGridData);
});
// 대상그리드에서 선택된 업무코드 삭제
$("input[name=remove]").click(function(){
if(!isGridValid("#targetGrid")) return;
var targetGrid = $("#targetGrid");
var selTargetGridIds = targetGrid.jqGrid("getGridParam", "selarrrow");
for(var i=0;i<selTargetGridIds.length;i++){
$("#targetGrid").jqGrid("setCell", selTargetGridIds[i], "CHK", "false");
}
var deleteData = $("#targetGrid").getRowData();
modify("delete", "#targetGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_ADAPTER_BIZ"); //jqgrid에서는 object 로
$("#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_search.png"/>" alt="" id="btn_search" level="R" />
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">[프라퍼티] APP_CODE</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%=localeMessage.getString("unifbwk.bizCode")%></th>
<td>
<input type="text" name="searchBzwkName" value="${param.searchBzwkName}">
</td>
</tr>
</tbody>
</table>
<table width="98%" style="margin-left:10px;">
<tr>
<td width="50%">
<div id="grid_div"><table id="grid" ></table></div>
</td>
<td>
<input type=button name="add" value=">" style="width:40px"/><br><br>
<input type=button name="remove" value="<" style="width:40px"/><br><br>
</td>
<td width="50%">
<div id="targetGrid_div"><table id="targetGrid" ></table></div>
</td>
</tr>
</table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,339 @@
<%@ 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/admin/adapter/socketPortMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/socketPortMan.view" />';
var url_excel= '<c:url value="/onl/admin/adapter/socketPortMan.excel" />';
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
//EAI서버구분코드
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrDstCd]")).setData(json.inoutTypeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchUseYn]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.useYnTypeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOrderType]")).setData(json.orderTypeRows).setFormat(nameOptionFormat).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(key);
}
list("1");
},
error:function(e){
alert(e.responseText);
}
});
}
function list(_page)
{
var page = "${param.page}";
if(_page) page = _page;
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json',page : page }).trigger("reloadGrid");
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
if (cellvalue == "1") {
return "사용함";
} else{
return "사용안함";
}
}
function timeStampFormat2(cellvalue, options, rowObject){
if ( cellvalue.trim() == "" || cellvalue.length < 17 )
return '';
return cellvalue.substr(0,4) + '-' +
cellvalue.substr(4,2) + '-' +
cellvalue.substr(6,2) + ' ' +
cellvalue.substr(8,2) + ':' +
cellvalue.substr(10,2) + ':' +
cellvalue.substr(12,2);
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"local",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%=localeMessage.getString("socketPortMan.eaisevrdstcd")%>',
'<%=localeMessage.getString("socketPortMan.recvadptrbzwkname")%>',
'<%=localeMessage.getString("socketPortMan.recvadptrdesc")%>',
'<%=localeMessage.getString("socketPortMan.recvtestport")%>',
'<%=localeMessage.getString("socketPortMan.recvportuseyn")%> ',
'<%=localeMessage.getString("socketPortMan.recvrealport")%>',
'<%=localeMessage.getString("socketPortMan.recvportlastymd")%>',
'<%=localeMessage.getString("socketPortMan.recvlastadmuserid")%>',
'<%=localeMessage.getString("socketPortMan.sendadptrbzwkname")%>',
'<%=localeMessage.getString("socketPortMan.sendadptrdesc")%>',
'<%=localeMessage.getString("socketPortMan.sendtestport")%>',
'<%=localeMessage.getString("socketPortMan.sendportuseyn")%>',
'<%=localeMessage.getString("socketPortMan.sendrealport")%>',
'<%=localeMessage.getString("socketPortMan.sendportlastymd")%>',
'<%=localeMessage.getString("socketPortMan.sendlastadmuserid")%>'
],
colModel:[
{ name : 'EAISEVRDSTCD' , hidden:true},
{ name : 'RECVADPTRBZWKNAME' , align:'left' ,width:200},
{ name : 'RECVADPTRDESC' , align:'left' ,width:200 },
{ name : 'RECVTESTPORT' , align:'center' ,width:95 },
{ name : 'RECVPORTUSEYN' , align:'left' ,width:200 },
{ name : 'RECVREALPORT' , align:'center' ,width:95 },
{ name : 'RECVPORTLASTYMD' , align:'center' ,width:115 ,formatter: timeStampFormat2},
{ name : 'RECVLASTADMUSERID' , align:'center' ,width:70 },
{ name : 'SENDADPTRBZWKNAME' , align:'left' ,width:200},
{ name : 'SENDADPTRDESC' , align:'left' ,width:200 },
{ name : 'SENDTESTPORT' , align:'center' ,width:95 },
{ name : 'SENDPORTUSEYN' , align:'left' ,width:200 },
{ name : 'SENDREALPORT' , align:'center' ,width:95 },
{ name : 'SENDPORTLASTYMD' , align:'center' ,width:115 ,formatter: timeStampFormat2},
{ name : 'SENDLASTADMUSERID' , align:'center' ,width:70 },
],
jsonReader: {
repeatitems:false
},
// multiselect:true,
// rowNum : '${rmsDefaultRowNum}',
// pager : $('#pager'),
// page : '${param.page}',
// height: $("#container").height(),
height : '600',
rowNum : 10000,
viewrecords: true,
sortname : '${param.sortName}',
sortorder : '${param.sortOrder}',
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
$("#selectCnt").text(" [ "+$("#grid").getGridParam("reccount") + " 건] ");
},
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 += '&eaiSevrDstCd='+rowData['EAISEVRDSTCD'];
url2 += '&recvTestPort='+rowData['RECVTESTPORT'];
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1680');
$("select[name=searchEaiSevrDstCd],select[name=searchUseYn],select[name=searchOrderType]").change(function(){
list("1");
});
$("#btn_search").click(function(){
list("1");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_new").click(function(){
var url2 = '<c:url value="/onl/admin/adapter/socketPortMan.view"/>';
var searchEaiSevrDstCd = $("#searchEaiSevrDstCd").val();
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("#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)
gridToExcelSubmit3(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'소켓 포트 리스트');
return false;
});
$("#btn_delete").click(function(){
var params = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
var cmd = "";
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
params.push(rowObject);
chkcnt++;
}
}
if(chkcnt == 0){
alert("삭제할 데이터를 체크해 주세요.");
return false;
}
//삭제 컨펌
if (confirm("선택한 포트정보를 삭제하겠습니까?")== false){
return;
}
var postData = [];
postData.push({ name: "cmd" , value: "DELETE_LIST"});
postData.push({ name: "gridData" , value:JSON.stringify(params)});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
if(json.message == "success"){
alert("삭제하였습니다");
list();
}else{
alert("삭제중 에러가 발생했습니다.");
}
},
error : function(e) {
alert("error"+e.responseText);
}
});
});
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">
&nbsp;<span style="color:blue;" id="selectCnt"></span>
<button type="button" class="cssbtn" id="btn_excel" level="R" ><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="R"/> --%>
<%-- <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_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%=localeMessage.getString("socketPortMan.title")%></div>
&nbsp;<span style="color:black;"> ※ 모니터링 프라퍼티 필수등록 > <b>[adpt_port_inst]</b> : INST명 , 포트입력시 업무구분없이(수신테스트포트, 수신온라인포트기준) 조회합니다. </span>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:130px;"><%=localeMessage.getString("socketPortMan.sevrdstCd")%></th>
<td>
<div class="select-style">
<select name="searchEaiSevrDstCd" value="${param.searchEaiSevrDstCd}">
</select>
</div>
</td>
<th style="width:130px;"><%=localeMessage.getString("socketPortMan.useyn")%></th>
<td>
<div class="select-style">
<select name="searchUseYn" value="${param.searchUseYn}">
</select>
</div>
</td>
<th style="width:130px;"><%=localeMessage.getString("socketPortMan.ordertype")%></th>
<td>
<div class="select-style">
<select name="searchOrderType" value="${param.searchOrderType}">
</select>
</div>
</td>
</tr>
<tr>
<th style="width:130px;"><%=localeMessage.getString("socketPortMan.adapterNm")%></th>
<td><input type="text" name="searchAdptrBzwkName" value="${param.searchAdptrBzwkName}"></td>
<th style="width:130px;"><%=localeMessage.getString("socketPortMan.bzwknamedesc")%></th>
<td>
<input type="text" name="searchAdptrBzwkNameDesc" value="${param.searchAdptrBzwkNameDesc}">
</td>
<th style="width:130px;"><%=localeMessage.getString("socketPortMan.searchport")%></th>
<td>
<input type="text" name="searchAdptrPort" value="${param.searchAdptrPort}">
</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,439 @@
<%@ 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="/onl/admin/adapter/socketPortMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/socketPortMan.view" />';
function init(url,key,key2,key3,callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
//EAI서버구분코드
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstCd]")).setData(json.inoutTypeRows).setFormat(codeName3OptionFormat).rendering();
if(key3 != ''){
$("select[name=eaiSevrDstCd]").val(key3);
}
if(typeof callback === 'function') {
callback(key,key2);
}
},
error:function(e){
alert(e.responseText);
}
});
}
var isDetail = false;
function isValid(){
// 수신 어댑터명, 업무명 필수 추가
// if($('input[name=recvAdptrBzwkName]').val() == ""){
<%-- alert('<%=localeMessage.getString("socketPortMan.msg0")%>'); --%>
// $('input[name=recvAdptrBzwkName]').focus();
// return false;
// }
if($('input[name=recvAdptrDesc]').val() == ""){
alert('<%=localeMessage.getString("socketPortMan.msg1")%>');
$('input[name=recvAdptrDesc]').focus();
return false;
}
//수신 포트는 필수등록
if($('input[name=recvTestPort]').val() == ""){
alert('<%=localeMessage.getString("socketPortMan.msg2")%>');
$('input[name=recvTestPort]').focus();
return false;
}
if($('input[name=recvRealPort]').val() == ""){
alert('<%=localeMessage.getString("socketPortMan.msg3")%>');
$('input[name=recvRealPort]').focus();
return false;
}
return true;
}
//어댑터수정여부
function isModify(type){
var orgName;
var curName;
if(type == 'R'){
orgName = $("input[name=org_recvAdptrBzwkName]").val();
curName = $("input[name=recvAdptrBzwkName]").val();
}else{
orgName = $("input[name=org_sendAdptrBzwkName]").val();
curName = $("input[name=sendAdptrBzwkName]").val();
}
if(orgName == curName){
return false;
}
return true;
}
//포트번호 할당 신규등록시 사용하지 않는 어댑터중에 젤 작은 포트번호 가져오기
function portAssign(key3){
var eaiSevrDstCd = $("select[name=eaiSevrDstCd]").val();
var postData = [];
postData.push({ name: "cmd" , value: "DETAIL_INIT_PORT"});
postData.push({ name: "eaiSevrDstCd" , value:(key3==''?eaiSevrDstCd:key3)});
console.log(postData);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
var isUnusedPort = null;
$("input").each(function(){
var name = $(this).attr('name').toUpperCase();
if(name == 'RECVLASTADMUSERID'){
isUnusedPort = json[name];
}
$(this).val(json[name]);
});
if(isUnusedPort != null){ //사용하지 않은 어댑터 불러옴
isDetail = true;
$("input[name=recvTestPort]").attr('readonly',true);
$("input[name=recvRealPort]").attr('readonly',true);
$("input[name=recvportlastymd]").inputmask("9999-99-99 99:99:99",{'autoUnmask':true});
$("input[name=sendportlastymd]").inputmask("9999-99-99 99:99:99",{'autoUnmask':true});
}else{//신규 등록시 송신포트는 default 없앰
$("input[name=sendTestPort]").val("");
$("input[name=sendRealPort]").val("");
}
},
error:function(e){
alert(e.responseText);
}
});
}
//송신포트할당
function btnPortAssign(){
var recvTestPort = $("input[name=recvTestPort]").val();
var recvRealPort = $("input[name=recvRealPort]").val();
if(recvRealPort == null || recvRealPort == "" || Number(recvRealPort) < 1000
|| recvTestPort == null || recvTestPort == "" || Number(recvTestPort) < 1000
){
alert("수신테스트포트 or 수신온라인포트를 확인해 주세요.");
return false;
}
$("input[name=sendTestPort]").val(Number(recvTestPort-1000));
$("input[name=sendRealPort]").val(Number(recvRealPort-1000));
}
function isNumber(v){
var reg=/^[-+]?\d+$/;
return reg.test(v);
}
function detail(key,key2){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, recvTestPort : key
, eaiSevrDstCd : key2
},
success:function(json){
var data = json;
$("#ajaxForm input[type!=radio],#ajaxForm select").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
var dataVal = data[name.toUpperCase()];
if(dataVal != null){
dataVal = dataVal.trim();
}
$(tag+"[name="+name+"]").val(dataVal);
//송신 수신 어댑터명 수정여부 판단
if(name == 'recvAdptrBzwkName'){
$("input[name=org_recvAdptrBzwkName]").val(dataVal);
}else if(name == 'sendAdptrBzwkName'){
$("input[name=org_sendAdptrBzwkName]").val(dataVal);
}
});
$("input[name=recvTestPort]").attr('readonly',true);
$("input[name=recvRealPort]").attr('readonly',true);
$("input[name=recvportlastymd]").inputmask("9999-99-99 99:99:99",{'autoUnmask':true});
$("input[name=sendportlastymd]").inputmask("9999-99-99 99:99:99",{'autoUnmask':true});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.recvTestPort}";
var key2 ="${param.eaiSevrDstCd}";
var key3 ="${param.searchEaiSevrDstCd}";
if (key !="" && key2 !=""){
isDetail = true;
}
init(url,key,key2,key3,detail);
if(!isDetail){
portAssign(key3);
}
$("#btn_modify").click(function(){
if (!isValid()) return;
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value:JSON.stringify(postData)});
if (isDetail){
//송수신 어댑터명 수정여부
if(isModify('R')){
postData.push({ name: "resvModYN" , value:"Y"});
}
if(isModify('S')){
postData.push({ name: "sendModYN" , value:"Y"});
}
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success : function(json) {
if(json.message == "success"){
alert("<%= localeMessage.getString("common.saveMsg") %>");
goNav(returnUrl);//LIST로 이동
}else{
alert(json.message);
}
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
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);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("select[name=eaiSevrDstCd]").change(function(){
portAssign('');
});
$("#btn_assign").click(function(){
btnPortAssign();
});
$("input[name=recvTestPort]").on("keyup", function(){
$(this).val($(this).val().replace(/[^0-9]/g,""));
$("input[name=recvRealPort]").val($(this).val());
if($("input[name=recvRealPort]").val().length>5 || $("input[name=recvRealPort]").val() > 20000){
$("input[name=recvRealPort]").val($(this).val()-10000);
}
});
$("input[name=recvRealPort]").on("keyup", function(){
$(this).val($(this).val().replace(/[^0-9]/g,""));
});
$("input[name=sendTestPort]").on("keyup", function(){
$(this).val($(this).val().replace(/[^0-9]/g,""));
});
$("input[name=sendRealPort]").on("keyup", function(){
$(this).val($(this).val().replace(/[^0-9]/g,""));
});
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("socketPortMan.title")%></div>
<!-- 공통-->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:150px;"><%=localeMessage.getString("socketPortMan.eaisevrdstcd")%></th>
<td>
<div class="select-style">
<select name="eaiSevrDstCd">
</select>
</div>
</td>
</tr>
</table>
<div class="table_row_title">[<%=localeMessage.getString("socketPortMan.title2")%>]</div>
<table class="table_row" cellspacing="0">
<input type="hidden" name="org_recvAdptrBzwkName"/>
<tr>
<th style="width:150px;"><%=localeMessage.getString("socketPortMan.recvadptrbzwkname")%></th>
<td><input type="text" name="recvAdptrBzwkName"/></td>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.recvadptrdesc")%>*</th>
<td><input type="text" name="recvAdptrDesc"/></td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.recvtestport")%>*</th>
<td><input type="text" name="recvTestPort" maxlength="5"/></td>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.recvrealport")%>*</th>
<td><input type="text" name="recvRealPort" maxlength="5"/></td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.recvportlastymd")%></th>
<td><input type="text" name="recvportlastymd" readonly/></td>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.recvlastadmuserid")%></th>
<td><input type="text" name="recvlastAdmUserid" readonly/></td>
</tr>
</table>
<div class="table_row_title">
<table><tr>
<td class="table_row_title">
[<%=localeMessage.getString("socketPortMan.title3")%>]
</td>
<td>&nbsp;</td>
<td>
<%-- <img src="<c:url value="/img/btn_assign.png" />" id="btn_assign" level="W" status="DETAIL,NEW" class="btn_img"/> --%>
<button type="button" class="cssbtn smallBtn2" id="btn_assign" style="vertical-align:middle; font-weight:bold;" level="W" status="DETAIL,NEW"><i class="material-icons">assignment</i><%= localeMessage.getString("button.assign") %></button>
</td>
<td>&nbsp;<span style="color:blue;"><%=localeMessage.getString("socketPortMan.msg")%></span></td><td>&nbsp;</td>
</tr></table>
</div>
<table class="table_row" cellspacing="0">
<input type="hidden" name="org_sendAdptrBzwkName"/>
<tr>
<th style="width:150px;"><%=localeMessage.getString("socketPortMan.sendadptrbzwkname")%></th>
<td><input type="text" name="sendAdptrBzwkName" /></td>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.sendadptrdesc")%></th>
<td> <input type="text" name="sendAdptrDesc" /></td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.sendtestport")%></th>
<td>
<input type="text" name="sendTestPort" maxlength="5" /></td>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.sendrealport")%></th>
<td>
<input type="text" name="sendRealPort" maxlength="5" /></td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.sendportlastymd")%></th>
<td><input type="text" name="sendportlastymd" readonly/></td>
<th style="width:180px;"><%=localeMessage.getString("socketPortMan.sendlastadmuserid")%></th>
<td><input type="text" name="sendlastAdmUserid" readonly/></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,256 @@
<%@ 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 language="javascript">
var url ='<c:url value="/onl/admin/adapter/terminalStatusInfo.json" />';
var url_view ='<c:url value="/onl/admin/adapter/terminalStatusInfo.view" />';
function getStartTime() {
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
tm = (Math.floor(tm.substr(0, 2)) * 60) + Math.floor(right(tm, 2)) - 5;
tm = right("0" + parseInt(tm/60), 2) + right("0" + tm%60, 2);
return tm + '00';
}
function getEndTime() {
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
return tm + '59';
}
function toDateString(d) {
var dateStr = d.replace(/^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/ , '$4:$5:$6 $2/$3/$1');
return dateStr;
}
//10분후 시간셋팅
function setTime(searchTime) {
var endYYYYMMDD;
var endHHMM;
var yy = searchTime.substr(0,4);
var mm = searchTime.substr(4,2);
var dd = searchTime.substr(6,2);
var hh = searchTime.substr(8,2);
var MM = searchTime.substr(10,2);
var ms = Date.UTC(yy,mm-1,dd,hh,MM,00);
var date = new Date(ms);
date.setHours( date.getHours() - 9 );
//10분 후 셋팅
date.setMinutes( date.getMinutes() + 9 );
endYYYYMMDD = date.getFullYear() + right("0" + (date.getMonth() + 1), 2) + right("0" + (date.getDate()), 2);
endHHMM = right("0" + date.getHours() , 2) + right("0" + date.getMinutes() , 2) + "59";
$("input[name=searchEndYYYYMMDD]").val(endYYYYMMDD);
$("input[name=searchEndHHMM]").val(endHHMM);
}
$(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});
$("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(getStartTime());
$(this).val("000000");
}
});
$("input[name=searchEndHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
//$(this).val(getEndTime());
$(this).val("235959");
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
gridPostData['startCreateTime'] = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchStartHHMM]").val();
gridPostData['endCreateTime'] = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchEndHHMM]").val();
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : gridPostData,
colNames:[ '<%= localeMessage.getString("terStatInfo.userID") %>',
'<%= localeMessage.getString("terStatInfo.userNm") %>',
'국명',
'국코드',
'<%= localeMessage.getString("terStatInfo.userSessStat") %>',
'<%= localeMessage.getString("terStatInfo.webScktInstNm") %>',
'<%= localeMessage.getString("terStatInfo.webScktRemtAddr") %>',
'<%= localeMessage.getString("terStatInfo.webScktSessStat") %>',
'<%= localeMessage.getString("terStatInfo.sessID") %>',
'<%= localeMessage.getString("terStatInfo.crtTm") %>'
],
colModel:[
{ name:'USERID', align:'center', width:90 },
{ name:'USER_NAME', align:'center', width:100 },
{ name:'BRN_NAME', align:'center', width:70 },
{ name:'BRN_CD', align:'center', width:70 },
{ name:'SESSION_STATUS', align:'center', width:70 },
{ name:'WSOC_INSTANCE', align:'center', width:70 },
{ name:'WSOC_REMOTE_ADDR', align:'center', width:170 },
{ name:'WSOC_SESSION_STATUS',align:'center',width:70 },
{ name:'SESSION_ID', align:'left', width:180 },
{ name:'CREATE_TIME', align:'center', width:100 }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: false,
multiboxonly: false,
sortname : '${param.sortName}',
sortorder : '${param.sortOrder}',
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
//$(this).setGridParam({datatype:'local'});
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
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 += '&sortName='+$("#grid").getGridParam("sortname");
url2 += '&sortOrder='+$("#grid").getGridParam("sortorder");
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&adptrBzwkGroupName='+encodeURIComponent(rowData['ADPTRBZWKGROUPNAME']);
goNav(url2); */
},
onSortCol :function(sidx,colnum,sort_order){
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = { cmd : 'LIST' };
postData['userId'] = $("input[name=userId]").val();
postData['userName'] = $("input[name=userName]").val();
postData['wsocRemoteAddr'] = $("input[name=wsocRemoteAddr]").val();
postData['sessionId'] = $("input[name=sessionId]").val();
var startCreateTime = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchStartHHMM]").val();
var endCreateTime = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchEndHHMM]").val();
if(startCreateTime > endCreateTime) {
alert('조회기간을 확인해주세요');
return;
}
postData['startCreateTime'] = startCreateTime;
postData['endCreateTime'] = endCreateTime;
$("#grid").setGridParam({ postData : postData, page:1 }).trigger("reloadGrid");
});
$("input").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#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_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("terStatInfo.title") %></div>
<form id="ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width=""><%= localeMessage.getString("terStatInfo.userID") %></th>
<td width=""> <input type="text" name="userId" value="${param.userId}"></td>
<th width=""><%= localeMessage.getString("terStatInfo.userNm") %></th>
<td width=""><input type="text" name="userName" value="${param.userName}"></td>
<th width=""><%= localeMessage.getString("terStatInfo.webScktRemtAddr") %></th>
<td width=""><input type="text" name="wsocRemoteAddr" value="${param.wsocRemoteAddr}"></td>
<th width=""><%= localeMessage.getString("terStatInfo.sessID") %></th>
<td width=""> <input type="text" name="sessionId" value="${param.sessionId}"></td>
<th width=""><%= localeMessage.getString("terStatInfo.crtTm") %></th>
<td style="width: 25%;">
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
<input type="text" name="searchStartHHMM" value="" size="8" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="text" name="searchEndHHMM" value="" size="8" style="width:80px; border:1px solid #ebebec;">
</td>
<!--
<td width=""> <input type="text" name="createTime" value="${param.createTime}"></td>
-->
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,135 @@
<%@ 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 language="javascript">
var url = '<c:url value="/onl/admin/adapter/webSocketMan.json" />';
var url_view = '<c:url value="/onl/admin/adapter/webSocketMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype : "json",
mtype : "POST",
url : url,
postData : gridPostData,
colNames : [
'<%= localeMessage.getString("webScktMan.userID") %>',
'<%= localeMessage.getString("webScktMan.instNm") %>',
'<%= localeMessage.getString("webScktMan.adptGrpNm") %>',
'<%= localeMessage.getString("webScktMan.locScktAddr") %>',
'<%= localeMessage.getString("webScktMan.remtScktAddr") %>',
'소켓상태'
],
colModel : [
{ name:'loginUserId', align:'center', width:50 },
{ name:'wsInstId', align:'center', width:50 },
{ name:'wsAdapterGroupName', align:'center' },
{ name:'localSocketAddress', align:'center' },
{ name:'remoteSocketAddress', align:'center' },
{ name:'socketStatus', align:'center', hidden : 'true' }
],
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 url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
//
//key값
url2 += '&eaiSevrInstncName='+eaiSevrInstncName;
goNav(url2);
*/
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd","LIST");
postData['loginUserId'] = $("input[name=loginUserId]").val();
postData['remoteSocketAddress'] = $("input[name=remoteSocketAddress]").val();
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input").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">
<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("webScktMan.title") %></div>
<form id="ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="100px"><%= localeMessage.getString("webScktMan.userID") %></th>
<td width="200px"><input type="text" name="loginUserId" value="${param.loginUserId}"></td>
<th width="100px"><%= localeMessage.getString("webScktMan.remtScktAddr") %></th>
<td><input type="text" name="remoteSocketAddress" value="${param.remoteSocketAddress}"></td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div>
</div>
</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"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.context.MonitoringContext"%>
<%@ page import="com.eactive.eai.rms.common.util.CommonUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
MonitoringContext monitoringContext = (MonitoringContext)CommonUtil.getBean(request, "monitoringContext");
String deployYnStr = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_YN_BY_RMS, "N");
boolean deployYn = "Y".equalsIgnoreCase(deployYnStr);
%>
<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/admin/adapter/adapterAuditMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/adapterAuditMan.view" />';
var url_excel='<c:url value="/onl/admin/adapter/adapterAuditMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var stageSvr = <%=SystemUtil.isStagingServer()%>;
var selectName = "searchEaiBzwkDstcd";
var select_useYn = new Array();
var select_adptrMsgPtrnCdRows = new Array();
var select_testMasterYnRows = new Array();
function init(callback) {
return $.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_SEARCH_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiBzwkDstcd]")).setNoValueInclude(true).setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(json.bzwkCodeRows).setFormat(codeName3OptionFormat).rendering();
setSearchable(selectName);
putSelectFromParam();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list(_page)
{
var page = "${param.page}";
if(_page) page = _page;
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["sortName"] ='${param.sortName}';
postData["sortOrder"]="${param.sortOrder}";
$("#grid").setGridParam({ url:url, postData: postData ,sortName:'${param.sortName}', sortOrder:"${param.sortOrder}",page : page }).trigger("reloadGrid");
}
$(document).ready(function() {
init().done(function(result) {
jqGridInit();
});
$("#btn_search").click(function(){
list("1");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
function jqGridInit() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
colNames:['변경번호',
'변경일자',
/* '타입', */
'작업자ID',
'<%= localeMessage.getString("adapter.adptrBzwkGroupName")%>',
'<%= localeMessage.getString("adapter.adptrBzwkGroupDesc")%>',
'<%= localeMessage.getString("adapter.adptrIoDstCd")%>',
'<%= localeMessage.getString("adapter.adptrMsgpTrnCdType")%>',
'<%= localeMessage.getString("adapter.eaiBzwkDstCd")%>',
<%-- '<%= localeMessage.getString("adapter.adptrCd")%>', --%>
'<%= localeMessage.getString("adapter.adptrMsgDstCd")%>',
'<%= localeMessage.getString("adapter.adptrUseYn")%>',
<%-- '<%= localeMessage.getString("adapter.kesauseyn")%>', --%>
<%-- '<%= localeMessage.getString("adapter.testmasteryn")%>', --%>
'<%= localeMessage.getString("adapter.adptrnickname")%>'
<%-- '<%= localeMessage.getString("adapterDetail.eaisevrdstcd")%>', --%>
<%-- '<%= localeMessage.getString("adapterDetail.dradptryn")%>' --%>
],
colModel:[
{ name : 'revNo' , align:'left' ,width:80},
{ name : 'revTstmp' , align:'left' ,width:140},
{ name : 'revUserId' , align:'left' ,width:80},
{ name : 'adptrbzwkgroupname' , align:'left' ,width:120},
{ name : 'adptrbzwkgroupdesc' , align:'left' ,width:250 },
{ name : 'adptriodstcd' , align:'center' ,width:100, edittype:'select',editoptions:{value : "I:INBOUND;O:OUTBOUND"}, formatter:"select"},
{ name : 'adptrmsgptrncd' , align:'center' ,width:70, edittype:'select' , editoptions:{value : "K:표준;N:비표준;B:은행표준"}, formatter:"select"},
{ name : 'eaibzwkdstcd' , align:'center' ,width:70},
// { name : 'ADPTRCD' , align:'center' ,width:70},
{ name : 'adptrmsgdstcd' , align:'center' ,width:70},
{ name : 'adptruseyn' , align:'center' ,width:80, edittype:'select', editoptions:{value : "0:사용안함;1:사용"}, formatter:"select"},
// { name : 'KESAUSEYN' , align:'center' ,width:100},
// { name : 'testmasteryn' , align:'center' ,width:100, edittype:'select', editoptions:select_testMasterYnRows, formatter:"select"},
{ name : 'adptrnickname' , align:'center' ,width:100},
// { name : 'EAISEVRDSTCD' , align:'center' ,width:80 ,formatter : formatter},
// { name : 'DRADPTRYN' , align:'center' ,width:100}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: false,
multiboxonly: false,
sortname : '${param.sortName}',
sortorder : '${param.sortOrder}',
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
//$(this).setGridParam({datatype:'local'});
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
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 += '&adptrBzwkGroupName='+encodeURIComponent(rowData['adptrbzwkgroupname']);
url2 += '&revNo='+encodeURIComponent(rowData['revNo']);
goNav(url2);
},
onSortCol :function(sidx,colnum,sort_order){
var gridPostData = getSearchForJqgrid("cmd","LIST");
var sortorder="";
if( sort_order == "")
sortorder ='asc';
else
sortorder = sort_order;
gridPostData["sortName"] =sidx;
gridPostData["sortOrder"]=sortorder;
$("#grid").setGridParam({ url:url, postData: gridPostData, sortname:sidx, sortorder:sortorder, page:"1"}).trigger("reloadGrid");
}
});
resizeJqGridWidth('grid','content_middle','1000');
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">
<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("adapter.title")%>(변경이력)</div>
<form id = "ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="13%"><%= localeMessage.getString("adapter.adptrBzwkGroupName")%></th>
<td width="20%"> <input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}"></td>
<th width="13%"><%= localeMessage.getString("adapter.adptrBzwkGroupDesc")%></th>
<td width="20%"><input type="text" name="searchAdptrBzwkGroupDesc" value="${param.searchAdptrBzwkGroupDesc}"></td>
<th><%= localeMessage.getString("adapterDetail.eaibzwkdstcd")%></th>
<td>
<div class="select-style">
<select name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</select>
</div>
</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,407 @@
<%@ 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">
<!-- css -->
<jsp:include page="/jsp/common/include/css.jsp"/>
<link rel="stylesheet" type="text/css" media="screen" href="<c:url value="/jsondiffpatch/formatters-styles/annotated.css"/>" />
<link rel="stylesheet" type="text/css" media="screen" href="<c:url value="/jsondiffpatch/formatters-styles/html.css"/>" />
<style>
.pre_container {
width: 100%; /* 원하는 너비로 설정 */
}
.pre_container pre {
white-space: pre-wrap; /* 줄 바꿈을 허용하는 설정 */
}
.display_none {
display: none; /* pre 태그 안의 내용을 숨김 */
}
.border-right_solid {
border-right: 1px solid #a3a9b1 !important;
text-align: center !important;
}
</style>
<!-- script -->
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" src="<c:url value="/jsondiffpatch/jsondiffpatch.umd.slim.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/onl/admin/adapter/adapterAuditMan.json" />';
var url_view ='<c:url value="/onl/admin/adapter/adapterAuditMan.view" />';
var isDetail = false;
function init(key,revNo,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=eaibzwkdstcd]")).setFormat(codeName3OptionFormat).setData(json.bizRows).rendering(); // 업무구분코드
new makeOptions("CODE","NAME").setObj($("select[name=adptrcd]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.adapterTypeRows).rendering(); // 어댑터 유형
new makeOptions("CODE","NAME").setObj($("select[name=adptrmsgdstcd]")).setFormat(codeName3OptionFormat).setData(json.msgTypeRows).rendering(); // 메시지타입
new makeOptions("CODE","NAME").setObj($("select[name=msgencode]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.msgEncodeRows).rendering(); // 메시지문자셋
new makeOptions("CODE","NAME").setObj($("select[name=adptriodstcd]")).setData(json.adptrIoDstcdRows).setFormat(codeName3OptionFormat).rendering(); // IN/OUT 구분
new makeOptions("CODE","NAME").setObj($("select[name=adptrmsgptrncd]")).setData(json.adptrMsgPtrnCdRows).setFormat(codeName3OptionFormat).rendering(); // 표준/비표준 구분
new makeOptions("CODE","NAME").setObj($("select[name=adptruseyn]")).setData(json.ynNumRows).setFormat(codeName3OptionFormat).rendering(); // 어댑터 사용구분
new makeOptions("CODE","NAME").setObj($("select[name=sndrcvhmslogyn]")).setData(json.ynNumRows).setFormat(codeName3OptionFormat).rendering(); // 송수신 로그여부
new makeOptions("CODE","NAME").setObj($("select[name=spcfcluuseyn]")).setData(json.ynNumRows).setFormat(codeName3OptionFormat).rendering(); // 특정LU 사용여부
new makeOptions("CODE","NAME").setObj($("select[name=osidinstiyn]")).setData(json.ynTypeRows).setFormat(codeName3OptionFormat).rendering(); // 대외기관 여부
new makeOptions("CODE","NAME").setObj($("select[name=moniuseyn]")).setData(json.ynRows).setFormat(codeName3OptionFormat).rendering(); // 모니터링 사용 여부
new makeOptions("CODE","NAME").setObj($("select[name=testmasteryn]")).setData(json.testMasterYnRows).setFormat(codeName3OptionFormat).rendering(); //TAS참조대표어댑터여부
if(typeof callback === 'function') {
callback(key,revNo,'DETAIL');
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key,revNo,cmd){
if (!isDetail) return ;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: cmd
, adptrbzwkgroupname : key
, revNo : revNo
},
success:function(json){
const detail = json;
//adapterGroup
$("input[name=revNo]").attr('readonly',true);
$("input[name=revTstmp]").attr('readonly',true);
$("input[name=userId]").attr('readonly',true);
$("input[name=adptrbzwkgroupname]").attr('readonly',true);
$("select[name=eaibzwkdstcd]").prop('disabled',true);
$("select[name=adptrmsgptrncd]").prop('disabled',true);
$("select[name=adptruseyn]").prop('disabled',true);
$("select[name=sndrcvhmslogyn]").prop('disabled',true);
$("select[name=adptriodstcd]").prop('disabled',true);
$("select[name=adptrcd]").prop('disabled',true);
$("select[name=adptrmsgdstcd]").prop('disabled',true);
$("select[name=msgencode]").prop('disabled',true);
$("input[name=refclsname]").attr('readonly',true);
$("#detail input,#detail select").each(function(){
const name = $(this).attr('name');
$(this).val(detail[name]);
});
//requestCurrentJson('CHANGE');
//setJsonTitle('변경분(현재)');
document.getElementById("json").textContent = JSON.stringify(json, undefined, 2);
document.getElementById("json_snapshot").textContent = JSON.stringify(json, undefined, 2);
setJsonTitle('[현재 Revision 스냅샷]');
requestPrevJson(diffJsonDisplay);// 현재와 이전 json 비교
},
error:function(e){
if(e.responseText == '')
alert('데이터 없음');
else
alert(e.responseText);
}
});
}
$(document).ready(function() {
const key ="${param.adptrBzwkGroupName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(decodeURIComponent(key),"${param.revNo}",detail);
const returnUrl = getReturnUrlForReturn();
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
// 변경분 보기
$("#btn_modifiedparts").click(function(){
requestCurrentJson('CHANGE');
setJsonTitle('[현재 Revision 변경분]');
});
// 스냅샷 보기
$("#btn_snapshot").click(function(){
requestCurrentJson('DETAIL');
setJsonTitle('[현재 Revision 스냅샷]');
});
$("#btn_jsoncopy").click(function(){
window.navigator.clipboard.writeText(document.getElementById("json").textContent).then(() => {
alert($("#json_title").text() + " 복사완료");
});
});
$("#btn_prevjsoncopy").click(function(){
window.navigator.clipboard.writeText(document.getElementById("prev_json").textContent).then(() => {
alert($("#pre_json_title").text() + " 복사완료");
});
});
// 이전 Revision
$("#btn_prevrevision").click(function(){
detail($("input[name=adptrbzwkgroupname]").val(), $("input[name=revNo]").val(), 'PREV');
});
// 다음 Revision
$("#btn_nextrevision").click(function(){
detail($("input[name=adptrbzwkgroupname]").val(), $("input[name=revNo]").val(), 'NEXT');
});
// 이전 Revision 스냅샷의 이전
$("#btn_prevsnapshot").click(function(){
requestPrevJsonSnapshot($("input[name=preRevNo]").val(), 'PREV', diffJsonDisplay);
});
// 이전 Revision 스냅샷의 다음
$("#btn_nextsnapshot").click(function(){
if($("input[name=preRevNo]").val() == $("input[name=revNo]").val()) {
alert("더이상의 정보가 없습니다.");
return;
}
requestPrevJsonSnapshot($("input[name=preRevNo]").val(), 'NEXT', diffJsonDisplay);
});
buttonControl(isDetail);
titleControl(isDetail);
});
function requestCurrentJson(cmd) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: cmd
, adptrbzwkgroupname : $("input[name=adptrbzwkgroupname]").val()
, revNo : $("input[name=revNo]").val()
},
success:function(json){
document.getElementById("json").textContent = JSON.stringify(json, undefined, 2);
},
error:function(e){
alert(e.responseText);
}
});
}
function requestPrevJson(callback) {
requestPrevJsonSnapshot($("input[name=revNo]").val(), "PREV", callback);
}
// [이전 Revision 스냅샷] 부분의 json을 조회한다.
function requestPrevJsonSnapshot(preRevNo, cmd, callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: cmd
, adptrbzwkgroupname : $("input[name=adptrbzwkgroupname]").val()
, revNo : preRevNo
},
success:function(json){
document.getElementById("prev_json").textContent = JSON.stringify(json, undefined, 2);
$("input[name=preRevNo]").val(json.revNo);
callback();
},
error:function(e){
document.getElementById("prev_json").textContent = '';
document.getElementById("diff_json").textContent = '';
}
});
}
function setJsonTitle(title) {
document.getElementById("json_title").textContent = title;
}
function diffJsonDisplay() {
document.getElementById("diff_json").textContent = '';
const json1 = JSON.parse($('#json_snapshot').text());
const json2 = JSON.parse($('#prev_json').text());
const diff = jsondiffpatch.diff(json2, json1);
if (typeof diff === 'undefined') {
document.getElementById("diff_json").innerHTML = 'no diff';
return;
}
document.getElementById("diff_json").innerHTML = jsondiffpatch.formatters.html.format(diff, json1);
jsondiffpatch.formatters.html.hideUnchanged();
//document.getElementById("diff_json").innerHTML = jsondiffpatch.formatters.annotated.format(diff);
}
</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_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_prevrevision" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> 이전 Revision</button>
<button type="button" class="cssbtn" id="btn_nextrevision" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_forward</i> 다음 Revision</button>
</div>
<div class="title_adptdetail">어댑터 변경이력 상세</div>
<div class="table_row_title">Revision 정보</div>
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th width="15%">Revision 번호</th>
<td width="35%" ><input type="text" name="revNo"/></td>
<th width="15%">변경 일자</th>
<td width="35%" ><input type="text" name="revTstmp"/></td>
</tr>
<tr>
<th width="15%">작업자ID</th>
<td width="35%" ><input type="text" name="revUserId"/></td>
<th width="15%"></th>
<td width="35%" ></td>
</tr>
</table>
<div class="table_row_title">어댑터 기본 정보</div>
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th width="15%"><%=localeMessage.getString("adapterDetail.adptrbzwkgroupname")%></th>
<td width="35%" ><input type="text" name="adptrbzwkgroupname" style="width:calc(100% - 65px);"/>
</td>
<th width="15%"><%=localeMessage.getString("adapterDetail.eaibzwkdstcd")%></th>
<td width="35%">
<div class="select-style">
<select name="eaibzwkdstcd" ></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrmsgptrncd")%></th>
<td >
<div class="select-style">
<select name="adptrmsgptrncd"></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptruseyn")%></th>
<td >
<div class="select-style">
<select name="adptruseyn"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.sndrcvhmslogyn")%></th>
<td >
<div class="select-style">
<select name="sndrcvhmslogyn"></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptriodstcd")%></th>
<td >
<div class="select-style">
<select name="adptriodstcd"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.adptrcd")%></th>
<td >
<div class="select-style">
<select name="adptrcd"></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.adptrmsgdstcd")%></th>
<td >
<div class="select-style">
<select name="adptrmsgdstcd"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("adapterDetail.msgencode")%></th>
<td>
<div class="select-style">
<select name="msgencode"></select>
</div>
</td>
<th><%=localeMessage.getString("adapterDetail.refclsname")%></th>
<td><input type="text" name="refclsname"/>
</td>
</tr>
</table>
<div class="table_row_title">JSON</div>
<table id="json_compare" class="table_row" cellspacing="0">
<tbody>
<tr height="30px">
<th class="border-right_solid" width="50%" colspan="2">
[스냅샷 비교결과]
</th>
</tr>
<tr>
<td valign="top" colspan="2">
<div id="diff_json"></div>
</td>
</tr>
<tr height="40px">
<th class="border-right_solid" width="50%" >
<span id="pre_json_title" >[이전 Revision 스냅샷]</span>
<button type="button" class="cssbtn" id="btn_prevsnapshot" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> 이전</button>
<button type="button" class="cssbtn" id="btn_nextsnapshot" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_forward</i> 다음</button>
<button type="button" class="cssbtn" id="btn_prevjsoncopy" level="R" status="DETAIL,NEW"><i class="material-icons">content_copy</i> JSON 복사</button>
<input type="hidden" name="preRevNo"/>
</th>
<th class="border-right_solid" width="50%" >
<span id="json_title" ></span>
<button type="button" class="cssbtn" id="btn_modifiedparts" level="R" status="DETAIL,NEW"><i class="material-icons">search</i> 변경분 보기</button>
<button type="button" class="cssbtn" id="btn_snapshot" level="R" status="DETAIL,NEW"><i class="material-icons">search</i> 스냅샷 보기</button>
<button type="button" class="cssbtn" id="btn_jsoncopy" level="R" status="DETAIL,NEW"><i class="material-icons">content_copy</i> JSON 복사</button>
</th>
</tr>
<tr>
<td valign="top" style="background-color: rgba(255, 187, 187, 0.1);">
<div class="pre_container">
<pre id="prev_json" class="jsondiffpatch-delta"></pre>
</div>
</td>
<td valign="top" style="background-color: rgba( 187, 255, 187, 0.1);">
<div class="pre_container">
<pre id="json" class="jsondiffpatch-delta"></pre>
<pre id="json_snapshot" class="display_none"></pre>
</div>
</td>
</tr>
</tbody>
</table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,132 @@
<%@ 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=euc-kr">
<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/admin/authoutbound/outboundOauthCredentialMan.json" />';
var url_view = '<c:url value="/onl/admin/authoutbound/outboundOauthCredentialMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['어댑터 그룹 명',
'URL',
'확인 간격(초)',
'사용여부',
'생성일시',
'수정일시',
],
colModel:[
{ name : 'adapterGroupName', align:'center', sortable:false, width:'60' },
{ name : 'url', align:'left' },
{ name : 'intervalSec', align:'center', width:'40' },
{ name : 'useYn', align:'center', width:'40' },
{ name : 'createdAt', align:'center', width:'40' },
{ name : 'updatedAt', align:'center', width:'40' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
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 adapterGroupName = rowData['adapterGroupName'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//key값
url2 += '&adapterGroupName='+adapterGroupName;
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");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
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">
<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>
</div>
<div class="title" id="title" >${rmsMenuName}</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adapter.adptrBzwkGroupName") %></th>
<td><input type="text" name="searchAdapterGroupName" value="${param.searchAdapterGroupName}"></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" %>
<%@ 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=euc-kr">
<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>
<link href="<c:url value="/addon/select2-4.1.0/css/select2.min.css"/>" rel="stylesheet"/>
<link href="<c:url value="/addon/select2-4.1.0/css/select2-bootstrap.min.css"/>" rel="stylesheet"/>
<script src="<c:url value="/addon/select2-4.1.0/js/select2.min.js"/>"></script>
<link href="<c:url value="/addon/bootstrap5-toggle-5.0.6/css/bootstrap5-toggle.min.css"/>" rel="stylesheet" />
<script src="<c:url value="/addon/bootstrap5-toggle-5.0.6/js/bootstrap5-toggle.jquery.min.js"/>"></script>
<link href="<c:url value="/addon/bootstrap-icons-1.11.3/bootstrap-icons.min.css"/>" rel="stylesheet" />
<script src="<c:url value="/addon/jquery-validation-1.19.5/jquery.validate.min.js"/>"></script>
<script src="<c:url value="/addon/jquery-validation-1.19.5/localization/messages_ko.min.js"/>"></script>
<script src="<c:url value="/addon/jquery-confirm/jquery-confirm.min.js"/>"></script>
<link href="<c:url value="/addon/jquery-confirm/jquery-confirm.min.css"/>" rel="stylesheet"/>
<script language="javascript">
var url = '<c:url value="/onl/admin/authoutbound/outboundOauthCredentialMan.json" />';
var url_view = '<c:url value="/onl/admin/authoutbound/outboundOauthCredentialMan.view" />';
var isDetail = false;
$.fn.select2.defaults.set( "theme", "bootstrap" );
function init(key, callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=adapterGroupName]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.toList).rendering();
$('#adapterGroupName').select2();
if (typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key) {
$("input[name=grantType]").attr('readonly',true);
if (!isDetail){
$("input[name=grantType]").val('client_credentials');
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd: 'DETAIL',
adapterGroupName: key
},
success: function (json) {
var data = json;
$('#adapterGroupName').attr("readonly", "readonly");
$("select[name=adapterGroupName]").val(data["adapterGroupName"]).trigger('change');
$("#ajaxForm input,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toLowerCase()]);
if(data[name]){
$(tag+"[name="+name+"]").val(data[name]);
}
});
if('Y' == data.useYn){
$('#toggleUseYn').bootstrapToggle('on');
}
},
error: function (e) {
alert(e.responseText);
}
});
}
$(document).ready(function () {
var returnUrl = getReturnUrlForReturn();
var key = "${param.adapterGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, detail);
$("#btn_modify").click(function () {
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({
name: "cmd",
value: "UPDATE"
});
} else {
postData.push({
name: "cmd",
value: "INSERT"
});
}
const useYn = $('#toggleUseYn').prop('checked') ? 'Y' : 'N';
postData.push({ name: "useYn" , value: useYn});
$.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 () {
var postData = [{name: 'adapterGroupName', value: $('#adapterGroupName').val()}]
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로 이동
});
$('#toggleClientSecret').click(function () {
const inputType = $("#clientSecret").prop("type");
if(inputType == 'password'){
$("#clientSecret").prop("type", "text");
$(this).css('color', 'red');
}else{
$("#clientSecret").prop("type", "password");
$(this).css('color', 'rgb(65 125 200)');
}
});
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_modify" level="R" 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>
</div>
<div class="title" id="title" >${rmsMenuName}</div>
<form id="ajaxForm">
<fieldset class="groupbox-border" style="margin-top:0px !important">
<div class="row mb-3">
<legend class="groupbox-border">BASIC OPTIONS</legend>
</div>
<div class="row mb-3">
<div class="form-group col-md-4">
<label for="adapterGroupName"><span class="material-icons-outlined">outlet</span> 어댑터 명</label>
<select id="adapterGroupName" class="form-control" name="adapterGroupName" style="width: 100%" required>
</select>
</div>
<div class="form-group col-md-2">
<label for="grantType"><span class="material-icons-outlined">verified_user</span> Grant Type</label>
<div class="input-group">
<input type="text" class="form-control" id="grantType" name="grantType" required></input>
</div>
</div>
<div class="form-group col-md-5">
<label for="url"><span class="material-icons-outlined">link</span> Url</label>
<input type="text" class="form-control" id="url" name="url" required></input>
</div>
<div class="form-group col-md-1">
<label for="toggleUseYn"><span class="material-icons">check_circle</span> 사용여부</label><br>
<input type="checkbox" name="toggleUseYn" id="toggleUseYn" data-toggle="toggle" data-onstyle="success" data-on="사용" data-off="미사용" data-width="100" data-offstyle="secondary" data-style="ios" />
</div>
</div>
<div class="row mb-3">
<div class="form-group col-md-12">
<label for="clientId"><span class="material-icons-outlined">lock</span> Client ID</label>
<input type="text" class="form-control" id="clientId" name="clientId" required></input>
</div>
</div>
<div class="row mb-3">
<div class="form-group col-md-12">
<label for="clientSecret"><span class="material-icons-outlined">key</span> Client Secret</label>
<div class="input-group">
<input type="password" class="form-control" id="clientSecret" name="clientSecret" autocomplete="new-password" required></input>
<span class="input-group-text">
<span class="material-icons-outlined" style="cursor: pointer; font-size: 1.25em; padding-top: 3px; user-select: none;" id="toggleClientSecret">visibility</span>
</span>
</div>
</div>
</div>
<div class="row mb-3">
<div class="form-group col-md-6">
<label for="scope"><span class="material-icons-outlined">work</span> Scope(','로 구분)</label>
<input type="text" class="form-control" id="scope" name="scope" required></input>
</div>
<div class="form-group col-md-6">
<label for="intervalSec"><span class="material-icons-outlined">timer</span> Interval(초)</label>
<input type="text" class="form-control" id="intervalSec" name="intervalSec" required></input>
</div>
</div>
</fieldset>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,264 @@
<%@ 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="/onl/admin/authserver/apiScopeMan.json" />';
var url_view = '<c:url value="/onl/admin/authserver/apiScopeMan.view" />';
function isValid(){
if($('select[name=bzwkSvcKeyName]').val() == ""){
alert("API를 선택하여 주십시요.");
$('select[name=bzwkSvcKeyName]').focus();
return false;
}
if($('select[name=scopeId]').val() == ""){
alert("SCOPE를 선택하여 주십시요.");
$('select[name=scopeId]').focus();
return false;
}
return true;
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST");
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("apiScpMan.apiNm") %>',
'<%= localeMessage.getString("apiScpMan.apiId") %>',
'<%= localeMessage.getString("apiScpMan.scpId") %>',
'<%= localeMessage.getString("apiScpMan.scpNm") %>',
'<%= localeMessage.getString("apiScpMan.del") %>'
],
colModel:[
{ name : 'EAISVCDESC', align:'left', sortable:false },
{ name : 'BZWKSVCKEYNAME', align:'left' },
{ name : 'SCOPEID', align:'left' },
{ name : 'SCOPENAME', align:'left', sortable:false },
{ name : 'DELETE', align:'center', sortable:false, formatter: addDeleteButton }
],
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) {
$("img[name^='img_']").click(function() {
if(confirm("삭제하시겠습니까?")){
var name = $(this).attr("name");
var rowId = name.split("_")[1];
var rowData = $('#grid').jqGrid('getRowData', rowId);
var postData = new Array();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "bzwkSvcKeyName" , value:rowData['BZWKSVCKEYNAME']});
postData.push({ name: "scopeId" , value:rowData['SCOPEID']});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
if(args.status=="error"){
alert("동기화중 오류입니다.\n확인하여 주십시요.\n" + args.message);
}else{
alert("삭제 되었습니다.");
//goNav(returnUrl);//LIST로 이동
location.reload();
}
},
error:function(e){
alert(e.responseText);
}
});
}
});
},
onSortCol :function(sidx,colnum,sort_order){
var gridPostData = getSearchForJqgrid("cmd","LIST");
var sortorder="";
if( sort_order == "")
sortorder ='ASC';
else
sortorder = sort_order;
$("#grid").setGridParam({ url:url, postData: gridPostData, page:"1"}).trigger("reloadGrid");
}
});
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_add").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("저장 되었습니다.");
location.reload();
//goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//$("img[name=img_" + rowid + "]").click(function() {
$("img[name^='img_']").click(function() {
//$("#btn_pop_delete").click(function() {
if(confirm("삭제하시겠습니까?")){
var name = $(this).attr("name");
var rowId = name.split("_")[1];
var rowData = $(this).getRowData(rowId);
var postData = new Array();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "bzwkSvcKeyName" , value:rowData['BZWKSVCKEYNAME']});
postData.push({ name: "scopeId" , value:rowData['SCOPEID']});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
if(args.status=="error"){
alert("동기화중 오류입니다.\n확인하여 주십시요.\n" + args.message);
}else{
alert("삭제 되었습니다.");
//goNav(returnUrl);//LIST로 이동
location.reload();
}
},
error:function(e){
alert(e.responseText);
}
});
}
});
buttonControl();
init();
});
function addDeleteButton(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_" + rowId
+ "' src=<c:url value='/img/btn_pop_delete.png' /> />";
}
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("APIID","APINAME").setObj($("select[name=bzwkSvcKeyName]")).setNoValueInclude(true).setNoValue("", "- API 선택 -").setData(json.apiRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("SCOPEID","SCOPENAME").setObj($("select[name=scopeId]")).setNoValueInclude(true).setNoValue("", "- SCOPE 선택 -").setData(json.scopeRows).setFormat(codeName3OptionFormat).rendering();
putSelectFromParam();
//setSearchable("scopeId"); // 콤보에 searchable 설정
if (typeof callback === 'function') {
callback();
}
},
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">
<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("apiScpMan.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("apiScpMan.apiNm") %></th>
<td><input type="text" name="searchEaiSvcDesc" value="${param.searchEaiSvcDesc}"></td>
<th style="width:180px;"><%= localeMessage.getString("apiScpMan.apiId") %></th>
<td><input type="text" name="searchBzwkSvcKeyName" value="${param.searchBzwkSvcKeyName}"></td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("apiScpMan.scpNm") %></th>
<td><input type="text" name="searchScopeName" value="${param.searchScopeName}"></td>
<th style="width:180px;"><%= localeMessage.getString("apiScpMan.scpId") %></th>
<td><input type="text" name="searchScopeId" value="${param.searchScopeId}"></td>
</tr>
</tbody>
</table>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px; text-align: center;"><%= localeMessage.getString("apiScpMan.newAdd") %></small></th>
<td>
<!--
<input type="text" name="bzwkSvcKeyName" style="width: auto;" placeholder="API아이디 입력"/>
<input type="text" name="scopeId" style="width: auto;" placeholder="SCOPE아이디 입력"/>
-->
<select name="bzwkSvcKeyName" value="">
</select>
<select name="scopeId" value="">
</select>
<%-- <img src="<c:url value="/img/btn_pop_add.png"/>" id="btn_add"/> --%>
<button type="button" class="cssbtn smallBtn2" id="btn_add" style="vertical-align:middle; font-weight:bold;"><i class="material-icons">add</i><%= localeMessage.getString("button.add") %></button>
</td>
</tr>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,144 @@
<%@ 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="/onl/admin/authserver/clientMan.json" />';
var url_view = '<c:url value="/onl/admin/authserver/clientMan.view" />';
$(document).ready(function () {
var gridPostData = getSearchForJqgrid("cmd", "LIST");
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames: ['<%= localeMessage.getString("clntMan.clntNm") %>',
'<%= localeMessage.getString("clntMan.clntId") %>',
'<%= localeMessage.getString("clntMan.scp") %>',
'<%= localeMessage.getString("clntMan.grntTp") %>',
'<%= localeMessage.getString("clntMan.tknEffTm") %>',
'APP 상태'
],
colModel: [
{name: 'CLIENTNAME', align: 'left', sortable: false},
{name: 'CLIENTID', align: 'left', sortable: false},
{name: 'SCOPE', align: 'left', sortable: false},
{name: 'GRANTTYPES', align: 'left', sortable: false},
{name: 'ACCESSTOKENVALIDITYSECONDS', align: 'center', sortable: false},
{
name: 'APPSTATUS',
align: 'center',
sortable: false,
formatter: function (cellvalue, options, rowObject) {
return cellvalue === '0' ? '차단' : '정상';
}
}
],
jsonReader: {
repeatitems: false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
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 += '&' + getSearchUrl();
//key값
url2 += '&clientId=' + rowData['CLIENTID'];
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");
});
$("#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">
<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_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" id="title">${rmsMenuName}</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("clntMan.clntNm") %>
</th>
<td><input type="text" name="searchClientName" value="${param.searchClientName}"></td>
<th style="width:180px;"><%= localeMessage.getString("clntMan.clntId") %>
</th>
<td><input type="text" name="searchClientId" value="${param.searchClientId}"></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,565 @@
<%@ 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="/onl/admin/authserver/clientMan.json" />';
var api_url_view = '<c:url value="/onl/apim/apigroup/apiGroupMan.view" />';
var group_url_view = '<c:url value="/onl/admin/authserver/clientMan.view" />';
var isDetail = false;
function isValid() {
if ($('input[name=clientName]').val() == "") {
alert("CLIENT명을 입력하여 주십시요.");
$('input[name=clientName]').focus();
return false;
}
if ($('input[name=clientId]').val() == "") {
alert("CLIENT 아이디를 입력하여 주십시요.");
$('input[name=clientId]').focus();
return false;
}
if ($('input[name=clientSecret]').val() == "") {
alert("CLIENT 시크릿을 입력하여 주십시요.");
$('input[name=clientSecret]').focus();
return false;
}
if ($('input[name=scope]').val() == "") {
alert("SCOPE를 입력하여 주십시요.");
$('input[name=scope]').focus();
return false;
}
if ($('input[name=grantTypes]').val() == "") {
alert("GRANT 타입을 입력하여 주십시요.");
$('input[name=grantTypes]').focus();
return false;
}
if ($('input[name=accessTokenValiditySeconds]').val() != "") {
if (isNaN(parseInt($('input[name=accessTokenValiditySeconds]').val()))) {
alert("Token 유효기간을 숫자로 입력하여 주십시요.");
$('input[name=accessTokenValiditySeconds]').select();
return false;
}
}
if ($('input[name=refreshTokenValiditySeconds]').val() != "") {
if (isNaN(parseInt($('input[name=refreshTokenValiditySeconds]').val()))) {
alert("리프레시 Token 유효기간을 숫자로 입력하여 주십시요.");
$('input[name=refreshTokenValiditySeconds]').select();
return false;
}
}
return true;
}
function detail(key) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'DETAIL', clientId: key},
success: function (json) {
var apiList = json["APILIST"];
var gridData = apiList.map(function (api) {
return {
apiId: api.eaiSvcName,
apiDesc: api.eaiSvcDesc
};
});
$("#selectedApiGrid").jqGrid("clearGridData");
$("#selectedApiGrid")[0].addJSONData(gridData);
var data = json;
$("#btn_gen_id").hide();
$('input[name=clientId]').css('width', '100%');
$('input[name=clientId]').attr('readonly', true);
$("#btn_clientId_byte").hide();
$("#btn_gen_secret").hide();
$('input[name=clientSecret]').css('width', '100%');
$('input[name=clientSecret]').attr('readonly', true);
$("#btn_clientSecret_byte").hide();
$("#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(data[name.toUpperCase()]);
});
// Set the appStatus dropdown value
if (json.APPSTATUS !== undefined && json.APPSTATUS !== null) {
$('select[name=appStatus]').val(json.APPSTATUS);
} else {
$('select[name=appStatus]').val('1'); // Set to normal if no value
}
// 구분자(,) 포함 strings --> checkbox checked
var grantTypes = $('input[name=grantTypes]').val();
if (grantTypes != "") {
var grantTypeArr = grantTypes.split(",");
var $checkboxes = $("input[name=grantTypes_]");
$checkboxes.each(function (idx, element) {
if (grantTypeArr.indexOf(element.value) != -1) {
element.setAttribute("checked", "checked");
} else {
element.removeAttribute("checked");
}
});
}
},
error: function (e) {
alert(e.responseText);
}
});
}
function init(key, callback) {
var selectedApiGrid = $("#selectedApiGrid");
selectedApiGrid.jqGrid({
datatype: "local",
colNames: ['API ID', 'API 이름'],
colModel: [
{name: 'apiId', index: 'apiId', width: 100, align: 'center'},
{name: 'apiDesc', index: 'apiDesc', width: 100, align: 'center'}
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#selectedApiGridPager',
sortname: 'apiId',
viewrecords: true,
sortorder: "asc",
caption: "선택된 API",
height: 200,
autowidth: true,
multiselect: true,
ondblClickRow: function (rowid, status, e) {
// selectedApiGrid.jqGrid('delRowData', rowid);
}
});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'LIST_DETAIL_COMBO'},
success: function (json) {
json.portalOrgList.unshift({
id: "", // 실제 저장될 값은 빈 문자열
orgName: "미분류" // 화면에 표시될 텍스트
});
new makeOptions("id", "orgName")
.setObj($("select[name=orgId]"))
.setFormat(nameOptionFormat)
.setData(json.portalOrgList).rendering();
if(key) {
detail(key);
}
},
error: function (e) {
alert(e.responseText);
}
});
callback(key);
}
$(document).ready(function () {
var returnUrl = getReturnUrlForReturn();
var key = "${param.clientId}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, detail);
$("#btn_modify").click(function () {
// checkbox checked --> 구분자(,) 포함 strings
var selected = new Array();
$("input[name=grantTypes_]:checked").each(function () {
selected.push(this.value);
});
if (selected.length > 0) {
$('input[name=grantTypes]').val(selected.join(","));
}
if (!isValid()) {
return;
}
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({name: "cmd", value: "UPDATE"});
} else {
postData.push({name: "cmd", value: "INSERT"});
}
var data = $("#selectedApiGrid").getRowData();
var gridData = [];
for (var i = 0; i < data.length; i++) {
gridData.push({eaiSvcName: data[i]['apiId']});
}
const orgName = $("select[name=orgId] option:selected").text();
postData.push({
name: "orgName",
value: orgName
});
postData.push({
name: "apiList",
value: JSON.stringify(gridData)
});
$.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("삭제하시겠습니까?")) {
var clientId = $("#clientId").val();
// mTLS 인증서 존재여부 체크
$.ajax({
type: "POST",
url: url,
data: { cmd: 'CHECKMTLS', clientId: clientId },
success: function (response) {
if (response.hasMtls) {
alert("해당 Client 아이디로 등록된 인증서 정보가 있습니다.\n인증서 정보를 먼저 삭제해 주십시오.");
return;
}
// 인증서 없으면 삭제진행
$.ajax({
type: "POST",
url: url,
data: { cmd: 'DELETE', clientId: clientId },
success: function (args) {
if (args.status === "error") {
alert("동기화중 오류입니다.\n확인하여 주십시요.\n" + args.message);
} else {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
}
},
error: function (e) {
alert(e.responseText);
}
});
},
error: function (e) {
alert(e.responseText);
}
});
}
});
$("#btn_popup_api").click(function () {
const args = {};
const url2 = api_url_view += "?cmd=POPUP";
showModal(url2, args, 1280, 860, function () {
const popupFrame = args.self.frames[0];
const returnValue = popupFrame.returnValue;
const frameElement = popupFrame.frameElement
const parentElement = frameElement.parentNode; // 부모 노드를 가져옴
if (parentElement) { // 부모 노드가 존재하는지 확인
parentElement.removeChild(frameElement);
}
var rows = $("#selectedApiGrid").jqGrid('getRowData');
console.log(returnValue);
const apiId = returnValue.apiId;
var apiIdExists = rows.some(function (row) {
return row.apiId === apiId;
});
if (apiIdExists) {
return;
}
var ids = $("#selectedApiGrid").jqGrid('getDataIDs');
var lastId = ids.length > 0 ? Math.max.apply(Math, ids) : 0;
var newId = lastId + 1;
$("#selectedApiGrid").jqGrid('addRowData', newId, returnValue, "last");
});
});
$("#btn_popup_api_group").click(function () {
const args = {};
const url2 = group_url_view += "?cmd=GROUP_POPUP";
showModal(url2, args, 1280, 860, function () {
const popupFrame = args.self.frames[0];
const returnValue = popupFrame.returnValue;
const frameElement = popupFrame.frameElement
const parentElement = frameElement.parentNode; // 부모 노드를 가져옴
if (parentElement) { // 부모 노드가 존재하는지 확인
parentElement.removeChild(frameElement);
}
var rows = $("#selectedApiGrid").jqGrid('getRowData');
console.log(returnValue);
if (!returnValue.apiGroupApiList || returnValue.apiGroupApiList.length === 0) {
return; // If apiGroupApiList is empty, do nothing
}
returnValue.apiGroupApiList.forEach(function (apiGroupApi) {
const apiId = apiGroupApi.apiId;
var apiIdExists = rows.some(function (row) {
return row.apiId === apiId;
});
if (apiIdExists) {
return;
}
var ids = $("#selectedApiGrid").jqGrid('getDataIDs');
var lastId = ids.length > 0 ? Math.max.apply(Math, ids) : 0;
var newId = lastId + 1;
$("#selectedApiGrid").jqGrid('addRowData', newId, apiGroupApi, "last");
});
});
});
$("#btn_delete_api").click(function () {
var grid = $("#selectedApiGrid");
var selectedRowIds = grid.jqGrid('getGridParam', 'selarrrow'); // 선택된 행의 ID 배열을 가져옴
if (selectedRowIds.length > 0) {
// 선택된 행의 ID를 복사한 배열을 사용
var idsToDelete = selectedRowIds.slice();
for (var i = 0; i < idsToDelete.length; i++) {
grid.jqGrid('delRowData', idsToDelete[i]); // 선택된 각 행을 삭제
}
} else {
alert("Please select at least one row to delete.");
}
});
$("#btn_previous").click(function () {
goNav(returnUrl);//LIST로 이동
});
$("#btn_gen_id").click(function () {
//$('input[name=clientId]').val(generateString(32));
$('input[name=clientId]').val(generateString($("#btn_clientId_byte").val()));
});
$("#btn_gen_secret").click(function () {
//$('input[name=clientSecret]').val(generateString(128));
$('input[name=clientSecret]').val(generateString($("#btn_clientSecret_byte").val()));
});
buttonControl(isDetail);
titleControl(isDetail);
});
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
function generateString(length) {
let result = '';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
</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" id="title">${rmsMenuName}</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;"><%= localeMessage.getString("clntManDtl.clntNm") %> <small>(*)</small></th>
<td><input type="text" name="clientName"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.clntId") %> <small>(*)</small></th>
<td>
<!-- <input type="text" name="clientId" readonly="readonly" style="width: calc(100% - 62px);"/> -->
<input type="text" name="clientId" id ="clientId" style="width: calc(100% - 142px);"/>
<select name="clientId_byte" id="btn_clientId_byte" style="width: 76px;">
<option value="32" selected="selected">32 byte</option>
<option value="64">64 byte</option>
<option value="128">128 byte</option>
<option value="256">256 byte</option>
</select>
<img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_gen_id"/>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.clntScrt") %> <small>(*)</small></th>
<td>
<!-- <input type="text" name="clientSecret" readonly="readonly" style="width: calc(100% - 62px);"/> -->
<input type="text" name="clientSecret" style="width: calc(100% - 142px);"/>
<select name="clientSecret_byte" id="btn_clientSecret_byte" style="width: 76px;">
<option value="32">32 byte</option>
<option value="64">64 byte</option>
<option value="128" selected="selected">128 byte</option>
<option value="256">256 byte</option>
</select>
<img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_gen_secret"/>
</td>
</tr>
<tr>
<th>SCOPE(<%= localeMessage.getString("clntManDtl.sprt") %> ,) <small>(*)</small></th>
<td><input type="text" name="scope"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.grntTp") %>
(<%= localeMessage.getString("clntManDtl.sprt") %> ,) <small>(*)</small></th>
<td>
<input type="checkbox" name="grantTypes_" value="client_credentials"> client_credentials
<%-- <input type="checkbox" name="grantTypes_" value="authorization_code"> authorization_code--%>
<%-- <input type="checkbox" name="grantTypes_" value="password"> password--%>
<input type="checkbox" name="grantTypes_" value="refresh_token"> refresh_token
</td>
<input type="hidden" name="grantTypes"/>
</td>
</tr>
<tr>
<th>REDIRECT URI</th>
<td><input type="text" name="redirectUri"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.athrt") %>
(<%= localeMessage.getString("clntManDtl.sprt") %> ,)
</th>
<td><input type="text" name="authorities"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.rsrc") %>
(<%= localeMessage.getString("clntManDtl.sprt") %> ,)
</th>
<td><input type="text" name="resourceIds"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.tknExprtnDt") %>
</th>
<td><input type="text" name="accessTokenValiditySeconds"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.rfrshTknExprtnDt") %>
</th>
<td><input type="text" name="refreshTokenValiditySeconds"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.atmtcApprvlScp") %>
(<%= localeMessage.getString("clntManDtl.sprt") %> ,)
</th>
<td><input type="text" name="autoApprove"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("clntManDtl.allwIp") %>
(<%= localeMessage.getString("clntManDtl.sprt") %> ,)
</th>
<td><input type="text" name="allowedIps"/></td>
</tr>
<tr>
<th>Security Key</th>
<td><textarea name="securityKey" rows="3" style="width:100%;"></textarea></td>
</tr>
<tr>
<th>APP 상태</th>
<td>
<div class="select-style">
<select name="appStatus">
<option value="1" selected>정상</option>
<option value="0">차단</option>
</select>
</div>
</td>
</tr>
<tr>
<th>법인</th>
<td>
<div class="select-style">
<select id="orgId" class="form-control" name="orgId">
</select>
</div>
</td>
</tr>
<tr>
<th>토큰 발급 제한건수(24시간)</th>
<td>
<div class="select-style">
<input type="text" name="dailyTokenLimit"></input>
</div>
</td>
</tr>
</table>
</form>
<div style="font-size:0;">
<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px ">
<div class="table_row_title" style="margin-bottom: 0px">API</div>
<div style="text-align: end;">
<button type="button" class="cssbtn" id="btn_delete_api" level="W" status="DETAIL,NEW">
<i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %>
</button>
<button type="button" class="cssbtn" id="btn_popup_api" level="W" status="DETAIL,NEW">
<i class="material-icons">add</i> API <%= localeMessage.getString("button.add") %>
</button>
<button type="button" class="cssbtn" id="btn_popup_api_group" level="W" status="DETAIL,NEW">
<i class="material-icons">add</i> API 그룹<%= localeMessage.getString("button.add") %>
</button>
</div>
</div>
<div style="display:inline-block; width:calc(100%); vertical-align:top;">
<div id="selectedApiList" style="margin-top:10px;">
<table id="selectedApiGrid"></table>
</div>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,138 @@
<%@ 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=euc-kr">
<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>
<script language="javascript">
var url = '<c:url value="/onl/apim/apigroup/apiGroupMan.json"/>';
var url_view = '<c:url value="/onl/apim/apigroup/apiGroupMan.view"/>';
var responseData = {};
function useFormatter(cellvalue, options, rowObject) {
if (cellvalue == null || cellvalue == '')
return '';
return cellvalue === '0' ? '미사용' : '사용';
}
function detail() {
var postData = getSearchForJqgrid("cmd", "LIST"); // jqGrid expects an object
$("#grid").setGridParam({url: url, postData: postData}).trigger("reloadGrid");
}
function search() {
var postData = getSearchForJqgrid("cmd", "LIST"); // jqGrid expects an object
$("#grid").setGridParam({url: url, postData: postData, page: 1}).trigger("reloadGrid");
}
function list() {
detail();
var gridPostData = getSearchForJqgrid("cmd", "LIST"); // jqGrid expects an object
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames: ['API 그룹 명', '설명', 'id'],
colModel: [
{name: 'groupName', align: 'center', width: '80', sortable: false},
{name: 'groupDesc', align: 'left'},
{name: 'id', align: 'center', width: '40', hidden: true}
],
jsonReader: {
root: function (obj) {
responseData = obj.rows; // Store the response data
return obj.rows;
},
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 colModel = $(this).getGridParam("colModel");
for (var i = 0; i < colModel.length; i++) {
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
ondblClickRow: function(rowId) {
const rowData = $(this).getRowData(rowId);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', apiGroupId : rowData.id},
success:function(json){
window.returnValue = json;
window.close();
},
error:function(e){
alert(e.responseText);
}
});
}
});
}
$(document).ready(function() {
list();
resizeJqGridWidth('grid', 'content_middle', '1000');
$("#btn_search").click(function() {
search();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div>
<div class="content_middle" id="content_middle" style="margin-top: 0px">
<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" id="title">${rmsMenuName}</div>
<table class="search_condition" cellspacing="0">
<tbody>
<tr>
<th style="width:180px;">API 그룹 명</th>
<td>
<input type="text" name="searchGroupName" value="${param.searchGroupName}">
</td>
<th style="width:180px;">설명</th>
<td>
<input type="text" name="searchGroupDesc" value="${param.searchGroupDesc}">
</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,103 @@
<%@ 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>Client 선택</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css_custom.jsp"/>
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
</head>
<script language="javascript">
var url = '<c:url value="/onl/admin/authserver/clientMan.json" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","POPUP_LIST");
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames: ['클라이언트명', '클라이언트ID', '스코프', 'GRANT타입', 'TOKEN유효시간(초)'],
colModel: [
{ name: 'CLIENTNAME', align: 'left', sortable: false },
{ name: 'CLIENTID', align: 'left', sortable: false },
{ name: 'SCOPE', align: 'left', sortable: false },
{ name: 'GRANTTYPES', align: 'left', sortable: false },
{ name: 'ACCESSTOKENVALIDITYSECONDS', align: 'center', sortable: false }
],
jsonReader: {
repeatitems: false
},
pager : $('#pager'),
page : '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: 'auto',
autowidth: true,
viewrecords: true,
shrinkToFit: true,
rowList: eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowid) {
var rowData = $(this).getRowData(rowid);
var clientId = rowData['CLIENTID'];
if (window.opener && typeof window.opener.selectClient === "function") {
window.opener.selectClient(clientId);
window.close();
} else if (window.parent && typeof window.parent.selectClient === "function") {
window.parent.selectClient(clientId);
window.parent.closeModal();
}
}
});
resizeJqGridWidth('grid', 'popup_box', '100%');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","POPUP_LIST");
$("#grid").setGridParam({ postData: postData, page: 1 }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
if (window.parent && typeof window.parent.closeModal === "function") {
window.parent.closeModal();
} else {
window.close();
}
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
});
</script>
<body>
<div class="popup_box" >
<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>
<button type="button" class="cssbtn" id="btn_close" level="R"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title">Client 선택</div>
<table class="search_condition" cellspacing="0">
<tr>
<th>클라이언트명</th>
<td><input type="text" name="searchClientName" value="${param.searchClientName}"></td>
<th>클라이언트ID</th>
<td><input type="text" name="searchClientId" value="${param.searchClientId}"></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end popup_box -->
</body>
</html>
@@ -0,0 +1,126 @@
<%@ 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="/onl/admin/authserver/scopeMan.json" />';
var url_view = '<c:url value="/onl/admin/authserver/scopeMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST");
// gridPostData["serviceType"]='FEP';
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("scpMan.scpNm") %>',
'<%= localeMessage.getString("scpMan.scpId") %>',
'<%= localeMessage.getString("scpMan.desc") %>'
],
colModel:[
{ name : 'SCOPENAME', align:'left', sortable:false },
{ name : 'SCOPEID', align:'left', sortable:false },
{ name : 'DESCRIPTION', align:'left', sortable:false }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
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 += '&' + getSearchUrl();
//key값
url2 += '&scopeId=' + rowData['SCOPEID'];
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");
});
$("#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">
<button type="button" class="cssbtn" id="btn_new"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" /> --%>
</div>
<div class="title"><%= localeMessage.getString("scpMan.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("scpMan.scpNm") %></th>
<td><input type="text" name="searchScopeName" value="${param.searchScopeName}"></td>
<th style="width:180px;"><%= localeMessage.getString("scpMan.scpId") %></th>
<td><input type="text" name="searchScopeId" value="${param.searchScopeId}"></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,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"%>
<%@ 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/admin/authserver/scopeMan.json" />';
var url_view = '<c:url value="/onl/admin/authserver/scopeMan.view" />';
var isDetail = false;
function isValid(){
if($('input[name=scopeName]').val() == ""){
alert("스코프명을 입력하여 주십시요.");
$('input[name=scopeName]').focus();
return false;
}
if($('input[name=scopeId]').val() == ""){
alert("스코프ID를 입력하여 주십시요.");
$('input[name=scopeId]').focus();
return false;
}
return true;
}
function detail(key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', scopeId : key},
success:function(json){
var data = json;
$('input[name=scopeId]').attr('readonly', true);
$("#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(data[name.toUpperCase()]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
function init(key,callback){
detail(key);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.scopeId}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("#btn_modify").click(function(){
if (!isValid()){
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("삭제하시겠습니까?")){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
if(args.status=="error"){
alert("동기화중 오류입니다.\n확인하여 주십시요.\n" + args.message);
}else{
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">
<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("scpManDt.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;"><%= localeMessage.getString("scpMan.scpNm") %> <small>(*)</small></th><td><input type="text" name="scopeName"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("scpMan.scpId") %> <small>(*)</small></th><td><input type="text" name="scopeId"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("scpMan.desc") %></th>
<td>
<textarea name="description" rows="3" cols="50"></textarea>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,394 @@
<%@ 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/admin/common/adapterInstMan.json" />';
var url_view = '<c:url value="/onl/admin/common/adapterInstMan.view" />';
var arr = new Array();
var selAdptGrpName = "";
function linkFormatter(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
var ip = rowObject['EAISEVRIP'];
var port = rowObject['SOCKETPORT'];
var adptName = rowObject['adapterName'];
var name = options["colModel"].name;
var type="sendRecv";
if(name=="error"){
type="error";
}else if (name=="adapterName"){
type="show"
}
var res = "<a onClick='linkModal(\""+ip+"\",\""+port+"\",\""+selAdptGrpName+"\",\""+adptName+"\",\""+type+"\")' style='text-decoration: underline; cursor:pointer;'>"+cellvalue+"</a>";
return res;
}
function linkModal(ip,port,adptGrp,adptName,type){
var url = "http://"+ip+":"+port+"/adapter/"+type+"?adapter="+adptGrp+"."+adptName;
var args = new Object();
showModal(url,args,1200,600,'','scroll:on');
}
function startStopFormater(cellvalue, options, rowObject){
var adptName = rowObject['adapterName'];
var inst = rowObject["EAISEVRINSTNCNAME"];
if(rowObject["state"]=="STOPPED"){
return "<img name='startStop_start' src='<c:url value='/images/bt/bt_boot_sm.gif'/>' style='cursor:pointer;'"+
"onClick='startStop(\"start\",\""+inst+"\",\""+selAdptGrpName+"\",\""+adptName+"\")'/>";
}else{
return "<img name='startStop_start' src='<c:url value='/images/bt/bt_end_sm.gif'/>' style='cursor:pointer;'"+
"onClick='startStop(\"stop\",\""+inst+"\",\""+selAdptGrpName+"\",\""+adptName+"\")'/>";
}
}
function startStop(status,inst,adptGrpName,adptName) {
var postData = [];
postData.push({ name : "cmd", value : "TRANSACTION_STARTSTOP" });
postData.push({ name : "control", value : status });
postData.push({ name : "eaiInstanceName", value : inst });
postData.push({ name : "adapterGroupName", value : adptGrpName });
postData.push({ name : "adapterName", value : adptName });
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
$("#grid2").setGridParam({ url :url, postData: {cmd : "LIST_SUB", searchAdptGrpName : selAdptGrpName.toUpperCase()}}).trigger("reloadGrid");
},
error : function(e) {
alert(e.responseText);
}
});
}
function traceFormater(cellvalue, options, rowObject){
var adptName = rowObject['adapterName'];
var inst = rowObject["EAISEVRINSTNCNAME"];
var def = " <a onClick='traceLevel(\"0\",\""+inst+"\",\""+selAdptGrpName+"\",\""+adptName+"\")' style='text-decoration: underline; cursor:pointer;' name='trace'>0</a> ";
var info = " <a onClick='traceLevel(\"1\",\""+inst+"\",\""+selAdptGrpName+"\",\""+adptName+"\")' style='text-decoration: underline; cursor:pointer;' name='trace'>1</a> ";
var debug = " <a onClick='traceLevel(\"2\",\""+inst+"\",\""+selAdptGrpName+"\",\""+adptName+"\") 'style='text-decoration: underline; cursor:pointer;' name='trace'>2</a> ";
var trace = " <a onClick='traceLevel(\"3\",\""+inst+"\",\""+selAdptGrpName+"\",\""+adptName+"\") 'style='text-decoration: underline; cursor:pointer;' name='trace'>3</a> ";
if(cellvalue==0){
return "0(DEFAULT) "+ info + debug + trace ;
}else if(cellvalue==1){
return def + "1(INFO)" + debug + trace ;
}else if(cellvalue==2){
return def + info + "2(DEBUG)" + trace ;
}else if(cellvalue==3){
return def + info + debug + "3(TRACE)" ;
}
}
function traceLevel(level,inst,adptGrpName,adptName) {
var postData = [];
postData.push({ name : "cmd", value : "TRANSACTION_STARTSTOP" });
postData.push({ name : "level", value : level });
postData.push({ name : "eaiInstanceName", value : inst });
postData.push({ name : "adapterGroupName", value : adptGrpName });
postData.push({ name : "adapterName", value : adptName });
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
$("#grid2").setGridParam({ url :url, postData: {cmd : "LIST_SUB", searchAdptGrpName : selAdptGrpName.toUpperCase()}}).trigger("reloadGrid");
},
error : function(e) {
alert(e.responseText);
}
});
}
function colorFormatter(cellvalue, options, rowObject){
var delay = rowObject['delay'];
if(delay=="O"){
return "<span style='color:red'>"+cellvalue+"</span>";
}else{
return cellvalue;
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
mtype: "POST",
datatype:"json",
colNames:[
'<%= localeMessage.getString("adptInMan.adptGrpNm") %>'
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME', align:'left' , width: 120 }
],
jsonReader: {
repeatitems:false
},
rowNum : 10000,
height: 350,
width: 320,
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) {
},loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},
onSelectRow : function(rowId){
var rowData = $(this).getRowData(rowId);
selAdptGrpName = rowData["ADPTRBZWKGROUPNAME"];
$('#grid2').jqGrid('clearGridData');
$('#grid3').jqGrid('clearGridData');
$('#dataText').val('');
$("#grid2").setGridParam({ url :url, postData: {cmd : "LIST_SUB", searchAdptGrpName : selAdptGrpName.toUpperCase()} ,page : "1" }).trigger("reloadGrid");
}
});
$('#grid2').jqGrid({
mtype: "POST",
datatype:"json",
colNames:[
'<%= localeMessage.getString("adptInMan.instNm") %>',
'<%= localeMessage.getString("adptInMan.adptNm") %>',
'<%= localeMessage.getString("adptInMan.sta") %>',
'<%= localeMessage.getString("adptInMan.stat") %>',
'<%= localeMessage.getString("adptInMan.staTm") %>',
'pool',
'<%= localeMessage.getString("adptInMan.recv") %>',
'<%= localeMessage.getString("adptInMan.send") %>',
'<%= localeMessage.getString("adptInMan.err") %>',
'<%= localeMessage.getString("adptInMan.traLv") %>',
'<%= localeMessage.getString("adptInMan.staUp") %>',
'data',
'normal',
'EAISEVRIP',
'SOCKETPORT'
],
colModel:[
{ name : 'EAISEVRINSTNCNAME', align:'left' , sortable:false, width : 30},
{ name : 'adapterName', align:'left' , sortable:false, width : 60, formatter:linkFormatter},
{ name : 'state', align:'center' , width: 20},
{ name : 'status', align:'center' , width: 15},
{ name : 'uptime', align:'center' , width: 20},
{ name : 'pool', align:'center' , width: 10},
{ name : 'recv', align:'center' , width: 10, formatter:linkFormatter},
{ name : 'send', align:'center' , width: 10, formatter:linkFormatter},
{ name : 'error', align:'center' , width: 10, formatter:linkFormatter},
{ name : 'trace', align:'center' , width: 30, formatter:traceFormater},
{ name : 'button', align:'center' , width: 20, formatter:startStopFormater},
{ name : 'data', hidden : true},
{ name : 'normal', hidden : true},
{ name : 'EAISEVRIP', hidden : true},
{ name : 'SOCKETPORT', hidden : true}
],
jsonReader: {
repeatitems:false
},
rowNum : 10000,
height: 350,
width: 1350,
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) {
arr = data.rows;
$("#grid2").jqGrid('setSelection',001,true);
},loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},loadError: function (jqXHR, textStatus, errorThrown) {
//debugger;
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
onSelectRow : function(rowId){
$('#grid3').jqGrid('clearGridData');
var rowData = $(this).getRowData(rowId);
$('#dataText').val('');
$("#dataText").val(rowData['data']);
var cnt = 0;
for(var i=0; i<arr.length; i++){
var sessionInfo = arr[i]['normal'];
var delay = arr[i]['delay'];
var addData = new Array();
if(sessionInfo.length==0){
$("#grid3").addRowData(0,{"normal":"세션정보 없음","EAISEVRINSTNCNAME":arr[i]['EAISEVRINSTNCNAME'],"delay":"X"});
}else{
if(delay.length>0){
for(var j=0; j<delay.length;j++){
//addData.push({ "normal" : delay[j] ,"EAISEVRINSTNCNAME":arr[i]['EAISEVRINSTNCNAME'],"delay":"O"});
//$("#grid3").addRowData(cnt,addData[j]);
$("#grid3").addRowData(cnt,{ "normal" : delay[j] ,"EAISEVRINSTNCNAME":arr[i]['EAISEVRINSTNCNAME'],"delay":"O"});
cnt++;
}
}
for(var j=0; j<sessionInfo.length;j++){
//addData.push({ "normal" : sessionInfo[j] ,"EAISEVRINSTNCNAME":arr[i]['EAISEVRINSTNCNAME'],"delay":"X"});
//$("#grid3").addRowData(cnt,addData[j]);
$("#grid3").addRowData(cnt,{ "normal" : sessionInfo[j] ,"EAISEVRINSTNCNAME":arr[i]['EAISEVRINSTNCNAME'],"delay":"X"});
cnt++;
}
}
}
}
});
$('#grid3').jqGrid({
mtype: "POST",
datatype:"json",
colNames:[
'<%= localeMessage.getString("adptInMan.instNm") %>',
'<%= localeMessage.getString("adptInMan.sessInfo") %>',
'delay'
],
colModel:[
{ name : 'EAISEVRINSTNCNAME', align:'left' , sortable:false, width:30},
{ name : 'normal', align:'left' , sortable:false, formatter : colorFormatter},
{ name : 'delay', hidden:true}
],
jsonReader: {
repeatitems:false
},
rowNum : 10000,
height: 200,
autowidth: true,
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) {
//debugger;
},loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
}
});
$("#btn_search").click(function(){
var adptGrpName = $("input[name=searchAdptGrpName]").val();
var portNum = $("input[name=searchPortNum]").val();
$('#grid2').jqGrid('clearGridData');
$('#grid3').jqGrid('clearGridData');
$('#dataText').val('');
$("#grid").setGridParam({ url :url,
postData: {cmd : "LIST", searchAdptGrpName : adptGrpName.toUpperCase(), searchPortNum : portNum} ,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}';
//검색값
//url = url + '&'+getSearchUrl();
goNav(url2);
});
buttonControl();
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_up").hide();
$("#btn_up").click(function(){
$("#dataText").show();
$(this).hide();
$("#btn_down").show();
});
$("#btn_down").click(function(){
$("#dataText").hide();
$(this).hide();
$("#btn_up").show();
});
});
</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>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("adptInMan.title") %> </div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("adptInMan.adptGrpNm") %></th>
<td>
<div class="select-style">
<input type="text" name="searchAdptGrpName" value="${param.searchAdptGrpName}"/>
</div>
</td>
<th style="width:180px;"><%= localeMessage.getString("adptInMan.portNum") %></th>
<td>
<div class="select-style">
<input type="text" name="searchPortNum" value="${param.searchPortNum}"/>
</div>
</td>
</tr>
</tbody>
</table>
</form>
<div >
<div id="gridDiv" style="display:inline-block; vertical-align:top;">
<span class="gridtitle"><%= localeMessage.getString("adptInMan.adptGrpNm") %></span>
<table id="grid" ></table>
</div>
<div id="grid2Div" style="display:inline-block; vertical-align:top; width:77%" >
<span class="gridtitle"><%= localeMessage.getString("adptInMan.instAdpt") %></span>
<table id="grid2"></table>
<div id="dataDiv" style="position: absolute; top: 400px; height: 120px; width: 1350px;">
<textarea id="dataText" name="normal" style="height:100%; width:100%;" readonly></textarea>
<img src="<c:url value="/img/btn_grid_up.png"/>" alt="" id="btn_up" level="R" style="position: relative; bottom: -80%; left: 1310px;" />
<img src="<c:url value="/img/btn_grid_down.png"/>" alt="" id="btn_down" level="R" style="position: relative; bottom: 100%; left: 1310px;"/>
</div>
</div>
<div style="margin-top:10px;">
<table id="grid3" ></table>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+777
View File
@@ -0,0 +1,777 @@
<%@ 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="/onl/admin/common/codeMan.json" />';
var url_view ='<c:url value="/onl/admin/common/codeMan.view" />';
var modify_rowID = 1;
var scrollPosition = 0;
function treeGrid_reload(codeGroup)
{
var postData = {cmd : "LIST_TREE", page : "1", searchCodeGroup : codeGroup};
$("#tree").setGridParam({ postData: postData}).trigger("reloadGrid");
}
// 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("code.codeGroup") %>'
, '<%= localeMessage.getString("code.codeGroupDesc") %>'
, 'CHILDCNT'
],
colModel:[
{ name : 'CDGROUP' , align:'left', width:'30%', sortable:false}
, { name : 'CDGROUPDESC' , align:'left', width:'70%'}
, { name : 'CHILDCNT' , hidden:true}
],
jsonReader: {
repeatitems:false
},
rowNum : 1000,
height: "450",
autowidth: true,
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");
// Tree Grid 실행.
searchTree(rowId);
// 조회된 데이터를 Form에 셋팅하는 함수.
setFormGrid("grid", rowId);
/* Start [수정], [삭제] 완료 후 재조회 했을 때 Tree Grid List를 새로 고침 합니다. */
if(treeRowCnt == 0)
{
var row = $("#grid").getRowData(rowId);
var cdGroup = row["CDGROUP"];
treeGrid_reload(row["CDGROUP"]);
}
/* 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(){
var rowId = $("#grid").getGridParam("selrow");
if (isNull(rowId)){
alert("<%= localeMessage.getString("code.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 (isNull(rowId)){
alert("<%= localeMessage.getString("code.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("code.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("code.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');
$("#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("code.checkRequierd1") %>");
return ;
}
if (isNull(rowIdTree)){
alert("<%= localeMessage.getString("code.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("code.checkRequierd1") %>");
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"});
$.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("code.checkRequierd1") %>");
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("code.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("code.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("code.checkRequierd1") %>");
$('input[name=codeGroup]').focus();
return false;
}
else if(level > 0 && $('input[name=code]').val() == "")
{
alert("<%= localeMessage.getString("code.checkRequierd2") %>");
$('input[name=code]').focus();
return false;
}
else if(level > 0 && $('input[name=codeName]').val() == "")
{
alert("<%= localeMessage.getString("code.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)
{
var rowData = $("#grid").getRowData(rowId);
var cdGroup = rowData["CDGROUP"];
$('#tree').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : {cmd : "LIST_TREE", searchCodeGroup : cdGroup},
colNames:['CODEGROUP'
, '<%= localeMessage.getString("code.code") %>'
, '<%= localeMessage.getString("code.codeName") %>'
, '<%= localeMessage.getString("code.codeName") %>(English)'
, '<%= localeMessage.getString("combo.useYn") %>'
, '<%= localeMessage.getString("code.order") %>'
, 'PARENTCODE'
, 'USEYNNAME'
],
colModel:[{ name : 'CODEGROUP' , hidden:true ,sortable:false }
, { name : 'CODE' , align:'left', key:true, width:'20%' }
, { name : 'CODENAME' , align:'left', width:'20%' }
, { name : 'CODENAME_EN' , align:'left', width:'20%' }
, { name : 'USEYNNAME' , align:'center', width:'20%' }
, { name : 'SEQ' , align:'center', width:'20%' }
, { 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: "450",
autowidth: true,
width: 'auto',
// shrinkToFit: true,
rowNum : 10000,
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);
if(name == "codeName_En")
$(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("code.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("code.search") %></th>
<td>
<input type="text" name="searchName" 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("code.codeGroup") %></th>
<td>
<input type="text" name="cdGroup" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("code.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("code.codeGroup") %></th>
<td>
<input type="text" name="codeGroup" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("code.code") %></th>
<td>
<input type="text" name="code" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("code.codeName") %></th>
<td>
<input type="text" name="codeName" readonly="readonly">
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("code.codeName") %>(English)</th>
<td>
<input type="text" name="codeName_En" readonly="readonly">
</td>
</tr>
<tr class="dynamic">
<td class="detail_title"><%= localeMessage.getString("combo.useYn") %></td>
<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">
<td class="detail_title"><%= localeMessage.getString("code.order") %></td>
<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,106 @@
<%@ 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("codePop.checkRequierd1") %>");
$("input[name=cdGroup]").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="/onl/admin/common/codeMan.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.modify") %></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("codeGroupPop.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("code.codeGroup") %></th>
<td><input type="text" name="cdGroup"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("code.codeGroupDesc") %></th>
<td ><input type="text" name="cdGroupDesc"/> </td>
</tr>
</table>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -0,0 +1,191 @@
<%@ 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("codePop.checkRequierd1") %>");
$("input[name=codeGroup]").focus();
return false;
}
else if($('input[name=code]').val() == "")
{
alert("<%= localeMessage.getString("codePop.checkRequierd2") %>");
$("input[name=code]").focus();
return false;
}
else if($('input[name=codeName]').val() == "")
{
alert("<%= localeMessage.getString("codePop.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="/onl/admin/common/codeMan.json" />';
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") %>");
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.modify") %></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("codePop.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("code.codeGroup") %></th>
<td><input type="text" name="codeGroup" readonly="readonly"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("code.code") %></th><td ><input type="text" name="code"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("code.codeName") %></th><td ><input type="text" name="codeName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("code.codeName") %>(English)</th><td ><input type="text" name="codeName_En"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("code.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 class="select-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>
@@ -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"%>
<%@ 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/admin/common/comDomainMan.json" />';
var url_view ='<c:url value="/onl/admin/common/comDomainMan.view" />';
var url_excel ='<c:url value="/onl/admin/common/comDomainMan.excel" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("domain.name") %>',
'<%= localeMessage.getString("domain.type") %>',
'<%= localeMessage.getString("domain.option") %>',
'<%= localeMessage.getString("domain.value") %>',
],
colModel:[
{ name : 'DOMAINNM' , align:'left' },
{ name : 'DOMAINTYPE' , align:'left' },
{ name : 'DOMAINOPTION' , align:'left' },
{ name : 'DOMAINVAL' , 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}]'),
loadComplete:function (d){
//$(this).setGridParam({datatype:'local'});
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
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 += '&domainNM='+rowData['DOMAINNM'];
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#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();
}
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST");
$("#grid").setGridParam({ postData: postData, page : "1" }).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 target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'공통코드도메인');
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">
<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("domain.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%; min-width:100px;"><%= localeMessage.getString("domain.type") %></th>
<td>
<div class="select-style">
<select name="searchDomType" value="${param.searchDomType}">
<option value=""><%= localeMessage.getString("combo.all") %></option>
<option value="INPUT">INPUT</option>
<option value="SELECT">SELECT</option>
<option value="RADIO">RADIO</option>
<option value="CHECK">CHECK</option>
</select>
</div>
</td>
<th style="width:10%; min-width:100px;"><%= localeMessage.getString("domain.option") %></th>
<td>
<div class="select-style">
<select name="searchDomOpt" value="${param.searchDomOpt}">
<option value=""><%= localeMessage.getString("combo.all") %></option>
<option value="NONE">NONE</option>
<option value="CODE">CODE</option>
<option value="SQL">SQL</option>
<option value="MASKING">MASKING</option>
</select>
</div>
</td>
<th style="width:10%; min-width:110px;"><%= localeMessage.getString("domain.name") %></th>
<td>
<input type="text" name="searchDomainNM" value="${param.searchDomainNM}">
</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,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"%>
<%@ 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/admin/common/comDomainMan.json" />';
var url_view ='<c:url value="/onl/admin/common/comDomainMan.view" />';
var selectName = "EAIBZWKDSTCD"; // selectBox Name
var isDetail = false;
function isValid() {
var domainNM = $('input[name=domainNM]').val().trim();
if(!domainNM){
alert("<%= localeMessage.getString("domain.checkMsg3") %>");
$('input[name=domainNM]').focus();
return false;
}
return true;
}
function detail(key) {
if (!isDetail)
return;
$("input[name=domainNM]").attr('readonly', true);
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
domainNM : key
},
success : function(json) {
var detail = json;
//adapterGroup
$("#ajaxForm input,#ajaxForm select,#ajaxForm textarea").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.domainNM}";
if (key != "" && key != "null") {
isDetail = true;
}
detail(key);
$("#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("<%= localeMessage.getString("common.saveMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
});
$("#btn_delete").click(function() {
if ( confirm( '<%=localeMessage.getString("common.confirmMsg")%>' ) != 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") %>");
goNav(returnUrl);//LIST로 이동
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("select[name=domainType]").change(function() {
var val = $(this).val();
if(val == "INPUT"){
$("select[name=domainOption]").val("MASKING");
}else if($("select[name=domainOption]").val() == "MASKING"){
alert("<%= localeMessage.getString("domain.checkMsg1") %>"); // MASKING은 도메인타입이 INPUT일때만 가능합니다.
$("select[name=domainOption]").val("NONE");
}
});
$("select[name=domainOption]").change(function() {
var val = $(this).val();
if(val == "MASKING" && $("select[name=domainType]").val() != "INPUT"){
alert("<%= localeMessage.getString("domain.checkMsg1") %>"); //MASKING은 도메인타입이 INPUT일때만 가능합니다.
$("select[name=domainOption]").val("NONE");
}else if($("select[name=domainType]").val() == "INPUT" && val != "MASKING"){
alert("<%= localeMessage.getString("domain.checkMsg2") %>"); // INPUT은 도메인옵션 중 MASKING만 가능합니다.
$("select[name=domainOption]").val("NONE");
}
});
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("domain.title") %><span class="tooltip"></span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%; min-width:110px;"><%= localeMessage.getString("domain.name") %></th>
<td><input type="text" name="domainNM" /></td>
</tr>
<tr>
<th><%= localeMessage.getString("domain.type") %></th>
<td>
<div class="select-style">
<select name="domainType">
<option value="INPUT">INPUT</option>
<option value="SELECT">SELECT</option>
<option value="RADIO">RADIO</option>
<option value="CHECK">CHECK</option>
</select>
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("domain.option") %></th>
<td>
<div class="select-style">
<select name="domainOption">
<option value="NONE">NONE</option>
<option value="CODE">CODE</option>
<option value="SQL">SQL</option>
<option value="MASKING">MASKING</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("domain.reference") %></th>
<td><textarea type="text" name="domainVal"></textarea> </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"%>
<%@ 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/admin/common/errorCodeMan.json" />';
var url_view ='<c:url value="/onl/admin/common/errorCodeMan.view" />';
var url_excel = '<c:url value="/onl/admin/common/errorCodeMan.excel" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST',
searchMsg: $('input[name=searchMsg]').val() ,
searchMsgDesc: $('input[name=searchMsgDesc]').val()
},
colNames:['<%= localeMessage.getString("errorcode.code") %>',
'<%= localeMessage.getString("errorcode.message") %>',
'<%= localeMessage.getString("errorcode.contents") %>'
],
colModel:[
{ name : 'MSG' , align:'left' ,sortable:false },
{ name : 'MSGCTNT' , align:'left' },
{ name : 'TREATMATRCTNT' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var msg = rowData['MSG'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&searchMsg='+$("input[name=searchMsg]").val();
//key값
url2 += '&msg='+msg;
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});
}
},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({ url:url,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 += '&searchMsg=';
goNav(url2);
});
$("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"),'errorCode');
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">
<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("errorcode.title") %><span class="tooltip"><%= localeMessage.getString("errorcode.tooltip") %></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("errorcode.search") %></th>
<td><input type="text" name="searchMsg" value="${param.searchMsg}"></td>
<th style="width:180px;"><%= localeMessage.getString("errorcode.message") %></th>
<td><input type="text" name="searchMsgDesc" value="${param.searchMsgDesc}"></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,177 @@
<%@ 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/admin/common/errorCodeMan.json" />';
var url_view ='<c:url value="/onl/admin/common/errorCodeMan.view" />';
var isDetail = false;
function isValid() {
var msg = $('input[name=msg]').val().trim();
if ( msg == "") {
alert("<%= localeMessage.getString("errorcode.checkRequired1") %>");
$('input[name=msg]').focus();
return false;
}
var msgCtnt = $('input[name=msgCtnt]').val().trim();
if ( msgCtnt == "") {
alert("<%= localeMessage.getString("errorcode.checkRequired2") %>");
$('input[name=msgCtnt]').focus();
return false;
}
return true;
}
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', msg : key},
success:function(json){
var data = json;
$("input[name=msg]").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.msg}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid()) 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("<%= 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"});
$.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(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("errorcodeDetail.title") %><span class="tooltip" ><%= localeMessage.getString("errorcodeDetail.tooltip") %></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("errorcode.code") %> *</th>
<td><input type="text" name="msg" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("errorcode.message") %> *</th>
<td><input type="text" name="msgCtnt" /></td>
</tr>
<tr height="100px">
<th style="width:20%;"><%= localeMessage.getString("errorcode.contents") %></th>
<td><textarea name="treatMatrCtnt" style="height:100px"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,260 @@
<%@ 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/admin/common/inboundErrorInfoMan.json" />';
var url_view = '<c:url value="/onl/admin/common/inboundErrorInfoMan.view" />';
var selectName = "searchAdptrBzwkGroupName"; // selectBox Name
function getStartTime(){
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
tm = (Math.floor(tm.substr(0, 2)) * 60) + Math.floor(right(tm, 2)) - 5;
tm = right("0" + parseInt(tm/60), 2) + right("0" + tm%60, 2);
return tm + '00';
}
function getEndTime(){
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
return tm + '59';
}
function init(callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchAdptrBzwkGroupName]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.adapterList).setFormat(codeName3OptionFormat).rendering();
putSelectFromParam();
setSearchable(selectName); // 콤보에 searchable 설정
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json' }).trigger("reloadGrid");
}
function search(){
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=searchStartDate]").val(start);
$("input[name=searchEndDate]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json',page:1 }).trigger("reloadGrid");
}
$(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});
$("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(getStartTime());
}
});
$("input[name=searchEndHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getEndTime());
}
});
init(search);
$('#grid').jqGrid({
datatype:"local",
mtype: 'POST',
//url: url,
//postData : gridPostData,
colNames:['<%= localeMessage.getString("inboundError.serno") %>',
'<%= localeMessage.getString("inboundError.bizKey") %>',
'<%= localeMessage.getString("inboundError.eaiSvcName") %>',
'<%= localeMessage.getString("inboundError.adapter") %>',
'<%= localeMessage.getString("inboundError.errorsection") %>',
'<%= localeMessage.getString("inboundError.errorCode") %>',
'<%= localeMessage.getString("inboundError.occurhms") %>',
'<%= localeMessage.getString("inboundError.instncName") %>'
],
colModel:[
{ name : 'EAISVCSERNO' , align:'left', sortable:false },
{ name : 'BZWKSVCKEYNAME' , align:'left' , width:"50px" },
{ name : 'EAISVCNAME' , align:'left' , width:"100px" },
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' , width:"100px" },
{ name : 'EAIERRDSTCD' , align:'left' , width:"50px" },
{ name : 'EAIERRCD' , align:'left' , width:"50px" },
{ name : 'ERROCCURHMS' , align:'left' , width:"100px" ,formatter: timeStampFormat},
{ name : 'EAISEVRINSTNCNAME' , align:'left' , width:"100px" }
],
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){
},
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 += '&eaiSvcSerno='+rowData['EAISVCSERNO'];
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});
}
},
loadError: function(jqXHR, textStatus, errorThrown){
//alert(JSON.parse(xhr.responseText).errorMsg);
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','10000');
$("#btn_search").click(function(){
search();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
search();
}
});
//검색조건 달력
$("#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_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("inboundError.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;"><%= localeMessage.getString("inboundError.search1") %></th>
<td style="width:400px;">
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
<input type="text" name="searchStartHHMM" value="" size="8" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="text" name="searchEndHHMM" value="" size="8" style="width:80px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="" style="width:0px;">
<input type="hidden" name="searchEndDate" value="" style="width:0px;">
</td>
<th style="width:100px;"><%= localeMessage.getString("inboundError.errorsection") %></th>
<td><input type="text" name="searchEaiErrDstcd" value="${param.searchEaiErrDstcd}" maxlength=2></td>
<th style="width:100px;"><%= localeMessage.getString("inboundError.instncName") %></th>
<td><input type="text" name="searchEaiSevrInstncName" value="${param.searchEaiSevrInstncName}"></td>
</tr>
<tr>
<th><%= localeMessage.getString("inboundError.adapter") %></th>
<td>
<div style="position: relative; width: 100%;">
<div class="select-style">
<select name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}">
</select>
</div><!-- end.select-style -->
</div>
</td>
<th><%= localeMessage.getString("eaiMessage.eaiSvcName") %></th>
<td><input type="text" name="searchEaiSvcName" value="${param.searchEaiSvcName}"></td>
<th><%= localeMessage.getString("inboundError.errorCode") %></th>
<td><input type="text" name="searchEaiErrCd" value="${param.searchEaiErrCd}"></td>
</tr>
<!-- // 필요없음
<tr>
<th style="width:130px;"><%= localeMessage.getString("inboundError.serno") %></th>
<td><input type="text" name="searchEaiSvcSerno" value="${param.searchEaiSvcSerno}"></td>
<th style="width:130px;"></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,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"%>
<%@ 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 isDetail = false;
var url = '<c:url value="/onl/admin/common/inboundErrorInfoMan.json" />';
var url_view = '<c:url value="/onl/admin/common/inboundErrorInfoMan.view" />';
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'
, eaiSvcSerno : key
},
success:function(json){
var data = json;
$("input[name=eaiSvrSerno]").attr('readonly',true);
$("#ajaxForm input,#ajaxForm select,#ajaxForm textarea").each(function(){
$(this).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()]);
});
if(json.ADPTRMSGPTRNCD =="K") {
if(json.ADPTRMSGDSTCD =="ASC" || json.ADPTRMSGDSTCD =="EBC"){
$("#ajaxForm input[name='errOccurHms']").css('width','50%');
$("#btn_xml").show();
}
}
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.eaiSvcSerno}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("#btn_xml").click(function(){
var url = '<c:url value="/onl/admin/common/inboundErrorInfoMan.json" />';
url += "?cmd=DETAIL_XML";
url += '&eaiSvcSerno=' +$("input[name=eaiSvcSerno]").val();
url += '&showType=TEXT';
var showXml = windowOpen(url,"showXML",1200,600,",location=0,menubar=0,titlebar=0,toolbar=0,status=0,directories=0,resizable=no,scrollbars=yes");
showXml.focus();
});
$("input[name=errOccurHms]").inputmask("9999-99-99 99:99:99.99",{'autoUnmask':true});
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">
<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("inboundErrorDetail.title") %><span class="tooltip"><%= localeMessage.getString("inboundErrorDetail.tooltip") %></span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.serno") %></th>
<td><input type="text" name="eaiSvcSerno"/> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("eaiMessage.eaiSvcName") %></th>
<td><input type="text" name="eaiSvcName"/> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.bizKey") %></th>
<td><input type="text" name="bzwkSvcKeyName"/> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.adapter") %></th>
<td><input type="text" name="adptrBzwkGroupName"/> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.errorsection") %></th>
<td><input type="text" name="eaiErrDstcd"/> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.errorCode") %></th>
<td><input type="text" name="eaiErrCd"/> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.reason") %></th>
<td><textarea type="text" name="eaiErrCtnt" rows="10"></textarea> </td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.occurhms") %></th>
<td><div style="margin:5px 0 ;"><img id="btn_xml" src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" style="display: none;"/>&nbsp;<input type="text" name="errOccurHms"/></div></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.message") %></th>
<td><textarea type="text" name="bzwkDataCtnt" rows="10"></textarea></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("inboundError.instncName") %></th>
<td><input type="text" name="eaiSevrInstncName"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,127 @@
<%@ 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/admin/common/lifecycleMan.json" />';
var url_view ='<c:url value="/onl/admin/common/lifecycleMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("lifecycle.className") %>',
'<%= localeMessage.getString("lifecycle.order") %>',
'<%= localeMessage.getString("lifecycle.dvcd") %>'
],
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'),
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['LIFECYCLCLSNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&key='+key;
goNav(url2);
},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");
});
$("#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">
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<%-- <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("lifecycle.title") %><span class="tooltip"><%= localeMessage.getString("lifecycle.tooltip") %></span></div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,193 @@
<%@ 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/admin/common/lifecycleMan.json" />';
var url_view ='<c:url value="/onl/admin/common/lifecycleMan.view" />';
var isDetail = false;
function isValid() {
var lifeCyclClsNameValue = $('input[name=lifeCyclClsName]').val().trim();
var lodinSeqValue = $('input[name=lodinSeq]').val().trim();
if (!lifeCyclClsNameValue) {
alert("<%= localeMessage.getString("lifecycleDetail.checkRequierd1") %>");
$('input[name=lifeCyclClsName]').focus();
return false;
}
if (!lodinSeqValue) {
alert("<%= localeMessage.getString("lifecycleDetail.checkRequierd2") %>");
$('input[name=lodinSeq]').focus();
return false;
}
if(isNaN(lodinSeqValue)){
alert("<%= localeMessage.getString("common.inputNumber") %>");
$('input[name=lodinSeq]').focus();
return false;
}
return true;
}
function init(url,key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=lifeCyclUseDstcd]")).setData(json.lifeCyclUseDstcdRows).setFormat(codeName3OptionFormat).rendering();
if(typeof callback === 'function') {
callback(url,key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
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 key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#btn_modify").click(function(){
if(!isValid()) 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("<%= 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"});
$.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(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("lifecycleDetail.title") %><span class="tooltip"><%= localeMessage.getString("lifecycleDetail.tooltip") %></span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("lifecycle.className") %> *</th>
<td><input type="text" name="lifeCyclClsName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("lifecycle.order") %> *</th>
<td><input type="text" name="lodinSeq"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("lifecycle.dvcd") %></th>
<td>
<div class="select-style">
<select name="lifeCyclUseDstcd" />
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,162 @@
<%@ 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/admin/common/propertyMan.json" />';
var url_view = '<c:url value="/onl/admin/common/propertyMan.view" />';
var url_excel = '<c:url value="/onl/admin/common/propertyMan.excel" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("property.propertyGroupName") %>',
'<%= localeMessage.getString("property.propertyGroupDesc") %>'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false , width : '30%'},
{ name : 'PRPTYGROUPDESC' , align:'left' , width : '70%'}
],
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 url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&prptyGroupName='+prptyGroupName;
goNav(url2);
},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");
});
$("#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();
}
});
$("#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"),'property');
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">
<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("property.title") %><span class="tooltip"><%= localeMessage.getString("property.tooltip") %></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%;"><%= localeMessage.getString("property.propertyGroupName") %></th>
<td style="width:10%;">
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:10%;"><%= localeMessage.getString("property.propertyGroupDesc") %></th>
<td style="width:10%;">
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:7%;"><%= localeMessage.getString("propertyDetail.propertyKey") %></th>
<td style="width:10%;">
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:7%;"><%= localeMessage.getString("property.propertyVal") %></th>
<td style="width:10%;">
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,302 @@
<%@ 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/admin/common/propertyMan.json" />';
var url_view = '<c:url value="/onl/admin/common/propertyMan.view" />';
var isDetail = false;
var lastsel2;
function isValid() {
var prptyGroupName = $('input[name=prptyGroupName]').val().trim();
if (prptyGroupName == "") {
alert("<%= localeMessage.getString("propertyDetail.checkRequired4") %>");
$('input[name=prptyGroupName]').focus();
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("<%= localeMessage.getString("propertyDetail.checkRequired2") %>");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("<%= localeMessage.getString("propertyDetail.checkRequired3") %>");
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("<%= localeMessage.getString("propertyDetail.checkDuplicate") %>");
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 : [ '<%= localeMessage.getString("propertyDetail.propertyKey") %>', '<%= localeMessage.getString("propertyDetail.propertyValue") %>',
'<%= localeMessage.getString("propertyDetail.delYn") %>' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true , width : '30%' },
{ name : 'PRPTY2VAL' , align : 'left', editable : true , width : '60%'},
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction , width : '10%'} ],
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 : '500',
autowidth : true,
//autoheight : 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',
prptyGroupName : key
},
success : function(json) {
$("input[name=prptyGroupName]").val(json.PRPTYGROUPNAME).attr('readonly', true);
$("input[name=prptyGroupDesc]").val(json.PRPTYGROUPDESC);
$("#grid")[0].addJSONData(json.gridData);
$("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 key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init( 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 prptyGroupNameValue = $("input[name=prptyGroupName]").val();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
data[i]["PRPTYGROUPNAME"] = prptyGroupNameValue;
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("<%= localeMessage.getString("common.saveMsg") %>");
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("<%= localeMessage.getString("common.deleteMsg") %>");
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="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("propertyDetail.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("property.propertyGroupName") %> *</th>
<td><input type="text" name="prptyGroupName"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("property.propertyGroupDesc") %></th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("propertyDetail.propertyKey") %></th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px);" /> <!-- <img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" /></td> -->
<button type="button" class="cssbtn smallBtn2" id="btn_pop_input" style="vertical-align:middle; font-weight:bold;"><i class="material-icons">input</i><%= localeMessage.getString("button.input") %></button>
</tr>
<tr>
<th><%= localeMessage.getString("propertyDetail.propertyValue") %></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,170 @@
<%@ 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/admin/common/routingMan.json" />';
var url_view = '<c:url value="/onl/admin/common/routingMan.view" />';
var url_excel = '<c:url value="/onl/admin/common/routingMan.excel" />';
function formatterFunction(cellvalue, options, rowObject){
if (rowObject["NONMOTIVROUTURINAME"].trim() == ""){
return "<%= localeMessage.getString("routing.sync") %>";
}else{
return "<%= localeMessage.getString("routing.async") %>";
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("routing.name") %>',
'<%= localeMessage.getString("routingDetail.syncUri") %>',
'<%= localeMessage.getString("routingDetail.asynUri") %>'
],
colModel:[
{ name : 'ROUTNAME' , align:'left', sortable:false },
{ name : 'MOTIVROUTURINAME' , align:'left' },
// { name : 'MOTIVTYPE' , align:'center' , formatter: formatterFunction }
{ name : 'NONMOTIVROUTURINAME' , 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 key = rowData['ROUTNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&routName='+key;
goNav(url2);
},
loadComplete:function (d){
},
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");
});
$("#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();
}
});
$("#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"),'routing');
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">
<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("routing.title") %><span class="tooltip"><%= localeMessage.getString("routing.tooltip") %></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;"><%= localeMessage.getString("routing.name") %></th>
<td>
<input type="text" name="searchRoutName" value="${param.searchRoutName}">
</td>
<th style="width:120px;"><%= localeMessage.getString("routingDetail.syncUri") %></th>
<td>
<input type="text" name="searchSyncUri" value="${param.searchSyncUri}">
</td>
<th style="width:120px;"><%= localeMessage.getString("routingDetail.asynUri") %></th>
<td>
<input type="text" name="searchAsynUri" value="${param.searchAsynUri}">
</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,207 @@
<%@ 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/admin/common/routingMan.json" />';
var url_view = '<c:url value="/onl/admin/common/routingMan.view" />';
var isDetail = false;
function isValid() {
var routName = $('input[name=routName]');
if ( routName.val() == "") {
alert("<%= localeMessage.getString("routingDetail.checkRequired1") %>");
routName.focus();
return false;
}
var motivRoutUriName = $('input[name=motivRoutUriName]');
if ( motivRoutUriName.val() == "") {
alert("<%= localeMessage.getString("routingDetail.checkRequired2") %>");
motivRoutUriName.focus();
return false;
}
var nonMotivRoutUriName = $('input[name=nonMotivRoutUriName]');
if ( nonMotivRoutUriName.val() == "") {
nonMotivRoutUriName.val(" ");
}
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',
routName : key
},
success : function(json) {
var data = json;
$("input[name=routName]").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()]);
});
$("#ajaxForm input[type=radio]:first").each(function(){
var name = $(this).attr("name");
$("input[type=radio][name="+name+"][value="+data[name.toUpperCase()]+"]").prop("checked",true);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.routName}";
if (key != "" && key != "null") {
isDetail = true;
}
init(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("<%= 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"
});
$.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">
<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("routingDetail.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("routingDetail.name") %></th>
<td><input type="text" name="routName"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("routingDetail.syncUri") %></th>
<td><input type="text" name="motivRoutUriName"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("routingDetail.asynUri") %></th>
<td><input type="text" name="nonMotivRoutUriName"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("routingDetail.layerCode") %></th>
<td>
<input type="radio" name="layerDstcd" value="F" id="routingManDetail_1"/><label for="routingManDetail_1">F</label>
<input type="radio" name="layerDstcd" value="O" id="routingManDetail_2" checked/><label for="routingManDetail_2">O</label>
<input type="radio" name="layerDstcd" value="T" id="routingManDetail_3"/><label for="routingManDetail_3">T</label>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,176 @@
<%@ 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/admin/common/serverMan.json" />';
var url_view = '<c:url value="/onl/admin/common/serverMan.view" />';
var url_excel = '<c:url value="/onl/admin/common/serverMan.excel" />';
var $Grid ={};
function openSocketMonitoringPage(url) {
var w = parent.window.open(url, "Socket Monitoring"); //, "width=1280,height=1024,left=0,top=0,menubar=yes,location=yes,scrollbars=yes,resizable=yes,status=yes"
w.focus();
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var route = rowObject['CLOUDROUTERURL'];
var ipPort = cellvalue.split(":");
if(cellvalue != '') {
return "Open : <a href='javascript:openSocketMonitoringPage(\"http://"+cellvalue+"/\")'>"+
+ ipPort[1] + "</a>";
}
else {
return "";
}
}
function formatterFunction2(cellvalue, options, rowObject) {
var route = rowObject['CLOUDROUTERURL'];
var ip = rowObject['EAISEVRIP'];
var ipPort = cellvalue;
if(cellvalue != '*') {
if(route != null) {
return "Open : <a href='http://"+route+":"+ipPort+"' target='_blank'>"+ ipPort + "</a>";
}
else {
return "Open : <a href='http://"+ip+":"+ipPort+"' target='_blank'>"+ ipPort + "</a>";
}
}
else {
return "";
}
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
$(document).ready(function() {
$Grid = $('#grid');
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("server.instncName") %>',
'<%= localeMessage.getString("server.ip") %>',
'<%= localeMessage.getString("server.port") %>',
'<%= localeMessage.getString("server.flovrsevrName") %>',
'<%= localeMessage.getString("server.hostname") %>',
'Paas Router Url',
'<%= localeMessage.getString("server.socketmonitoring") %>'
],
colModel:[
{ name : 'EAISEVRINSTNCNAME', align:'left' , sortable:false, width:70 },
{ name : 'EAISEVRIP', align:'center', width:70 },
{ name : 'SEVRLSNPORTNAME', align:'center', width:70 , unformat : unformatterFunction, formatter : formatterFunction2},
{ name : 'FLOVRSEVRNAME', align:'center', width:70 },
{ name : 'HOSTNAME', align:'center', width:70 },
{ name : 'CLOUDROUTERURL', align:'center' },
{ name : 'SOCKETPORT', align:'center', unformat : unformatterFunction, formatter : formatterFunction, width:70}
],
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 url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
//
//key값
url2 += '&eaiSevrInstncName='+eaiSevrInstncName;
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");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
//url = url + '&'+getSearchUrl();
goNav(url2);
});
$("#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"),'server');
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">
<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>
<%-- <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("server.title") %><span class="tooltip"><%= localeMessage.getString("server.tooltip") %></span></div>
<table id="grid" ></table>
<div id="pager"></div>
</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"%>
<%@ 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/admin/common/serverMan.json" />';
var url_view = '<c:url value="/onl/admin/common/serverMan.view" />';
var isDetail = false;
function init(key,callback){
key = key == "" ? " " : key;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO', svrInstName:key},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=flovrSevrName]")).setNoValueInclude(true).setData(json.serverRows).rendering();
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'
, eaiSevrInstncName : key
},
success:function(json){
var data = json;
$("input[name=eaiSevrInstncName]").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);
}
});
}
function isValid(){
if($('input[name=eaiSevrInstncName]').val() == ""){
alert("<%= localeMessage.getString("serverDetail.checkRequired1") %>");
return false;
}else if($('select[name=flovrSevrName]').val() == ""){
// alert("<%= localeMessage.getString("serverDetail.checkRequired2") %>");
// return false;
}else if($('select[name=eaiSevrIp]').val() == ""){
alert("<%= localeMessage.getString("serverDetail.checkRequired3") %>");
return false;
}else if($('input[name=sevrLsnPortName]').val() == ""){
alert("<%= localeMessage.getString("serverDetail.checkRequired4") %>");
return false;
}else if($('select[name=hostName]').val() == ""){
alert("<%= localeMessage.getString("serverDetail.checkRequired5") %>");
return false;
}
return true;
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.eaiSevrInstncName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
buttonControl(isDetail);
titleControl(isDetail);
$("#btn_modify").click(function(){
if (!isValid())return;
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
if ( confirm( '<%=localeMessage.getString("common.checkModify")%>' ) != true ) return;
}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"});
$.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로 이동
});
});
</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("serverDetail.title") %><span class="tooltip"><%= localeMessage.getString("serverDetail.tooltip") %></span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("server.instncName") %></th>
<td><input type="text" name="eaiSevrInstncName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("server.flovrsevrName") %></th>
<td>
<div class="select-style">
<select name="flovrSevrName"/>
</div>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("server.ip") %></th>
<td><input type="text" name="eaiSevrIp"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("server.port") %></th>
<td><input type="text" name="sevrLsnPortName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("server.hostname") %></th>
<td><input type="text" name="hostName"/> </td>
</tr>
</table>
</form>
<!-- grid -->
<form id="formDB" hidden="hidden">
<table id="gridDB" ></table>
</form>
<form id="formFile" hidden="hidden">
<table id="gridFile"></table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,133 @@
<%@ 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="/onl/admin/common/sysDomainMan.json" />';
var url_view = '<c:url value="/onl/admin/common/sysDomainMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("sysDomainMan.sysDomName") %>',
'<%= localeMessage.getString("sysDomainMan.sysDomDesc") %>'
],
colModel:[
{ name : 'SYSDOMNNAME' , align:'left' ,sortable:false },
{ name : 'SYSDOMNDESC' , 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 key = rowData['SYSDOMNNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&sysDomnName='+key;
goNav(url2);
},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");
});
$("#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="R" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title"><%= localeMessage.getString("sysDomainMan.title") %><span class="tooltip"><%= localeMessage.getString("sysDomainMan.tooltip") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th class="search_td_title" width="150px"><%= localeMessage.getString("sysDomainMan.sysDomName") %></th>
<td><input type="text" name="searchSysDomnName" value="${param.searchSysDomnName}" style="width:100%"></td>
<th class="search_td_title" width="150px"><%= localeMessage.getString("sysDomainMan.sysDomDesc") %></th>
<td><input type="text" name="searchSysDomnDesc" value="${param.searchSysDomnDesc}" style="width:100%"></td>
</tr>
</tbody>
</table>
<table id="grid" width="100%"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,181 @@
<%@ 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="/onl/admin/common/sysDomainMan.json" />';
var url_view = '<c:url value="/onl/admin/common/sysDomainMan.view" />';
var isDetail = false;
function isValid() {
var sysDomnName = $('input[name=sysDomnName]').val();
if ( sysDomnName == "") {
alert("<%= localeMessage.getString("sysDomainMan.alert1") %>");
$('input[name=sysDomnName]').focus();
return false;
}
var sysDomnDesc = $('input[name=sysDomnDesc]').val();
if ( sysDomnDesc == "") {
alert("<%= localeMessage.getString("sysDomainMan.alert2") %>");
$('input[name=sysDomnDesc]').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',
sysDomnName : key
},
success : function(json) {
var data = json;
$("input[name=sysDomnName]").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.sysDomnName}";
if (key != "" && key != "null") {
isDetail = true;
}
init(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("<%= 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"
});
$.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">
<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("sysDomainMan.detail") %> </div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th width="150px" class="detail_title"><%= localeMessage.getString("sysDomainMan.sysDomName") %> </th>
<td><input type="text" name="sysDomnName" style="width: 100%" /></td>
</tr>
<tr>
<th class="detail_title"><%= localeMessage.getString("sysDomainMan.sysDomDesc") %> </th>
<td><input type="text" name="sysDomnDesc" style="width: 100%" /></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,266 @@
<%@ 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.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%
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/admin/common/tranChangeSim.json" />';
var url_view = '<c:url value="/onl/admin/common/tranChangeSim.view" />';
var url_excel= '<c:url value="/onl/admin/common/tranChangeSim.excel" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var stgSvr = <%=SystemUtil.isStagingServer()%>;
function init(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT', codeGroupArr : 'TRAN_TYPE_DEV'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchTranType]")).setData(json.list).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
function setBtnControl(roleString, condiVal, compoId) {
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
gridPostData['searchTranType'] = 'R';
$('#grid').jqGrid({
url : url,
datatype:"json",
mtype: 'POST',
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("eaiMessage.eaiBzwkDstCd")%> ',
'<%= localeMessage.getString("eaiMessage.extBizCd")%> ',
'<%= localeMessage.getString("eaiMessage.ifIdKeyVal")%>',
'<%= localeMessage.getString("eaiMessage.eaiSvcName")%> ',
'<%= localeMessage.getString("eaiMessage.eaiSvcDesc")%> ',
'<%= localeMessage.getString("eaiMessage.svcMotivUsedStcd")%>',
'<%= localeMessage.getString("eaiMessage.psvintfacdsticName")%>',
'<%= localeMessage.getString("eaiMessage.queueName")%> ',
'<%= localeMessage.getString("eaiMessage.flowCtrlRoutName")%> ',
'<%= localeMessage.getString("eaiMessage.tranType")%> ',
'TRANTYPE'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' ,sortable:false, width:20 },
{ name : 'EXTBIZCD' , align:'center', width: 30 },
{ name : 'REFKEY' , align:'left' , width: 50 },
{ name : 'EAISVCNAME' , align:'left' , width:50 },
{ name : 'EAISVCDESC' , align:'left' , width: 100 },
{ name : 'SVCMOTIVUSEDSTCD' , align:'center', width:50 },
{ name : 'PSVINTFACDSTICNAME', align:'center', width:50 },
{ name : 'NONMOTIVROUTURINAME' , align:'left', width:90 },
{ name : 'FLOWCTRLROUTNAME' , align:'center', width:50 },
{ name : 'TRANTYPE', align:'center', width:30 },
{ name : 'TRANTYPE_CODE', align:'center', width:30 , hidden:true}
],
jsonReader: {
repeatitems:false
},
multiselect: true,
multiboxonly: 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)
}
},
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
}
});
resizeJqGridWidth('grid','content_middle','1000');
//거래처리 update
$("#btn_modify").click(function(){
var id = "grid";
var params = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkTranType = "";
var tranNm = "";
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
params.push(rowObject['EAISVCNAME'])
chkTranType = rowObject['TRANTYPE'];
chkcnt++;
}
}
if(chkcnt == 0){
alert("서비스를 선택해 주세요");
return false;
}
//check trantype
chkTranType = (chkTranType == "R" ? "T" : "R");
tranNm = (chkTranType == "R" ? "일반거래" : "시뮬레이터 거래");
if(confirm("선택한 서비스를 "+tranNm+"로 수정하시겠습니까?")){
var postData = [];
postData.push({ name: "cmd" , value:"CHANGE_TRANTYPE"});
postData.push({ name: "tranType" , value:chkTranType});
postData.push({ name: "eaiSvcName" , value:params.join(',')});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
alert(json.message);
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
$("#btn_search").click(function(){
$("#grid").setGridParam({ postData: getSearchForJqgrid("cmd", "LIST"), page : "1" }).trigger("reloadGrid");
});
//검색값 enter시 조회
$("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">
<button type="button" class="cssbtn" id="btn_modify" level="R" ><i class="material-icons">change_circle</i> <%= localeMessage.getString("button.convert") %></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_convert.png"/>" alt="" id="btn_modify" level="R" /> --%>
<!-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> -->
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("eaiMessage.title4")%></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th ><%= localeMessage.getString("eaiMessage.tranType")%></th>
<td>
<div style="position: relative; width: 100%;">
<select name="searchTranType" value="${param.searchTranType}" ></select>
</div>
</td>
<th style="width:120px;"><%= localeMessage.getString("eaiMessage.eaiBzwkDstCd")%></th>
<td>
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width: 120px;"><%= localeMessage.getString("eaiMessage.extBizCd")%></th>
<td>
<input type="text" name="searchExtBizCd" value="${param.searchExtBizCd}" />
</td>
<th style="width: 120px;"><%= localeMessage.getString("eaiMessage.ifIdKeyVal")%></th>
<td>
<input type="text" name="searchRefKey" value="${param.searchRefKey}" />
</td>
</tr>
<tr>
<th style="width:120px;"><%= localeMessage.getString("eaiMessage.eaiSvcName")%></th>
<td colspan="3">
<input type="text" name="searchEaiSvcName" value="${param.searchEaiSvcName}">
</td>
<th style="width:120px;"><%= localeMessage.getString("eaiMessage.eaiSvcDesc")%></th>
<td colspan="3">
<input type="text" name="searchEaiSvcDesc" value="${param.searchEaiSvcDesc}">
</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,123 @@
<%@ 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/admin/common/tranCodeMapMan.json" />';
var url_view ='<c:url value="/onl/admin/common/tranCodeMapMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid¿¡¼­´Â object ·Î
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("tranCodeMapMan.tranCode") %>',
'<%= localeMessage.getString("tranCodeMapMan.eaiSvcCode") %>',
'<%= localeMessage.getString("tranCodeMapMan.eaiSvcCodeDesc") %>'
],
colModel:[
{ name : 'TRANCODE' , align:'left' },
{ name : 'EAISVCCODE' , align:'left' },
{ name : 'EAISVCDESC' , 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){
//$(this).setGridParam({datatype:'local'});
},
loadError: function (jqXHR, textStatus, errorThrown) {
comloadError(jqXHR, textStatus, errorThrown);
},
ondblClickRow: function(rowId) {
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_search").click(function(){
$("#grid").setGridParam({ postData: { searchDomainNM: $('input[name=searchDomainNM]').val()} }).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_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title"><%= localeMessage.getString("tranCodeMapMan.title") %></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("tranCodeMapMan.tranCode") %></th>
<td colspan="3">
<input type="text" name="searchTranCode" value="${param.searchTranCode}">
</td>
</tr>
<tr>
<th style="width:180px;"><%= localeMessage.getString("tranCodeMapMan.eaiSvcCode") %></th>
<td>
<input type="text" name="searchEaiSvcCode" value="${param.searchEaiSvcCode}">
</td>
<th style="width:180px;"><%= localeMessage.getString("tranCodeMapMan.eaiSvcCodeDesc") %></th>
<td>
<input type="text" name="searchEaiSvcCodeDesc" value="${param.searchEaiSvcCodeDesc}">
</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,228 @@
<%@ 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/admin/common/unifbwkMan.json" />';
var url_view = '<c:url value="/onl/admin/common/unifbwkMan.view" />';
var url_excel = '<c:url value="/onl/admin/common/unifbwkMan.excel" />';
var selectName = "searchInputDstCd,searchDiscardYn"; //
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchDiscardYn]")).setNoValueInclude(true).setNoValue("","<%=localeMessage.getString("combo.all")%>").setData(json.ynRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchInputDstCd]")).setNoValueInclude(true).setNoValue("","<%=localeMessage.getString("combo.all")%>").setData(json.inputDstCdRows).setFormat(codeName3OptionFormat).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length < 8) return "";
var display = "";
display=display+cellvalue.substr(0,4)+"/";
display=display+cellvalue.substr(4,2)+"/";
display=display+cellvalue.substr(6,2);
return display;
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("eaiMsg.bizCode") %>',
'<%= localeMessage.getString("unifbwk.search3") %>',
'<%= localeMessage.getString("unifbwk.applCd") %>',
'<%= localeMessage.getString("unifbwk.description") %>',
'<%= localeMessage.getString("unifbwk.trackAsisKey1") %>',
'<%= localeMessage.getString("unifbwk.trackAsisKey2") %>',
'<%= localeMessage.getString("unifbwk.rsempName") %>',
'<%= localeMessage.getString("unifbwk.rspblpsncntpctnt") %>',
'<%= localeMessage.getString("unifbwk.groupCoCd") %>',
'<%= localeMessage.getString("unifbwk.lastModDtm") %>',
'<%= localeMessage.getString("unifbwk.discardDate") %>',
'<%= localeMessage.getString("unifbwk.inputdstcd") %>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' ,sortable:false ,width:50},
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'APPLCD' , align:'center' ,width:50 },
{ name : 'BZWKDSTICDESC' , align:'left' , width:200 },
{ name : 'TRACKASISKEY1NAME' , align:'left' , width:80 },
{ name : 'TRACKASISKEY2NAME' , align:'left' , width:80 },
{ name : 'RSEMPNAME' , align:'center', width:50 },
{ name : 'RSPBLPSNCNTPCTNT' , align:'left' , width:80 },
{ name : 'GROUPCOCD' , align:'center', width:50 },
{ name : 'LAST_MOD_DTM' , align:'center', width:100 },
{ name : 'DISCARDDATE' , align:'center', width:50 , formatter: dateFormater},
{ name : 'INPUTDSTCD' , align:'center', width:50 }
],
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['EAIBZWKDSTCD'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&eaiBzwkDstcd='+key;
goNav(url2);
},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");
});
$("#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();
}
});
$("#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"),'업무그룹관리');
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">
<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("unifbwk.title") %><span class="tooltip"><%= localeMessage.getString("unifbwk.tooltip") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;"><%= localeMessage.getString("eaiMsg.bizCode") %></th>
<td>
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:110px;"><%= localeMessage.getString("unifbwk.search2") %></th>
<td>
<input type="text" name="searchApplCd" value="${param.searchApplCd}">
</td>
<th style="width:100px;"><%= localeMessage.getString("unifbwk.search3") %></th>
<td>
<input type="text" name="searchBzwkDsticName" value="${param.searchBzwkDsticName}">
</td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.inputdstcd") %></th>
<td><div class="select-style">
<select name="searchInputDstCd" value="${param.searchInputDstCd}">
</select>
</div></td>
<th><%= localeMessage.getString("unifbwk.search4") %></th>
<td>
<div class="select-style">
<select name="searchDiscardYn" value="${param.searchDiscardYn}">
</select>
</div>
</td>
<th></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,246 @@
<%@ 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/admin/common/unifbwkMan.json" />';
var url_view = '<c:url value="/onl/admin/common/unifbwkMan.view" />';
var isDetail = false;
function isValid() {
var eaiBzwkDstcd = $('input[name=eaiBzwkDstcd]').val();
if ( eaiBzwkDstcd == "") {
alert("<%= localeMessage.getString("unifbwkDetail.checkRequired1") %>");
$('input[name=eaiBzwkDstcd]').focus();
return false;
}
var bzwkDsticName = $('input[name=bzwkDsticName]').val();
if ( bzwkDsticName == "") {
alert("<%= localeMessage.getString("unifbwkDetail.checkRequired1") %>");
$('input[name=bzwkDsticName]').focus();
return false;
}
return true;
}
function init( key, callback) {
key = key == "" ? " " : key;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=inputDstCd]")).setNoValueInclude(false).setData(json.inputDstCdRows).rendering();
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;
$("input[name=eaiBzwkDstcd]").attr('readonly', true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
//컬럼TYPE CHAR 빈값일경우 trim 처리
var dataVal = data[name.toUpperCase()];
if(dataVal != null){
dataVal = dataVal.trim();
}
$(tag+"[name="+name+"]").val(dataVal);
});
},
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_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("<%= localeMessage.getString("common.saveMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
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);
}
});
}else{
return false;
}
});
$("#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">
<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("unifbwkDetail.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("eaiMsg.bizCode") %></th>
<td><input type="text" name="eaiBzwkDstcd" maxlength=4/></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.search3") %></th>
<td><input type="text" name="bzwkDsticName" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("unifbwk.applCd") %></th>
<td><input type="text" name="applCd" maxlength=4/></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.description") %></th>
<td><input type="text" name="bzwkDsticDesc" /></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.trackAsisKey1") %></th>
<td><input type="text" name="trackAsisKey1Name" readonly/></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.trackAsisKey2") %></th>
<td><input type="text" name="trackAsisKey2Name" readonly/></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.rsempName") %></th>
<td><input type="text" name="rsEmpName" /></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.rspblpsncntpctnt") %></th>
<td><input type="text" name="rsPblpsncntpcTnt" /></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwk.groupCoCd") %></th>
<td><input type="text" name="groupCoCd" /></td>
</tr>
<tr>
<th><%= localeMessage.getString("unifbwkDetail.inputType") %></th>
<td>
<div class="select-style">
<select name="inputDstCd"/>
</div>
</td>
</tr>
</table>
</form>
</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="/onl/admin/control/controlBzwkMan.json" />';
var url_view = '<c:url value="/onl/admin/control/controlBzwkMan.view" />';
var url_excel= '<c:url value="/onl/admin/control/controlBzwkMan.excel"/>';
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
gridPostData["searchStartDate"] = start;
gridPostData["searchEndDate"] = end;
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("controlBzwk.bizCode") %>',
'<%= localeMessage.getString("controlBzwk.bizCodeName") %>',
'<%= localeMessage.getString("controlBzwk.cnt") %>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'CNT' , align:'center' ,formatter:'integer' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
},
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 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("input[name=searchStartDate]").val(start);
$("input[name=searchEndDate]").val(end);
postData["searchStartDate"] = start;
postData["searchEndDate"] = end;
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name*=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//검색조건 달력
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("#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"),'업무별 거래통제현황');
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">
<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("controlBzwk.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("controlBzwk.search") %></th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="" style="width:0px;">
<input type="hidden" name="searchEndDate" value="" style="width:0px;">
</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,196 @@
<%@ 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="/onl/admin/control/controlHistoryMan.json" />';
var url_view = '<c:url value="/onl/admin/control/controlHistoryMan.view" />';
var url_excel= '<c:url value="/onl/admin/control/controlHistoryMan.excel"/>';
function timeStampFormat2(cellvalue, options, rowObject){
if ( cellvalue == null || cellvalue == undefined || cellvalue.trim() == '' || cellvalue.length < 17 )
return '';
return cellvalue.substr(0,4) + '-' +
cellvalue.substr(4,2) + '-' +
cellvalue.substr(6,2) + ' ' +
cellvalue.substr(8,2) + ':' +
cellvalue.substr(10,2) + ':' +
cellvalue.substr(12,2) + ' ' + cellvalue.substr(14,3);
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
gridPostData["searchStartDate"] = start;
gridPostData["searchEndDate"] = end;
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("controlHistory.type") %>',
'<%= localeMessage.getString("controlHistory.code") %>',
'<%= localeMessage.getString("controlHistory.description") %>',
'<%= localeMessage.getString("controlHistory.regDtm") %>',
'<%= localeMessage.getString("controlHistory.registrant") %>',
'<%= localeMessage.getString("controlHistory.unregDtm") %>',
'<%= localeMessage.getString("controlHistory.unregistant") %>'
],
colModel:[
{ name : 'EAICTRLNAMEDSTCD' , align:'left' , width:'60' , sortable:false },
{ name : 'EAICTRLNAME' , align:'left' , width:'100'},
{ name : 'EAICTRLDESC' , align:'left' , width:'200'},
{ name : 'CTRLPRCSSYMS' , align:'center' , width:'110', formatter: timeStampFormat2},
{ name : 'CTRLPRCSSNAME' , align:'center' , width:'60'},
{ name : 'CTRLREVOCYMS' , align:'center' , width:'110', formatter: timeStampFormat2},
{ name : 'REVOCPRCSSNAME' , align:'center' , width:'60'}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
},
loadComplete: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 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("input[name=searchStartDate]").val(start);
$("input[name=searchEndDate]").val(end);
postData["searchStartDate"] = start;
postData["searchEndDate"] = end;
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name*=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//검색조건 달력
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("#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"),'거래통제 이력');
return false;
});
buttonControl();
});
</script>
</head>
<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("controlHistory.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("controlHistory.search") %></th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="" style="width:0px;">
<input type="hidden" name="searchEndDate" value="" style="width:0px;">
</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,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"%>
<%@ 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/admin/control/controlInstiMan.json" />';
var url_view = '<c:url value="/onl/admin/control/controlInstiMan.view" />';
var url_excel= '<c:url value="/onl/admin/control/controlInstiMan.excel"/>';
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
gridPostData["searchStartDate"] = start;
gridPostData["searchEndDate"] = end;
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'<%= localeMessage.getString("controlInsti.bizCode") %>',
'<%= localeMessage.getString("controlInsti.bizCodeName") %>',
'<%= localeMessage.getString("controlInsti.extInstCode") %>',
'<%= localeMessage.getString("controlInsti.extInstName") %>',
'<%= localeMessage.getString("controlInsti.cnt") %>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'EAIOSIDINSTICD' , align:'left' },
{ name : 'INSTINAME' , align:'left' },
{ name : 'CNT' , align:'center' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
},
});
resizeJqGridWidth('grid','content_middle','1000');
//resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("input[name=searchStartDate]").val(start);
$("input[name=searchEndDate]").val(end);
postData["searchStartDate"] = start;
postData["searchEndDate"] = end;
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name*=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//검색조건 달력
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("#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"),'대외기관 코드별 거래통제현황');
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">
<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("controlInsti.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("controlInsti.search") %></th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="" style="width:0px;">
<input type="hidden" name="searchEndDate" value="" style="width:0px;">
</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,532 @@
<%@ 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="/onl/admin/control/controlMan.json" />';
var url_view = '<c:url value="/onl/admin/control/controlMan.view" />';
var url_excel= '<c:url value="/onl/admin/control/controlMan.excel"/>';
// var startTime;
var selectName = "searchEaiBzwkDstcd"; // selectBox Name
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchControlType]")).setData(json.controlList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchIo]")).setData(json.ioList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiBzwkDstcd]")).setData(json.bizList).setNoValueInclude(true).setNoValue("A", "전체").setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchControlSelectType]")).setData(json.controlSelectList).setFormat(codeName3OptionFormat).rendering();
setSearchable(selectName); // 콤보에 searchable 설정
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
// 체크된 grid Cell에 있는 EAISVCNAME값을 배열에 저장.
function getRowArray()
{
var chkList = new Array();
var rowIdx = 0;
var arrIdx = 0;
$("input[type=checkbox][name*=jqg_grid_]").each(function(idx){
if($(this).is(":checked"))
{
rowIdx = idx+1;
chkList[arrIdx] = $("#grid").jqGrid("getCell", rowIdx, "EAISVCNAME");
arrIdx++;
}
});
return chkList;
}
function fnControlType(){
if ($("select[name=searchControlType]").val() =="I"){
$("select[name=searchIo]").attr("disabled",true);
}else{
$("select[name=searchIo]").attr("disabled",false);
}
}
function startEndTimeFormat(cellvalue, options, rowObject){
if(cellvalue == null || cellvalue == '')
return ''
const cells = cellvalue.split('|');
const index = options.colModel.timeType == 'start' ? 5 : 6;
const value = cells[index];
return value.substring(0, 2)+':'+value.substring(2);
}
$(document).ready(function() {
init();
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
colNames:[
'<%= localeMessage.getString("control.bizCode") %>',
'<%= localeMessage.getString("control.bizCodeName") %>',
'<%= localeMessage.getString("control.code") %>',
'<%= localeMessage.getString("control.description") %>',
'<%= localeMessage.getString("control.startTime") %>',
'<%= localeMessage.getString("control.endTime") %>',
'<%= localeMessage.getString("control.status") %>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left',width:'25' },
{ name : 'BZWKDSTICNAME' , align:'left',width:'70' },
{ name : 'EAISVCNAME' , align:'left',width:'55' },
{ name : 'EAISVCDESC' , align:'left' },
{ name : 'EAICTRLDSTICCTNT', align:'center', width:'25', formatter: startEndTimeFormat, timeType: 'start' },
{ name : 'EAICTRLDSTICCTNT2', align:'center', width:'25', formatter: startEndTimeFormat, timeType: 'end' },
{ name : 'STATUS' , align:'center',width:'15', cellattr:function(rowId, tv, rowObject, cm, rdata){if(rowObject.STATUS == "통제") return 'style="color:red"'}}
],
jsonReader: {
repeatitems:false,
total: "total"
},
rowNum : 10000,
rownumbers : true,
//autoheight: true,
//width: 1090,
height: 500,
autowidth: true,
// viewrecords: true,
multiselect : true,
multiboxonly: false,
//loadonce:true,
gridview: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)
}
},
ondblClickRow: function(rowId) {
},
loadComplete:function(){
// var endTime = new Date().getTime();
// var resultTime = endTime - startTime;
// console.log("resultTime : " + resultTime);
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
$("#btn_search").click(function(){
$("#grid").jqGrid("clearGridData");
// if($("input[name=searchCode]").val().length == 0){
// alert("거래통제 코드를 입력하세요.");
// return;
// }
// if ($("select[name=searchControlType]").val() =="S"){
// $("#grid").jqGrid("showCol","EAISVCDESC");
// $("#grid").jqGrid("showCol","BZWKDSTICNAME");
// }else{
// $("#grid").jqGrid("hideCol","EAISVCDESC");
// $("#grid").jqGrid("hideCol","BZWKDSTICNAME");
// }
// startTime = new Date().getTime();
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_upload").click(function(){
var args = new Object();
var url2 = url_view;
url2 += "?cmd=POPUP";
//showModal(url2,args,550,600);
var ret = showModal(url2,args,750,800, 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;
init();
});
});
// 통제 등록
$("#btn_modify").click(function(e){
// var chkList = $("#grid").getGridParam("selarrrow");
var chkList;
var arrEaiSvcName = new Array();
var idx = 0;
var postData;
var rowCnt = $("#grid").getGridParam("reccount");
chkList = getRowArray();
if(rowCnt <= 0)
{
alert("조회된 데이터가 없습니다.");
return false;
}
if(chkList.length == 0)
{
alert("통제코드를 선택하여 주십시요.");
return false;
}
$( '#regist_dialog' ).dialog("open");
<%--
var r = confirm("통제등록 하시겠습니까?");
if (r == false){
chkList = null;
return false;
}
postData = getSearchForJqgrid("cmd","INSERT"); //jqgrid에서는 object 로
postData["arrEaiSvcName"] = chkList;
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").jqGrid("clearGridData");
alert("등록 되었습니다.");
chkList = null;
$("#btn_search").click();
},
error:function(e){
alert(e.responseText);
}
});
--%>
});
// 통제 해제
$("#btn_delete").click(function(e){
// var chkList = $("#grid").getGridParam("selarrrow");
var chkList;
var arrEaiSvcName = new Array();
var idx = 0;
var postData;
var rowCnt = $("#grid").getGridParam("reccount");
chkList = getRowArray();
if(rowCnt <= 0)
{
alert("조회된 데이터가 없습니다.");
return false;
}
if(chkList.length == 0)
{
alert("통제코드를 선택하여 주십시요.");
return false;
}
var r = confirm("통제등록을 해제 하시겠습니까?");
if (r == false){
return false;
}
postData = getSearchForJqgrid("cmd","DELETE"); //jqgrid에서는 object 로
postData["arrEaiSvcName"] = chkList;
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").jqGrid("clearGridData");
alert("해제 되었습니다.");
chkList = null;
$("#btn_search").click();
},
error:function(e){
alert(e.responseText);
}
});
});
$("input[name*=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("select[name=searchControlType]").change(function(){
$("#service").hide();
if ($(this).val() =="S"){
$("#service").show();
}
});
$("#cb_grid").unbind("click");
$("#cb_grid").click(function(e){
var cnt = $("#grid").getGridParam("reccount");
var check = $(this).is(":checked");
// if ($(this).is(":checked")){
// //check되어 있으면
// var r = confirm("전체선택 하시겠습니까?"+"("+cnt+"건)");
// if (r == false){
// return false;
// }
// }else{
// var r = confirm("전체선택해제 하시겠습니까?"+"("+cnt+"건)");
// if (r == false){
// return false;
// }
// }
$("input[type=checkbox][name*=jqg_grid_]").each(function(){
$(this).prop("checked",check);
});
});
$("#allAdd").click(function(e){
var r = confirm("시스템 전체 거래가 통제됩니다.\n전체등록 하시겠습니까?");
if (r == false){
return false;
}
var postData = getSearchForJqgrid("cmd","INSERT_CONTROL_ALL"); //jqgrid에서는 object 로
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").jqGrid("clearGridData");
alert("전체등록 되었습니다.");
$("#btn_search").click();
},
error:function(e){
alert(e.responseText);
}
});
});
$("#allDelete").click(function(e){
var r = confirm("시스템 전체 거래가 해제됩니다.\n전체해제 하시겠습니까?");
if (r == false){
return false;
}
var postData = getSearchForJqgrid("cmd","DELETE_CONTROL_ALL"); //jqgrid에서는 object 로
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").jqGrid("clearGridData");
alert("전체등록해제 되었습니다.");
$("#btn_search").click();
},
error:function(e){
alert(e.responseText);
}
});
});
$("#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"),'거래통제');
return false;
});
buttonControl();
$( '#regist_dialog' ).dialog({
resizable: false,
autoOpen: false,
height: 200,
width: 300,
modal: true,
open: ()=>{
$("input[name=startHHMM]").val('0000');
$("input[name=endHHMM]").val('0000');
},
buttons: {
"확인": function() {
registControl();
},
"취소": function() {
closeRegistDialog();
}
}
});
$("input[name=startHHMM],input[name=endHHMM]").inputmask("hh:mm",{'autoUnmask':true});
});
function closeRegistDialog(){
console.log($("input[name=endHHMM]").val());
$( '#regist_dialog' ).dialog("close");
}
function registControl(){
chkList = getRowArray();
postData = getSearchForJqgrid("cmd","INSERT"); //jqgrid에서는 object 로
postData["arrEaiSvcName"] = chkList;
postData["startTime"] = $("input[name=startHHMM]").val();
postData["endTime"] = $("input[name=endHHMM]").val();
$("input[name=startHHMM]").attr("readonly",true);
$("input[name=endHHMM]").attr("readonly",true);
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").jqGrid("clearGridData");
alert("등록 되었습니다.");
chkList = null;
$("#btn_search").click();
},
error:function(e){
alert(e.responseText);
},
complete : function() {
$("input[name=startHHMM]").removeAttr("readonly");
$("input[name=endHHMM]").removeAttr("readonly");
closeRegistDialog();
}
});
}
</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_excel" level="W"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_upload" level="W"><i class="material-icons">upload</i> <%= localeMessage.getString("button.upload") %></button>
<button type="button" class="cssbtn" id="btn_modify" level="W"><i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.release") %></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 id="btn_upload" src="<c:url value="/img/btn_upload.png"/>" level="W"> --%>
<%-- <img id="btn_modify" src="<c:url value="/img/btn_regist.png"/>" level="W"> --%>
<%-- <img id="btn_delete" src="<c:url value="/img/btn_release.png"/>" level="W"> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("control.title") %></div>
<div style="margin-bottom:15px;">
<!-- <input type="button" name="allAdd" class="btn_img btn_allAdd"> -->
<!-- <input type="button" name="allDelete" class="btn_img btn_allDelete"> -->
<button type="button" class="cssbtn" id="allAdd"><i class="material-icons">check_box</i> <%= localeMessage.getString("button.allReg") %></button>
<button type="button" class="cssbtn" id="allDelete"><i class="material-icons">check_box_outline_blank</i> <%= localeMessage.getString("button.allRel") %></button>
</div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="15%"><%= localeMessage.getString("control.type") %></th>
<td colspan="3">
<div class="select-style">
<select name="searchControlType" onChange="fnControlType();">
</select>
</div>
</td>
</tr>
<tr>
<th width="15%"><%= localeMessage.getString("control.io") %></th>
<td width="35%">
<div class="select-style">
<select name="searchIo">
</select>
</div>
</td>
<th width="15%"><%= localeMessage.getString("control.bizCode") %></th>
<td width="35%">
<div style="position: relative;">
<div class="select-style">
<select name="searchEaiBzwkDstcd">
</select>
</div>
</div>
</td>
</tr>
<tr>
<th width="15%"><%= localeMessage.getString("control.select") %></th>
<td width="35%">
<div class="select-style">
<select name="searchControlSelectType">
</select>
</div>
</td>
<th width="15%"><%= localeMessage.getString("control.code") %></th>
<td width="35%">
<input type="text" name="searchCode">
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<div id="regist_dialog" class="dialog" title="통제등록">
<h4>통제시간 : 24시간제로 입력 (00:00-00:00 무제한)</h4>
<span>
시작시간
<input type="text" name="startHHMM" value="" size="5" style="width:50px; border:1px solid #ebebec;">
- 종료시간
<input type="text" name="endHHMM" value="" size="5" style="width:50px; border:1px solid #ebebec;">
</span>
<p><p>
통제등록 하시겠습니까?
</div>
</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"%>
<%@ 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/admin/control/controlMan.json" />';
var url_view = '<c:url value="/onl/admin/control/controlMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype : 'POST',
colNames:[
'num',
'<%= localeMessage.getString("control.interfaceId") %>',
'통제여부',
'결과메시지',
],
colModel:[
{ name : 'SEQ' , align:'left' ,width:'10',sortable:false },
{ name : 'EAISVCNAME' , align:'left' ,width:'35',sortable:false },
{ name : 'STATUS' , align:'center' ,width:'10'},
{ name : 'RESULT' , align:'left' ,width:'35'}
],
jsonReader: {
repeatitems:false
},
autoheight: true,
height : "500px",
autowidth: true,
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)
}
},
ondblClickRow: function(rowId) {
},
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
}
});
resizeJqGridWidth('grid','content_middle','1000');
// 통제 등록
$("#btn_modify").click(function(e){
var postData = $('#ajaxForm').serializeArray();
var serviceNames = $("textarea[name=serviceName]").val();
if(serviceNames.trim() == ""){
alert('<%= localeMessage.getString("control.chkAlert") %>');
return;
}
if(confirm('<%= localeMessage.getString("control.modifyConfirm") %>') == false){
return;
}
postData.push({ name: "cmd" , value:"TRANSACTION_SERVICE"});
postData.push({ name: "flag" , value:"I"});
postData.push({ name: "serviceNames" , value:serviceNames});
$.ajax({
type : "POST",
url:url,
data:postData,
success: function(json, textStatus, jqXHR){
//$("#insertForm").hide();
var data = json;
if (!data.rows){
alert(data.message);
return ;
}
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0;i<data.rows.length;i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data.rows[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
}
},
error:function(e){
alert(e.responseText);
}
});
});
// 헤제 등록
$("#btn_delete").click(function(e){
var postData = $('#ajaxForm').serializeArray();
var serviceNames = $("textarea[name=serviceName]").val();
if(serviceNames.trim() == ""){
alert('<%= localeMessage.getString("control.chkAlert") %>');
return;
}
if(confirm('<%= localeMessage.getString("control.deleteConfirm") %>') == false){
return;
}
postData.push({ name: "cmd" , value:"TRANSACTION_SERVICE"});
postData.push({ name: "flag" , value:"D"});
postData.push({ name: "serviceNames" , value:serviceNames});
$.ajax({
type : "POST",
url:url,
data:postData,
success: function(json, textStatus, jqXHR){
var data = json;
if (!data.rows){
alert(data.message);
return ;
}
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0;i<data.rows.length;i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data.rows[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
}
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_initialize").click(function(){
if(confirm('<%= localeMessage.getString("control.initializeConfirm") %>') == false){
return;
}
$("textarea[name=serviceName]").val("");
$("#grid").jqGrid('clearGridData');
});
$("#btn_close").click(function(){
window.close();
});
buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img id="btn_modify" src="<c:url value="/img/btn_regist.png"/>" level="W">
<img id="btn_delete" src="<c:url value="/img/btn_release.png"/>" level="W">
<img id="btn_initialize" src="<c:url value="/img/btn_initialize.png"/>" alt="" level="W" />
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">통제 등록</div> &nbsp;&nbsp;<span>'<%= localeMessage.getString("control.info") %>'</span>
<form id="ajaxForm">
<table class="table_row" cellspacing="0" >
<tr>
<th style="width:100px"><%= localeMessage.getString("control.interfaceId") %></th>
<td><textarea name="serviceName" style="width:100%;height:200px"></textarea></td>
</tr>
</table>
<table id="grid"></table>
</form>
<div id="pager"></div>
</div><!-- end content_middle -->
</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"%>
<%@ 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/admin/control/controlServiceMan.json" />';
var url_view = '<c:url value="/onl/admin/control/controlServiceMan.view" />';
var url_excel= '<c:url value="/onl/admin/control/controlServiceMan.excel"/>';
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
gridPostData["searchStartDate"] = start;
gridPostData["searchEndDate"] = end;
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("controlService.bizCode") %>',
'<%= localeMessage.getString("controlService.bizCodeName") %>',
'<%= localeMessage.getString("controlService.serviceCode") %>',
'<%= localeMessage.getString("controlService.serviceCodeDesc") %>',
'<%= localeMessage.getString("controlService.cnt") %>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'EAISVCNAME' , align:'left' },
{ name : 'EAISVCDESC' , align:'left' },
{ name : 'CNT' , align:'center' ,formatter:'integer' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
},
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 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("input[name=searchStartDate]").val(start);
$("input[name=searchEndDate]").val(end);
postData["searchStartDate"] = start;
postData["searchEndDate"] = end;
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name*=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//검색조건 달력
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("#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"),'서비스별 거래통제현황');
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">
<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("controlService.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("controlService.search") %></th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="" style="width:0px;">
<input type="hidden" name="searchEndDate" value="" style="width:0px;">
</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,113 @@
<%@ 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/admin/httpouttlsinfo/httpOutTlsInfoMan.json" />';
var url_view ='<c:url value="/onl/admin/httpouttlsinfo/httpOutTlsInfoMan.view" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: {
cmd: 'LIST',
},
colNames: ['Client ID', 'Store Type', 'Keystore 파일명', 'Truststore 파일명', '생성일시', '수정일시'],
colModel: [
{ name: 'clientId', align: 'left', sortable: false },
{ name: 'storeType', align: 'center', width:50 },
{ name: 'keystoreFilename', align: 'center' },
{ name: 'truststoreFilename', align: 'center' },
{ name: 'createdAt', align: 'center', width:70},
{ name: 'updatedAt', align: 'center', width:70}
],
jsonReader: {
repeatitems: false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList: eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var clientId = rowData['clientId'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=' + $(this).getGridParam("page");
url2 += '&returnUrl=' + getReturnUrl();
url2 += '&menuId=' + '${param.menuId}';
url2 += '&clientId=' + clientId;
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});
}
},
loadError: function(jqXHR, textStatus, errorThrown) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown, location);
}
});
resizeJqGridWidth('grid', 'content_middle', '1000');
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=' + $("#grid").getGridParam("page");
url2 += '&returnUrl=' + getReturnUrl();
url2 += '&menuId=' + '${param.menuId}';
url2 += '&searchClientId=';
goNav(url2);
});
$("input[name^=search], select[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">
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
</div>
<div class="title">HTTP Client mTLS 정보<span class="tooltip">Manage HTTP Client mTLS Information</span></div>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,360 @@
<%@ 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"/>
<link href="<c:url value="/addon/bootstrap-icons-1.11.3/bootstrap-icons.min.css"/>" rel="stylesheet" />
<script language="javascript" >
var url ='<c:url value="/onl/admin/httpouttlsinfo/httpOutTlsInfoMan.json" />';
var url_view ='<c:url value="/onl/admin/httpouttlsinfo/httpOutTlsInfoMan.view" />';
var isDetail = false;
function init() {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=clientId]"))
.setData(json.clientIdRows).setFormat(codeName3OptionFormat).rendering();
var key = "${param.clientId}";
if (key != "" && key != "null") {
detail(key);
}
},
error: function (e) {
alert("Client 목록을 불러오는데 실패했습니다.");
}
});
}
function toBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = () => {
const bytes = new Uint8Array(reader.result);
const base64 = btoa(String.fromCharCode.apply(null, bytes));
resolve(base64);
};
reader.onerror = error => reject(error);
});
}
function detail(key) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'DETAIL', clientId: key},
success: function (json) {
var data = json;
$("#clientId").val(data.clientId).prop('disabled', 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]);
});
// 파일명 표시
if (data.keystoreFilename) {
$('input[name="keystoreFilename"]').val(data.keystoreFilename).show();
$("#deleteKeystoreBtn").show();
}
if (data.truststoreFilename) {
$('input[name="truststoreFilename"]').val(data.truststoreFilename).show();
$("#deleteTruststoreBtn").show();
}
},
error: function (e) {
alert(e.responseText);
}
});
}
/*비밀번호*/
function togglePassword(inputId, toggleId) {
const inputType = $(inputId).attr("type");
if(inputType == 'password'){
$(inputId).attr("type", "text");
$(toggleId).find('i').removeClass('bi-eye').addClass('bi-eye-slash');
} else {
$(inputId).attr("type", "password");
$(toggleId).find('i').removeClass('bi-eye-slash').addClass('bi-eye');
}
}
function updateFileInfo(inputElement, filenameElement, deleteButton) {
var fileName = inputElement.files[0] ? inputElement.files[0].name : '';
if (fileName) {
$(filenameElement).val(fileName).show();
$(deleteButton).show();
} else {
$(filenameElement).val('').hide();
$(deleteButton).hide();
}
}
function deleteFile(fileType) {
if (confirm(fileType + " 파일을 삭제하시겠습니까?")) {
if (fileType === 'keystore') {
$('input[name="keystoreFile"]').val('');
$('input[name="keystoreFilename"]').val('');
$('input[name="keystorePassword"]').val('');
$("#deleteKeystoreBtn").hide();
} else if (fileType === 'truststore') {
$('input[name="truststoreFile"]').val('');
$('input[name="truststoreFilename"]').val('');
$('input[name="truststorePassword"]').val('');
$("#deleteTruststoreBtn").hide();
}
}
}
$(document).ready(function () {
var returnUrl = getReturnUrlForReturn();
var key = "${param.clientId}";
if (key != "" && key != "null") {
isDetail = true;
}
$('input[name="keystoreFile"]').change(function() {
updateFileInfo(this, 'input[name="keystoreFilename"]', '#deleteKeystoreBtn');
});
$('input[name="truststoreFile"]').change(function() {
updateFileInfo(this, 'input[name="truststoreFilename"]', '#deleteTruststoreBtn');
});
if (isDetail) {
var keystoreFilename = $('input[name="keystoreFilename"]').val();
var truststoreFilename = $('input[name="truststoreFilename"]').val();
$("#title").append(" 수정");
buttonControl(true);
if (keystoreFilename) {
$('#keystoreFileName').text(keystoreFilename).show();
$("#deleteKeystoreBtn").show();
}
if (truststoreFilename) {
$('#truststoreFileName').text(truststoreFilename).show();
$("#deleteTruststoreBtn").show();
}
} else {
$("#title").append(" 등록");
$("#btn_modify").html('<i class="material-icons">save</i> <%= localeMessage.getString("button.register") %>');
buttonControl(false);
}
init();
$('#toggleKeystorePassword').click(function () {
togglePassword("#keystorePassword", "#toggleKeystorePassword");
});
$('#toggleTruststorePassword').click(function () {
togglePassword("#truststorePassword", "#toggleTruststorePassword");
});
$("#btn_modify").click(async function () {
if (!checkRequired("ajaxForm")) return;
var $clientId = $('#clientId');
var wasDisabled = $clientId.prop('disabled');
$clientId.prop('disabled', false);
var postData = $('#ajaxForm').serializeArray();
if (wasDisabled) {
$clientId.prop('disabled', true);
}
if (isDetail) {
postData.push({name: "cmd", value: "UPDATE"});
} else {
postData.push({name: "cmd", value: "INSERT"});
}
// 파일 처리
const keystoreFile = $('input[name="keystoreFile"]')[0].files[0];
const truststoreFile = $('input[name="truststoreFile"]')[0].files[0];
if (keystoreFile) {
const keystoreBase64 = await toBase64(keystoreFile);
postData.push({name: "keystoreInfo", value: keystoreBase64});
}
if (truststoreFile) {
const truststoreBase64 = await toBase64(truststoreFile);
postData.push({name: "truststoreInfo", value: truststoreBase64});
}
$.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 $clientId = $('#clientId');
$clientId.prop('disabled', false);
var postData = $('#ajaxForm').serializeArray();
$clientId.prop('disabled', true);
var key = "${param.clientId}";
//client 를 먼저 삭제 한 경우를 위해 mTls info 삭제 가능하도록 함.
postData.push({name: "clientId", value: key});
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로 이동
});
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>
</div>
<div class="title">HTTP Client mTLS 정보<span class="tooltip">Manage HTTP Client mTLS Information</span></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:15%;">Client 아이디 <span style="color:red">*</span></th>
<td>
<div class="select-style">
<select name="clientId" id="clientId" data-required data-warning="Client 아이디를 입력하여 주십시오." >
<option value="">선택</option>
</select>
</div>
</td>
</tr>
<tr>
<th>Store Type <span style="color:red">*</span></th>
<td>
<div class="select-style">
<select name="storeType" data-required data-warning="Store Type을 선택하여 주십시오.">
<option value="">선택</option>
<option value="JKS">JKS</option>
<option value="PKCS12">PKCS12</option>
</select>
</div>
</td>
</tr>
<tr>
<th>Keystore 파일</th>
<td>
<input type="text" name="keystoreFilename" style="display:inline-block; width:30%;" data-required data-warning="Keystore 파일을 등록하여 주십시오." readonly />
<input type="file" name="keystoreFile" accept=".jks,.p12,.pfx" style="display:none;" />
<button type="button" class="cssbtn smallBtn" onclick="$('input[name=keystoreFile]').click()">파일 선택</button>
<button type="button" class="cssbtn smallBtn" id="deleteKeystoreBtn" onclick="deleteFile('keystore')" style="display:none;">
<i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %>
</button>
</td>
</tr>
<tr>
<th >Keystore 비밀번호 <span style="color:red">*</span></th>
<td>
<div class="input-group">
<input type="password" name="keystorePassword" id="keystorePassword" data-required data-warning="Keystore 비밀번호를 입력하여 주십시오." style="width: calc(100% - 20px);" />
<span class="input-group-text" style="cursor: pointer;" id="toggleKeystorePassword">
<i class="bi bi-eye"></i>
</span>
</div>
</td>
</tr>
<tr>
<th>Truststore 파일</th>
<td>
<input type="text" name="truststoreFilename" style="display:inline-block; width:30%;" readonly />
<input type="file" name="truststoreFile" accept=".jks,.p12,.pfx" style="display:none;" />
<button type="button" class="cssbtn smallBtn" onclick="$('input[name=truststoreFile]').click()">파일 선택</button>
<button type="button" class="cssbtn smallBtn" id="deleteTruststoreBtn" onclick="deleteFile('truststore')" style="display:none;">
<i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %>
</button>
</td>
</tr>
<tr>
<th>Truststore 비밀번호</th>
<td>
<div class="input-group">
<input type="password" name="truststorePassword" id="truststorePassword" style="width: calc(100% - 20px);" />
<span class="input-group-text" style="cursor: pointer;" id="toggleTruststorePassword">
<i class="bi bi-eye"></i>
</span>
</div>
</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"%>
<%@ 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/admin/inflow/inflowAdapterControlMan.json" />';
var url_view ='<c:url value="/onl/admin/inflow/inflowAdapterControlMan.view" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST', searchName: $('input[name=searchName]').val()},
colNames:['<%= localeMessage.getString("infAdpConMan.adaNm") %>',
'<%= localeMessage.getString("infAdpConMan.adaDes") %>',
'<%= localeMessage.getString("infAdpConMan.thrPerSecond") %>',
'<%= localeMessage.getString("infAdpConMan.thr") %>',
'<%= localeMessage.getString("infAdpConMan.thrTimeUnit") %>',
'<%= localeMessage.getString("infAdpConMan.useYn") %>'
],
colModel:[
{ name : 'NAME' , align:'left' , width:'100' , sortable:false },
{ name : 'DESC' , align:'left' , width:'200'},
{ name : 'THRESHOLDPERSECOND' , align:'right' , width:'60'},
{ name : 'THRESHOLD' , align:'right' , width:'60'},
{ name : 'THRESHOLDTIMEUNIT' , align:'center' , width:'80'},
{ name : 'USEYN' , align:'center' , width:'60' , editoptions:{value:"0:사용안함;1:사용함"}, formatter:"select" }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var name = rowData['NAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&searchName='+$("input[name=searchName]").val();
//key값
url2 += '&name='+name;
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});
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
$("#grid").setGridParam({ postData: { searchName: $('input[name=searchName]').val()}, 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 += '&searchName=';
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">
<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_new.png" />" alt="" id="btn_new" level="R" /-->
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("infAdpConMan.title") %><span class="tooltip"><%= localeMessage.getString("infAdpConMan.title") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("infAdpConMan.adaNm") %></th>
<td><input type="text" name="searchName" value="${param.searchName}"></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"%>
<%@ 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/admin/inflow/inflowAdapterControlMan.json" />';
var url_view ='<c:url value="/onl/admin/inflow/inflowAdapterControlMan.view" />';
var isDetail = false;
function init(url,key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=thresholdTimeUnit]")).setNoValueInclude(true).setData(json.timeUnitRows).setFormat(codeName3OptionFormat).rendering();
if(typeof callback === 'function') {
callback(url,key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', name : key},
success:function(json){
var data = json;
$("input[name=name]").attr('readonly',true);
$("input[name=desc]").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.name}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#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("<%= 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"});
$.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(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("infAdpConMan.title") %><span class="tooltip" ><%= localeMessage.getString("infAdpConMan.title") %></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.adaNm") %></th>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.adaDes") %></th>
<td><input type="text" name="desc" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.thrPerSecond") %></th>
<td><input type="text" name="thresholdPerSecond" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.thr") %></th>
<td><input type="text" name="threshold" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.thrTimeUnit") %></th>
<td>
<div class="select-style">
<select name="thresholdTimeUnit" />
</div>
</td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.useYn") %></th>
<td>
<div class="select-style">
<select name="useYn" />
</div>
</td>
</tr>
</table>
</form>
</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"%>
<%@ 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/admin/inflow/inflowControlHistoryMan.json" />';
var url_view = '<c:url value="/onl/admin/inflow/inflowControlHistoryMan.view" />';
var url_excel= '<c:url value="/onl/admin/inflow/inflowControlHistoryMan.excel"/>';
function timeStampFormat2(cellvalue, options, rowObject){
if ( cellvalue.trim() == '' || cellvalue.length < 17 )
return '';
return cellvalue.substr(0,4) + '-' +
cellvalue.substr(4,2) + '-' +
cellvalue.substr(6,2) + ' ' +
cellvalue.substr(8,2) + ':' +
cellvalue.substr(10,2) + ':' +
cellvalue.substr(12,2) + ' ' + cellvalue.substr(14,3);
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
gridPostData["searchStartDate"] = start;
gridPostData["searchEndDate"] = end;
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("infConHstMan.bizClaCd") %>',
'<%= localeMessage.getString("infConHstMan.dateandTm") %>',
'<%= localeMessage.getString("infConHstMan.eaiSvcSrlNum") %>',
'<%= localeMessage.getString("infConHstMan.instNm") %>',
'<%= localeMessage.getString("infConHstMan.eaiSvcCd") %>',
'<%= localeMessage.getString("infConHstMan.adpGrpNm") %>',
'<%= localeMessage.getString("infAdpConMan.thrPerSecond") %>',
'<%= localeMessage.getString("infAdpConMan.thr") %>',
'<%= localeMessage.getString("infAdpConMan.thrTimeUnit") %>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , width:'50' , align:'center' , sortable:false },
{ name : 'MSGDPSTYMS' , width:'100', align:'center' , formatter: timeStampFormat2},
{ name : 'EAISVCSERNO' , width:'150', align:'left' },
{ name : 'EAISEVRINSTNCNAME' , width:'50' , align:'center' },
{ name : 'EAISVCNAME' , width:'70' , align:'center' },
{ name : 'ADPTRBZWKGROUPNAME' , width:'70' , align:'center' },
{ name : 'THRESHOLDPERSECOND' , width:'40' , align:'right' },
{ name : 'THRESHOLD' , width:'40' , align:'right' },
{ name : 'THRESHOLDTIMEUNIT' , width:'70' , align:'center' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
},
loadComplete: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 로
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("input[name=searchStartDate]").val(start);
$("input[name=searchEndDate]").val(end);
postData["searchStartDate"] = start;
postData["searchEndDate"] = end;
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name*=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//검색조건 달력
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("#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"),'거래통제 이력');
return false;
});
buttonControl();
});
</script>
</head>
<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("infConHstMan.title") %></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("infConHstMan.date") %></th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:80px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:80px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="" style="width:0px;">
<input type="hidden" name="searchEndDate" value="" style="width:0px;">
</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,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"%>
<%@ 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/admin/inflow/inflowInterfaceControlMan.json" />';
var url_view ='<c:url value="/onl/admin/inflow/inflowInterfaceControlMan.view" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST', searchName: $('input[name=searchName]').val()},
colNames:['<%= localeMessage.getString("infIfConMan.ifNm") %>',
'<%= localeMessage.getString("infIfConMan.ifDesc") %>',
'<%= localeMessage.getString("infAdpConMan.thrPerSecond") %>',
'<%= localeMessage.getString("infAdpConMan.thr") %>',
'<%= localeMessage.getString("infAdpConMan.thrTimeUnit") %>',
'<%= localeMessage.getString("infAdpConMan.useYn") %>'
],
colModel:[
{ name : 'NAME' , align:'left' , width:'100' , sortable:false },
{ name : 'DESC' , align:'left' , width:'200'},
{ name : 'THRESHOLDPERSECOND' , align:'right' , width:'60'},
{ name : 'THRESHOLD' , align:'right' , width:'60'},
{ name : 'THRESHOLDTIMEUNIT' , align:'center' , width:'80'},
{ name : 'USEYN' , align:'center' , width:'60' , editoptions:{value:"0:사용안함;1:사용함"}, formatter:"select" }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var name = rowData['NAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&searchName='+$("input[name=searchName]").val();
//key값
url2 += '&name='+name;
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});
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
$("#grid").setGridParam({ postData: { searchName: $('input[name=searchName]').val()}, 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 += '&searchName=';
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">
<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_new.png" />" alt="" id="btn_new" level="R" /-->
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("infIfConMan.title") %><span class="tooltip"><%= localeMessage.getString("infIfConMan.title") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("infIfConMan.ifNm") %></th>
<td><input type="text" name="searchName" value="${param.searchName}"></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"%>
<%@ 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/admin/inflow/inflowInterfaceControlMan.json" />';
var url_view ='<c:url value="/onl/admin/inflow/inflowInterfaceControlMan.view" />';
var isDetail = false;
function init(url,key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=thresholdTimeUnit]")).setNoValueInclude(true).setData(json.timeUnitRows).setFormat(codeName3OptionFormat).rendering();
if(typeof callback === 'function') {
callback(url,key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', name : key},
success:function(json){
var data = json;
$("input[name=name]").attr('readonly',true);
$("input[name=desc]").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.name}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#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("<%= 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"});
$.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(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("infIfConMan.title") %><span class="tooltip" ><%= localeMessage.getString("infIfConMan.title") %></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("infIfConMan.ifNm") %></th>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infIfConMan.ifDesc") %></th>
<td><input type="text" name="desc" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.thrPerSecond") %></th>
<td><input type="text" name="thresholdPerSecond" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.thr") %></th>
<td><input type="text" name="threshold" /></td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.thrTimeUnit") %></th>
<td>
<div class="select-style">
<select name="thresholdTimeUnit" />
</div>
</td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("infAdpConMan.useYn") %></th>
<td>
<div class="select-style">
<select name="useYn" />
</div>
</td>
</tr>
</table>
</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"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.rms.common.datasource.DataSourceContextHolder" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
String curDataSourceName = DataSourceContextHolder.getDataSourceType().getName();
%>
<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 type="text/javascript">
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
function init(url, successCallback){
$.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]")).setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
var chkRole = roleString.indexOf('admin');
if(chkRole==-1){
$("select[name=eaisevrDstcd] option[value='9']").remove();
}
successCallback();
// 현재 데이터 소스로 eaisevrDstcd 값을 SET
$("[name='eaisevrDstcd']").val('<%=curDataSourceName%>'.substring(0,1)).prop("selected", true);
},
error:function(e){
alert(e.responseText);
}
});
}
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 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("");
var data = json;
if (!data.rows){
alert(data.message);
return ;
}
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0;i<data.rows.length;i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data.rows[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
if(data.rows[i].RESULT=="X"){
$("#"+rowid).find("td").css("background-color","#FFCC99");
}
}
$("#"+$('#grid').jqGrid('getGridParam','selrow')).focus();
if (typeof callback === 'function') {
successcallback(data, textStatus, jqXHR);
}
},
error: function(jqXHR, textStatus, errorThrown)
{
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
},
beforeSend: function() {
loadingModal.style.display = "flex";
},
complete: function() {
loadingModal.style.display = "none";
}
});
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="/onl/admin/rule/layoutExcelMan.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);
}
});
}
}
$(document).ready(function() {
var url = '<c:url value="/onl/admin/rule/layoutExcelMan.json" />';
init(url, openApiExcelImport);
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
//mtype: 'POST',
//url: '<c:url value="/common/acl/user/userMan.json" />',
postData : gridPostData,
colNames:[
'<%=localeMessage.getString("layoutExcelMan.sheetName")%>',
'<%=localeMessage.getString("layoutExcelMan.layoutCd")%>',
'<%=localeMessage.getString("layoutExcelMan.LineCnt")%>',
'<%=localeMessage.getString("layoutExcelMan.processStus")%>',
'<%=localeMessage.getString("layoutExcelMan.resultMsg")%>'
],
colModel:[
{ name : 'SHEETNAME' , align:'left' ,sortable:false },
{ name : 'LAYOUTNAME' , align:'left' },
{ name : 'LAYOUTITEM' , align:'left' },
{ name : 'RESULT' , align:'left' },
{ name : 'MESSAGE' , align:'left' }
],
jsonReader: {
repeatitems:false
},
//pager : $('#pager'),
//rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: 300,
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) {
},
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();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#multiform").on('submit',fileupload);
$('#btn_upload').click(function(){
$("#grid").jqGrid('clearGridData');
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 == ""){
return;
}else{
$("#multiform").submit();
}
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
}else{
$("input[name=file]").show();
}
});
//OPENAPI 용 Excel Import
function openApiExcelImport() {
var names = '${ExcelNames}';
if (names == ''|| names.length == 0) {
return;
}
$('#sub4_4_5_2').prop('checked', true); // 중복 시 저장함
$('select[name=eaisevrDstcd]').find('option:last').prop('selected', true);
var params = { 'cmd': 'TRANSACTION_EXCEL_IMPORT', 'names': names };
jQuery.each($('#multiform').serializeArray(), function(i, o) {
if (o.name == 'cmd') {
return true;
}
params[o.name] = o.value;
});
$.ajax({
type: "POST",
dataType:"json",
url: '<c:url value="/onl/admin/rule/layoutExcelMan.json"/>',
data: params,
success: function(json){
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0; i<json.dataList.length; i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : json.dataList[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
}
$("#"+$('#grid').jqGrid('getGridParam','selrow')).focus();
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</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">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/onl/admin/rule/layoutExcelMan.file"/>">
<div class="search_wrap">
<div style="display:inline-block;">
<select name="eaisevrDstcd" style="margin-right: 10px; padding: 3px; margin-top: 3px;display:none;"></select>
<input type="radio" name="saveType" value="0" checked="checked" id="sub4_4_5_1">
<label for="sub4_4_5_1" style="vertical-align:middle;"><%=localeMessage.getString("layoutExcelMan.label1")%></label>
<input type="radio" name="saveType" value="1" id="sub4_4_5_2" />
<label for="sub4_4_5_2" style="vertical-align:middle;"><%=localeMessage.getString("layoutExcelMan.label2")%></label>
<input type="file" name="file" style="display:inline-block"/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
</div>
<button type="button" class="cssbtn" id="btn_upload" level="W" ><i class="material-icons">upload</i> <%= localeMessage.getString("button.upload") %></button>
<%-- <img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" /> --%>
</div>
</form>
<div class="title"><%=localeMessage.getString("layoutExcelMan.title")%></div>
<table id="grid" ></table>
<div id="pager"></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutExcelMan.layoutCd")%></th>
<td style="width:80%;"><input type="text" name="LAYOUTNAME"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutExcelMan.processStus")%></th>
<td ><input type="text" name="RESULT" /></td>
</tr>
<tr height="50px">
<th><%=localeMessage.getString("layoutExcelMan.resultMsg")%></th>
<td><textarea name="MESSAGE" style="width:100%; height:100%;"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<div id="loadingModal" class="loadingModal">
<div class="spinner"></div>
</div>
</body>
</html>
+635
View File
@@ -0,0 +1,635 @@
<%@ 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" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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"/>
<!-- 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>
<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>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/layoutMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/layoutMan.view"/>';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var url_file = '<c:url value="/onl/admin/rule/layoutMan.file"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
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;
}
function init (){
$.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();
new makeOptions("CODE","NAME").setObj($("select[name=searchLayoutTypeName]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.typeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchUseYn]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
svrInst = inoutTypeData;
putSelectFromParam();
/* var chkRole = roleString.indexOf('admin');
if(chkRole==-1){
$("select[name=searchEaiSevrDstcd] option[value='9']").remove();
} */
}
});
}
function formatter (cellvalue, options, rowObject){
for(var i=0; i<svrInst.length; i++){
if(cellvalue==svrInst[i].CODE){
return "["+svrInst[i].CODE+"] "+svrInst[i].NAME;
}
}
}
$(document).ready(function() {
init();
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: {
cmd: 'LIST'
, searchEaiBzwkDstcd: $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName: $('input[name=searchLoutName]').val()
, searchLoutDesc: $('input[name=searchLoutDesc]').val()
, searchEaiSevrDstcd: "${param.searchEaiSevrDstcd}"
, searchLayoutTypeName: "${param.searchLayoutTypeName}"
, searchUseYn: "${param.searchUseYn}"
},
colNames: ['<%=localeMessage.getString("layoutMan.bzwkdstcd")%>',
'<%=localeMessage.getString("layoutMan.bzwkdstcdName")%>',
'<%=localeMessage.getString("layoutMan.layoutCd")%>',
'<%=localeMessage.getString("layoutMan.layoutDesc")%>',
'<%=localeMessage.getString("layoutMan.sevrDstCd")%>',
'<%=localeMessage.getString("layoutMan.layoutTypeName")%>',
'<%=localeMessage.getString("combo.useYn")%>',
'<%=localeMessage.getString("layoutMan.modifyHMS")%>',
'<%=localeMessage.getString("layoutMan.verInfo")%>',
'flag'
],
colModel: [
{name: 'EAIBZWKDSTCD', align: 'center', sortable: false, width: "50"},
{name: 'BZWKDSTICNAME', align: 'left'},
{name: 'LOUTNAME', align: 'left'},
{name: 'LOUTDESC', align: 'left'},
{name: 'EAISEVRDSTCD', align: 'left', width: "50", formatter: formatter},
{name: 'LOUTPTRNNAME', align: 'left'},
{
name: 'USEYN',
align: 'center',
width: 30,
editoptions: {value: "0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"},
formatter: "select"
},
{name: 'LASTAMNDHMS', align: 'center', formatter: dateFormater, width: "100"},
{name: 'VERINFO', align: 'center', width: "100"},
{name: 'FLAG', hidden: true}
],
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});
}
},
loadComplete: function () {
var ids = $("#grid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var rowObject = $("#grid").getRowData(ids[i]);
if (rowObject.FLAG == "X") {
var cbs = $("tr#" + ids[i] + ".jqgrow>td>input.cbox", $("#grid")[0]);
cbs.attr("disabled", "disabled");
}
}
},
beforeSelectRow: function (rowId, e) {
var cbsdis = $("tr#" + rowId + ".jqgrow>td>input.cbox:disabled", $("#grid")[0]);
if (cbsdis.length === 0) {
return true;
} else {
return false;
}
},
ondblClickRow: function (rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=' + $(this).getGridParam("page");
url2 += '&returnUrl=' + getReturnUrl();
url2 += '&menuId=' + '${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&loutName=' + key;
goNav(url2);
}, loadError: function (jqXHR, textStatus, errorThrown) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown, location);
}, onSelectAll: function (rowId, status) {
if (status) {
var cbs = $("tr.jqgrow>td>input.cbox:disabled", $("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function () {
return this.id;
}).get();
} else {
$("#grid")[0].p.selarrow = "";
}
}
});
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_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"), 'layout');
return false;
});
$("#btn_excel_export").click(function () {
const exportArr = new Array();
const ids = $("#grid").jqGrid('getDataIDs');
let chkCnt = 0;
for (var i = 0; i < ids.length; i++) {
if ($("input:checkbox[id='jqg_grid_" + ids[i] + "']").is(":checked")) {
var rowObject = $("#grid").getRowData(ids[i]);
exportArr.push(rowObject['LOUTNAME']);
chkCnt++;
}
}
const url = url_excel + '?cmd=LIST_EXPORT_TO_EXCEL';
downloadFiles(url, JSON.stringify(exportArr))
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 += '&' + getSearchUrl();
//key값
url2 += '&layoutName=';
goNav(url2);
});
$("#btn_initialize").click(function () {
var id = "grid";
var chkArr = 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")) {
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['LOUTNAME']);
chkcnt++;
}
}
if (chkcnt == 0) {
if (confirm("레이아웃이 선택되지 않았습니다. 전체 초기화 하겠습니까?")) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'INITIALIZES'},
success: function (json) {
alert(json.message);
},
error: function (e) {
alert(e.responseText);
}
});
}
return false;
} else {
if (confirm("초기화 하시겠습니까?")) {
var postData = [];
postData.push({name: "cmd", value: "LIST_INITIALIZE"});
postData.push({name: "chkItems", value: chkArr});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: postData,
success: function (json) {
alert(json.message);
},
error: function (e) {
alert(e.responseText);
}
});
} else {
return false;
}
}
});
$("input[name^=search]").keydown(function (key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$('#btn_import').click(onclickExcelImport);
$("#btn_delete").click(function () {
var id = "grid";
var delArr = 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")) {
var rowObject = $("#grid").getRowData(ids[i]);
delArr.push(rowObject['LOUTNAME']);
chkcnt++;
}
}
if (chkcnt == 0) {
alert("레이아웃을 선택해 주세요");
return false;
}
if (confirm("<%= localeMessage.getString("common.confirmMsg")%>")) {
var postData = [];
postData.push({name: "cmd", value: "DELETE_LIST"});
postData.push({name: "delItems", value: delArr});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: postData,
success: function (json) {
alert(json.message);
$("#btn_search").click();
},
error: function (e) {
alert("error" + e.responseText);
}
});
} else {
return false;
}
});
buttonControl();
// setBtnHide(roleString, "admin", "btn_excel");
// setBtnHide(roleString, "admin", "btn_download");
// setBtnHide(roleString, "admin", "btn_initialize");
// setBtnControl(roleString, "admin,dept_developer", "btn_import");
//setBtnControl(roleString, "admin", "btn_cmsave");
// if(!devSvr){
// }
$("#btn_cmsave").hide();
FilePond.registerPlugin(FilePondPluginFileValidateType);
// FilePond 인스턴스 생성
const pond = FilePond.create(document.querySelector('.filepond'), {
instantUpload: false, // 파일을 즉시 업로드하지 않음
allowRevert: false,
acceptedFileTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
// 서버 설정
server: {
process: {
url: url_file + '?cmd=LIST_IMPORT_FROM_EXCEL&serviceType=' + sessionStorage["serviceType"],
method: 'POST',
// 필요한 경우 headers나 다른 설정 추가
},
// revert, load, restore, fetch 설정 (필요한 경우)
},
// 다른 필요한 옵션 추가
});
// "업로드 시작" 버튼 클릭 이벤트 핸들러
document.getElementById('uploadButton').addEventListener('click', function() {
pond.processFiles(); // 선택된 모든 파일을 업로드
});
// 모달 닫기 이벤트 핸들러
$('#uploadModal').on('hidden.bs.modal', function (e) {
pond.removeFiles(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
});
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i
<ids.length
;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if(chkcnt == 0){
alert('먼저 다운로드할 데이터를 체크해 주세요.');
return false;
}
//var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var validEAIBzwkDstCd = 'NONE';
var loutNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var loutName = $('#grid').getCell(sel[i], 'LOUTNAME');
if(loutName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("EAI 표준 레이아웃은 업무 CM 대상이 아닙니다.["+loutName+"]");
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
loutNames = loutName;
} else {
loutNames += ',' + loutName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
return;
}
}
}
var url2 = url_view;
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
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;
addCMResource(validEAIBzwkDstCd, args.returnValue, loutNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, loutNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, loutNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['loutNames'] = loutNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
function onclickExcelImport() {
var url2 = url_view;
url2 += '?cmd=EX IMP POPUP';
var args = new Object();
showModal(url2,args,800,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;
var names = encodeURIComponent(args.returnValue.ExcelNames);
parent.leftFrame.goPage('<c:url value="/onl/admin/rule/layoutExcelMan.do"/>?names='+names, '0707007');
});
}
</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_import" level="R" 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_excel_export" level="R" ><i class="material-icons">download</i> <%=localeMessage.getString("button.exportExcel")%></button>
<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_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<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_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img id="btn_import" src="<c:url value="/img/btn_import.png"/>" level="W" />&nbsp; --%>
<!-- img id="btn_cmsave" src="<c:url value="/img/btn_cmsave.png"/>" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
<%-- <img id="btn_initialize" src="<c:url value="/img/btn_initialize.png"/>" alt="" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" alt="" level="R" /> --%>
</div>
<div class="title"><%=localeMessage.getString("layoutMan.title2")%><span class="tooltip"><%=localeMessage.getString("layoutMan.tooltip")%></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
<td width="25%">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.bzwkdstcd")%></th>
<td width="25%">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
<td width="20%">
<input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.sevrDstCd")%></th>
<td>
<div class="select-style">
<select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}"/>
</div>
</td>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
<td>
<div class="select-style">
<select name="searchLayoutTypeName" value="${param.searchLayoutTypeName}"/>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="searchUseYn" value="${param.searchUseYn}"/>
</div>
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
<!-- 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>
<iframe name=excelDown width=0 height=0></iframe>
</html>
@@ -0,0 +1,551 @@
<%@ 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");
%>
<!DOCTYPE html>
<html lang="en">
<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/layoutScript.jsp"/>
<script language="javascript">
var isPop = "${param.pop}";
var isDetail = false;
var url = '<c:url value="/onl/admin/rule/layoutMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/layoutMan.view" />';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
const columnNames = [];
const iso8583DataTypes = [{id:'NUMERIC',name:'[ISO8583] NUMERIC'}, {id:'ALPHA',name:'[ISO8583] ALPHA'}, {id:'DATE10',name:'[ISO8583] DATE10'}, {id:'DATE4',name:'[ISO8583] DATE4'}
, {id:'DATE_EXP',name:'[ISO8583] DATE_EXP'}, {id:'TIME',name:'[ISO8583] TIME'}, {id:'AMOUNT',name:'[ISO8583] AMOUNT'}, {id:'LLVAR',name:'[ISO8583] LLVAR'}
, {id:'LLLVAR',name:'[ISO8583] LLLVAR'}, {id:'LLLLVAR',name:'[ISO8583] LLLLVAR'}, {id:'BINARY',name:'[ISO8583] BINARY'}, {id:'LLBIN',name:'[ISO8583] LLBIN'}
, {id:'LLLBIN',name:'[ISO8583] LLLBIN'}];
const basicDataTypes = [{id:'BigDecimal',name:'BigDecimal'},{id:'String',name:'String'}];
function gridRenderingInit() {
$('#effectGrid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ '<%=localeMessage.getString("layoutMan.layoutMapCd")%>',
'<%=localeMessage.getString("layoutMan.chgMapCdSvrDvCd")%>',
'<%=localeMessage.getString("layoutMan.ifSvcCd")%>',
'<%=localeMessage.getString("layoutMan.ifSvcCdSvrDvCd")%>',
'<%=localeMessage.getString("layoutMan.ifSvcDesc")%>',
'SRC/TGT'
],
colModel : [ { name : 'CNVSNNAME' , align : 'center' , width:'100'},
{ name : 'TRANSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCNAME' , align : 'center' , width:'100'},
{ name : 'EAISVCSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCDESC' , align : 'left' },
{ name : 'SOURCRSULTDSTCD' , align : 'left' , width:'80'}
],
jsonReader : {
root : "rows2",
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : "80",
autowidth : true,
viewrecords : true,
ondblClickRow : function(rowId) {
}
});
resizeJqGridWidth('effectGrid','content_middle','1000');
$('#grid').children().remove();
const itemTypes = ['Field', 'Grid', 'Group', 'Attr'];
columns = [ // for columnData prop
{ title: '<%= localeMessage.getString("layoutMan.itmeEn") %>', name: 'loutItemName', type: 'text', width:280, resize:true, minWidth:120 },
{ title: '<%= localeMessage.getString("layoutMan.itemDesc") %>', name: 'loutItemDesc', type: 'text', width:280, resize:true, minWidth:120 },
{ title: '<%=localeMessage.getString("standardLayout.itemLevel")%>', name: 'loutItemDepth', type: 'text', width:50 },
{ title: '<%= localeMessage.getString("standardLayout.itemType") %>', name: 'loutItemType', type: 'autocomplete', source: itemTypes, width:70 },
{ title: '<%= localeMessage.getString("standardLayout.arraySize") %>', name: 'loutItemOccCnt', type: 'text', width:90 },
{ title: '<%= localeMessage.getString("standardLayout.refField") %>', name: 'loutItemOccRef', type: 'text', width:90 },
{ title: '<%=localeMessage.getString("layoutMan.dataType")%>', name: 'loutItemDataType', type: 'autocomplete', source: basicDataTypes, width:160 },
{ title: '<%=localeMessage.getString("layoutMan.dataLen")%>', name: 'loutItemLength', type: 'numeric', width: 70, align: 'center' },
{ title: '<%=localeMessage.getString("layoutMan.decpLen")%>', name: 'loutItemDecimal', type: 'text', width: 70 },
{ title: '<%=localeMessage.getString("layoutMan.defaultVal")%>', name: 'loutItemDefault', type: 'text', width: 70 },
{ title: '<%=localeMessage.getString("layoutMan.mask")%>', name: 'loutItemMaskYn', type: 'checkbox', width: 70 },
{ title: '<%=localeMessage.getString("layoutMan.moffset")%>', name: 'loutItemMaskOffset', type: 'text', width: 50 },
{ title: '<%=localeMessage.getString("layoutMan.mLength")%>', name: 'loutItemMaskLength', type: 'text', width: 50 }
];
for (let i = 0; i < columns.length; i++) {
columnNames[i] = columns[i].name;
}
grid = JexcelEactiveCustom(document.getElementById('grid'), {
data: [[]],
columns: columns,
rowResize: false,
rowDrag: true,
columnResize: true,
columnDrag: false,
columnSorting: false,
defaultColAlign : 'center',
autoIncrement: false,
loadingSpin : true,
allowInsertColumn: false,
allowInsertOnTab: true,
allowDeleteColumn : false,
allowRenameColumn : false,
tableOverflow:false,
tableHeight: 2500,
contextMenu: jexelContextMenu,
updateTable: jexcelUpdateTableByOutCommHdr,
onload : jexcelOnload,
// onbeforechange : jexcelOnBeforeChange,
onbeforepaste: jexcelOnBeforePaste,
oneditionend : jexcelOnEditionEnd,
});
grid.eaAutoResize('content_middle');
<%--+ '<img id="btn_item_delete" onClick="itemDel()" style="margin-right:5px; vertical-align:middle;" src="<c:url value="/images/bt/bt_item_delete.gif"/>" />'--%>
<%--+ '<img id="btn_meta" onClick="getAllMetaData()" style="margin-right:5px; vertical-align:middle;" src="<c:url value="/images/bt/bt_meta.gif"/>" />' --%>
toolbarHtml='<button type="button" class="cssbtn smallBtn" id="btn_item_add" onClick="itemAdd()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">add</i><%= localeMessage.getString("common.itemAdd") %></button>'
+'<button type="button" class="cssbtn smallBtn" id="btn_item_delete" onClick="itemDel()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">delete</i><%= localeMessage.getString("common.itemRemove") %></button>'
+'<br/>';
$('#grid').children().first().before(toolbarHtml);
}
function jexcelUpdateTableByOutCommHdr(instance, cell, col, row, val, label, cellName) {
if (grid == undefined) {
return;
}
var outCommHdrId = grid.getEaCellValue(row, 'OUTCOMMHDRID');
if ($.trim(outCommHdrId) != '') {
cell.classList.add('readonly');
cell.classList.add('ui-state-focus');
}
jexcelUpdateTable(instance, cell, col, row, val, label, cellName);
}
function migCellValue(columnName, dataKey, dataArray, targetArray){
const index = columnNames.indexOf(columnName);
var value = dataArray[dataKey];
if(columnName === 'loutItemMaskYn'){
value = value == 'Y' ? 'true' : 'false';
}
targetArray[index] = value;
}
function setDataToGrid(layoutData){
if(layoutData != null && layoutData.rows && layoutData.rows.length > 1){
const gridData = [];
for (let i = 1; i < layoutData.rows.length; i++) {
const row = layoutData.rows[i];
const values = [];
columnNames.forEach(columnName => {
migCellValue(columnName, columnName, row, values);
})
gridData[i - 1] = values;
}
grid.setData(gridData);
}
}
function setDataTotalLen(){
const itemLenIndex = columnNames.indexOf('loutItemLength');
const dataLengthArray = grid.getColumnData(itemLenIndex);
var totalLen = 0;
dataLengthArray.forEach(function(dataLength){
totalLen += Number.parseInt(dataLength);
});
$('#dataTotalLen').text(totalLen);
}
function detail(key) {
if (!isDetail) {
return
};
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'DETAIL', loutName: key},
success: function (json) {
console.log(json);
var data = json.detail;
$("input[name=loutName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
var key = name.toUpperCase();
$(tag+"[name="+name+"]").val(data[key]);
});
var rows2 = json.rows2;
for(var i=0; i<rows2.length; i++){
var tranSevrCd = rows2[i]['TRANSEVRDSTCD'];
var eaiSvcSevrCd = rows2[i]['EAISVCSEVRDSTCD'];
for(var j=0; j<sevrArr.length; j++){
var sevrCd = sevrArr[j]['CODE'];
if(tranSevrCd==sevrCd){
rows2[i]['TRANSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
if(eaiSvcSevrCd==sevrCd){
rows2[i]['EAISVCSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
}
}
$("#effectGrid")[0].addJSONData(json);
setDataToGrid(json);
setDataTotalLen();
$("select[name=loutPtrnName]").change();
},
error: function (e) {
alert(e.responseText);
}
});
}
async function detailCombo(){
try {
let json = await $.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'LIST_DETAIL_COMBO'}
});
new makeOptions("CODE", "NAME").setObj($("select[name=eaiBzwkDstcd]")).setData(json.bizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=loutPtrnName]")).setData(json.typeList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=eaiSevrDstcd]")).setData(json.eaiSevrCdRows).setFormat(codeName3OptionFormat).rendering();
sevrArr = json.eaiSevrCdRows;
} catch (e) {
alert(e.responseText);
}
}
async function init(key) {
if(isPop){
$(".content_top").css('display', 'none');
$(".content_middle").css('margin-top', '0px');
$("#btn_previous").html('<i class="material-icons">close</i> 닫기');
$('#effectGridRow').hide()
$('#dataTotalLenRow').hide()
$('#titleRow').hide()
}
await detailCombo();
gridRenderingInit();
detail(key);
initDialog();
buttonControl(isDetail);
}
$(document).ready(function () {
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
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")%>");
if(isPop == "true"){
window.close();
const layout ="${param.loutName}";
const layoutPartName ="${param.layoutPartName}";
window.parent.postMessage({cmd:'DELETE', type: 'layout', layout, layoutPartName});
}else{
goNav(returnUrl);
}
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
if(isPop == "true") {
window.close();
} else {
goNav(returnUrl);//LIST로 이동
}
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',loutName:$("input[name=loutName]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
postData.forEach((element) => {
if(element.name === 'useYn'){
if (element.value === null || element.value .trim() === "") {
element.value = "1";
}
}
} );
var gridData = new Array();
if (grid) {
var data = grid.getData();
for ( var i = 0; i < data.length; i++) {
const row = data[i];
const inputRow = {checkMetadata: 'Y',
loutItemDefault: '',
loutItemMaskYn: 'false',
loutItemOccCnt: '0',
loutItemOccRef: ''};
for (let j = 0; j < row.length; j++) {
const columnName = columnNames[j];
const value = String(row[j]);
inputRow[columnName] = value;
}
const depth = Number(inputRow['loutItemDepth']);
if(depth == 0){
inputRow['loutItemDepth'] = 1;
}
inputRow['loutItemMaskYn'] = inputRow['loutItemMaskYn'] === 'true' ? 'Y' : 'N';
const index = String(i+1);
inputRow['loutItemSerno'] = index;
gridData.push(inputRow);
}
}
postData.push({
name : "layoutItems",
value : JSON.stringify(gridData)
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.saveMsg")%>");
if(isPop == "true"){
window.close();
} else {
goNav(returnUrl);
}
},
error:function(e){
alert(e.responseText);
}
});
});
$("select[name=loutPtrnName]").change(function(){
const index = columnNames.indexOf('loutItemDataType');
if($(this).val() == 'ISO8583'){
grid.options.columns[index].source = iso8583DataTypes;
}else{
grid.options.columns[index].source = basicDataTypes;
}
grid.updateTable();
});
var key = "${param.loutName}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key);
});
function closeAddRowDialog(){
$( '#add_row_dialog' ).dialog("close");
}
function addNewRow(){
var cnt = $("input[name=add_row_count]").val();
if(cnt == "" || cnt == undefined) return;
const ncnt = Number(cnt);
if (grid.getJson().length == 0){
const ncnt = Number(cnt) -1;
grid.setData([{}]);
if (ncnt !=0){
grid.insertRow(ncnt);
}
}else{
const ncnt = Number(cnt);
grid.insertRow(ncnt);
}
$( '#add_row_dialog' ).dialog("close");
closeAddRowDialog();
}
function initDialog(){
$( '#add_row_dialog' ).dialog({
resizable: false,
autoOpen: false,
height: "auto",
width: 400,
modal: true,
buttons: {
"Add": function() {
addNewRow();
},
Cancel: function() {
closeAddRowDialog();
}
}
});
$("input[name=add_row_count]").keydown(function(key){
if (key.keyCode == 13){
addNewRow();
}
});
}
function itemAdd(){
grid.resetSelection();
$("input[name=add_row_count]").val("");
$( '#add_row_dialog' ).dialog("open");
}
</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_initialize" level="R" status="DETAIL"><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></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_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="W" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
</div>
<div class="title"><%=localeMessage.getString("layoutMan.titleDetail")%>
</div>
<form id="ajaxForm">
<div id="titleRow" class="table_row_title"><%=localeMessage.getString("layoutMan.titleDetail2")%></div>
<table class="table_row">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.layoutCd")%>
</th>
<td><input type="text" name="loutName"/></td>
<th><%=localeMessage.getString("layoutMan.layoutDesc")%>
</th>
<td><input type="text" name="loutDesc"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%>
</th>
<td>
<div class="select-style"><select name="loutPtrnName"></select></div>
</td>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.bzwkdstcdName")%>
</th>
<td>
<div class="select-style"><select name="eaiBzwkDstcd"></select></div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.sevrDstCd")%>
</th>
<td>
<div class="select-style">
<select name="eaiSevrDstcd"></select>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%>
</th>
<td>
<div class="select-style">
<select name="useYn"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.verInfo")%></th>
<td colspan="3">
<input type="text" name="verInfo" readonly/>
</td>
</tr>
</table>
</form>
<div id="effectGridRow">
<div class="table_row_title"><%=localeMessage.getString("layoutMan.rowTitle")%> <span style="font-size:12px;">=><%=localeMessage.getString("layoutMan.rowSpan")%> </span></div>
<table id="effectGrid"></table>
</div>
<div style="margin-top:15px;">
<div class="table_row_title" style="display: inline;margin-bottom: -8px;"><%=localeMessage.getString("layoutMan.rowTitle2")%></div>
</div>
<div id = "gridDiv">
<div id="grid"></div>
</div>
<table id="dataTotalLenRow" class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.dataTotLen")%></th>
<td id="dataTotalLen" > </td>
</tr>
</table>
</div><!-- end content_middle -->
<div id="add_row_dialog" title="<%=localeMessage.getString("standardLayout.appendRow")%>">
<%=localeMessage.getString("common.countAppendRow")%> : <input type="text" name="add_row_count" style="width:30px" /><%=localeMessage.getString("layout.count")%>
</div>
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,371 @@
<%@ 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");
%>
<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 isPop = "${param.pop}";
var isDetail = false;
var lastSelIdx;
var lastrow;
var url ='<c:url value="/onl/admin/rule/layoutMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/layoutMan.view" />';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
function init(key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=eaiBzwkDstcd]")).setData(json.bizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=loutPtrnName]")).setData(json.typeList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstcd]")).setData(json.eaiSevrCdRows).setFormat(codeName3OptionFormat).rendering();
sevrArr = json.eaiSevrCdRows;
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', loutName : key},
success:function(json){
var data = json.detail;
$("input[name=loutName]").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()]);
});
var rows2 = json.rows2;
for(var i=0; i<rows2.length; i++){
var tranSevrCd = rows2[i]['TRANSEVRDSTCD'];
var eaiSvcSevrCd = rows2[i]['EAISVCSEVRDSTCD'];
for(var j=0; j<sevrArr.length; j++){
var sevrCd = sevrArr[j]['CODE'];
if(tranSevrCd==sevrCd){
rows2[i]['TRANSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
if(eaiSvcSevrCd==sevrCd){
rows2[i]['EAISVCSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
}
}
$("#grid")[0].addJSONData(json);
$("#tree")[0].addJSONData(json);
var TOTAL = {};
var ids = $("#tree").jqGrid('getDataIDs');
for (var i =0; i< ids.length; i++){
var rowId = ids[i];
//var rowData = $('#tree').jqGrid('getRowData', rowId);
var parent = $('#tree').jqGrid('getCell', ids[i],'parent');
var cnt = parseInt($('#tree').jqGrid('getCell', ids[i],'LOUTITEMLENCNT'));
if(TOTAL[parent] == "undefined" || isNaN(TOTAL[parent]) ) TOTAL[parent] = "0";
TOTAL[parent] = parseInt(TOTAL[parent]) + cnt + "" ;
}
for (var i =0; i< ids.length; i++){
var rowId = ids[i];
//var rowData = $('#tree').jqGrid('getRowData', rowId);
var occurTimes = $('#tree').jqGrid('getCell', rowId,'LOUTITEMMAXOCCURNOITM'); //rowData.LOUTITEMMAXOCCURNOITM;
var refInfo = $('#tree').jqGrid('getCell', rowId,'LOUTITEMREFINFO2'); //rowData.LOUTITEMREFINFO2;
var datatype = $('#tree').jqGrid('getCell', rowId,'LOUTITEMPTRNIDDESC'); //rowData.LOUTITEMPTRNIDDESC;
var id = $('#tree').jqGrid('getCell', rowId,'id'); //rowData.id;
if( datatype == "UNKNOWN" ){
switch(Number(occurTimes)){
case 0 : break;
case 1: break;
case -1:
occurTimes = $('#tree').jqGrid('getCell', ids[i-1],'LOUTITEMMAXOCCURNOITM');
TOTAL[id] = TOTAL[id]+ "*" +refInfo;
break;
default :
occurTimes = occurTimes; //rowData.LOUTITEMMAXOCCURNOITM;
TOTAL[id] = TOTAL[id]+ "*" +occurTimes;
break;
}
}
}
var totalData="";
var totVal1 = 0;
var totVal2 = "";
var strVal = "";
for (var index in TOTAL){
if(TOTAL[index].indexOf("*") == -1 ){
totVal1 = totVal1 + parseInt(TOTAL[index]);
}else{
try{
totVal2 = (totVal2==""?"":(totVal2+"+"))+ eval(TOTAL[index]);
}catch (e){
strVal = (strVal==""?"":(strVal+"+")) + TOTAL[index];
}
}
}
totalData = totVal1+ (totVal2==""?"":(" + "+totVal2));
totalData = totVal1+ (totVal2==""?"":eval(totVal2));
if(strVal != "") totalData = totalData + "+" + strVal;
$('#dataTotalLen').text(totalData);
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var key ="${param.loutName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("select[name=loutPtrnName]").attr("disabled","disabled");
$("select[name=eaiBzwkDstcd]").attr("disabled","disabled");
$("select[name=eaiSevrDstcd]").attr("disabled","disabled");
$("select[name=useYn]").attr("disabled","disabled");
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ '전문레이아웃변환매핑코드',
'변환매핑코드 서버구분코드',
'IF서비스코드',
'IF서비스코드 서버구분코드',
'IF서비스설명',
'SRC/TGT'
],
colModel : [
{ name : 'CNVSNNAME' , align : 'center' , width:'100'},
{ name : 'TRANSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCNAME' , align : 'center' , width:'100'},
{ name : 'EAISVCSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCDESC' , align : 'left' },
{ name : 'SOURCRSULTDSTCD' , align : 'left' , width:'50'}
],
jsonReader : {
root : "rows2",
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : "80",
autowidth : true,
viewrecords : true,
ondblClickRow : function(rowId) {
}
});
$('#tree').jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
//colNames: ["번호","항목명(영문)","항목설명","최대발생건수","참조정보","테이타타입","테이터길이","소수점길이","레이아웃명","ID","PARENT"],
colNames: [
'<%=localeMessage.getString("layoutMan.num")%>',
'<%=localeMessage.getString("layoutMan.itmeEn")%>',
'<%=localeMessage.getString("layoutMan.itemDesc")%>',
'<%=localeMessage.getString("layoutMan.maxOccCnt")%>',
'<%=localeMessage.getString("layoutMan.refInfo")%>',
'<%=localeMessage.getString("layoutMan.dataType")%>',
'<%=localeMessage.getString("layoutMan.dataLen")%>',
'<%=localeMessage.getString("layoutMan.decpLen")%>',
'<%=localeMessage.getString("layoutMan.multilang")%>',
'<%=localeMessage.getString("layoutMan.layoutName")%>',
"ID",
"PARENT"
],
colModel: [
{name: "LOUTITEMSERNO" , width:"30"},
{name: "LOUTITEMNAME" , width:"250"},
{name: "LOUTITEMDESC" },
{name: "LOUTITEMMAXOCCURNOITM" , width:"60"},
{name: "LOUTITEMREFINFO2" , width:"150"},
{name: "LOUTITEMPTRNIDDESC" , width:"60"},
{name: "LOUTITEMLENCNT" , width:"60" ,align : 'right'},
{name: "DECPTLENCNT" , width:"60" ,align : 'right'},
{name: "MULTILANG" , width:"60" , align : 'center'},
{name: "LOUTNAME" ,hidden:true },
{name: "id" ,hidden:true},
{name: "parent" ,hidden:true }
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"480",
rowNum: 10000,
autowidth : true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow : function(rowId) {
/*
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var url = '<c:url value="/onl/admin/rule/layoutMan.view" />';
url = url + '?cmd=DETAIL_ITEM';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&' + getSearchUrl();
//key값
url = url + '&loutName='+key;
url = url + '&loutItemName='+key;
url = url + '&loutItemSerno='+key;
goNav(url);
*/
}
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',loutName:$("input[name=loutName]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#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
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#tree"),$("#ajaxForm"),$("select[name=loutName]").val());
return false;
});
buttonControl(isDetail);
//titleControl(isDetail);
setBtnHide(roleString, "admin", "btn_initialize");
$('body').css('overflow-x','hidden');
});
</script>
<style>
#btn_excel {
cursor:pointer
}
</style>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R" status="DETAIL,NEW"/>
</div>
<div class="title" style="margin-bottom: 5px;">레이아웃 상세</div>
<form id="ajaxForm">
<div class="table_row_title" style="margin-bottom: 5px;"><%=localeMessage.getString("layoutMan.titleDetail2")%></div>
<table class="table_row" cellspacing="0" style="margin-bottom: 5px;">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
<td><input type="text" name="loutName"/> </td>
<th><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
<td><input type="text" name="loutDesc" readonly/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
<td><div class="select-style"><select name="loutPtrnName"></select></div></td>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.bzwkdstcdName")%></th>
<td><div class="select-style"><select name="eaiBzwkDstcd"></select></div></td>
</tr>
<tr >
<th>서버구분코드</th>
<td>
<div class = "select-style">
<select name="eaiSevrDstcd"></select>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class = "select-style">
<select name="useYn"></select>
</div>
</td>
</tr>
</table>
<div class="table_row_title" style="margin-bottom: 5px;">전문레이아웃 영향도 <span style="font-size:12px;">=> 현재 전문레이아웃을 사용하고 있는 매핑정보를 표시합니다.</span></div>
<table id="grid"></table>
<div>
<div class="table_row_title" style="display:inline-block;margin-bottom: 5px;">전문레이아웃 항목 정보</div>
<img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL" style="display: inline;width: 70px;top: 6px;position: relative;"/>
</div>
<table id="tree"></table>
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:20%;">데이터 총길이</th>
<td id="dataTotalLen" > </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
<iframe name=excelDown width=0 height=0></iframe>
</body>
</html>
@@ -0,0 +1,213 @@
<%@ 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"%>
<%@ 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 type="text/css">
.img_pointer { cursor:pointer; }
.ui-common-table { width: 100% !important; }
.ui-jqgrid .ui-jqgrid-hbox { padding-right: 0px !important; }
</style>
<script type="text/javascript">
$(document).ready(function() {
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ '파일명', '자원설명', '버전', '반입일시', 'SRCID'],
colModel : [
{ name: 'FILENM' , align: 'left' },
{ name: 'DESC' , align: 'left' , width: '400' },
{ name: 'VERSION' , align: 'center' , width: '50' },
{ name: 'MODIFYDT' , align: 'center' , width: '80' },
{ name: 'SRCID' , hidden: 'true' }],
jsonReader : {
root : "cmList",
repeatitems : false
},
height : "200",
autowidth: true,
multiselect: true,
multiboxonly: true,
loadComplete: function(data) {
$('#hRepKey').val(data.repKey);
$('#hGroupCoCd').val(data.groupCoCd);
},
loadError: function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {}
}
}
});
// ComboBox 세팅
initSelBzwkDstcd();
$('#btn_operate').click(onclickOperate);
$('#btn_search').click(onclickBtnSearch);
$("#btn_close").click(function(){
window.close();
});
});
function initSelBzwkDstcd() {
$.ajax({
type: "POST",
dataType:"json",
url: '<c:url value="/onl/admin/rule/layoutMan.json"/>',
data: { 'cmd': 'LIST_CODE' },
success:function(json){
if (json.codeList == null || json.codeList.length == 0) {
return;
}
for (var i=0; i<json.codeList.length; i++) {
var item = json.codeList[i];
$('#selBzwkDstcd').append('<option value="'+ jQuery.trim(item.EAIBZWKDSTCD) +'">'+ item.EAIBZWKDSTCD + ' - '+ item.BZWKDSTICNAME +'</option>');
}
},
error:function(xhr){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(xhr.responseText);
}
}
}
});
}
function onclickBtnSearch() {
if ($('#selBzwkDstcd').val() == '') {
alert('업무구분코드를 선택해 주세요.');
return;
}
var params = {};
params['cmd'] = 'LIST_SRC';
params['eaiBzwkDstCd'] = $('#selBzwkDstcd').val();
params['repType'] = $('#selRepType').val();
params['schType'] = $('#selSchType').val();
params['desc'] = $('#txtDesc').val();
$("#grid").setGridParam({
'postData': params,
'url': '<c:url value="/onl/admin/rule/layoutMan.json"/>'
}).trigger("reloadGrid");
}
function onclickOperate() {
if ($('#selBzwkDstcd').val() == '') {
alert('업무구분코드를 선택해 주세요.');
return;
}
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
if (sel.length == 0) {
alert('하나의 자료를 선택 해주세요.');
return;
}
var arrSrcId = [];
var arrVersion = [];
var arrFileName = [];
$(sel).each(function(index, i) {
arrSrcId.push($('#grid').getCell(i, 'SRCID'));
arrVersion.push($('#grid').getCell(i, 'VERSION'));
arrFileName.push($('#grid').getCell(i, 'FILENM'));
});
var params = new Object();
params['cmd'] = 'TRANSACTION_CMDOWN';
params['eaiBzwkDstCd'] = $('#selBzwkDstcd').val();
params['srcIds'] = arrSrcId.join(',');
params['versions'] = arrVersion.join(',');
params['fileNames'] = arrFileName.join(',');
$.ajax({
type: "POST",
dataType:"json",
url: '<c:url value="/onl/admin/rule/layoutMan.json"/>',
data: params,
success:function(json){
if (json.fileList == null || json.fileList.length == 0) {
return;
}
var value = {
'ExcelNames': json.fileList.join(',')
};
window.returnValue = value;
window.close();
},
error:function(xhr){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(xhr.responseText);
}
}
}
});
}
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img src="<c:url value="/img/btn_operate.png"/>" alt="" id="btn_operate" level="R" 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">형상연동 입출력항목(송수신항목)설계서 선택</div>
<form id="ajaxForm">
<input type="hidden" id="hRepKey" name="hRepKey" />
<input type="hidden" id="hGroupCoCd" name="hGroupCoCd" />
<table class="table_row" cellspacing="0">
<tbody>
<tr>
<th style="width:20%;">업무구분코드</th>
<td colspan="3">
<select id="selBzwkDstcd">
<option value="">선택하지 않음</option>
</select>
</td>
</tr>
<tr>
<th>형상저장소</th>
<td>
<select id="selRepType">
<option value="M">유지보수</option>
<option value="D">개발</option>
</select>
</td>
<th>조회조건</th>
<td>
<select id="selSchType">
<option value="N">자료명</option>
<option value="T">태그명</option>
</select>
</td>
</tr>
<tr>
<th>검색명</th>
<td colspan="3">
<div>
<input type="text" id="txtDesc" name="txtDesc" style="width:386px;" />&nbsp;
<img id="btn_search" src="<c:url value="/images/bt/bt_search.gif"/>" alt="검색" class="img_pointer">
</div>
</td>
</tr>
</tbody>
</table>
<table id="grid"></table>
</form>
</div>
</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"%>
<%@ 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 loutName = window.dialogArguments["loutName"];
var url = '<c:url value="/onl/admin/rule/layoutMan.json"/>';
$(document).ready(function() {
$('input[name=searchLoutName]').val(loutName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : { cmd : 'LIST_POP'
, searchEaiBzwkDstcd : $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%= localeMessage.getString("layManPop.bizClaCd")%>',
'<%= localeMessage.getString("layManPop.bizClaNm")%>',
'<%= localeMessage.getString("layManPop.tlgLayCd")%>',
'<%= localeMessage.getString("layManPop.tlgLayDesc")%>',
'<%= localeMessage.getString("layManPop.tlgLayTpNm")%>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left', sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'LOUTNAME' , align:'left' },
{ name : 'LOUTDESC' , align:'left' },
{ name : 'LOUTPTRNNAME' , 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 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()%>/';
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var loutDesc = rowData['LOUTDESC'];
var retData=new Object() ;
retData['key'] = key;
retData['loutDesc'] = loutDesc;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_POP"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> --%>
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/> --%>
<button type="button" class="cssbtn" id="btn_search" level="R"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%= localeMessage.getString("layManPop.title")%></div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("layManPop.bizClaCd")%></th>
<td style="width:30%;">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:20%;"><%= localeMessage.getString("layManPop.tlgLayCd")%></th>
<td style="width:30%;">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("layManPop.tlgLayDesc")%></th>
<td colspan="3"><input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}"></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,128 @@
<%@ 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="/onl/admin/rule/layoutTypeMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/layoutTypeMan.view" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'},
colNames:['<%= localeMessage.getString("layoutType.type") %>',
'<%= localeMessage.getString("layoutType.desc") %>',
'<%= localeMessage.getString("layoutType.class") %>'
],
colModel:[
{ name : 'LOUTPTRNNAME' , align:'left' , width:'65px', sortable:false },
{ name : 'LOUTPTRNDESC' , align:'left' },
{ name : 'MSGLOUTCRETNCLSNAME' , 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 key = rowData['LOUTPTRNNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
//key값
url2 += '&loutPtrnName='+key;
goNav(url2);
},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");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
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_initialize" level="W" ><i class="material-icons">restart_alt</i><%= localeMessage.getString("button.reset") %></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_initialize.png"/>" alt="" id="btn_initialize" 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("layoutType.title") %><span class="tooltip"><%= localeMessage.getString("layoutType.tooltip") %></span></div>
<table id="grid" ></table>
<div id="pager"></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="/onl/admin/rule/layoutTypeMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/layoutTypeMan.view" />';
var isDetail = false;
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', loutPtrnName : key},
success:function(json){
var data = json;
$("input[name=loutPtrnName]").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.loutPtrnName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
if ( confirm( '<%=localeMessage.getString("common.checkModify")%>' ) != true ) return;
}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"});
$.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">
<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("layoutTypeDetail.title") %><span class="tooltip"><%= localeMessage.getString("layoutTypeDetail.tooltip") %></span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("layoutTypeDetail.type") %></th><td width="80%"><input type="text" name="loutPtrnName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("layoutTypeDetail.class") %></th><td><input type="text" name="msgLoutCretnClsName"/></td>
</tr>
<tr height="100px">
<th><%= localeMessage.getString("layoutTypeDetail.typeDesc") %></th><td><textarea name="loutPtrnDesc" style="width:100%;height:100px"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,139 @@
<%@ 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" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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="/onl/admin/rule/rollingSuffixMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/rollingSuffixMan.view"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
function init (){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'FIND_CURRENT_COMMITID'},
success:function(response){
$('#currentCommitId').text(response.commitId);
},
error: function(xhr, status, error) {
console.log("Ajax Error: " + error);
console.log("Status: " + status);
console.log("Response Text: " + xhr.responseText);
}
});
}
function formatDate(jsonDate) {
var date = new Date(
jsonDate[0],
jsonDate[1] - 1,
jsonDate[2],
jsonDate[3],
jsonDate[4],
jsonDate[5],
Math.floor(jsonDate[6] / 1000000) // Convert nanoseconds to milliseconds
);
function pad(number, length) {
return number.toString().padStart(length, '0');
}
var formattedDate = date.getFullYear() + '-' +
pad(date.getMonth() + 1, 2) + '-' +
pad(date.getDate(), 2) + ' ' +
pad(date.getHours(), 2) + ':' +
pad(date.getMinutes(), 2) + ':' +
pad(date.getSeconds(), 2) + ' ' +
pad(date.getMilliseconds(), 3);
return formattedDate;
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['ID',
'Commit ID',
'등록일시',
'Table Suffix'
],
colModel:[
{ name : 'id', align:'left' ,sortable:false },
{ name : 'commitId', align:'left' },
{ name : 'createdDate', align:'left', formatter: formatDate },
{ name : 'suffix', 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)
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
});
</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="title">버전관리 이력조회<span class="tooltip">버전관리 이력조회</span></div>
<div style="font-size: 24px">Current CommitId : <span style="font-weight: bold;color:#d43f3a;" id="currentCommitId"></span></div>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,233 @@
<%@ 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" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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="/onl/admin/rule/standardLayoutHistoryMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/standardLayoutHistoryMan.view"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
function timeFormatter (cellvalue, options, rowObject){
const dateFormat = new Date(cellvalue);
return dateFormat.toLocaleString();
}
function operationTypeFormatter (cellvalue, options, rowObject){
switch(cellvalue){
case 'NEW': return '<%= localeMessage.getString("standardLayoutHistory.operationDescNew") %>';
case 'MODIFY': return '<%= localeMessage.getString("standardLayoutHistory.operationDescModify") %>';
case 'DEPLOY': return '<%= localeMessage.getString("standardLayoutHistory.operationDescDeploy") %>';
case 'DELETE': return '<%= localeMessage.getString("standardLayoutHistory.operationDescDelete") %>';
default: return cellvalue;
}
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:[
'NO',
'<%= localeMessage.getString("standardLayout.layoutName") %>',
'<%= localeMessage.getString("standardLayout.layoutDesc") %>',
'<%= localeMessage.getString("standardLayoutHistory.operationType") %>',
'<%= localeMessage.getString("standardLayoutHistory.operatorName") %>',
'<%= localeMessage.getString("standardLayoutHistory.operationDatetime") %>'
],
colModel:[
{ name: 'operationSeq', align: 'center', width: "15" },
{ name: 'layoutName', align: 'center', sortable: false },
{ name: 'layoutDesc', align: 'left' },
{ name: 'operationType', align: 'center', width: "40", formatter: operationTypeFormatter },
{ name: 'operatorName', align: 'center', width: "40" },
{ name: 'operationDatetime', align: 'center', width: "60", formatter: timeFormatter}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: false,
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});
}
},
loadComplete:function (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var operationSeq = rowData['operationSeq'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&operationSeq='+operationSeq;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).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="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("standardLayoutHistory.title") %><span class="tooltip"><%= localeMessage.getString("standardLayoutHistory.toolbar") %></span></div>
<!--
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
<td width="25%">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.bzwkdstcd")%></th>
<td width="25%">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
<td width="20%">
<input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.sevrDstCd")%></th>
<td>
<div class="select-style">
<select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}"/>
</div>
</td>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
<td>
<div class="select-style">
<select name="searchLayoutTypeName" value="${param.searchLayoutTypeName}"/>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="searchUseYn" value="${param.searchUseYn}"/>
</div>
</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,240 @@
<%@ 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");
%>
<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>
.jexcel tbody {
font-size: 13px;
}
</style>
<script language="javascript" >
var isPop = "${param.pop}";
var isDetail = false;
var url ='<c:url value="/onl/admin/rule/standardLayoutHistoryMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/standardLayoutHistoryMan.view" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
let userId = '<%=SessionManager.getUserId(request) %>';
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
let operationType ;
let grid;
function detail(operationSeq){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', operationSeq: operationSeq},
success:function(json){
var data = json.detail;
$("input[name=loutName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var key = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
// var key = name.toUpperCase();
let value = data[key];
if(key == 'operationDatetime'){
const dateFormat = new Date(value);
value = dateFormat.toLocaleString();
}else if(key == 'operationType'){
operationType = value;
switch(value){
case 'NEW': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescNew") %>'; break;
case 'MODIFY': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescModify") %>'; break;
case 'DEPLOY': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescDeploy") %>'; break;
case 'DELETE': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescDelete") %>'; break;
}
}
$(tag+"[name="+key+"]").val(value);
});
if(operationType != 'DELETE') {
initializeEditGrid(json);
}else{
$('#labelEditGrid').hide();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function initializeEditGrid(layoutData){
const itemTypes = [{id:2, name:'Field'}, {id:3, name:'Group'}, {id:4, name:'Grid'}, {id:5, name:'Field Array'}, {id:9, name:'Biz Data'}];
const fieldTypes = [{id:1, name:'Element'}, {id:2, name:'Attribute'}];
const dataTypes = [{id:1, name:'String'}, {id:2, name:'Number'},{id:11, name:'ZZ String'}, {id:12, name:'LL Number'}];
columns = [ // for columnData prop
{
title: '<%= localeMessage.getString("standardLayout.itemName") %>',
name: 'itemName',
type: 'text',
width: 230,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.itemDesc") %>',
name: 'itemDesc',
type: 'text',
width: 230,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.itemLevel") %>',
name: 'itemLevel',
type: 'text',
width: 60,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.itemType") %>',
name: 'itemType',
type: 'dropdown',
source: itemTypes,
width: 80,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.arraySize") %>',
name: 'arraySize',
type: 'text',
width: 60,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.fieldType") %>',
name: 'fieldType',
type: 'dropdown',
source: fieldTypes,
width: 100,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.dataLength") %>',
name: 'dataLength',
type: 'numeric',
width: 70,
align: 'center',
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.dataType") %>',
name: 'dataType',
type: 'dropdown',
source: dataTypes,
width: 100,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.refFieldPath") %>',
name: 'refFieldPath',
type: 'text',
align: 'left',
width: 180,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.refValue") %>',
name: 'refValue',
type: 'text',
align: 'left',
width: 80,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.defaultValue") %>',
name: 'defaultValue',
type: 'text',
align: 'left',
width: 180,
readOnly:true
}
];
grid = defaultEditGrid($('#editGrid'), columns, null, 'itemLevel', layoutData.rows);
}
$(document).ready(function() {
var operationSeq ="${param.operationSeq}";
if (operationSeq != "" && operationSeq !="null"){
isDetail = true;
}
detail(operationSeq);
$("#btn_previous").click(function(){
if(isPop == "true")
window.close();
else
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
//titleControl(isDetail);
setBtnHide(roleString, "admin", "btn_initialize");
setBtnHide(roleString, "admin", "btn_modify");
$('body').css("overflow-x","hidden");
});
</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 id="content_middle" 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><!%-- 이전화면 -->
</div>
<div class="title"><%= localeMessage.getString("standardLayoutHistory.title") %></div>
<form id="ajaxForm">
<div class="table_row_title" style="display: inline;margin-bottom: -8px;"><%= localeMessage.getString("standardLayout.subTitle1") %></div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutName") %></th>
<td style="width:15%; min-width: 200px;"><input type="text" name="layoutName" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutDesc") %></th>
<td colspan="5"><input type="text" name="layoutDesc" readonly="true"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("standardLayoutHistory.operationSeq") %></th>
<td><input type="text" name="operationSeq" readonly="true"/> </td>
<th><%= localeMessage.getString("standardLayoutHistory.operationType") %></th>
<td><input type="text" name="operationType" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayoutHistory.operatorName") %></th>
<td><input type="text" name="operatorName" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayoutHistory.operationDatetime") %></th>
<td><input type="text" name="operationDatetime" readonly="true"/> </td>
</tr>
</table>
<div id="labelEditGrid" class="table_row_title" style="display: inline;"><%= localeMessage.getString("standardLayout.subTitle2") %></div>
<div id="editGrid"></div>
</form>
</form>
</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.*"%>
<%@ 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" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
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="/onl/admin/rule/standardLayoutMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/standardLayoutMan.view"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
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;
}
function init (){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'GET_DEPLOY'},
success:function(json){
if(json == null || Object.keys(json).length === 0 || json.layoutName == null || json.layoutName.length == 0){
$('#deployLayoutName').text('<%= localeMessage.getString("standardLayout.message3") %>');
} else {
$('#deployLayoutName').text(json.layoutName);
$('#deployLayoutDesc').text('(' + json.layoutDesc + ')');
}
},
error:function(e){
console.log(e);
}
});
}
function timeFormatter (cellvalue, options, rowObject){
const dateFormat = new Date(cellvalue);
return dateFormat.toLocaleString();
}
$(document).ready(function() {
init();
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%= localeMessage.getString("standardLayout.layoutName") %>',
'<%= localeMessage.getString("standardLayout.layoutDesc") %>',
'<%= localeMessage.getString("standardLayout.writerName") %>',
'<%= localeMessage.getString("user.createOn") %>',
'<%= localeMessage.getString("user.updateOn") %>'
],
colModel:[
{ name: 'layoutName', align: 'center', sortable: false },
{ name: 'layoutDesc', align: 'left' },
{ name: 'writerName', align: 'left', width: "60" },
{ name: 'createDatetime', align: 'left', width: "60"},
{ name: 'updateDatetime', align: 'left', width: "60"}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: false,
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});
}
},
loadComplete:function (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var layoutName = rowData['layoutName'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&layoutName='+layoutName;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
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 url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=1';
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("#btn_initialize").click(function(){
var id = "grid";
var chkArr = 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")){
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['layoutName']);
chkcnt++;
}
}
if(chkcnt == 0){
if(confirm("레이아웃이 선택되지 않았습니다. 전체 초기화 하겠습니까?")){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}
return false;
}else{
if(confirm("초기화 하시겠습니까?")){
var postData = [];
postData.push({ name: "cmd" , value:"LIST_INITIALIZE"});
postData.push({ name: "chkItems" , value : chkArr});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
}
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$("#btn_delete").click(function(){
// var id = "grid";
// var delArr = 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")){
// var rowObject = $("#grid").getRowData(ids[i]);
// delArr.push(rowObject['LOUTNAME']);
// chkcnt++;
// }
// }
const selRowId = $("#grid").getGridParam( "selrow" );
if(selRowId == null){
alert("<%= localeMessage.getString("standardLayout.message4") %>");
return false;
}
const rowSelectData = $("#grid").getRowData( selRowId );
const targetName = rowSelectData["layoutName"];
if(confirm(targetName + " <%= localeMessage.getString("common.confirmMsg")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "layoutName" , value: targetName});
postData.push({ name: "layoutDesc" , value: targetName});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert(targetName + " <%=localeMessage.getString("common.deleteMsg")%>");
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
buttonControl();
setBtnHide(roleString, "admin", "btn_download");
setBtnHide(roleString, "admin", "btn_initialize");
setBtnControl(roleString, "admin,dept_developer", "btn_import");
//setBtnControl(roleString, "admin", "btn_cmsave");
if(!devSvr){
$("#btn_cmsave").hide();
}
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if(chkcnt == 0){
alert('<%= localeMessage.getString("standardLayout.message5") %>');
return false;
}
//var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var validEAIBzwkDstCd = 'NONE';
var loutNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var loutName = $('#grid').getCell(sel[i], 'LOUTNAME');
if(loutName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("<%= localeMessage.getString("standardLayout.message6") %>".formatLocale(loutName));
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
loutNames = loutName;
} else {
loutNames += ',' + loutName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('<%= localeMessage.getString("standardLayout.message7") %>');
return;
}
}
}
var url2 = url_view;
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
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;
addCMResource(validEAIBzwkDstCd, args.returnValue, loutNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, loutNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, loutNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['loutNames'] = loutNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</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 id="btn_import" src="<c:url value="/img/btn_import.png"/>" level="W" />&nbsp; --%>
<!-- img id="btn_cmsave" src="<c:url value="/img/btn_cmsave.png"/>" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_initialize" src="<c:url value="/img/btn_initialize.png"/>" alt="" level="W" />--%>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL,NEW"><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_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" status="DETAIL,NEW"/>--%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />--%>
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" alt="" level="R" />--%>
</div>
<div class="title"><%= localeMessage.getString("standardLayout.title1") %><span class="tooltip"><%= localeMessage.getString("standardLayout.tooltip") %></span></div>
<div style="font-size: 24px"><%= localeMessage.getString("standardLayout.currentStandardLayout") %> : <span style="font-weight: bold;color:#d43f3a;" id="deployLayoutName"></span><span style="color:#8a6d3b" id="deployLayoutDesc"></span></div>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,440 @@
<%@ 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");
%>
<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>
.jexcel tbody {
font-size: 13px;
}
</style>
<script language="javascript" >
var isPop = "${param.pop}";
var isDetail = false;
var url ='<c:url value="/onl/admin/rule/standardLayoutMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/standardLayoutMan.view" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
let userId = '<%=SessionManager.getUserId(request) %>';
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
let grid;
let columnNames = [];
function detail(layoutName){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', layoutName: layoutName},
success:function(json){
var data = json.detail;
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
// var key = name.toUpperCase();
var key = name;
let value = data[key];
// if(key == 'createDatetime' || key == 'updateDatetime'){
// $(tag+"[name="+name+"]").attr('timestamp', value);
// const dateFormat = new Date(value);
// value = dateFormat.toLocaleString();
// }
$(tag+"[name="+name+"]").val(value);
});
initializeEditGrid(json);
// setDataTotalLen();
},
error:function(e){
alert(e.responseText);
}
});
}
function initializeEditGrid(layoutData){
const itemTypes = [{id:2, name:'Field'}, {id:3, name:'Group'}, {id:4, name:'Grid'}, {id:5, name:'Field Array'}, {id:9, name:'Biz Data'}];
const fieldTypes = [{id:1, name:'Element'}, {id:2, name:'Attribute'}];
const dataTypes = [{id:1, name:'String'}, {id:2, name:'Number'},{id:11, name:'ZZ String'}, {id:12, name:'LL Number'}];
let columns = [ // for columnData prop
{
title: '<%= localeMessage.getString("standardLayout.itemName") %>',
name: 'itemName',
type: 'text',
width: 200,
},
{
title: '<%= localeMessage.getString("standardLayout.itemDesc") %>',
name: 'itemDesc',
type: 'text',
width: 260,
align: 'left'
},
{
title: '<%= localeMessage.getString("standardLayout.itemLevel") %>',
name: 'itemLevel',
type: 'text',
width: 60,
},
{
title: '<%= localeMessage.getString("standardLayout.itemType") %>',
name: 'itemType',
type: 'dropdown',
source: itemTypes,
width: 80,
},
{
title: '<%= localeMessage.getString("standardLayout.arraySize") %>',
name: 'arraySize',
type: 'text',
width: 60,
},
{
title: '<%= localeMessage.getString("standardLayout.fieldType") %>',
name: 'fieldType',
type: 'dropdown',
source: fieldTypes,
width: 100,
},
{
title: '<%= localeMessage.getString("standardLayout.dataLength") %>',
name: 'dataLength',
type: 'numeric',
width: 70,
align: 'center',
},
{
title: '<%= localeMessage.getString("standardLayout.dataType") %>',
name: 'dataType',
type: 'dropdown',
source: dataTypes,
width: 100,
},
{
title: '<%= localeMessage.getString("standardLayout.refFieldPath") %>',
name: 'refFieldPath',
type: 'text',
align: 'left',
width: 180,
},
{
title: '<%= localeMessage.getString("standardLayout.refValue") %>',
name: 'refValue',
type: 'text',
align: 'left',
width: 80,
},
{
title: '<%= localeMessage.getString("standardLayout.defaultValue") %>',
name: 'defaultValue',
type: 'text',
align: 'left',
width: 180,
}
];
const toolbarHtml='<button type="button" class="cssbtn smallBtn" id="btn_item_add" onClick="itemAdd()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">add</i><%= localeMessage.getString("common.itemAdd") %></button>'
+ '<button type="button" class="cssbtn smallBtn" id="btn_item_delete" onClick="itemDel()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">delete</i><%= localeMessage.getString("common.itemRemove") %></button>'
+'<br/>';
for (let i = 0; i < columns.length; i++) {
columnNames[i] = columns[i].name;
}
grid = defaultEditGrid($('#editGrid'), columns, toolbarHtml, 'itemLevel', layoutData.rows);
initDialog();
}
function itemDel(){
const selectionRows = grid.getSelectedRows();
if(selectionRows){
const idx = selectionRows[0].rowIndex - 1;
const len = selectionRows.length;
grid.deleteRow(idx, len);
}
}
function closeAddRowDialog(){
$( '#add_row_dialog' ).dialog("close");
}
function addNewRow(){
var cnt = $("input[name=add_row_count]").val();
if(cnt == "" || cnt == undefined) return;
const ncnt = Number(cnt);
if (grid.getJson().length == 0){
const ncnt = Number(cnt) -1;
grid.setData([{}]);
if (ncnt !=0){
grid.insertRow(ncnt);
}
}else{
const ncnt = Number(cnt);
grid.insertRow(ncnt);
}
$( '#add_row_dialog' ).dialog("close");
closeAddRowDialog();
}
function initDialog(){
$( '#add_row_dialog' ).dialog({
resizable: false,
autoOpen: false,
height: "auto",
width: 400,
modal: true,
buttons: {
"Add": function() {
addNewRow();
},
Cancel: function() {
closeAddRowDialog();
}
}
});
$("input[name=add_row_count]").keydown(function(key){
if (key.keyCode == 13){
addNewRow();
}
});
}
function itemAdd(){
grid.resetSelection();
$("input[name=add_row_count]").val("");
$( '#add_row_dialog' ).dialog("open");
}
$(document).ready(function() {
var layoutName ="${param.layoutName}";
if (layoutName != "" && layoutName !="null"){
isDetail = true;
$("input[name=layoutName]").attr('readonly',true);
}else{
$("#btn_deploy").hide();
}
//신규
if(!layoutName){
$('#writerName').val(userId);
initializeEditGrid({rows:[]});
}else {
detail(layoutName);
}
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
for ( var i = 0; i < postData.length; i++) {
var field = postData[i];
if(field.name == 'createDatetime' || field.name == 'updateDatetime'){
field.value = $("input[name="+field.name+"]").attr('timestamp');
}
}
var data = grid.getData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
const row = data[i];
const inputRow = {};
for (let j = 0; j < row.length; j++) {
const columnName = columnNames[j];
let value = String(row[j]);
if(value == null || value == ''){
switch (columnName){
case 'itemLevel': value = '1'; break;
case 'itemType': value = '2'; break;
case 'arraySize': value = '1'; break;
case 'fieldType': value = '1'; break;
case 'dataLength': value = '0'; break;
case 'dataType': value = '1'; break;
}
}
if(value == ''){
value = null;
}
inputRow[columnName] = value
}
const index = String(i+1);
inputRow['itemKey'] = { layoutName, itemNo: index};
gridData.push(inputRow);
}
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
$.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_deploy").click(function(){
if(confirm("<%= localeMessage.getString("standardLayout.message1") %>".formatLocale($("input[name=layoutName]").val()))){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DEPLOY"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("standardLayout.message2") %>".formatLocale($("input[name=layoutName]").val()));
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
});
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
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);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
if(isPop == "true")
window.close();
else
goNav(returnUrl);//LIST로 이동
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',layoutName:$("input[name=layoutName]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#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
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#tree"),$("#ajaxForm2"),$("input[name=layoutName]").val());
return false;
});
buttonControl(isDetail);
//titleControl(isDetail);
setBtnHide(roleString, "admin", "btn_initialize");
setBtnHide(roleString, "admin", "btn_modify");
$('body').css("overflow-x","hidden");
});
</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 id="content_middle" class="content_middle">
<div class="search_wrap">
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" 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="R" status="DETAIL,NEW"/>--%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>--%>
<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" ><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button><!-- 수정 -->
<button type="button" class="cssbtn" id="btn_deploy" level="W" status="DETAIL" ><i class="material-icons">system_update_alt</i> <%= localeMessage.getString("button.deploy") %></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><!%-- 이전화면 -->
</div>
<div class="title"><%= localeMessage.getString("standardLayout.title") %></div>
<form id="ajaxForm">
<div class="table_row_title" style="display: inline;margin-bottom: -8px;"><%= localeMessage.getString("standardLayout.subTitle1") %></div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutName") %></th>
<td style="width:25%; min-width: 200px;"><input type="text" name="layoutName"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutDesc") %></th>
<td colspan="3"><input type="text" name="layoutDesc"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("standardLayout.writerName") %></th>
<td><input type="text" id="writerName" name="writerName" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.createDatetime") %></th>
<td><input type="text" name="createDatetime" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.updateDatetime") %></th>
<td><input type="text" name="updateDatetime" readonly="true"/> </td>
</tr>
</table>
<div class="table_row_title" style="display: inline;"><%= localeMessage.getString("standardLayout.subTitle2") %></div>
<div id="editGrid"></div>
</form>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<div id="add_row_dialog" title="<%= localeMessage.getString("standardLayout.appendRow") %>">
<%= localeMessage.getString("common.countAppendRow") %> : <input type="text" name="add_row_count" style="width:30px" />
</div>
</body>
</html>
@@ -0,0 +1,552 @@
<%@ 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" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.context.MonitoringContext"%>
<%@ page import="com.eactive.eai.rms.common.util.CommonUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
MonitoringContext monitoringContext = (MonitoringContext)CommonUtil.getBean(request, "monitoringContext");
String deployYnStr = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_YN_BY_RMS, "N");
boolean deployYn = "Y".equalsIgnoreCase(deployYnStr);
String adminOnlyYnStr = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_YN_BY_ADMIN_ONLY, "Y");
boolean adminOnly = "Y".equalsIgnoreCase(adminOnlyYnStr);
%>
<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="/onl/admin/rule/transform2/transform2Man.json" />';
var url_view = '<c:url value="/onl/admin/rule/transform2/transform2Man.view" />';
var url_excel= '<c:url value="/onl/admin/rule/transform2/transform2Man.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var stageSvr = <%=SystemUtil.isStagingServer()%>;
var adminOnly = <%=adminOnly%>;
$(document).ready(function() {
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : postData,
colNames:[
'<%=localeMessage.getString("transformMan.eaibzwkdstcd")%>',
'<%=localeMessage.getString("transformMan.telCngMappCd")%>',
'<%=localeMessage.getString("transformMan.telCngMappDesc")%>',
'<%=localeMessage.getString("transformMan.ifSvcCd")%>',
'<%=localeMessage.getString("transformMan.ifSvcDesc")%>',
'<%=localeMessage.getString("transformMan.eaiSvrDiv")%>',
'<%= localeMessage.getString("combo.useYn")%> ',
'<%=localeMessage.getString("transformMan.modifyDate")%>',
'<%=localeMessage.getString("transformMan.verInfo")%>',
'cnvsnType',
'flag'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' ,sortable:false , width:"30"},
{ name : 'CNVSNNAME' , align:'left' , width:"100" },
{ name : 'CNVSNDESC' , align:'left' , width:"100" },
{ name : 'EAISVCNAME' , align:'left' , width:"70" },
{ name : 'EAISVCDESC' , align:'left' , width:"100"},
{ name : 'EAISEVRDSTCD' , hidden : true },
{ name : 'USEYN', align:'center', width:30 ,editoptions:{value:"0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"}, formatter:"select"},
{ name : 'LASTAMNDHMS' , align:'center' , width : "60" },
{ name : 'VERINFO' , align:'center' , width : "30" },
{ name : 'CNVSNTYPE' , hidden : true },
{ name : 'FLAG' , hidden : true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
// height : '500',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
//toppager: true,
rowList : eval('[${rmsDefaultRowList}]'),
multiselect: true,
multiboxonly: false,
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 (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var cnvsnName = rowData['CNVSNNAME'];
var eaiSvcName = rowData['EAISVCNAME'];
var eaiSvcDesc = rowData['EAISVCDESC'];
var cnvsnDesc = rowData['CNVSNDESC'];
var eaiSevrDStcd = rowData['EAISEVRDSTCD'];
var useYn = rowData['USEYN'];
var verInfo = rowData['VERINFO'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&cnvsnName='+cnvsnName;
url2 += '&eaiSvcName='+eaiSvcName;
//url2 += '&eaiSvcDesc='+eaiSvcDesc;
url2 += '&eaiSvcDesc='+encodeURIComponent(eaiSvcDesc);
url2 += '&cnvsnDesc='+cnvsnDesc;
url2 += '&eaiSevrDStcd='+eaiSevrDStcd;
url2 += '&useYn='+useYn;
url2 += '&verInfo='+verInfo;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
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 url2 = url_view;
url2 += '?cmd=NEW';
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();
}
});
$("#btn_initialize").click(function(){
var id = "grid";
var chkArr = 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")){
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['CNVSNNAME']);
chkcnt++;
}
}
if(chkcnt == 0){
if(confirm("변환매핑코드가 선택되지 않았습니다. 전체 초기화 하겠습니까?")){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}
return false;
}else{
if(confirm("<%=localeMessage.getString("eaiMessage.confirm2")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"LIST_INITIALIZE"});
postData.push({ name: "chkItems" , value : chkArr});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$('#btn_clone').click(onclickBtnClone);
$("#btn_delete").click(function(){
var id = "grid";
var cnvsnNameArr = new Array();
var eaiSvcNameArr = new Array();
var cnvsnTypeArr = 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")){
var rowObject = $("#grid").getRowData(ids[i]);
cnvsnNameArr.push(rowObject['CNVSNNAME']);
eaiSvcNameArr.push(rowObject['EAISVCNAME']);
cnvsnTypeArr.push(rowObject['CNVSNTYPE']);
chkcnt++;
}
}
if(chkcnt == 0){
alert("<%= localeMessage.getString("standardLayout.message4") %>");
return false;
}
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"DELETE_LIST"});
postData.push({ name: "cnvsnNames" , value : cnvsnNameArr});
postData.push({ name: "eaiSvcNames" , value : eaiSvcNameArr});
postData.push({ name: "cnvsnTypes" , value : cnvsnTypeArr});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
alert(json.message);
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
$("#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"),'transform');
return false;
});
buttonControl();
setBtnHide(roleString, "admin", "btn_initialize");
if(devSvr || stageSvr){
if (adminOnly) {
setBtnHide(roleString, "admin", "btn_clone");
}
}else{
$("#btn_clone").hide();
}
//setBtnControl(roleString, "admin", "btn_cmsave");
//if(!devSvr){
// $("#btn_cmsave").hide();
//}
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if (chkcnt == 0) {
alert('먼저 다운로드할 데이터를 체크해 주세요.');
return;
}
var validEAIBzwkDstCd = 'NONE';
var cnvsnNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var cnvsnName = $('#grid').getCell(sel[i], 'CNVSNNAME');
if(cnvsnName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("EAI 표준오류 변환매핑은 업무 CM 대상이 아닙니다.["+cnvsnName+"]");
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
cnvsnNames = cnvsnName;
} else {
cnvsnNames += ','+ cnvsnName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
return;
}
}
}
var url2 = '<c:url value="/onl/admin/rule/layoutMan.view"/>';
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
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;
addCMResource(validEAIBzwkDstCd, args.returnValue, cnvsnNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, cnvsnNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, cnvsnNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['cnvsnNames'] = cnvsnNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
function onclickBtnClone() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
if (sel.length == 0) {
alert('<%= localeMessage.getString("eaiMessage.alert17")%>');
return;
}
var selectedTransformNames = [];
$(sel).each(function(index, i) {
var cnvsnName = $('#grid').getCell(i, 'CNVSNNAME');
selectedTransformNames.push(cnvsnName);
});
var url2 = url_view;
url2 += "?cmd=POPUP CALENDAR";
var args = new Object();
args['selectedCnvsnName'] = selectedTransformNames.join(',');
showModal(url2,args,540,270, 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;
deployTransforms(args.returnValue);
});
}
function deployTransforms(ret) {
var params = ret;
params['cmd'] = 'CLONETOPROD';
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
list($("#grid").getGridParam("page"));
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</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">
<% if (SystemUtil.isDevServer() && deployYn) { %>
<button type="button" class="cssbtn" id="btn_clone" level="W"><i class="material-icons">move_up</i> <%= localeMessage.getString("button.copyStage") %></button>
<% } else if (SystemUtil.isStagingServer() && deployYn) { %>
<button type="button" class="cssbtn" id="btn_clone" level="W"><i class="material-icons">move_up</i> <%= localeMessage.getString("button.copyProd") %></button>
<% } %>
<button type="button" class="cssbtn" id="btn_excel" level="W" status="DETAIL"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL,NEW"><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_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<!-- img src="<c:url value="/img/btn_cmsave.png"/>" id="btn_cmsave" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
<%-- <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("transformMan.title")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltip")%></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappCd")%> </th>
<td>
<input type="text" name="searchCnvsnName" value="${param.searchCnvsnName}">
</td>
<th style="width:180px;"><%=localeMessage.getString("transformMan.eaibzwkdstcd")%> </th>
<td>
<input type="text" name="searchBizCode" value="${param.searchBizCode}">
</td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappDesc")%> </th>
<td>
<input type="text" name="searchCnvsnDesc" value="${param.searchCnvsnDesc}">
</td>
<th style="width:180px;"><%=localeMessage.getString("transformMan.ifSvcCd")%> </th>
<td>
<input type="text" name="searchIfSvcCd" value="${param.searchIfSvcCd}">
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,133 @@
<%@ 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 cnvsnName = "${param.cnvsnName}";
var tgt_layout = "${param.tgt_layout}"
var src_layout = "${param.src_layout}"
var url ='<c:url value="/onl/admin/rule/transformMan.json" />';
function messageFormater(cellvalue, options, rowObject){
var srcFlag = rowObject["SRCEXIST"];
var tgtFlag = rowObject["TGTEXIST"];
var message = "";
if(srcFlag!="O"){
message = "변환명령의 경로와 소스레이아웃의 경로가 다릅니다.";
}
if(tgtFlag!="O"){
message += "변환결과 항목경로와 타겟레이아웃의 경로가 다릅니다.";
}
return message;
}
$(document).ready(function() {
$("input[name=cnvsnName]").val(cnvsnName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : { cmd : 'DETAIL_POP'
, cnvsnName : cnvsnName
, tgt_layout : tgt_layout
, src_layout : src_layout
},
colNames:[
'변환결과 항목경로명',
'변환명령',
'항목 기본값',
'항목 일련번호',
'타겟Flag',
'소스Flag',
'<%=localeMessage.getString("tranManDtPop.errMsg")%>'
],
colModel:[
{ name : 'CNVSNRSULTITEMPATHNAME' , align:'left' },
{ name : 'CNVSNCMDNAME' , align:'left' },
{ name : 'CNVSNITEMBASCVAL' , align:'left' ,width : '30'},
{ name : 'CNVSNITEMSERNO' , align:'right' ,width : '30' },
{ name : 'TGTEXIST' , hidden:true },
{ name : 'SRCEXIST' , hidden:true },
{ name : 'MESSAGE' ,formatter :messageFormater , width : '80'}
],
jsonReader : {
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var tgtVal = $("#grid").getCell(rows[i],'TGTEXIST');
var srcVal = $("#grid").getCell(rows[i],'SRCEXIST');
if(tgtVal !="O" || srcVal !="O"){
$("#"+rows[i]).find("td").css("background-color","#FFCC99");
}
}
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()%>/';
}
},
ondblClickRow: function(rowId) {
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_close").click(function(){
window.close();
});
$("body").css("overflow-x","hidden");
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/>
</div>
<div class="title">변환매핑항목 상세</div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:180px;">변환매핑 코드</th>
<td>
<input type="text" name="cnvsnName" readonly>
</td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,143 @@
<%@ 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 loutName = window.dialogArguments["loutName"];
var url ='<c:url value="/onl/admin/rule/transform2/transform2Man.json" />';
$(document).ready(function() {
$('input[name=searchLoutName]').val(loutName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : '<c:url value="/onl/admin/rule/transform2/transform2Man.json" />',
postData : { cmd : 'LIST_LAYOUT'
, searchEaiBzwkDstcd : $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%=localeMessage.getString("tran2ManLay.bizClaCd")%>',
'<%=localeMessage.getString("tran2ManLay.bizClaNm")%>',
'<%=localeMessage.getString("tran2ManLay.msgLayCd")%>',
'<%=localeMessage.getString("tran2ManLay.msgLayDesc")%>',
'<%=localeMessage.getString("tran2ManLay.msgLayTpNm")%>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' , width:'60' , sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' , width:'100' },
{ name : 'LOUTNAME' , align:'left' , width:'160' },
{ name : 'LOUTDESC' , align:'left'},
{ name : 'LOUTPTRNNAME' , align:'center' , width:'70' }
],
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 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()%>/';
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var loutDesc = rowData['LOUTDESC'];
var retData=new Object() ;
retData['key'] = key;
retData['loutDesc'] = loutDesc;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_LAYOUT"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<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>
<button type="button" class="cssbtn" id="btn_close" level="R" ><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> --%>
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/> --%>
</div>
<div class="title"><%=localeMessage.getString("tran2ManLay.title")%></div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;"><%=localeMessage.getString("tran2ManLay.bizClaCd")%></th>
<td style="width:30%;">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:20%;"><%=localeMessage.getString("tran2ManLay.msgLayCd")%></th>
<td style="width:30%;">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("tran2ManLay.msgLayDesc")%></th>
<td colspan="3"><input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}"></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,207 @@
<%@ 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");
%>
<%
%>
<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 $ = jQuery.noConflict();
var bzwkDstCd = "";
var returnUrl = getReturnUrlForReturn();
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
function init(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_EAISVCNAME_COMBO'},
success:function(json){
var cnvsnTypeData = json.cnvsnTypeRows;
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnType]")).setData(cnvsnTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstcd]")).setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
$("input[name=eaiSvcName]").focus();
var url ='<c:url value="/onl/admin/rule/transform2/transform2Man.json" />';
init(url);
$("#btn_regist").click(function(){
if(!$("input[name='eaiSvcName']").val()){
alert("<%=localeMessage.getString("transformMan.alert1")%>");
return;
}
var postData = $('#ajaxForm').serializeArray();
$("select[name=eaiSevrDstcd]").attr("disabled",false);
var eaiSevrDstcd = $("select[name=eaiSevrDstcd]").val();
// 서버구분코드 없고, role이 admin일때 서버구분코드 9로 셋팅
if((eaiSevrDstcd=='' || eaiSevrDstcd ==null) && roleString=='admin'){
eaiSevrDstcd = '9';
}
postData.push({ name: "cmd" , value:"INSERT"},{name : "eaiSevrDstcd", value : eaiSevrDstcd},{name : "verInfo", value : "00000"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.saveMsg")%>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
}
});
});
$("#btn_search").click(function(){
var key = "";
var args = new Object();
args['eaiSvcName'] = $('input[name=eaiSvcName]').val();
var url='<c:url value="/onl/transaction/extnl/interfaceMan.view"/>';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1020,630, 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;
console.log("ret",ret);
key = ret['key'];
$("input[name=eaiSvcName]").val(key);
$("input[name=eaiSvcDesc]").val(ret['eaiSvcDesc']);
bzwkDstCd = ret['eaiBzwkDstCd'];
$("input[name=eaiSvcName]").change();
//$("select[name=eaiSevrDstcd]").val(ret['eaiSevrDstcd']);
//$("select[name=eaiSevrDstcd]").attr("disabled",true);
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("input[name=eaiSvcName],select[name=cnvsnType]").change(function(){
var eaiSvcName = $("input[name=eaiSvcName]").val();
var idx = eaiSvcName.length;
eaiSvcName = eaiSvcName.substring(0,idx-2);
var str = "TRANSFORM_"+bzwkDstCd.trim()+"_"+eaiSvcName+"_"+$("select[name=cnvsnType]").val();
$("input[name=cnvsnName]").val(str);
var str2 = $("input[name=eaiSvcDesc]").val();
$("textarea[name=cnvsnDesc]").val(str2);
});
$("input[name=eaiSvcName]").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">
<button type="button" class="cssbtn" id="btn_regist" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></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_regist.png"/>" alt="" id="btn_regist" 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("transformMan.titleNew")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltipNew")%></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:14%; min-width:130px;"><%=localeMessage.getString("transformMan.ifSvcCd")%> </th>
<td style="width:31%;">
<input type="text" name="eaiSvcName" style="width:60%;" readonly> <!-- <img id="btn_search" src="<c:url value="/img/btn_pop_search.png" />" level="R" class="btn_img" /> -->
<button type="button" class="cssbtn smallBtn2" id="btn_search" style="vertical-align:middle; font-weight:bold;" level="R"><i class="material-icons">search</i><%= localeMessage.getString("button.search") %></button>
</td>
<th style="width:14%; min-width:130px;"><%=localeMessage.getString("transformMan.ifSvcDesc")%></th>
<td style="width:41%;">
<input type="text" name="eaiSvcDesc" readOnly>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.eaiSvrDiv")%></th>
<td>
<div class="select-style">
<select name="eaiSevrDstcd" />
</div>
</td>
<th style="width:13%; min-width:130px;"><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="useYn" />
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.cnvsnType")%></th>
<td>
<div class="select-style">
<select name="cnvsnType" />
</div>
</td>
<th><%=localeMessage.getString("transformMan.telCngMappCd")%></th>
<td><input type="text" name="cnvsnName" readonly="readonly"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.cnvsnDesc")%></th><td colspan="3"><textarea name="cnvsnDesc" style="width:100%;height:50px"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,87 @@
<%@ 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 type="text/css">
.img_pointer { cursor:pointer; }
</style>
<script type="text/javascript">
var cnvsnNames = window.dialogArguments['selectedCnvsnName'];
$(document).ready(function() {
$("input[name=cmDate]").inputmask("yyyy-mm-dd",{'autoUnmask':true}).val(getToday());
$("input[name=cmTime]").inputmask("hh:mm:ss",{'autoUnmask':true}).val('10:00:00');
$('#btn_operate').click(operate);
$("#btn_close").click(function(){
window.close();
});
});
function operate() {
if (jQuery.trim($(':text[name=cmTitle]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.name")%>');
return;
}
if (jQuery.trim($(':text[name=cmDate]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.cmDate")%>');
return;
}
if (jQuery.trim($(':text[name=cmTime]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.cmTime")%>');
return;
}
if (!confirm('<%=localeMessage.getString("ruleDeploy.confirm.mappings")%>')) {
return;
}
var value = {
'CmTitle': $(':text[name=cmTitle]').val(),
'CmDate': $(':text[name=cmDate]').val(),
'CmTime': $(':text[name=cmTime]').val(),
'ListTransformName': cnvsnNames
}
window.returnValue = value;
window.close();
}
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_operate" level="W" status="DETAIL,NEW" style="min-width:75px;"><i class="material-icons">play_circle</i> <%= localeMessage.getString("button.execute") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R" status="DETAIL,NEW" style="min-width:75px;"><i class="material-icons">close</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%=localeMessage.getString("ruleDeploy.title.mappings")%></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:32%;"><%=localeMessage.getString("ruleDeploy.cmTitle")%></th>
<td><input type="text" name="cmTitle"/></td>
</tr>
<tr>
<th style="width:32%;"><%=localeMessage.getString("ruleDeploy.cmDate")%></th>
<td><input type="text" name="cmDate"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("ruleDeploy.cmTime")%></th>
<td><input type="text" name="cmTime"/></td>
</tr>
</table>
<small>* <%=localeMessage.getString("ruleDeploy.msg1")%></small><br>
<small>* <%=localeMessage.getString("ruleDeploy.msg3")%></small>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -0,0 +1,172 @@
<%@ 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="/onl/admin/rule/transformFuncMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/transformFuncMan.view" />';
var select_CNVSNFUNTNRETUNPTRNIDNAME = new Array();
var select_CNVSNFUNTNPTRNIDNAME = new Array();
function init( callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
select_CNVSNFUNTNRETUNPTRNIDNAME['value'] = ": ;"+getGridSelectText("CODE","NAME",json.returnTypeList);
select_CNVSNFUNTNPTRNIDNAME['value'] = ": ;"+getGridSelectText("CODE","NAME",json.typeList);
//debugger;
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("transformFunc.func") %>',
'<%= localeMessage.getString("transformFunc.funcRefType") %>',
'<%= localeMessage.getString("transformFunc.funcClass") %>',
'<%= localeMessage.getString("transformFunc.funcType") %>'
],
colModel:[
{ name : 'CNVSNFUNTNNAME' , align:'left' ,width:75 ,sortable:false },
{ name : 'CNVSNFUNTNRETUNPTRNIDNAME' , align:'left' ,width:50 , edittype:'select',editoptions:select_CNVSNFUNTNRETUNPTRNIDNAME, formatter:"select"},
{ name : 'CNVSNFUNTNCLSNAME' , align:'left' },
{ name : 'CNVSNFUNTNPTRNIDNAME' , align:'left' ,width:50 , edittype:'select',editoptions:select_CNVSNFUNTNPTRNIDNAME, 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 key = rowData['CNVSNFUNTNNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&cnvsnFuntnName='+encodeURIComponent(key);
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
}
$(document).ready(function() {
init(detail);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=1';
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">
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></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_initialize.png"/>" alt="" id="btn_initialize" 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("transformFunc.title") %><span class="tooltip"><%= localeMessage.getString("transformFunc.tooltip") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("transformFunc.search") %></th>
<td>
<input type="text" name="searchCnvsnFuntnName" value="${param.searchCnvsnFuntnName}">
</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,363 @@
<%@ 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="/onl/admin/rule/transformFuncMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/transformFuncMan.view" />';
var select_CNVSNFUNTNRETUNPTRNIDNAME = new Array();
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+"' />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ 'cnvsnFuntnName'
,'<%= localeMessage.getString("transformFuncDetail.serno") %>'
,'<%= localeMessage.getString("transformFuncDetail.parameter") %>'
,'<%= localeMessage.getString("transformFuncDetail.funcParamType") %>'
,'<%= localeMessage.getString("transformFuncDetail.funcParamDesc") %>' ],
colModel : [
{ name : 'CNVSNFUNTNNAME' , hidden:true },
{ name : 'CNVSNFUNTNPARMSERNO' , align : 'center' ,key:true},
{ name : 'CNVSNFUNTNPARMNAME' , align : 'left', editable : true },
{ name : 'CNVSNFUNTNPARMPTRNIDNAME' , align : 'center',editable:true, edittype:'select',editoptions:select_CNVSNFUNTNRETUNPTRNIDNAME, formatter:"select"/*, unformat : unformatterFunction, formatter : formatterFunction */},
{ name : 'CNVSNFUNTNPARMDESC' , 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'; //정렬 방지
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
height : '500',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'title', '1000');
}
function init( key, callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnFuntnRetunPtrnIdName]")).setData(json.returnTypeList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnFuntnPtrnIdName]")).setData(json.typeList).setFormat(codeName3OptionFormat).rendering();
select_CNVSNFUNTNRETUNPTRNIDNAME['value'] = ": ;"+getGridSelectText("CODE","NAME",json.returnTypeList);
gridRendering();
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',
cnvsnFuntnName : key
},
success : function(json) {
var data = json.parameters;
var detail = json;
$("input[name=cnvsnFuntnName]").attr('readonly', true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
if(detail != null)
$(tag+"[name="+name+"]").val(detail[name.toUpperCase()]);
});
$("#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 key = "${param.cnvsnFuntnName}";
if (key != "" && key != "null") {
isDetail = true;
key = decodeURIComponent(key);
}
init( key, detail);
$("#btn_modify").click(function() {
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 : "parameters",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
if ( confirm( '<%=localeMessage.getString("common.checkModify")%>' ) != true ) return;
$.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() {
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_new").click(function() {
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
var data = new Object();
var rowid = index + 1;
data['CNVSNFUNTNNAME'] = $("input[name=cnvsnFuntnName]").val();
data['CNVSNFUNTNPARMSERNO'] = rowid;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
$("#grid").saveRow(rowid,false,"clientArray");
});
$("#btn_delete2").click(function() {
var rowId = $("#grid").jqGrid('getGridParam', 'selrow');
if (isNull(rowId)){
alert('삭제할 데이터를 선택해 주세요.!');
return ;
}
$("#grid").jqGrid('delRowData',rowId);
var old = new Array();
var ids = $("#grid").getDataIDs();
for(var i=0;i<ids.length;i++ ){ //남은 갯수
old[i] = $("#grid").getRowData(ids[i]);
}
$("#grid").jqGrid('clearGridData'); //전체삭제
for(var i=0;i<old.length;i++ ){ //재정렬할 갯수
old[i].id = i+1;
old[i].CNVSNFUNTNPARMSERNO = i+1;
$("#grid").addRowData(old[i].id,old[i]);
}
$("#grid").jqGrid('resetSelection');
});
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">
<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("transformFuncDetail.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("transformFuncDetail.func") %></th>
<td><input type="text" name="cnvsnFuntnName" />
</td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.funcRefType") %></th>
<td><div class="select-style"><div class="select-style"><select name="cnvsnFuntnRetunPtrnIdName" /></div></td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.funcType") %></th>
<td><div class="select-style"><div class="select-style"><select name="cnvsnFuntnPtrnIdName" /></div></td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.funcClass") %></th>
<td><input type="text" name="cnvsnFuntnClsName" />
</td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.typeDesc") %></th>
<td><textarea type="text" name="cnvsnFuntnDesc" ></textarea>
</td>
</tr>
</table>
</form>
<div style="position:relative; margin-bottom:15px;">
<div class="table_row_title"><%= localeMessage.getString("transformFuncDetail.subTitle") %></div>
<div style="position:absolute; right:0; top:0;">
<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_delete2" level="W" status="DETAIL,NEW"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<%-- <img id="btn_new" src="<c:url value="/img/btn_new.png" />" level="W" status="DETAIL,NEW" class="btn_img" /> --%>
<%-- <img id="btn_delete2" src="<c:url value="/img/btn_delete.png"/>" level="W" status="DETAIL,NEW" class="btn_img" /> --%>
</div>
</div>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,485 @@
<%@ 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" %>
<%@ 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="/onl/admin/rule/transformMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/transformMan.view" />';
var url_excel= '<c:url value="/onl/admin/rule/transformMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
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;
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'
, searchBizCode : $('input[name=searchBizCode]').val()
, searchCnvsnName : $('input[name=searchCnvsnName]').val()
, searchCnvsnDesc : $('input[name=searchCnvsnDesc]').val()
},
colNames:[
'<%=localeMessage.getString("transformMan.eaibzwkdstcd")%>',
'<%=localeMessage.getString("transformMan.telCngMappCd")%>',
'<%=localeMessage.getString("transformMan.ifSvcCd")%>',
'<%=localeMessage.getString("transformMan.ifSvcDesc")%>',
'<%=localeMessage.getString("transformMan.eaiSvrDiv")%>',
'<%= localeMessage.getString("combo.useYn")%> ',
'<%=localeMessage.getString("transformMan.modifyDate")%>',
'<%=localeMessage.getString("transformMan.verInfo")%>',
'타입',
'flag'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' ,sortable:false , width : "40"},
{ name : 'CNVSNNAME' , align:'left' },
{ name : 'EAISVCNAME' , align:'left' },
{ name : 'EAISVCDESC' , align:'left' },
{ name : 'EAISEVRDSTCD' , hidden : true },
{ name : 'USEYN', align:'center', width:30,editoptions:{value:"0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"}, formatter:"select"},
{ name : 'LASTAMNDHMS' , align:'center' , formatter: dateFormater, width : "70" },
{ name : 'VERINFO' , align:'center' , width : "70" },
{ name : 'CNVSNTYPE' , hidden : true },
{ name : 'FLAG' , hidden : true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
// height : '500',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
//toppager: true,
rowList : eval('[${rmsDefaultRowList}]'),
multiselect: true,
multiboxonly: false,
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 (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var cnvsnName = rowData['CNVSNNAME'];
var eaiSvcName = rowData['EAISVCNAME'];
var eaiSvcDesc = rowData['EAISVCDESC'];
var cnvsnDesc = rowData['CNVSNDESC'];
var eaiSevrDStcd = rowData['EAISEVRDSTCD'];
var useYn = rowData['USEYN'];
var verInfo = rowData['VERINFO'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&cnvsnName='+cnvsnName;
url2 += '&eaiSvcName='+eaiSvcName;
url2 += '&eaiSvcDesc='+eaiSvcDesc;
url2 += '&cnvsnDesc='+cnvsnDesc;
url2 += '&eaiSevrDStcd='+eaiSevrDStcd;
url2 += '&useYn='+useYn;
url2 += '&verInfo='+verInfo;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
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 url2 = url_view;
url2 += '?cmd=NEW';
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();
}
});
$("#btn_initialize").click(function(){
var id = "grid";
var chkArr = 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")){
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['CNVSNNAME']);
chkcnt++;
}
}
if(chkcnt == 0){
if(confirm("변환매핑코드가 선택되지 않았습니다. 전체 초기화 하겠습니까?")){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}
return false;
}else{
if(confirm("초기화 하시겠습니까?")){
var postData = [];
postData.push({ name: "cmd" , value:"LIST_INITIALIZE"});
postData.push({ name: "chkItems" , value : chkArr});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$("#btn_delete").click(function(){
var id = "grid";
var cnvsnNameArr = new Array();
var eaiSvcNameArr = new Array();
var cnvsnTypeArr = 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")){
var rowObject = $("#grid").getRowData(ids[i]);
cnvsnNameArr.push(rowObject['CNVSNNAME']);
eaiSvcNameArr.push(rowObject['EAISVCNAME']);
cnvsnTypeArr.push(rowObject['CNVSNTYPE']);
chkcnt++;
}
}
if(chkcnt == 0){
alert("변환매핑을 선택해 주세요");
return false;
}
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"DELETE_LIST"});
postData.push({ name: "cnvsnNames" , value : cnvsnNameArr});
postData.push({ name: "eaiSvcNames" , value : eaiSvcNameArr});
postData.push({ name: "cnvsnTypes" , value : cnvsnTypeArr});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
alert(json.message);
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
$("#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"),'transform');
return false;
});
buttonControl();
setBtnHide(roleString, "admin", "btn_initialize");
//setBtnControl(roleString, "admin", "btn_cmsave");
if(!devSvr){
$("#btn_cmsave").hide();
}
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if (chkcnt == 0) {
alert('먼저 다운로드할 데이터를 체크해 주세요.');
return;
}
var validEAIBzwkDstCd = 'NONE';
var cnvsnNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var cnvsnName = $('#grid').getCell(sel[i], 'CNVSNNAME');
if(cnvsnName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("EAI 표준오류 변환매핑은 업무 CM 대상이 아닙니다.["+cnvsnName+"]");
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
cnvsnNames = cnvsnName;
} else {
cnvsnNames += ','+ cnvsnName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
return;
}
}
}
var url2 = '<c:url value="/onl/admin/rule/layoutMan.view"/>';
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
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;
addCMResource(validEAIBzwkDstCd, args.returnValue, cnvsnNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, cnvsnNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, cnvsnNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['cnvsnNames'] = cnvsnNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</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" status="DETAIL"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL,NEW"><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_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<!-- img src="<c:url value="/img/btn_cmsave.png"/>" id="btn_cmsave" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
<%-- <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("transformMan.title")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltip")%></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappCd")%> </th>
<td>
<input type="text" name="searchCnvsnName" value="${param.searchCnvsnName}">
</td>
<th style="width:180px;"><%=localeMessage.getString("transformMan.eaibzwkdstcd")%> </th>
<td>
<input type="text" name="searchBizCode" value="${param.searchBizCode}">
</td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappDesc")%> </th>
<td colspan="3">
<input type="text" name="searchCnvsnDesc" value="${param.searchCnvsnDesc}">
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>

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