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,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>