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,349 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*,java.text.*,com.eactive.eai.rms.onl.common.util.*,com.eactive.eai.rms.common.datasource.*,com.eactive.eai.rms.common.util.CommonUtil"%>
<%@ page import="com.eactive.eai.rms.common.context.MonitoringContext"%>
<%@ 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 type="text/javascript">
var url = '<c:url value="/onl/transaction/tracking/cmResultMan.json" />';
var url_view = '<c:url value="/onl/transaction/tracking/cmResultMan.view" />';
var cmPath = "/fscm/iomap/";
var hpPath = "/fslog/eai/iocm";
var resPath = "/fslog/eai/dynamiclog/IoMapLoaderController/";
var pkgArr = new Array();
$(document).ready(function() {
$('#cmgrid').jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames : [
'서버구분코드',
'타입',
'파일명',
'FILEPATH'
],
colModel : [
{ name : 'SVRDSTCD' , align:'left' , width:'200'},
{ name : "TYPE"},
{ name : 'FILENAME' , align:'left' , width:'200'},
{ name : 'FILEPATH' , hidden:true}
],
jsonReader: {
root : "cmList",
repeatitems:false
},
rowNum : 10000,
width: '540',
height: '150',
viewrecords: true,
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
gridComplete:function (d){
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
fileView(rowData.FILENAME, 'cmgrid');
},
onSelectRow : function(rowId){
var rowData = $(this).getRowData(rowId);
$("input[name=cmgridPath]").val(rowData['FILEPATH']);
}
});
//HTTP 전송로그 GRID
$('#hpgrid').jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames : [
'파일명',
'FILEPATH'
],
colModel : [
{ name : 'FILENAME' , align:'left' , width:'200'},
{ name : 'FILEPATH' , hidden:true}
],
jsonReader: {
root : "cmList",
repeatitems:false
},
rowNum : 10000,
width: '530',
height: '150',
viewrecords: true,
loadComplete: function(data) { // JqGrid 조회 후 한번만 실행. (화면 초기 셋팅 사용.)
},
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
gridComplete:function (d){
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
fileView(rowData.FILENAME, 'hpgrid');
},
onSelectRow : function(rowId){
var rowData = $(this).getRowData(rowId);
$("input[name=hpgridPath]").val(rowData['FILEPATH']);
}
});
//결과 로그 GRID
$('#regrid').jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames : [
'파일명',
'FILEPATH'
],
colModel : [
{ name : 'FILENAME' , align:'left' , width:'200'},
{ name : 'FILEPATH' , hidden:true}
],
jsonReader: {
root : "cmList",
repeatitems:false
},
rowNum : 10000,
width: '540',
height: '150',
viewrecords: true,
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
gridComplete:function (d){
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
fileView(rowData.FILENAME, 'regrid');
},
onSelectRow : function(rowId){
var rowData = $(this).getRowData(rowId);
$("input[name=regridPath]").val(rowData['FILEPATH']);
}
});
$("#bzwkDstcd").change(function(){
$("#pkgName").empty();
for(var i=0; i<pkgArr.length; i++){
var val1 = $("#bzwkDstcd").val();
var val2 = pkgArr[i].dir;
var pkgDir = pkgArr[i].pkgDir;
if(val1==val2){
for(var j=0; j<pkgDir.length; j++){
var option = $("<option>"+pkgDir[j]+"</option>");
$("#pkgName").append(option);
}
break;
}
}
});
$("#btn_search").click(function(){
$("input[name=cmgridPath]").val(cmPath);
$("input[name=hpgridPath]").val(hpPath);
$("input[name=regridPath]").val(resPath);
$("textarea[name=cmgrid]").text('');
$("textarea[name=hpgrid]").text('');
$("textarea[name=regrid]").text('');
var cmPathTmp = cmPath + $("#bzwkDstcd").val()+"/";
$("#cmgrid").setGridParam( {url :url ,postData: { cmd : 'LIST', mode: "cmFile", logPath: cmPathTmp, pkgName : $("#pkgName").val() } }).trigger("reloadGrid");
$("#hpgrid").setGridParam( {url :url ,postData: { cmd : 'LIST', mode: "httpLog", logPath: hpPath, pkgName : $("#pkgName").val() } }).trigger("reloadGrid");
$("#regrid").setGridParam( {url :url ,postData: { cmd : 'LIST', mode: "procRes", logPath: resPath, pkgName : $("#pkgName").val() } }).trigger("reloadGrid");
});
init();
buttonControl();
});
function init(){
var postData = new Array();
postData.push({ name: "cmd" , value:"LIST_INIT_COMBO"});
postData.push({ name: "filePath" , value:"/fscm/iomap/"});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data: postData,
success:function(json){
var bzwkDstcd = json.dirList;
for(var i=0; i<bzwkDstcd.length; i++){
var option = $("<option>"+bzwkDstcd[i]+"</option>");
$("select[name=searchBzwkDstcd]").append(option);
}
pkgArr = json.pkgList;
$("#bzwkDstcd").change();
var cmPathTmp = cmPath + $("#bzwkDstcd").val()+"/";
$("#cmgrid").setGridParam( {url :url ,postData: { cmd : 'LIST', mode: "cmFile", logPath: cmPathTmp, pkgName : $("#pkgName").val() } }).trigger("reloadGrid");
$("#hpgrid").setGridParam( {url :url ,postData: { cmd : 'LIST', mode: "httpLog", logPath: hpPath, pkgName : $("#pkgName").val() } }).trigger("reloadGrid");
$("#regrid").setGridParam( {url :url ,postData: { cmd : 'LIST', mode: "procRes", logPath: resPath, pkgName : $("#pkgName").val() } }).trigger("reloadGrid");
},
error:function(e){
alert(e.responseText);
}
});
}
function fileView(f,g){
var logPath = $("input[name="+g+"Path]").val();
var postData = new Array();
postData.push({ name: "cmd" , value:"DETAIL"});
postData.push({ name: "logPath" , value:logPath});
$.ajax({
type : "POST",
url: url,
dataType:"json",
data:postData,
success:function(json){
$("textarea[name="+g+"]").text(json.fileView);
},
error:function(e){
alert(e.responseText);
}
});
}
</script>
<style type="text/css">
.gridtitle { display:block; text-align:left; font-size: 10pt; font-weight: bold; }
</style>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">CM 결과조회</div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">업무코드</th>
<td>
<div class="select-style">
<select id="bzwkDstcd" name = "searchBzwkDstcd"></select>
</div>
</td>
<th style="width:180px;">패키지명</th>
<td>
<div class="select-style">
<select id = "pkgName" name = "searchPkgName"></select>
</div>
</td>
</tr>
</tbody>
</table>
</form>
<div style="font-size:0;">
<div style="display:inline-block; width:calc(34% - 20px); vertical-align:top;">
<div id="grid1" >
<span class="gridtitle">CM 대상파일</span>
<table id="cmgrid" ></table>
</div>
<table class="table_row" style="margin-top:10px;">
<tr>
<th style="width:30px">파일<br>경로</th>
<td><input type="text" name="cmgridPath" value="/fscm/iomap/" readonly></td>
</tr>
<tr>
<th style="width:30px">파일<br>내용</th>
<td><textarea name="cmgrid" style="width:100%;height:400px"></textarea></td>
</tr>
</table>
</div>
<div style="display:inline-block; width:15px;"></div>
<div style="display:inline-block; width:calc(33% - 20px); vertical-align:top;">
<div id="grid2">
<span class="gridtitle">HTTP전송로그</span>
<table id="hpgrid" ></table>
</div>
<table class="table_row" style="margin-top:10px;">
<tr>
<th style="width:30px">파일<br>경로</th>
<td><input type="text" name="hpgridPath" value="/fslog/eai/iocm/" readonly></td>
</tr>
<tr>
<th style="width:30px">파일<br>내용</th>
<td><textarea name="hpgrid" style="width:100%;height:400px"></textarea></td>
</tr>
</table>
</div>
<div style="display:inline-block; width:15px;"></div>
<div style="display:inline-block; width:calc(34% - 20px); vertical-align:top;">
<div id="grid3">
<span class="gridtitle">처리결과</span>
<table id="regrid" ></table>
</div>
<table class="table_row" style="margin-top:10px;">
<tr>
<th style="width:30px">파일<br>경로</th>
<td><input type="text" name="regridPath" value="/fslog/eai/dynamiclog/IoMapLoaderController/" readonly></td>
</tr>
<tr>
<th style="width:30px">파일<br>내용</th>
<td><textarea name="regrid" style="width:100%;height:400px" ></textarea></td>
</tr>
</table>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,142 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var loutName = window.dialogArguments["layoutName"];
var itemPath = window.dialogArguments["itemPath"];
var url ='<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />';
$(document).ready(function() {
$('#tree').jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
url:url,
postData:{cmd:"LIST_FIELD", loutName:loutName},
colNames: ["번호","항목명(영문)","항목설명","최대발생건수","참조정보","테이타타입","테이터길이","소수점길이","레이아웃명","path"],
colModel: [
{name: "LOUTITEMSERNO" , width:"30"},
{name: "LOUTITEMNAME" , width:"250"},
{name: "LOUTITEMDESC" },
{name: "LOUTITEMMAXOCCURNOITM" },
{name: "LOUTITEMREFINFO2" },
{name: "LOUTITEMPTRNIDDESC" , width:"60"},
{name: "LOUTITEMLENCNT" , width:"60"},
{name: "DECPTLENCNT" , width:"60"},
{name: "LOUTNAME" , hidden:true},
{name: "LOUTITEMPATH" , hidden:true}
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"400",
rowNum: 10000,
autowidth : true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
// 선택 행 색상
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var val = $("#tree").getCell(rows[i],'LOUTITEMPATH');
if(val == itemPath){
$("#"+rows[i]).find("td").css("background-color","#EDD5DD");
}
}
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(d.detail[name.toUpperCase()]);
$(this).attr("disabled","disabled");
});
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var loutName = $(this).getRowData(1000);
var key = loutName["LOUTITEMPATH"]+"."+rowData["LOUTITEMPATH"].replace(rowData["LOUTNAME"]+".","");
var retData=new Object() ;
retData['key'] = key;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('tree','title','1000');
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/>
</div>
<div class="title">메시지항목 관리</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;">업무구분 코드</th>
<td style="width:30%;">
<input type="text" name="EAIBZWKDSTCD">
</td>
<th style="width:20%;">전문레이아웃 코드</th>
<td style="width:30%;">
<input type="text" name="LOUTNAME">
</td>
</tr>
<tr>
<th style="width:20%;">전문레이아웃 설명</th>
<td colspan="3"><input type="text" name="LOUTDESC"></td>
</tr>
</table>
</form>
<!-- grid -->
<table id="tree" ></table>
</div><!-- end content_middle -->
</html>
@@ -0,0 +1,165 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var loutName = window.dialogArguments["loutName"];
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var url ='<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />';
function init (){
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {cmd : "LIST_LAYOUT_INIT_COMBO"},
success:function(json){
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrDstcd]")).setNoValueInclude(true)
.setNoValue("", "전체").setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
var chkRole = roleString.indexOf('admin');
if(chkRole==-1){
$("select[name=searchEaiSevrDstcd] option[value='9']").remove();
}
}
});
}
$(document).ready(function() {
init();
$('input[name=searchLoutName]').val(loutName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : '<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />',
postData : { cmd : 'LIST_LAYOUT'
, searchEaiBzwkDstcd : $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
, searchEaiSevrDstcd : $('input[name=searchEaiSevrDstcd]').val()
},
colNames:['업무구분코드',
'<%=localeMessage.getString("eaiMsg.bizCodeName")%>',
'전문레이아웃코드',
'전문레이아웃설명',
'전문레이아웃 유형명',
'서버구분코드'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left', sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'LOUTNAME' , align:'left' },
{ name : 'LOUTDESC' , align:'left' },
{ name : 'LOUTPTRNNAME' , align:'left' },
{ name : 'EAISEVRDSTCD' , align:'left' }
],
jsonReader : {
repeatitems : false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var loutDesc = rowData['LOUTDESC'];
var retData=new Object() ;
retData['key'] = key;
retData['loutDesc'] = loutDesc;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_LAYOUT"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<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:30%;">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:20%;">전문레이아웃 코드</th>
<td style="width:30%;">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
</tr>
<tr>
<th style="width:20%;">전문레이아웃 설명</th>
<td><input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}"></td>
<th style="width:20%;">서버구분코드</th>
<td><div class="select-style"><select name="searchEaiSevrDstcd"></select></div></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,673 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var srcGroup;
var tgtGroup;
var srcGrid ;
var tgtGrid ;
var url ='<c:url value="/onl/admin/rule/transformMan.json" />';
//var url='<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json"/>';
var srcLayout = window.dialogArguments["loutSrc"];
var tgtLayout = window.dialogArguments["loutTgt"];
var eaiSvcName = window.dialogArguments["eaiSvcName"];
var cnvsnName = window.dialogArguments["cnvsnName"];
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var selectName = "functionCombo"; // selectBox Name
function getSourceResult(cnvsnName){
//$("input[name=selectSrcLayout]").click();
srcGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: srcLayout ,cnvsnName : cnvsnName} }).trigger("reloadGrid");
//srcGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: srcLayout } }).trigger("reloadGrid");
//tgtGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: tgtLayout } }).trigger("reloadGrid");
//tgtGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_TRANSFORM_ITEM', loutName: tgtLayout ,cnvsnName : cnvsnName} }).trigger("reloadGrid");
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd : 'LIST_TRANSFORM_ITEM', loutName: tgtLayout ,cnvsnName : cnvsnName},
success:function(json){
//srcGrid.dsetGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: srcLayout } }).trigger("reloadGrid");
var data = json.rows;
if (data == null){
dtgtGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM',loutName:tgtLayout ,cnvsnName : cnvsnName} }).trigger("reloadGrid");
}else
tgtGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_TRANSFORM_ITEM',loutName:tgtLayout ,cnvsnName : cnvsnName} }).trigger("reloadGrid");
},
error:function(e){
alert(e.responseText);
}
});
}
function addGroupTag(group,data){
var result = data;
var datas = data.split(".");
var comp = datas[0];
var arr = new Array();
for(var i=1;i<datas.length;i++){
comp = comp +"." +datas[i];
if (group[comp] != undefined){
//값이 있음
arr.push(comp);
}
}
for(var i=arr.length;i > 0;i--){
var a = arr.pop();
result = result.substr(0,result.indexOf(a)+a.length) + "[*]"+ result.substring(result.indexOf(a)+a.length);
}
return result;
}
function setTgtCell(){
var rowId = tgtGrid.getGridParam( "selrow" );
tgtGrid.jqGrid('setCell',rowId,'CNVSNRSULTITEMPATHNAME',$('textarea[name=CNVSNRSULTITEMPATHNAME]').val());
tgtGrid.jqGrid('setCell',rowId,'CNVSNCMDNAME',$('textarea[name=CNVSNCMDNAME]').val());
tgtGrid.jqGrid('setCell',rowId,'CNVSNITEMBASCVAL',$('input[name=CNVSNITEMBASCVAL]').val());
tgtGrid.jqGrid('setCell',rowId,'CNVSNITEMSERNO',$('input[name=CNVSNITEMSERNO]').val());
}
$(document).ready(function() {
//$("input[name=eaiSvcName]").val(eaiSvcName);
$("input[name=srcLayout]").val(srcLayout);
$("input[name=tgtLayout]").val(tgtLayout);
$("input[name=transformForEaiSvcName]").val(cnvsnName);
//$("select[name=cnvsnTypeCombo]").val(cnvsnName.substring(cnvsnName.lastIndexOf("_")+1));
//combo
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd : 'LIST_INIT_COMBO',eaiSvcName: eaiSvcName},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=functionCombo]")).setData(json.functionRows).setFormat(codeName3OptionFormat).rendering();
$("input[name=cnvsnDesc]").val(json.transformRows[0].NAME);
getSourceResult(cnvsnName);
},
error:function(e){
alert(e.responseText);
}
});
srcGrid = $("#sourceLayout");
srcGrid.jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames: ["id","원천 항목명","원천 항목명","번호","노드타입","항목타입","LOUTITEMNODEPTRNIDNAME","LOUTITEMPTRNIDNAME","LOUTITEMPATH","LOUTNAME","LOUTITEMMAXOCCURNOITM","LOUTITEMREFINFO2"],
colModel: [
{name: "id" , hidden:true,key:true},
{name: "LOUTITEMNAME" , width:"250"},
{name: "LOUTITEMDESC" },
{name: "LOUTITEMSERNO" , width:"30"},
{name: "LOUTITEMNODEPTRNIDDESC" , width:"60"},
{name: "LOUTITEMPTRNIDDESC" , width:"80"},
{name: "LOUTITEMNODEPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPATH" , hidden:true},
{name: "LOUTNAME" , hidden:true},
{name: "LOUTITEMMAXOCCURNOITM" , hidden:true},
{name: "LOUTITEMREFINFO2" , hidden:true}
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"440",
rowNum: 10000,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
var data = d.rows;
srcGroup = new Object();
for ( var i = 0; i < data.length; i++) {
if (data[i]["LOUTITEMPATH"].length > 0
&& (data[i]["LOUTITEMNODEPTRNIDNAME"] == "2202")
&& (data[i]["LOUTITEMMAXOCCURNOITM"] > 1
|| ( data[i]["LOUTITEMREFINFO2"] != null && data[i]["LOUTITEMREFINFO2"].trim().length > 1 )
)
) {
srcGroup[data[i]["LOUTITEMPATH"]]= data[i]["LOUTITEMPATH"];
}
}
//select box 에 추가
$("select[name=cnvsnCmdCombo]").html("");
for ( var i = 0; i < data.length; i++) {
if (data[i]['LOUTITEMNODEPTRNIDNAME'] != "2203") continue;
var str = new makeOptions("CODE","NAME").setData(addGroupTag(srcGroup,data[i]['LOUTITEMPATH']),addGroupTag(srcGroup,data[i]['LOUTITEMDESC'])).setFormat(codeName3OptionFormat).getOption();
$("select[name=cnvsnCmdCombo]").append(str);
}
},
loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
$('select[name=cnvsnCmdCombo]').val(addGroupTag(srcGroup,rowData['LOUTITEMPATH']));
}
});
tgtGrid = $("#targetLayout");
tgtGrid.jqGrid({
//url: '<c:url value="/onl/admin/rule/transformMan.json" />',
//postData : { cmd : 'LAYOUT_ITEM', loutName: 'LAC_BBSA311_ORGS'},
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames: ["id","타겟 항목명","타겟 항목명","번호","노드타입","항목타입","LOUTITEMNODEPTRNIDNAME","LOUTITEMPTRNIDNAME","LOUTITEMPATH","LOUTNAME","CNVSNNAME","CNVSNRSULTITEMPATHNAME" ,"변환 명령","CNVSNITEMBASCVAL","CNVSNITEMSERNO"
],
colModel: [
{name: "id" , hidden:true,key:true},
{name: "LOUTITEMNAME" , width:"250" },
{name: "LOUTITEMDESC" },
{name: "LOUTITEMSERNO" , width:"30" },
{name: "LOUTITEMNODEPTRNIDDESC" , width:"60" },
{name: "LOUTITEMPTRNIDDESC" , width:"80" },
{name: "LOUTITEMNODEPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPATH" , hidden:true},
{name: "LOUTNAME" , hidden:true},
{name: "CNVSNNAME" , hidden:true}, //변환 명
{name: "CNVSNRSULTITEMPATHNAME" , hidden:true}, //타겟 항목명
{name: "CNVSNCMDNAME" , width:"400"}, //변환 명령
{name: "CNVSNITEMBASCVAL" , hidden:true}, //기본값
{name: "CNVSNITEMSERNO" , hidden:true} //매핑순서
],
treeGrid: true,
treeIcons : {
plus: "ui-icon-circlesmall-plus",
minus: "ui-icon-circlesmall-minus",
leaf : "ui-icon-document"
},
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"440",
//autowidth: true,
rowNum: 10000,
//ExpandColClick: true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
var data = d.rows;
tgtGroup = new Object();
for ( var i = 0; i < data.length; i++) {
if (data[i]["LOUTITEMPATH"].length > 0
&& (data[i]["LOUTITEMNODEPTRNIDNAME"] == "2202")
&& (data[i]["LOUTITEMMAXOCCURNOITM"] > 1
|| ( data[i]["LOUTITEMREFINFO2"] != null && data[i]["LOUTITEMREFINFO2"].trim().length > 1 )
)
) {
tgtGroup[data[i]["LOUTITEMPATH"]]= data[i]["LOUTITEMPATH"];
}
}
},
loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
$('textarea[name=CNVSNRSULTITEMPATHNAME]').val(rowData['CNVSNRSULTITEMPATHNAME']);//
$('textarea[name=CNVSNCMDNAME]').val(rowData['CNVSNCMDNAME']);
$('input[name=CNVSNITEMBASCVAL]').val(rowData['CNVSNITEMBASCVAL']);
$('input[name=CNVSNITEMSERNO]').val(rowData['CNVSNITEMSERNO']);
}
});
resizeJqGridWidth('sourceLayout','sourceLayoutTd','1000');
resizeJqGridWidth('targetLayout','targetLayoutTd','1000');
$("input[name=auto]").click(function(){
var sourceData = srcGrid.getRowData();
var targetData = tgtGrid.getRowData();
var selectValue = "";
var targetValue = "";
for ( var i = 0; i < sourceData.length; i++) {
if (sourceData[i]['LOUTITEMNODEPTRNIDNAME'] != "2203") continue;
selectValue = (sourceData[i]['LOUTITEMPATH']).substr(sourceData[i]['LOUTNAME'].length+1);
for (var j = 0; j <targetData.length; j++) {
if (targetData[j]['LOUTITEMNODEPTRNIDNAME'] != "2203") continue;
targetValue = (targetData[j]['LOUTITEMPATH']).substr(targetData[j]['LOUTNAME'].length+1);
if (targetValue == selectValue ) {
var data = sourceData[i]['LOUTITEMPATH'];
var tgtRowId = targetData[j]['id'];
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNCMDNAME',addGroupTag(srcGroup,data));
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNRSULTITEMPATHNAME',addGroupTag(tgtGroup,targetData[j]['LOUTITEMPATH']));
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNITEMSERNO',targetData[j]['LOUTITEMSERNO']);
break;
}
}
}
});
$("input[name=add]").click(function(){
var srcRowId = srcGrid.getGridParam( "selrow" );
var tgtRowId = tgtGrid.getGridParam( "selrow" );
if (srcRowId == null) {alert("소스레이아웃을 선택하여 주십시요.");return;}
if (tgtRowId == null) {alert("타겟레이아웃을 선택하여 주십시요.");return;}
//field 여부 판단
var sourceRow = srcGrid.getRowData( srcRowId );
var targetRow = tgtGrid.getRowData( tgtRowId );
if (sourceRow["LOUTITEMNODEPTRNIDNAME"] == '2203' && targetRow["LOUTITEMNODEPTRNIDNAME"] == '2203' ){
;
}else{
alert("Field만 선택 가능합니다.");
return ;
}
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNCMDNAME',addGroupTag(srcGroup,sourceRow["LOUTITEMPATH"]));
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNRSULTITEMPATHNAME',addGroupTag(tgtGroup,targetRow["LOUTITEMPATH"]));
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNITEMSERNO',targetRow['LOUTITEMSERNO']);
tgtGrid.jqGrid("setSelection",tgtRowId, true);
});
$("input[name=addAll]").click(function(){
var srcRowId = srcGrid.getGridParam( "selrow" );
var tgtRowId = tgtGrid.getGridParam( "selrow" );
if (srcRowId == null) {alert("소스레이아웃을 선택하여 주십시요.");return;}
if (tgtRowId == null) {alert("타겟레이아웃을 선택하여 주십시요.");return;}
//field 여부 판단
var sourceRow = srcGrid.getRowData( srcRowId );
var targetRow = tgtGrid.getRowData( tgtRowId );
if (sourceRow["LOUTITEMNODEPTRNIDNAME"] == '2203' && targetRow["LOUTITEMNODEPTRNIDNAME"] == '2203' ){
;
}else{
alert("Field만 선택 가능합니다.");
return ;
}
//grid data
var sourceData = srcGrid.getRowData();
var targetData = tgtGrid.getRowData();
//grid index
var srcIndex = srcGrid.jqGrid('getInd',srcRowId);
var tgtIndex = tgtGrid.jqGrid('getInd',tgtRowId);
var selectValue = "";
var targetValue = "";
var j=tgtIndex-1-1;
for ( var i = srcIndex-1; i < sourceData.length; i++) {
if (sourceData[i]['LOUTITEMNODEPTRNIDNAME'] != "2203") continue;
j++;
while (targetData.length -1 >= j &&targetData[j]["LOUTITEMNODEPTRNIDNAME"] != "2203"){
j++;
}
if (targetData.length -1 < j) break;
var rowId = targetData[j]['id'];
tgtGrid.jqGrid('setCell',rowId,'CNVSNCMDNAME',addGroupTag(srcGroup,sourceData[i]['LOUTITEMPATH']));
tgtGrid.jqGrid('setCell',rowId,'CNVSNRSULTITEMPATHNAME',addGroupTag(tgtGroup,targetData[j]['LOUTITEMPATH']));
tgtGrid.jqGrid('setCell',rowId,'CNVSNITEMSERNO',targetData[j]['LOUTITEMSERNO']);
}
tgtGrid.jqGrid("setSelection",tgtRowId, true);
});
$("input[name=remove]").click(function(){
var tgtRowId = tgtGrid.getGridParam( "selrow" );
if (tgtRowId == null) {alert("타겟레이아웃을 선택하여 주십시요.");return;}
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNCMDNAME',null);
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNRSULTITEMPATHNAME',null);
tgtGrid.jqGrid('setCell',tgtRowId,'CNVSNITEMSERNO',null);
tgtGrid.jqGrid("setSelection",tgtRowId, true);
});
$("input[name=removeAll]").click(function(){
var tgtRowId = tgtGrid.getGridParam( "selrow" );
if (tgtRowId == null) {alert("타겟레이아웃을 선택하여 주십시요.");return;}
//grid data
var targetData = tgtGrid.getRowData();
//grid index
var tgtIndex = tgtGrid.jqGrid('getInd',tgtRowId);
for ( var i = tgtIndex-1; i < targetData.length; i++) {
var rowId = targetData[i]['id'];
tgtGrid.jqGrid('setCell',rowId,'CNVSNCMDNAME',null);
tgtGrid.jqGrid('setCell',rowId,'CNVSNRSULTITEMPATHNAME',null);
tgtGrid.jqGrid('setCell',rowId,'CNVSNITEMSERNO',null);
}
tgtGrid.jqGrid("setSelection",tgtRowId, true);
});
$("textarea[name=CNVSNRSULTITEMPATHNAME],textarea[name=CNVSNCMDNAME],input[name=CNVSNITEMBASCVAL],input[name=CNVSNITEMSERNO]").blur(function(){
var rowId = tgtGrid.getGridParam( "selrow" );
if (isNull(rowId)) return;
setTgtCell();
});
$("input[name=selectSrcLayout]").click(function(){
srcGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: srcLayout } }).trigger("reloadGrid");
});
$("input[name=selectTgtLayout]").click(function(){
tgtGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: $("input[name=tgtLayout]").val() } }).trigger("reloadGrid");
});
$("#btn_cancel").click(function(){
//goNav(returnUrl);//LIST로 이동
});
$("#btn_modify").click(function(){
// valid
var targetData = tgtGrid.getRowData();
var gridData = new Array();
for (var i = 0; i <targetData.length; i++) {
if (targetData[i]['LOUTITEMNODEPTRNIDNAME'] != "2203") continue;
if (targetData[i]['CNVSNCMDNAME']==null
|| targetData[i]['CNVSNCMDNAME']== undefined
|| targetData[i]['CNVSNCMDNAME'].trim() ==""
) continue;
gridData.push(tgtGrid.jqGrid('getRowData', targetData[i]['id']));
}
var postData = [];
postData.push({ name: "cmd" , value:"MAPPING"});
postData.push({ name: "cnvsnName" , value:$("input[name=transformForEaiSvcName]").val()});
postData.push({ name: "cnvsnDesc" , value:$("input[name=cnvsnDesc]").val()});
postData.push({ name: "eaiSvcName" , value:eaiSvcName });
//postData.push({ name: "srcLayout" , value: srcLayout});
//postData.push({ name: "tgtLayout" , value : tgtLayout});
postData.push({ name: "gridData" , value:JSON.stringify(gridData)});
$.ajax({
type : "POST",
url:'<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />',
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
getSourceResult($("input[name=transformForEaiSvcName]").val());
//goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
var postData = [];
postData.push({ name: "cmd" , value:"UNMAPPING"});
postData.push({ name: "cnvsnName", value:$("input[name=transformForEaiSvcName]").val()});
postData.push({ name :"eaiSvcName", value:eaiSvcName});
$.ajax({
type : "POST",
url:'<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />',
data:postData,
success:function(args){
alert("삭제 되었습니다.");
getSourceResult($("input[name=transformForEaiSvcName]").val());
},
error:function(e){
alert(e.responseText);
}
});
});
$("input[name=addCmd]").click(function(){
var rowId = tgtGrid.getGridParam( "selrow" );
if (isNull(rowId)){
alert("타겟 그리드의 행이 선택안되어 있습니다.");
return;
}
rowId = srcGrid.getGridParam( "selrow" );
if (isNull(rowId)){
alert("소스 그리드의 행이 선택안되어 있습니다.");
return;
}
$('textarea[name=CNVSNCMDNAME]').val($('select[name=functionCombo]').val() +"("+ $('select[name=cnvsnCmdCombo]').val()+")");
setTgtCell();
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',cnvsnName:$("select[name=transformForEaiSvcNameCombo]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_cnvsnDetail").click(function(){
var cnvsnName = $("input[name=transformForEaiSvcName]").val(); //변환매핑 코드
var tgtLayout =$("input[name=tgtLayout]").val();
var srcLayout =$("input[name=srcLayout]").val();
var url2 = '<c:url value="/onl/admin/rule/transformMan.view" />';
var args = new Object();
url2 = url2 + "?cmd=DETAIL POPUP";
url2 += '&cnvsnName='+cnvsnName;
url2 += '&tgt_layout='+tgtLayout;
url2 += '&src_layout='+srcLayout;
showModal(url2,args,1200,700,"","scroll:on");
});
buttonControl();
setBtnHide(roleString, "admin", "btn_initialize");
});
function fnModalClose(){
var opener = window.dialogArguments['self'];
var url = opener.document.location.href;
if(url.indexOf("pop=true")>0){
opener.fnModalClose();
top.opener = null;
top.window.close();
}else{
opener.document.location.href=opener.document.URL;
top.opener = null;
top.window.close();
}
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_middle" style="margin-top:0px; padding-top: 10px;">
<div class="search_wrap" style="top:10px;">
<img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">전문레이아웃변환매핑 수정<span class="tooltip">전문레이아웃 변환 매핑엔진의 매핑규칙을 조회하는 화면입니다</span></div>
<table class="search_condition" cellspacing="0">
<!-- <tr> -->
<!-- <th style="width:180px;">IF 서비스코드</th> -->
<!-- <td colspan="3"> -->
<!-- <input type="text" name="eaiSvcName" value="BOP0810000000008R1" style="width:calc(100% - 220px);"> -->
<%-- <img id="btn_search" src="<c:url value="/img/btn_pop_search.png"/>" level="R" class="btn_img" /> --%>
<!-- <input type="checkbox" name="chk_eaiSvcName" id="sub2_4_3_modify_1"><label for="sub2_4_3_modify_1">IF 서비스코드 강제지정</label> -->
<!-- </td> -->
<!-- </tr> -->
<!-- <tr> -->
<!-- <th>IF 서비스설명</th> -->
<!-- <td colspan="3"> -->
<!-- <input type="text" name="eaiSvcDesc" value="한국은행-신한은회선시험응답" readonly="readonly"> -->
<!-- </td> -->
<!-- </tr> -->
<tr>
<th width="200px">전문레이아웃변환매핑 코드</th>
<td>
<input type="text" name="transformForEaiSvcName" value="${param.cnvsnName }" readonly style="width:94%; display:inline-block;">
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="btn_cnvsnDetail"/>
</td>
<!-- <th style="width:180px">전문레이아웃 변환매핑 유형</th> -->
<!-- <td> -->
<!-- <div class="select-style"> -->
<!-- <select name="cnvsnTypeCombo"> -->
<!-- </select> -->
<!-- </div> -->
<!-- </td> -->
</tr>
<tr>
<th>변환설명</th>
<td><input type="text" name="cnvsnDesc" readonly></td>
</tr>
</table>
<!-- tree -->
<table border="0" cellspacing="0" cellpadding="0" width="100%" style="table-layout:fixed;" >
<tr>
<td style="width:45%; vertical-align:top;">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:130px;">원천 전문레이아웃</th>
<td>
<input type="text" name="srcLayout" readOnly>
<%-- <img id="btn_searchSrcLout" src="<c:url value="/img/btn_pop_search.png"/>" level="R" class="btn_img" /> --%>
</td>
</tr>
<!-- <tr> -->
<!-- <th>원천 전문레이아웃설명</th> -->
<!-- <td> -->
<!-- <input type="text" name="srcLayoutDesc" readOnly> -->
<!-- </td> -->
<!-- </tr> -->
</table>
<div id="sourceLayoutTd" style="margin-bottom:15px;">
<table id="sourceLayout"></table>
<div id="sourcePage"></div>
</div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:130px;">변환명령</th>
<td>
<div class="select-style" style="display:inline-block; width:calc((100% - 130px)*0.3);">
<select name="functionCombo" style="width:120%;"></select>
</div>
<div class="select-style" style="display:inline-block; width:calc((100% - 130px)*0.7);">
<select name="cnvsnCmdCombo"></select>
</div>
<input type="button" name="addCmd" class="btn_img btn_pop_add" />
</td>
</tr>
<tr height="50px">
<td colspan=2><textarea name="CNVSNCMDNAME"></textarea></td>
</tr>
<tr>
<th>기본값</th><td><input type="text" name="CNVSNITEMBASCVAL"/></td>
</tr>
</table>
</td>
<td style="width:8%; text-align:center;">
<input type=button name="auto" class="btn_img btn_auto" /><br><br>
<input type=button name="add" class="btn_img btn_add"/><br><br>
<input type=button name="addAll" class="btn_img btn_addAll"/><br><br>
<input type=button name="remove" class="btn_img btn_remove"/><br><br>
<input type=button name="removeAll" class="btn_img btn_removeAll"/>
</td>
<td style="width:45%; vertical-align:top;">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:130px;">타겟 전문레이아웃</th>
<td>
<input type="text" name="tgtLayout" readOnly>
<%-- <img id="btn_searchTgtLout" src="<c:url value="/img/btn_pop_search.png" />"level="R" class="btn_img" /> --%>
</td>
</tr>
<!-- <tr> -->
<!-- <th>타겟 전문레이아웃 설명</th> -->
<!-- <td> -->
<!-- <input type="text" name="tgtLayoutDesc" readOnly> -->
<!-- </td> -->
<!-- </tr> -->
</table>
<div id="targetLayoutTd" style="margin-bottom:15px;">
<table id="targetLayout"></table>
<div id="targetPage"></div>
</div>
<table class="table_row" cellspacing="0">
<tr height="75px">
<th style="width:130px;">타겟항목명</th>
<td><textarea name="CNVSNRSULTITEMPATHNAME"></textarea></td>
</tr>
<tr>
<th>매핑순서</th>
<td><input type="text" name="CNVSNITEMSERNO"/></td>
</tr>
</table>
</td>
</tr>
</table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,152 @@
<%@ 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 eaiSvcName = window.dialogArguments["eaiSvcName"];
var url ='<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />';
function ioFormatter(cellvalue,options,rowObject){
if(cellvalue == "I"){
return "<%=localeMessage.getString("interfaceManPopup.in")%>";
}else{
return "<%=localeMessage.getString("interfaceManPopup.out")%>";
}
}
$(document).ready(function() {
$('input[name=searchEaiSvcName]').val(eaiSvcName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : '<c:url value="/onl/transaction/tracking/dbTrackingChartMan.json" />',
postData : {cmd : "LIST_POP",eaiSvcName : eaiSvcName },
colNames : [ '업무구분',
'IF서비스코드',
'인터페이스ID설명',
'<%=localeMessage.getString("batInterfaceMan.ifId")%>',
'당타발구분',
'전문요청구분',
'서버구분코드'
],
colModel : [ { name : 'EAIBZWKDSTCD' , align : 'center' , width:'40' ,sortable:false},
{ name : 'EAISVCNAME' , align : 'left' , width:'100'},
{ name : 'EAISVCDESC' , align : 'left' },
{ name : 'EAITRANNAME' , align : 'left' , width:'150'},
{ name : 'IO' , align : 'center' , width:'50' , formatter:ioFormatter},
{ name : 'SPLIZDMNDDSTCD' , align : 'center' , width:'50' , edittype:'select',editoptions:{value:"S:요청;R:응답"}, formatter:"select"},
{ name : 'EAISEVRDSTCD' , align : 'center' ,width:'50' }
],
jsonReader : {
repeatitems : false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
if(d.records==1){
var key = d.rows[0].EAISVCNAME;
var eaiSvcDesc = d.rows[0].EAISVCDESC;
var eaiBzwkDstCd = d.rows[0].EAIBZWKDSTCD;
var retData=new Object() ;
retData['key'] = key;
retData['eaiSvcDesc'] = eaiSvcDesc;
retData['eaiBzwkDstCd'] = eaiBzwkDstCd;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['EAISVCNAME'];
var eaiSvcDesc = rowData['EAISVCDESC'];
var eaiBzwkDstCd = rowData['EAIBZWKDSTCD'];
var retData=new Object() ;
retData['key'] = key;
retData['eaiSvcDesc'] = eaiSvcDesc;
retData['eaiBzwkDstCd'] = eaiBzwkDstCd;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','980');
$("#btn_search").click(function(){
var _eaiSvcName = $('input[name=searchEaiSvcName]').val();
$("#grid").setGridParam({ postData:{cmd:"LIST_POP",eaiSvcName:_eaiSvcName} ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="W" />
</div>
<div class="title">메시지항목 관리</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%=localeMessage.getString("batInterfaceMan.ifId")%></th>
<td><input type="text" name="searchEaiSvcName" value=""></td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end.popup_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,495 @@
<%@ 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/transaction/tracking/integrationLogMan.json" />';
var url_view = '<c:url value="/onl/transaction/tracking/integrationLogMan.view" />';
var url_excel = '<c:url value="/onl/transaction/tracking/integrationLogMan.excel" />';
var selectName = "searchEaiBzwkDstcd"; // selectBox Name
function isValidGuid()
{
var guid = $("input[name=searchGuid]").val();
if(guid != "")
{
if(guid.length != 33)
{
alert("GUID는 33자리만 입력 할 수 있습니다.");
$("input[name=searchGuid]").focus();
return false;
}
}
return true;
}
function getStartTime(){
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
tm = (Math.floor(tm.substr(0, 2)) * 60) + Math.floor(right(tm, 2)) - 5;
tm = right("0" + parseInt(tm/60), 2) + right("0" + tm%60, 2);
return tm + '00';
}
function getEndTime(){
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
return tm + '59';
}
function init( callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("BIZCODE","BIZNAME").setObj($("select[name=searchEaiBzwkDstcd]")).setNoValueInclude(true).setNoValue("","전체").setData(json.bizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchLogPrcssSerno]")).setNoValueInclude(true).setNoValue("","전체").setData(json.logPrcssSernoList).rendering();
setSearchable(selectName); // 콤보에 searchable 설정
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(){
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
start = start + $("input[name=searchStartHHMM]").val();
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
end = end + $("input[name=searchEndHHMM]").val();
if(start > end){
alert("조회기간을 확인해주세요.");
return false;
}
$("#grid").clearGridData(); // 이전 데이터 삭제.
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
// guid로 검색 할 때 자리수 체크.
if(!isValidGuid()) return;
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,datatype:'json' }).trigger("reloadGrid");
}
function guidEvent(){
var searchGuid = $("input[name=searchGuid]").val();
if (searchGuid.trim() == '')
return ;
var searchTm = searchGuid.trim();
var yy = searchTm.substr(13,4);
var mm = searchTm.substr(17,2);
var dd = searchTm.substr(19,2);
var hh = searchTm.substr(21,2);
var MM = searchTm.substr(23,2);
var ms = Date.UTC(yy,mm-1,dd,hh,MM,00);
var date = new Date(ms);
var startYYYYMMDD;
var startHHMM;
var endYYYYMMDD;
var endHHMM;
//Local Time Setting
date.setHours( date.getHours() - 9 );
//5분 간격
date.setMinutes( date.getMinutes() - 5 );
startYYYYMMDD = date.getFullYear() + right("0" + (date.getMonth() + 1), 2) + right("0" + (date.getDate()), 2);
startHHMM = right("0" + date.getHours() , 2) + right("0" + date.getMinutes() , 2) + "00";
date.setMinutes( date.getMinutes() + 10 );
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) + "00";
//추가 코드 입력 2012.05.16 권세환 (일자가 바뀔경우 시간 간격을 +-5분 -> +-1분)
if (startYYYYMMDD.substr(6,2) != endYYYYMMDD.substr(6,2)){
date.setMinutes( date.getMinutes() - 6 );
startYYYYMMDD = date.getFullYear() + right("0" + (date.getMonth() + 1), 2) + right("0" + (date.getDate()), 2);
startHHMM = right("0" + date.getHours() , 2) + right("0" + date.getMinutes() , 2) + "00";
date.setMinutes( date.getMinutes() + 2 );
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) + "00";
}
$("input[name=searchStartYYYYMMDD]").val(startYYYYMMDD);
$("input[name=searchEndYYYYMMDD]").val(endYYYYMMDD);
$("input[name=searchStartHHMM]").val(startHHMM);
$("input[name=searchEndHHMM]").val(endHHMM);
}
function timeStampFormat2(cellvalue, options, rowObject){
if ( cellvalue == null || cellvalue.length < 17 )
return '';
return cellvalue.substr(0,4) + '-' +
cellvalue.substr(4,2) + '-' +
cellvalue.substr(6,2) + ' ' +
cellvalue.substr(8,2) + ':' +
cellvalue.substr(10,2) + ':' +
cellvalue.substr(12,2) + ' ' + cellvalue.substr(14,3);
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getStartTime());
}
});
$("input[name=searchEndHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getEndTime());
}
});
init();
$('#grid').jqGrid({
datatype : "local",
mtype : 'POST',
colNames : ['<%=localeMessage.getString("tracking.eaisvcserno")%>',
'<%=localeMessage.getString("tracking.logprcssserno")%>',
'<%=localeMessage.getString("tracking.eaibzwkdstcd")%>',
'<%=localeMessage.getString("tracking.msgdpstyms")%>',
'<%=localeMessage.getString("tracking.erryn")%>',
'<%=localeMessage.getString("tracking.trackasiskey1ctnt")%>',
'<%=localeMessage.getString("tracking.trackasiskey2ctnt")%>',
'<%=localeMessage.getString("tracking.eaisvcserno_tmp")%>',
'<%=localeMessage.getString("tracking.keymgtmsgctnt")%>',
'<%=localeMessage.getString("tracking.logprcssserno_tmp")%>',
'<%=localeMessage.getString("tracking.telgmrecvtrancd")%>',
'<%=localeMessage.getString("tracking.eaisvcname")%>',
'<%=localeMessage.getString("tracking.eaisvcdesc")%>',
'<%=localeMessage.getString("tracking.eaibzwkdstcd_tmp")%>',
'<%=localeMessage.getString("tracking.msgdpstyms_tmp")%>',
'<%=localeMessage.getString("tracking.msgprcssyms")%>',
'<%=localeMessage.getString("tracking.companycode")%>',
'<%=localeMessage.getString("tracking.companyname")%>',
'<%=localeMessage.getString("tracking.osidinstinm")%>',
'<%=localeMessage.getString("tracking.companyitcontactname")%>',
'<%=localeMessage.getString("tracking.companyitcontacttelno")%>',
'<%=localeMessage.getString("tracking.itcontactpointperson1")%>',
'<%=localeMessage.getString("tracking.bzwkcontactperson")%>'
],
colModel : [
{ name : 'EAISVCSERNO' , hidden:true },
{ name : 'LOGPRCSSSERNO' , hidden:true },
{ name : 'EAIBZWKDSTCD' , hidden:true },
{ name : 'MSGDPSTYMS' , hidden:true },
{ name : 'ERRYN' , hidden:true },
{ name : 'TRACKASISKEY1CTNT' , hidden:true },
{ name : 'TRACKASISKEY2CTNT' , hidden:true },
{ name : 'EAISVCSERNO_TMP' , align : 'left' , width:'125' },
{ name : 'KEYMGTMSGCTNT' , align : 'left' , width:'235' },
{ name : 'LOGPRCSSSERNO_TMP' , align : 'center' , width:'40' },
{ name : 'TELGMRECVTRANCD' , align : 'left' , width:'130' },
{ name : 'EAISVCNAME' , align : 'left' , width:'150' },
{ name : 'EAISVCDESC' , align : 'left' , width:'190' },
{ name : 'EAIBZWKDSTCD_TMP' , align : 'center' , width:'60' },
{ name : 'MSGDPSTYMS_TMP' , align : 'center' , width:'150' , formatter: timeStampFormat2 },
{ name : 'MSGPRCSSYMS' , align : 'center' , width:'150' , formatter: timeStampFormat2 },
{ name : 'COMPANYCODE' , align : 'center' , width:'80' },
{ name : 'COMPANYNAME' , align : 'center' , width:'100' },
{ name : 'ADPTRINSTINAME' , align : 'left' , width:'160' },
{ name : 'COMPANYITCONTACTNAME' , align : 'left' , width:'110' },
{ name : 'COMPANYITCONTACTTELNO' , align : 'left' , width:'120' },
{ name : 'ITCONTACTPOINTPERSON1' , align : 'left' , width:'120' },
{ name : 'BZWKCONTACTPERSON' , align : 'left' , width:'120' }
],
jsonReader : {
repeatitems : false
},
rowNum: 10000,
height : '520',
viewrecords : true,
gridview: true,
//autowidth: true,
ondblClickRow : function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['eaiBzwkDstcd'] = rowData['EAIBZWKDSTCD'];
args['msgDpstYMS'] = rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno'] = rowData['EAISVCSERNO'];
var url2 = '<c:url value="/onl/transaction/tracking/integrationLogMan.view"/>';
url2 = url2 + "?cmd=DETAIL";
showModal(url2,args,1000,1218,undefined,"scroll:yes;status:no;resizable:yes;");
//url2 = url2 + "&eaiBzwkDstcd=" +rowData['EAIBZWKDSTCD'];
//url2 = url2 + "&msgDpstYMS=" +rowData['MSGDPSTYMS'];
//url2 = url2 + "&logPrcssSerno=" +rowData['LOGPRCSSSERNO'];
//url2 = url2 + "&eaiSvcSerno=" +rowData['EAISVCSERNO'];
//goNav(url2);
},
gridComplete:function (d){
// 헤더 화살표 없애기
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadComplete:function (d){
$("#grid").tuiTableRowSpan("7");
//에러 행 색상 표시
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var val = $("#grid").getCell(rows[i],'ERRYN');
if(val =="Y"){
$("#"+rows[i]).find("td").css("background-color","#FFCC99");
}
}
//1000건이상 alert
if(d.records == 1000){
alert("조회결과 1,000건이 넘습니다.\n최근 1,000건만 출력됩니다.");
}
},
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
else if(jqXHR.status == 400) {
$("#grid").clearGridData();
alert(JSON.parse(jqXHR.responseText).errorMsg);
}
else {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'textStatus: ' + textStatus + '\n' +
'errorThrown: ' + errorThrown);
// alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
}
}
});
resizeJqGridWidth('grid','content_middle','1680');
//$("#grid").jqGrid('setFrozenColumns');
$("#btn_search").click(function(){
//$("input[name=searchGuid]").blur();
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
guidEvent();
$("#btn_search").click();
}
});
$("input[name=searchStartYYYYMMDD]").change(function(e){
$("input[name=searchEndYYYYMMDD]").val($(this).val());
})
//검색조건 달력
$("#startDatepicker").datepicker();
//업체명 검색
$("#btn_popup").click(function(){
var key = "";
var args = new Object();
args['companyName'] = $('input[name=companyName1]').val();
var url='<c:url value="/onl/admin/service/companyMan.view" />';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1020,630, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
console.log("ret",ret);
key = ret['key'];
$("input[name=companyName1]").val(key);
$("input[name=searchCompanyName]").val(key);
});
});
//업체명 검색
$("#btn_init").click(function(){
$("input[name=companyName1]").val("");
$("input[name=searchCompanyName]").val("");
});
$("#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)
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"");
start = start + $("input[name=searchStartHHMM]").val();
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"");
end = end + $("input[name=searchEndHHMM]").val();
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
gridToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'<%= localeMessage.getString("tracking.title")%>');
return false;
});
//GUID
$("input[name=searchGuid]").blur(function(event) {
guidEvent();
});
buttonControl();
var local = localStorage.getItem("guid");
if(local != null){
if (local.length > 33) local=local.substr(0,33);
$("input[name=searchGuid]").val(local);
localStorage.removeItem("guid");
local = null;
}
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="W"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">통합로그 조회</div>
<form id = "ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="130px"><%=localeMessage.getString("tracking.bzwkdstcd")%></th>
<td style="width: 18%;">
<div style="position: relative; width: 100%;">
<select name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</select>
</div>
</td>
<th width="110px">GUID</th>
<td style="width: 18%;"><input type="text" name="searchGuid" value="" maxlength="33"></td>
<th width="130px"><%=localeMessage.getString("tracking.msgrecvtm")%></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;">
<input type="hidden" name="searchStartTime" value="" style="width:0px;">
<input type="hidden" name="searchEndTime" value="" style="width:0px;">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("tracking.eaisvcname")%></th>
<td><input type="text" name="searchEaiSvcName" value="${param.searchEaiSvcName}"></td>
<th><%=localeMessage.getString("tracking.companycode")%></th>
<td><input type="text" name="searchCompanyCode" value="${param.searchCompanyCode}"></td>
<th><%=localeMessage.getString("tracking.companyname")%></th>
<td><input type="hidden" name="searchCompanyName" value="" style="width:0px;">
<input type="text" name="companyName1" value="${param.searchCompanyName}" style="width:70%;" readonly>
<img src="<c:url value="/img/icon_search.png"/>" alt="" id="btn_popup" style="margin: 5px;cursor:hand "/>
<img src="<c:url value="/img/btn_pop_initialize.png"/>" alt="" id="btn_init" style="margin: 5px;cursor:hand "/>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("tracking.eaisvcserno_tmp")%></th>
<td><input type="text" name="searchEaiSvcSerno" value="${param.searchEaiSvcSerno}"></td>
<th>seq</th>
<td>
<div >
<select name="searchLogPrcssSerno" value="${param.searchLogPrcssSerno}" style="width: 100%;">
</select>
</div>
</td>
<th ><%=localeMessage.getString("tracking.logtype")%></th>
<td>
<input type="radio" name="searchErrorYn" value="N" checked="checked" id="sub2_2_1_1"><label for="sub2_2_1_1">전체로그</label>
<input type="radio" name="searchErrorYn" value="Y" id="sub2_2_1_2"><label for="sub2_2_1_2">에러로그</label>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("tracking.keymgtmsgctnt")%></th>
<td><input type="text" name="searchKeyMgtMsgCtnt" value="${param.searchKeyMgtMsgCtnt}"></td>
<th><%=localeMessage.getString("tracking.trackasiskeyctnt")%></th>
<td colspan="4">
<input type="text" name="searchTrackAsisKey1Ctnt" value="${param.searchTrackAsisKey1Ctnt}" style="width: 20%;">
<input type="text" name="searchTrackAsisKey4Ctnt" value="${param.searchTrackAsisKey4Ctnt}" style="width: 20%;">
</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,831 @@
<%@ 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");
%>
<!DOCTYPE html>
<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 eaiBzwkDstcd = window.dialogArguments["eaiBzwkDstcd"];
var msgDpstYMS = window.dialogArguments["msgDpstYMS"];
var eaiSvcSerno = window.dialogArguments["eaiSvcSerno"];
var logPrcssSerno = window.dialogArguments["logPrcssSerno"];
var eaiSvcCode = "";
var eaiMsg = "";
//var eaiBzwkDstcd = "${param.eaiBzwkDstcd}";
// var msgDpstYMS = "${param.msgDpstYMS}";
//var eaiSvcSerno = "${param.eaiSvcSerno}";
//var logPrcssSerno = "${param.logPrcssSerno}";
//alert("eaiBzwkDstcd="+eaiBzwkDstcd+","+"msgDpstYMS="+msgDpstYMS+","+"eaiSvcSerno="+eaiSvcSerno+","+"logPrcssSerno="+logPrcssSerno+",");
// 데이터의 왼쪽에 0으로 채우는 함수 (표준전문 헤더의 전문길이 8자리 포맷 지정)
function lpad(str, len, chr)
{
var max = 0;
if(!str || !chr || str.length >= len)
{
return str;
}
max = len-str.length;
for(var i = 0; i < max; i++)
{
str = chr + str;
}
return str;
}
// 문자열 Byte 계산 함수 (표준전문 전체 길이 체크)
function getBytes(str) {
var orgVal = str;
var bytes =0;
for( var k=0;k < orgVal.length;k++) {
var tmp = orgVal.charAt(k);
var b=0;
if(escape(tmp).length > 4) {
b=2;
} else if( tmp != '\r' ) { // 리눅스는 \r를 인식하지 못함
b=1;
}
bytes += b;
}
return bytes;
}
// 표준전문 생성 함수
function getMsg(msgHeader, msgCommon, msgMsg, msgDataheader, msgBzwkdatactnt)
{
var tempEaiMsg = "";
if(msgMsg == null)
{
tempEaiMsg = msgHeader + msgCommon + msgDataheader + msgBzwkdatactnt + "@@";
}
else
{
tempEaiMsg = msgHeader + msgCommon + msgMsg + msgDataheader + msgBzwkdatactnt + "@@";
}
return tempEaiMsg;
}
function detail(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', eaiSvcSerno : eaiSvcSerno, logPrcssSerno:logPrcssSerno,eaiBzwkDstcd:eaiBzwkDstcd,msgDpstYMS:msgDpstYMS },
success:function(json){
var data = json;
$("#ajaxForm input,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
if (name == null || name==undefined || name=="") return;
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
//업체코드.업체명
if(name=="companyName"){
if(data["COMPANYCODE"] !=null && data["COMPANYCODE"].trim() != ''){
$("input[name=companyName]").val("["+data["COMPANYCODE"]+"] "+data[name.toUpperCase()]);
}
}
//RSPNSCHNGMSGTYPE 오류변환 =1
if(data["LOGPRCSSSERNO"] == '400' && data["RSPNSCHNGMSGTYPE"] == '1'){
$("#errorYn").text("[오류전문 레이아웃]");
}
//서비스코드 추가
if(name == "eaiSvcName"){
eaiSvcCode = data["EAISVCNAME"];
}
});
$("input[name=gstatSysAdptrBzwkGroupName],input[name=psvSysAdptrBzwkGroupName]").each(function(){
var name = $(this).attr("name");
if ("${rmsMenuAuth}" =="W"){ //2020.07.08 admin 만 버튼보이게 수정
$("#"+name).show();
$("input[name="+name+"]").css("width","185px");
}
});
$("input[name=inptMsgIDName],input[name=chngMsgIdName],input[name=bascRspnsChngMsgIdName],input[name=errRspnsChngMsgIdName]").each(function(){
var name = $(this).attr("name");
if($("input[name="+name+"]").val().trim() != ""){
$("#"+name).show();
$("input[name="+name+"]").css("width","185px");
}
});
//에러시 에러탭이 보이도록
if($("textarea[name=eaiErrCtnt]").val().trim() != ""){
$("ul.tabs li[rel=tab5]").click();
}
//$("#grid")[0].addJSONData(json); //데이터부
$("#grid1")[0].addJSONData(json); //헤더부
$("#grid2")[0].addJSONData(json); //공통부
$("#grid3")[0].addJSONData(json); //추가부
$("#grid4")[0].addJSONData(json); //업무데이터 그리드로 보여주기 추가
if(json.xmlDataYn =="Y"){
$("#btn_xml").show();
}
else {
$("#btn_xml").hide();
}
if(json.orgDataYn =="Y"){
$("#btn_orgmsg").show();
}
else {
$("#btn_orgmsg").hide();
}
if(json.bizDataYn =="Y"){
$("#btn_bizmsg").show();
}
else {
$("#btn_bizmsg").hide();
}
if(json.inputMediaDataYn =="Y"){
$("#btn_inptmdia").show();
}
else {
$("#btn_inptmdia").hide();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function copy(obj){
var sel = obj.jqGrid('getGridParam', 'selrow');
var colmodel = obj.jqGrid('getGridParam',"colModel");
data = "";
for (var col = 1 ;col < colmodel.length;col++){
if(!colmodel[col].hidden ){
data += obj.jqGrid('getCell',sel,colmodel[col].name)+" ";
}
}
data +="\n";
window.clipboardData.setData("Text",data);
}
function fnModalClose(){
var opener = window.dialogArguments['self'];
var url = opener.document.location.href;
if(url.indexOf("pop=true")>0){
opener.fnModalClose();
top.opener = null;
top.window.close();
}else{
opener.document.location.href=opener.document.URL;
top.opener = null;
top.window.close();
}
}
var lastsel1;
var lastsel2;
var lastsel3;
var lastsel4;
$(document).ready(function() {
var url ='<c:url value="/onl/transaction/tracking/integrationLogMan.json" />';
detail(url);
$('textarea').attr("readonly","readonly");
$('input').attr("readonly","readonly");
$('#grid1').jqGrid({ //헤더부
datatype : "json",
mtype : 'POST',
colNames : [ '<%=localeMessage.getString("trackingDetail.index")%>',
'<%=localeMessage.getString("trackingDetail.fieldName")%>',
'<%=localeMessage.getString("trackingDetail.korName")%>',
'<%=localeMessage.getString("trackingDetail.data")%>',
'<%=localeMessage.getString("trackingDetail.dataLen")%>'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200', editable : true, editoptions : {readonly : true}},
{ name : 'korName' , align : 'left' , editable : true, editoptions : {readonly : true}},
{ name : 'data' , align : 'left' , width:'226', editable : true, editoptions : {readonly : true}},
{ name : 'dataLen' , align : 'center' , width:'80' , editable : true, editoptions : {readonly : true}}
],
jsonReader : {
repeatitems : false,
root : "hdrRows"
},
rowNum: 10000,
height : "255px",
autowidth : true,
viewrecords : true,
ondblClickRow: function(rowId) {
lastsel1=rowId;
$('#grid1').editRow(rowId,false);
},
onSelectRow: function(rowId,status){
$('#grid1').restoreRow((lastsel1)?lastsel1:rowId);
}
});
$('#grid2').jqGrid({ //공통부
datatype : "json",
mtype : 'POST',
colNames : ['<%=localeMessage.getString("trackingDetail.index")%>',
'<%=localeMessage.getString("trackingDetail.fieldName")%>',
'<%=localeMessage.getString("trackingDetail.korName")%>',
'<%=localeMessage.getString("trackingDetail.data")%>',
'<%=localeMessage.getString("trackingDetail.dataLen")%>'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200' , editable : true, editoptions : {readonly : true}},
{ name : 'korName' , align : 'left' , editable : true, editoptions : {readonly : true}},
{ name : 'data' , align : 'left' , width:'226', editable : true, editoptions : {readonly : true}},
{ name : 'dataLen' , align : 'center' , width:'80' , editable : true, editoptions : {readonly : true}},
],
jsonReader : {
repeatitems : false,
root : "comRows"
},
rowNum: 10000,
height : "255px",
autowidth : true,
viewrecords : true,
ondblClickRow: function(rowId) {
lastsel2=rowId;
$('#grid2').editRow(rowId,false);
},
onSelectRow: function(rowId,status){
$('#grid2').restoreRow((lastsel2)?lastsel2:rowId);
}
});
$('#grid3').jqGrid({ //추가
datatype : "json",
mtype : 'POST',
colNames : ['<%=localeMessage.getString("trackingDetail.index")%>',
'<%=localeMessage.getString("trackingDetail.fieldName")%>',
'<%=localeMessage.getString("trackingDetail.korName")%>',
'<%=localeMessage.getString("trackingDetail.data")%>',
'<%=localeMessage.getString("trackingDetail.dataLen")%>'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200' , editable : true, editoptions : {readonly : true} },
{ name : 'korName' , align : 'left' , editable : true, editoptions : {readonly : true} },
{ name : 'data' , align : 'left' , width:'226' , editable : true, editoptions : {readonly : true}},
{ name : 'dataLen' , align : 'center' , width:'80' , editable : true, editoptions : {readonly : true} }
],
jsonReader : {
repeatitems : false,
root : "msgRows"
},
rowNum: 10000,
height : "255px",
autowidth : true,
viewrecords : true,
ondblClickRow: function(rowId) {
lastsel3=rowId;
$('#grid3').editRow(rowId,false);
},
onSelectRow: function(rowId,status){
$('#grid3').restoreRow((lastsel3)?lastsel3:rowId);
}
});
$('#grid4').jqGrid({ //업무데이터 추가
datatype : "json",
mtype : 'POST',
colNames : ['순서',
'이름',
'설명',
'값',
'길이'
],
colModel : [ { name : 'rownum' , align : 'center' , width:'30' , editable : true, editoptions : {readonly : true} },
{ name : 'name' , align : 'left' , width:'100', editable : true, editoptions : {readonly : true} },
{ name : 'desc' , align : 'left' , width:'100', editable : true, editoptions : {readonly : true} },
{ name : 'value' , align : 'left' , width:'120', editable : true, editoptions : {readonly : true} },
{ name : 'len' , align : 'center' , width:'40' , editable : true, editoptions : {readonly : true} }
],
jsonReader : {
repeatitems : false,
root : "bizGridRows"
},
rowNum: 10000,
height : "185px",
autowidth : true,
viewrecords : true,
ondblClickRow: function(rowId) {
lastsel4=rowId;
$('#grid4').editRow(rowId,false);
},
onSelectRow: function(rowId,status){
$('#grid4').restoreRow((lastsel4)?lastsel4:rowId);
},
});
$("#grid,#grid1,#grid2,#grid3").keydown(function(e){
if(e.ctrlKey && e.keyCode ==67){
copy($(this));
}
});
//resizeJqGridWidth('grid','container-1','800');
//resizeJqGridWidth('grid1','container-1','800');
//resizeJqGridWidth('grid2','container-1','800');
//resizeJqGridWidth('grid3','container-1','800');
$(".data_content").hide();
$(".tab_content").hide();
$(".tab_content:first").show();
$(".layout_btn").hide();
$(".adapter_btn").hide();
$("ul.tabs li").click(function () {
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab).show();
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_xml").click(function(){
var url = '<c:url value="/onl/transaction/tracking/integrationLogMan.json" />';
url += "?cmd=DETAIL_XML";
url += '&eaiSvcSerno=' +$("input[name=eaiSvcSerno]").val();
url += '&msgDpstYMS=' +$("input[name=msgDpstYMS]").val();
url += '&eaiBzwkDstcd=' +$("input[name=eaiBzwkDstcd]").val();
url += '&logPrcssSerno=' +$("input[name=logPrcssSerno]").val();
var showXml = windowOpen(url,"showXML",700,600,",location=0,menubar=0,titlebar=0,toolbar=0,status=0,directories=0,resizable=no,scrollbars=yes");
showXml.focus();
// showModal(url,"showXML",700,600);
});
$("#btn_ebcdic").click(function(){
var url = '<c:url value="/onl/transaction/tracking/integrationLogMan.json" />';
url += "?cmd=DETAIL_EBCDIC";
url += '&eaiSvcSerno=' +$("input[name=eaiSvcSerno]").val();
url += '&msgDpstYMS=' +$("input[name=msgDpstYMS]").val();
url += '&eaiBzwkDstcd=' +$("input[name=eaiBzwkDstcd]").val();
url += '&logPrcssSerno=' +$("input[name=logPrcssSerno]").val();
var showXml = windowOpen(url,"showMessage",700,600);
showXml.focus();
});
$("#btn_orgmsg").click(function(){
var url = '<c:url value="/onl/transaction/tracking/integrationLogMan.json" />';
url += "?cmd=DETAIL_ORG";
url += '&eaiSvcSerno=' +$("input[name=eaiSvcSerno]").val();
url += '&msgDpstYMS=' +$("input[name=msgDpstYMS]").val();
url += '&eaiBzwkDstcd=' +$("input[name=eaiBzwkDstcd]").val();
url += '&logPrcssSerno=' +$("input[name=logPrcssSerno]").val();
url += '&serviceType=DSG';
// var showOrg = window.open(url,"showOrg","width=700,height=300,location=0,menubar=0,titlebar=0,toolbar=0,status=0,directories=0,resizable=no,scrollbars=no");
// var showOrg = windowOpen(url,"showOrg",700,300,",location=0,menubar=0,titlebar=0,toolbar=0,status=0,directories=0,resizable=no,scrollbars=no");
// showOrg.focus();
showModal(url,"showXML",700,300);
});
//업무데이터 그리드로 보여주기
$("#btn_bizmsg").click(function(){
if($(".data_content").css("display") == "none"){
$("#data_org").hide();
$(".data_content").show();
$("#btn_excel").show();
}else{
$("#data_org").show();
$(".data_content").hide();
$("#btn_excel").hide();
}
});
$("#btn_excel").click(function(event) {
var url_excel = '<c:url value="/onl/transaction/tracking/integrationLogMan.excel" />';
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//title : 서비스코드_거래처리seq
var title = eaiSvcCode+"_"+logPrcssSerno;
gridToExcelSubmit(url_excel,"LIST_BIZGRID_TO_EXCEL",$("#grid4"),$("#ajaxForm"),title);
return false;
});
//입력매체부 팝업
$("#btn_inptmdia").click(function(){
var args = new Object();
args['eaiSvcSerno'] = $("input[name=eaiSvcSerno]").val();
args['msgDpstYMS'] = $("input[name=msgDpstYMS]").val();
args['eaiBzwkDstcd'] = $("input[name=eaiBzwkDstcd]").val();
args['logPrcssSerno'] = $("input[name=logPrcssSerno]").val();
var url = '<c:url value="/onl/transaction/tracking/integrationLogMan.view" />';
url += "?cmd=DETAILPOPUP";
url += '&pop=true';
showModal(url,args,800,600);
});
//EAI 서비스코드 팝업
$("#eaiSvcName").click(function(){
var selectId = $(this).attr('id');
var eaiSvcName = $("input[name="+selectId+"]").val();
if($.trim(eaiSvcName) =="") return;
var args = new Object();
var url = '<c:url value="/onl/admin/service/eaiMsgMan.view" />';
url += "?cmd=DETAILPOPUP";
url += '&eaiSvcName='+eaiSvcName;
url += '&pop=true';
showModal(url,args,1000,1218);
});
//기동 수동 어댑터 팝업
$("#gstatSysAdptrBzwkGroupName,#psvSysAdptrBzwkGroupName").click(function(){
var selectId = $(this).attr('id');
var adptrBzwkGroupName = $("input[name="+selectId+"]").val();
if($.trim(adptrBzwkGroupName) =="") return;
//B2B 거래 어댑터
// if(adptrBzwkGroupName.indexOf(".") > -1){
// var idx = adptrBzwkGroupName.indexOf(".");
// adptrBzwkGroupName = adptrBzwkGroupName.substring(0,idx);
// }
var args = new Object();
var url = '<c:url value="/onl/admin/adapter/adapterMan.view" />';
url += "?cmd=DETAILPOPUP";
url += '&adptrBzwkGroupName='+adptrBzwkGroupName;
url += '&pop=true';
showModal(url,args,1000,1218,'','scroll:on');
});
$("input[name=inptMsgIDName]").dblclick(function(){
var layoutName = $(this).val();
if($.trim(layoutName) =="") return;
var args = new Object();
var url = '<c:url value="/onl/admin/rule/layoutMan.view" />';
url += "?cmd=DETAILPOPUP";
url += '&loutName='+layoutName;
url += '&pop=true';
showModal(url,args,890,940,'','scroll:on');
});
$("#inptMsgIDName").click(function(){
var selectId = $(this).attr('id');
var layoutName = $("input[name="+selectId+"]").val();
if($.trim(layoutName) =="") return;
var args = new Object();
var url = '<c:url value="/onl/admin/rule/layoutMan.view" />';
url += "?cmd=DETAILPOPUP";
url += '&loutName='+layoutName;
url += '&pop=true';
showModal(url,args,890,940,'','scroll:on');
});
$("input[name=chngMsgIdName], input[name=bascRspnsChngMsgIdName],input[name=errRspnsChngMsgIdName]").dblclick(function(){
var name = $(this).attr('name');
if($("input[name="+name+"]").val().trim() == ""){
alert("데이터 없음");
return false;
}
if($.trim(name) =="") return;
var args = new Object();
var eaiSvcName = $("input[name=eaiSvcName]").val();
var cnvsnName = $(this).val();
//args['cnvsnDesc'] = $("input[name=cnvsnName_"+gbn+"]").val();
var url='<c:url value="/onl/transaction/tracking/trackingMan.view"/>';
url += '?cmd=TRANSFORMPOPUP';
//key값
url += '&cnvsnName='+cnvsnName;
url += '&eaiSvcName='+eaiSvcName;
var ret = showModal(url,args,1800,820);
});
$("#chngMsgIdName, #bascRspnsChngMsgIdName ,#errRspnsChngMsgIdName").click(function(){
var name = $(this).attr('id');
if($("input[name="+name+"]").val().trim() == ""){
alert("데이터 없음");
return false;
}
if($.trim(name) =="") return;
var args = new Object();
var eaiSvcName = $("input[name=eaiSvcName]").val();
var cnvsnName = $("input[name="+name+"]").val();
//args['cnvsnDesc'] = $("input[name=cnvsnName_"+gbn+"]").val();
var url='<c:url value="/onl/transaction/tracking/trackingMan.view"/>';
url += '?cmd=TRANSFORMPOPUP';
//key값
url += '&cnvsnName='+cnvsnName;
url += '&eaiSvcName='+eaiSvcName;
var ret = showModal(url,args,1800,820);
});
$("input[name=msgDpstYMS],input[name=msgPrcssYMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':true});
$("#sp_bzwkData").dblclick(function(){
window.clipboardData.setData("Text", eaiMsg);
});
if(isChromeBrowse()){
$("html, hbody").css("overflow-x","scroll");
}
});
</script>
<style>
.dialog_confirm{
/* position : absolute; */
left:0px;
top: 0px;
width:100%;
height:100%;
text-align:center;
z-index:1000;
}
html,hbody {
overflow-x:hidden;
}
</style>
</head>
<body>
<div class="popup_scrollbox">
<div class="search_wrap">
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title"><%=localeMessage.getString("trackingDetail.logDetail")%></div>
<form id="ajaxForm">
<div class="table_row_title"><%=localeMessage.getString("trackingDetail.common")%></div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:15%;"><%=localeMessage.getString("trackingDetail.eaiBzwkDstcd")%></th>
<td style="width:35%;"><input type="text" name="eaiBzwkDstcd" readonly="readonly"/> </td>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.msgDpstYMS")%></th>
<td style="width:30%;"><input type="text" name="msgDpstYMS" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.eaiSvcName")%></th><td><input type="text" name="eaiSvcName" readonly="readonly"style="width:230px"/>
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="eaiSvcName" class="eaiSvcName_btn" /> </td>
<th><%=localeMessage.getString("trackingDetail.msgPrcssYMS")%></th><td><input type="text" name="msgPrcssYMS" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.eaiSvcDesc")%></th><td><input type="text" name="eaiSvcDesc" readonly="readonly"/> </td>
<th>GUID</th><td><input type="text" name="guidNo" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.keyMgtMsgCtnt")%></th><td><input type="text" name="keyMgtMsgCtnt" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.logPrcssSerno")%></th><td><input type="text" name="logPrcssSerno" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.eaiSvcSerno")%></th><td><input type="text" name="eaiSvcSerno" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.eaiSevrInstncName")%></th><td><input type="text" name="eaiSevrInstncName" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.tranType")%></th><td><input type="text" name="tranType" readonly="readonly"/></td>
<th><%=localeMessage.getString("trackingDetail.svcHMSEonot")%></th><td><input type="text" name="svcHMSEonot" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("tracking.companyname")%></th><td ><input type="text" name="companyName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("tracking.osidinstinm")%></th><td><input type="text" name="adptrInstiName" readonly="readonly"/> </td>
</tr>
</table>
<div id="container-1">
<ul class="tabs">
<li class="active" rel="tab1"><%=localeMessage.getString("trackingDetail.BizData")%></li>
<li rel="tab2"><%=localeMessage.getString("trackingDetail.Header")%></li>
<li rel="tab3"><%=localeMessage.getString("trackingDetail.Common")%></li>
<li rel="tab4"><%=localeMessage.getString("trackingDetail.ChannelCommon")%></li>
<li rel="tab5"><%=localeMessage.getString("trackingDetail.Error")%></li>
</ul>
<div class="tab_container">
<div id="tab1" class="tab_content" >
<table id="grid" ></table>
<div style="margin:15px 0;">
<table><tr>
<td>
<img id="btn_xml" src="<c:url value="/img/btn_show_xml.png" />" class="btn_img" style="display: none;"/>
<img id="btn_orgmsg" src="<c:url value="/img/btn_detail.png" />" class="btn_img" style="display: none;"/>
<img id="btn_bizmsg" src="<c:url value="/img/btn_grid.png" />" class="btn_img" style="display: none;"/>
<img id="btn_inptmdia" src="<c:url value="/img/btn_inmedia.png" />" class="btn_img" style="display: none;"/>
<img id="btn_excel" src="<c:url value="/img/btn_excel.png" />" class="btn_img" style="display: none;"/>
</td>
<td width="10px">&nbsp;</td>
<td>
<span id = "errorYn"></span>
</td>
</tr></table>
</div>
<div></div>
<table class="table_row" cellspacing="0" id="data_org" >
<tr>
<td><textarea rows="" cols="" name="bzwkDataCtnt" style="width: 100%;height:192px"></textarea></td>
</tr>
</table>
<div class="data_content"><table id="grid4"></table></div>
</div><!-- end#tab1 -->
<div id="tab2" class="tab_content">
<table id="grid1" ></table>
</div><!-- end#tab2 -->
<div id="tab3" class="tab_content">
<table id="grid2" ></table>
</div><!-- end#tab3 -->
<div id="tab4" class="tab_content">
<table id="grid3" ></table>
</div><!-- end#tab4 -->
<div id="tab5" class="tab_content">
<div style="margin-bottom:15px;">[<%=localeMessage.getString("trackingDetail.errorInfo")%>]</div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.eaiErrCd")%></th>
<td style="width:80%;"><input type="text" name="eaiErrCd"/></td>
</tr>
<tr>
<td colspan="2"><textarea rows="" cols="" name="eaiErrCtnt" style="width: 100%;height:198px"></textarea></td>
</tr>
</table>
</div><!-- end#tab5 -->
</div><!-- end.tab_container -->
</div><!-- end.container-1 -->
<div class="table_row_title"><%=localeMessage.getString("trackingDetail.inbound")%></div>
<table class="table_row" cellspacing="0" >
<tr>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.svcMotivUseDstcd")%></th>
<td style="width:30%;"><input type="text" name="svcMotivUseDstcd" readonly="readonly"/> </td>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.gstatSysAdptrBzwkGroupName")%></th>
<td style="width:30%;"><input type="text" name="gstatSysAdptrBzwkGroupName" readonly="readonly"/>
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="gstatSysAdptrBzwkGroupName" class="adapter_btn" level="W"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.flowCtrlRoutName")%></th><td><input type="text" name="flowCtrlRoutName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.stndMsgUseYn")%></th><td><input type="text" name="stndMsgUseYn" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.svcPrcssDsticName")%></th><td><input type="text" name="svcPrcssDsticName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.svcBfClmnLogYn")%></th><td><input type="text" name="svcBfClmnLogYn" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.svcPrcssNo")%></th><td><input type="text" name="svcPrcssNo" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.intgraDsticName")%></th><td><input type="text" name="intgraDsticName" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.gstatSvcDsticName")%></th><td><input type="text" name="gstatSvcDsticName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.prsntMsgIdName")%></th><td><input type="text" name="prsntMsgIdName" readonly="readonly"/> </td>
</tr>
</table>
<div class="table_row_title"><%=localeMessage.getString("trackingDetail.outbound")%></div>
<table class="table_row" cellspacing="0" >
<tr>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.psvIntfacDsticName")%></th>
<td style="width:30%;"><input type="text" name="psvIntfacDsticName" readonly="readonly"/> </td>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.psvSysAdptrBzwkGroupName")%></th>
<td style="width:30%;"><input type="text" name="psvSysAdptrBzwkGroupName" readonly="readonly"/>
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="psvSysAdptrBzwkGroupName" class="adapter_btn" level="W"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.outbndRoutName")%></th><td><input type="text" name="outbndRoutName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.toutVal")%></th><td><input type="text" name="toutVal" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.psvSysSvcDsticName")%></th><td><input type="text" name="psvSysSvcDsticName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.psvBzwkSysName")%></th><td><input type="text" name="psvBzwkSysName" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.rspnsErrFldName")%></th><td><input type="text" name="rspnsErrFldName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.psvSysIdName")%></th><td><input type="text" name="psvSysIdName" readonly="readonly"/> </td>
</tr>
</table>
<div class="table_row_title"><%=localeMessage.getString("trackingDetail.MAPPING")%></div>
<table class="table_row" cellspacing="0" >
<tr>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.chngYn")%></th>
<td style="width:30%;"><input type="text" name="chngYn" readonly="readonly"/> </td>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.chngMsgIdName")%></th>
<td style="width:30%;"><input type="text" name="chngMsgIdName" readonly="readonly"/>
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="chngMsgIdName" class="layout_btn" /></td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.bascRspnsChngYn")%></th><td><input type="text" name="bascRspnsChngYn" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.bascRspnsChngMsgIdName")%></th>
<td>
<input type="text" name="bascRspnsChngMsgIdName" readonly="readonly"/>
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="bascRspnsChngMsgIdName" class="layout_btn" /></td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.errRspnsChngYn")%></th><td><input type="text" name="errRspnsChngYn" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.errRspnsChngMsgIdName")%></th>
<td>
<input type="text" name="errRspnsChngMsgIdName" readonly="readonly"/>
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="errRspnsChngMsgIdName" class="layout_btn" /> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.inptMsgIDName")%></th>
<td>
<input type="text" name="inptMsgIDName" readonly="readonly" />
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="inptMsgIDName" class="layout_btn" /> </td>
<th><%=localeMessage.getString("trackingDetail.errRspnsMsgCmprCtnt")%></th><td><input type="text" name="errRspnsMsgCmprCtnt" readonly="readonly" /> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.bascRspnsMsgCmprCtnt")%></th><td><input type="text" name="bascRspnsMsgCmprCtnt" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.flovrYn")%></th><td><input type="text" name="flovrYn" readonly="readonly"/> </td>
</tr>
</table>
<div class="table_row_title"><%=localeMessage.getString("trackingDetail.etc")%></div>
<table class="table_row" cellspacing="0" >
<tr>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.rspnsErrcdName")%></th>
<td style="width:30%;"><input type="text" name="rspnsErrcdName" readonly="readonly"/> </td>
<th style="width:20%;"><%=localeMessage.getString("trackingDetail.sevrLogLvelNo")%></th>
<td style="width:30%;"><input type="text" name="sevrLogLvelNo" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.svcLogLvelNo")%></th><td><input type="text" name="svcLogLvelNo" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.errEAISvcName")%></th><td><input type="text" name="errEAISvcName" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.dmndErrChngIDName")%></th><td><input type="text" name="dmndErrChngIDName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.dmndErrFldName")%></th><td><input type="text" name="dmndErrFldName" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.rspnsErrChngIdName")%></th><td><input type="text" name="rspnsErrChngIdName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.nextSvcPrcssNo")%></th><td><input type="text" name="nextSvcPrcssNo" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.sevrGroupName")%></th><td><input type="text" name="sevrGroupName" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.cmpenSvcPrcssName")%></th><td><input type="text" name="cmpenSvcPrcssName" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.trackAsisKey1Ctnt")%></th><td><input type="text" name="trackAsisKey1Ctnt" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.trackAsisKey2Ctnt")%></th><td><input type="text" name="trackAsisKey2Ctnt" readonly="readonly"/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("trackingDetail.trackAsisKey3Ctnt")%></th><td><input type="text" name="trackAsisKey3Ctnt" readonly="readonly"/> </td>
<th><%=localeMessage.getString("trackingDetail.trackAsisKey4Ctnt")%></th><td><input type="text" name="trackAsisKey4Ctnt" readonly="readonly"/> </td>
</tr>
</table>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -0,0 +1,362 @@
<%@ 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"/>
<link rel="stylesheet" type="text/css" media="screen" href="<c:url value="/css/w2ui-1.4.3.css"/>" />
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" src="<c:url value="/js/w2ui-1.4.3.js"/>"></script>
<script language="javascript" >
var url = '<c:url value="/onl/transaction/tracking/trackingMan.json" />';
var url_view = '<c:url value="/onl/transaction/tracking/trackingMan.view" />';
var last = new Object();
var selectName = "searchEaiBzwkDstcd"; // selectBox Name
function isValidGuid()
{
var guid = $("input[name=searchGuid]").val();
if(guid != "")
{
if(guid.length != 33)
{
alert("GUID는 33자리만 입력 할 수 있습니다.");
$("input[name=searchGuid]").focus();
return false;
}
}
return true;
}
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 + '60';
}
function init( callback) {
$.ajax({
type : "POST",
url:url,
dataType:"JSON",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("BIZCODE","BIZNAME").setObj($("select[name=searchEaiBzwkDstcd]")).setNoValueInclude(true).setNoValue("","전체").setData(json.bizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchLogPrcssSerno]")).setNoValueInclude(true).setNoValue("","전체").setData(json.logPrcssSernoList).rendering();
setSearchable(selectName); // 콤보에 searchable 설정
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(){
w2ui['myGrid'].clear();
//$("#grid").clearGridData(); // 이전 데이터 삭제.
var start = $("input[name=searchStartYYYYMMDD]").val()+$("input[name=searchStartHHMM]").val();
var end = $("input[name=searchEndYYYYMMDD]").val()+$("input[name=searchEndHHMM]").val();
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
// guid로 검색 할 때 자리수 체크.
if(!isValidGuid()) return;
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData['totalCount']=0;
postData['page']=1;
postData['rows']=1;
$.ajax({
type : "POST",
url:url,
dataType:"JSON",
data:postData,
success:function(json){
var data = json;
var records = data.rows;
var cnt = 1;
for(var idx in records){
//insert recid
records[idx]['recid'] = parseInt(idx)+1;
}
w2ui['myGrid'].total = data.records;
w2ui['myGrid'].records = records;
var rec = w2ui['myGrid'].records;
for(var idx in rec){
var val = rec[idx].ERRYN;
if(val =="Y"){
rec[idx].style = 'background-color:#FFCC99';
}else{
rec[idx].style = 'background-color: #FFFFFF';
}
}
w2ui['myGrid'].refresh();
},
error:function(xhr,status,error){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
}
function w2GridToExcelSubmit(url,cmd,gridObj,formObject,fileName,merge){
var postData = formObject.serializeArray();
postData.push({
name : "cmd",
value : cmd
});
//fileName 필수값 아님
if (fileName != undefined){
postData.push({
name : "fileName",
value : fileName
});
}
//grid data
var data = gridObj.records;
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
//grid titles
var colM = gridObj.columns;
var headers = new Array();
var headerTitles = new Array();
for(var i=0;i<colM.length;i++){
if (colM[i].hidden){
}else{
headers.push(colM[i].field);
headerTitles.push(colM[i].caption);
}
}
postData.push({
name : "header",
value : JSON.stringify(headers)
});
postData.push({
name : "headerTitle",
value : JSON.stringify(headerTitles)
});
if (merge != undefined){
postData.push({
name : "merge",
value : JSON.stringify(merge)
});
}
var form="<form action='"+url+"' method='post' target='excelDown' accept-charset='utf-8' >";
$.each(postData,function(_,obj){
form +="<input type='hidden' name='"+obj.name+"' value='"+obj.value+"'/>";
});
form += "</form>";
$(form).appendTo("body").submit().remove();
}
function getDateFormat(record, ind, col_ind){
var n = record[this.columns[col_ind].field];
n = n.toString();
if ( n == null || n.length < 12 )
return '';
return n.substr(0,4) + '-' +
n.substr(4,2) + '-' +
n.substr(6,2) + ' ' +
n.substr(8,2) + ':' +
n.substr(10,2) + ':' +
n.substr(12,2) ;
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getStartTime());
}
});
$("input[name=searchEndHHMM]").each(function(){
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == ""){
$(this).val(getEndTime());
}
});
init( detail);
$('#myGrid').w2grid({
name : 'myGrid',
datatype:'JSON',
method:'POST',
multiSelect : false,
autoLoad:false,
show :{
emptyRecords:false
},
columns: [
{ field : 'EAISVCSERNO' , size: '0px'},
{ field : 'LOGPRCSSSERNO' , size: '0px'},
{ field : 'EAIBZWKDSTCD' , size: '0px'},
{ field : 'MSGDPSTYMS' , size: '0px'},
{ field : 'ERRYN' , size: '0px'},
{ field : 'EAISVCSERNO_TMP' ,caption: 'IF서비스일련번호', size: '140px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'KEYMGTMSGCTNT' ,caption: '전문추적관리필드' , size: '240px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'LOGPRCSSSERNO_TMP' ,caption: 'seq' , size: '50px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'SRVCID' ,caption: '서비스ID' , size: '120px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'EAISVCNAME' ,caption: 'IF서비스코드' , size: '170px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'EAISVCDESC' ,caption: 'IF서비스설명' , size: '250px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'TRACKASISKEY1CTNT' , size: '0px'},
{ field : 'TRACKASISKEY2CTNT' , size: '0px'},
{ field : 'EAIBZWKDSTCD_TMP' ,size: '60px', caption: '업무명',style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7'},
{ field : 'MSGDPSTYMS_TMP' , size: '150px',caption: '수신일시' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7',render : getDateFormat },
{ field : 'MSGPRCSSYMS' ,caption: '처리일시', size: '150px' ,style:' border-bottom:1px solid #79b7e7; border-top:1px solid #79b7e7',render : getDateFormat }
]
,mergeRows:[0]
,onLoad:function(event){
}
,onClick:function(event){
}
,onDblClick:function(event){
var recid = event.recid;
var args = new Object();
args['eaiBzwkDstcd'] = this.getCellValue(recid-1, 2, false); //rowData['EAIBZWKDSTCD'];
args['msgDpstYMS'] = this.getCellValue(recid-1, 3, false); //rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = this.getCellValue(recid-1, 1, false); //rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno'] = this.getCellValue(recid-1, 0, false); //rowData['EAISVCSERNO'];
var url2 = '<c:url value="/onl/transaction/tracking/trackingMan.view"/>';
url2 = url2 + "?cmd=DETAIL";
showModal(url2,args,810,1218,undefined,"scroll:yes;");
}
,onKeydown:function(event){
}
});
w2ui['myGrid'].hideColumn('EAISVCSERNO','LOGPRCSSSERNO','EAIBZWKDSTCD','MSGDPSTYMS','ERRYN','TRACKASISKEY1CTNT','TRACKASISKEY2CTNT');
$("#btn_search").click(function(){
detail();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("input[name=searchStartYYYYMMDD]").keyup(function(e){
$("input[name=searchEndYYYYMMDD]").val($(this).val());
});
/*
$("#btn_download").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
w2GridToExcelSubmit(url,"LIST_GRID_TO_EXCEL",w2ui['myGrid'],$("#ajaxForm"),"거래 로그 목록");
return false;
});
*/
buttonControl();
});
</script>
</head>
<body>
<!-- path -->
<div class="container">
<div class="right full">
<p class="nav">${rmsMenuPath}</p>
</div>
</div>
<!-- title -->
<div class="container" id="title">
<div class="left full ">
<p class="title"><img class="title_image" src="<c:url value="/images/title_bullet.gif"/>">로그검색 관리</p>
</div>
</div>
<!-- line -->
<div class="container">
<div class="left full title_line "> </div>
</div>
<!-- button -->
<table width="100%" height="35px" >
<tr>
<td align="left">
<table width="100%">
<tr>
<td class="search_td_title" width="70px"><%=localeMessage.getString("eaiMsg.bizCodeName")%></td><td><select type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}" style="width:100%"></select></td>
<td class="search_td_title" width="110px">메시지수신시간</td><td width="335px"><input type="text" name="searchStartYYYYMMDD" value="" size="10" ><input type="text" name="searchStartHHMM" value="" size="8" >~<input type="text" name="searchEndYYYYMMDD" value="" size="10" readonly="readonly"><input type="text" name="searchEndHHMM" value="" size="8" ><input type="hidden" name="searchStartTime" ><input type="hidden" name="searchEndTime" ></td>
<td class="search_td_title" width="100px">IF서비스코드</td><td><input type="text" name="searchEaiSvcName" value="${param.searchEaiSvcName}" style="width:100%"></td>
</tr>
<tr>
<td class="search_td_title" >GUID</td><td><input type="text" name="searchGuid" value="${param.searchGuid}" style="width:100%"/></td>
<td class="search_td_title" >IF서비스일련번호</td><td><input type="text" name="searchEaiSvcSerno" value="${param.searchEaiSvcSerno}" style="width:100%"></td>
<td class="search_td_title" >전문추적관리필드</td><td><input type="text" name="searchKeyMgtMsgCtnt" value="${param.searchKeyMgtMsgCtnt}" style="width:100%"></td>
</tr>
<tr>
<td class="search_td_title" >seq</td><td><select name="searchLogPrcssSerno" value="${param.searchLogPrcssSerno}" style="width:100%"></select></td>
<td class="search_td_title" >추적보조키1</td><td><input type="text" name="searchTrackAsisKey1Ctnt" value="${param.searchTrackAsisKey1Ctnt}" style="width:100%"></td>
<td class="search_td_title" >추적보조키2</td><td><input type="text" name="searchTrackAsisKey2Ctnt" value="${param.searchTrackAsisKey2Ctnt}" style="width:100%"></td>
</tr>
</table>
</td>
<td align="right" width="220px">
<input type="radio" name="searchErrorYn" value="N" checked="checked">전체로그<input type="radio" name="searchErrorYn" value="Y" >에러로그
<img id="btn_search" src="<c:url value="/images/bt/bt_search.gif"/>" level="R"/>
<!-- img id="btn_download" src="<c:url value="/images/bt/bt_download.gif"/>" level="W"/-->
</td>
</tr>
</table>
<!-- grid -->
<div id="myGrid" style="width:100%;height: 530px"></div>
</body>
</html>
@@ -0,0 +1,665 @@
<%@page import="com.eactive.eai.rms.onl.transaction.tracking.DbTrackingService" %>
<%@ 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" %>
<%
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/transaction/tracking/trackingMan.json" />';
var url_view = '<c:url value="/onl/transaction/tracking/trackingMan.view" />';
var url_excel = '<c:url value="/onl/transaction/tracking/trackingMan.excel" />';
var GUID_LENGTH = <%=DbTrackingService.GUID_LENGTH%>;
var isProdServer = <%=com.eactive.eai.common.util.SystemUtil.isProdServer()%>;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
let totalLogs = 0;
let displayedLogs = 0;
function adminChk() {
var arrRoleID = roleString.split(',');
var flag = false;
$(arrRoleID).each(function (i, role) {
if (role == 'admin') {
flag = true;
}
});
return flag;
}
function getTransactionCounts() {
var searchData = getSearchForJqgrid("cmd", "COUNT");
$.ajax({
type: "POST",
url: url,
data: searchData,
success: function(counts) {
if (!counts) {
totalLogs = 0;
displayedLogs = 0;
updateLogCountDisplay(0, 0, 0);
return;
}
totalLogs = counts.totalLogs;
displayedLogs = counts.displayedLogs;
var uniqueCount = calculateUniqueLogCount("#grid");
updateLogCountDisplay(uniqueCount, displayedLogs, totalLogs);
},
error: function(e) {
alert(e.responseText);
}
});
}
function updateLogCountDisplay(uniqueCount, displayedLogs, totalLogs) {
const totalText = "총 건수: " + uniqueCount + " 건";
$("#totalCount").text(totalText);
}
function calculateUniqueLogCount(gridId) {
const uniqueLogs = new Set();
$(gridId).jqGrid("getRowData").forEach(row => {
const uniqueKey = row.EAISVCSERNO + row.SEQ;
uniqueLogs.add(uniqueKey);
});
return uniqueLogs.size;
}
function getStartTime() {
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
tm = (Math.floor(tm.substr(0, 2)) * 60) + Math.floor(right(tm, 2)) - 5;
tm = right("0" + parseInt(tm / 60), 2) + right("0" + tm % 60, 2);
return tm + '00';
}
function getEndTime() {
var now = new Date();
var tm = right("0" + now.getHours(), 2);
tm += right("0" + now.getMinutes(), 2);
return tm + '59';
}
function init(callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'LIST_COMBO'},
success: function (json) {
new makeOptions("CODE", "NAME").setObj($("select[name=searchEaiBzwkDstcd]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.eaiBizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=searchExtBizCd]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.extBizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=searchLogPrcssSerno]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.logPrcssSernoList).rendering();
setSearchable("searchEaiBzwkDstcd"); // 콤보에 searchable 설정
setSearchable("searchExtBizCd");
if (typeof callback === 'function') {
callback();
}
},
error: function (e) {
alert(e.responseText);
}
});
}
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;
}
function diffMinute(date1, date2) {
var diff = (date1.getTime() - date2.getTime()) / 1000;
return Math.round(diff / 60);
}
function detail() {
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi, "");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi, "");
var startHm = $("input[name=searchStartHHMM]").val();
var endHm = $("input[name=searchEndHHMM]").val();
if (startHm != null) {
if (startHm.length < 6) {
alert("<%=localeMessage.getString("tracking.alert1")%>"); //Please check the start time of the log inquiry.
$("input[name=searchStartHHMM]").focus();
return;
}
} else {
alert("<%=localeMessage.getString("tracking.alert1")%>"); //Please check the start time of the log inquiry.
$("input[name=searchStartHHMM]").focus();
return;
}
if (endHm != null) {
if (endHm.length < 6) {
alert("<%=localeMessage.getString("tracking.alert2")%>"); //Please check the end time of the log inquiry.
$("input[name=searchEndHHMM]").focus();
return;
}
} else {
alert("<%=localeMessage.getString("tracking.alert2")%>"); //Please check the end time of the log inquiry.
$("input[name=searchEndHHMM]").focus();
return;
}
start = start + startHm;
end = end + endHm;
if (start > end) {
alert("<%=localeMessage.getString("tracking.alert3")%>"); //Please input the inquiry time.
return false;
}
// 운영인 경우에만 검색시간 체크
// if (isProdServer) {
//admin이 아닐경우 검색시간간격이 10분이상이면 안됨
// if (!adminChk()) {
//검색시간 10분이상일경우 다시 확인
// var endDate = new Date(toDateString(end));
// var startDate = new Date(toDateString(start));
// if (diffMinute(endDate, startDate) > 10) {
// console.log("diffMinute:" + diffMinute(endDate, startDate));
// alert("<%=localeMessage.getString("tracking.alert4")%>"); //Sets the log interval to 10 minutes.
// setTime(start);
// end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi, "");
// end = end + $("input[name=searchEndHHMM]").val();
// }
// }
// }
$("#grid").clearGridData(); // 이전 데이터 삭제.
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
// guid로 검색 할 때 자리수 체크.
//if(!isValidGuid()) return;
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url: url, postData: postData, datatype: 'json'}).trigger("reloadGrid");
}
//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);
}
function guidEvent() {
var searchGuid = $("input[name=searchGuid]").val();
if (searchGuid.trim() == '')
return;
var searchTm = searchGuid.trim();
/*
var yy = searchTm.substr(13,4);
var mm = searchTm.substr(17,2);
var dd = searchTm.substr(19,2);
var hh = searchTm.substr(21,2);
var MM = searchTm.substr(23,2);
*/
var yy = searchTm.substr(3,4);
var mm = searchTm.substr(7,2);
var dd = searchTm.substr(9,2);
var hh = searchTm.substr(11,2);
var MM = searchTm.substr(13,2);
var ms = Date.UTC(yy,mm-1,dd,hh,MM,00);
var date = new Date(ms);
var startYYYYMMDD;
var startHHMM;
var endYYYYMMDD;
var endHHMM;
//Local Time Setting
date.setHours(date.getHours() - 9);
//5분 간격
date.setMinutes(date.getMinutes() - 5);
startYYYYMMDD = date.getFullYear() + right("0" + (date.getMonth() + 1), 2) + right("0" + (date.getDate()), 2);
startHHMM = right("0" + date.getHours(), 2) + right("0" + date.getMinutes(), 2) + "00";
date.setMinutes(date.getMinutes() + 10);
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) + "00";
//추가 코드 입력 2012.05.16 권세환 (일자가 바뀔경우 시간 간격을 +-5분 -> +-1분)
if (startYYYYMMDD.substr(6, 2) != endYYYYMMDD.substr(6, 2)) {
date.setMinutes(date.getMinutes() - 6);
startYYYYMMDD = date.getFullYear() + right("0" + (date.getMonth() + 1), 2) + right("0" + (date.getDate()), 2);
startHHMM = right("0" + date.getHours(), 2) + right("0" + date.getMinutes(), 2) + "00";
date.setMinutes(date.getMinutes() + 2);
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) + "00";
}
$("input[name=searchStartYYYYMMDD]").val(startYYYYMMDD);
$("input[name=searchEndYYYYMMDD]").val(endYYYYMMDD);
$("input[name=searchStartHHMM]").val(startHHMM);
$("input[name=searchEndHHMM]").val(endHHMM);
}
function timeStampFormat2(cellvalue, options, rowObject) {
if (cellvalue == null || cellvalue.length < 17)
return '';
return cellvalue.substr(0, 4) + '-' +
cellvalue.substr(4, 2) + '-' +
cellvalue.substr(6, 2) + ' ' +
cellvalue.substr(8, 2) + ':' +
cellvalue.substr(10, 2) + ':' +
cellvalue.substr(12, 2) + ' ' + cellvalue.substr(14, 3);
}
$(document).ready(function () {
console.log(roleString);
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd", {'autoUnmask': true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss", {'autoUnmask': true});
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").each(function () {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "") {
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM]").each(function () {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "") {
$(this).val(getStartTime());
}
});
$("input[name=searchEndHHMM]").each(function () {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "") {
$(this).val(getEndTime());
}
});
init();
const serviceType = sessionStorage.getItem('serviceType');
// 서비스타입이 API에 해당되는지 확인하여 아래 GRID 구성
// 다른 이름을 사용 할 경우 아래 비교 코드 수정
const isApiGw = 'APIGW' === serviceType;
$('#grid').jqGrid({
datatype: "local",
mtype: 'POST',
colNames: ['<%=localeMessage.getString("tracking.eaisvcserno")%>',
'<%=localeMessage.getString("tracking.logprcssserno")%>',
'<%=localeMessage.getString("tracking.eaibzwkdstcd")%>',
'<%=localeMessage.getString("tracking.msgdpstyms")%>',
'<%=localeMessage.getString("tracking.erryn")%>',
'<%=localeMessage.getString("tracking.trackasiskey1ctnt")%>',
'<%=localeMessage.getString("tracking.trackasiskey2ctnt")%>',
'<%=localeMessage.getString("tracking.eaiSvcserNo")%>',
'<%=localeMessage.getString("tracking.keymgtmsgctnt")%>',
'<%=localeMessage.getString("tracking.logprcssserno_tmp")%>',
'<%=localeMessage.getString("tracking.telgmrecvtrancd")%>',
'<%=localeMessage.getString("tracking.eaisvcname")%>',
'<%=localeMessage.getString("tracking.eaisvcdesc")%>',
'<%=localeMessage.getString("tracking.eaibzwkdstcd")%>',
'<%=localeMessage.getString("tracking.extBizName")%>',
'<%=localeMessage.getString("tracking.ifDisKeyVal")%>',
'APP 명',
'법인명',
'<%=localeMessage.getString("tracking.msgrecvtm")%>',
'<%=localeMessage.getString("tracking.msgprcssyms")%>',
'<%=localeMessage.getString("tracking.companycode")%>',
'<%=localeMessage.getString("tracking.companyname")%>',
'<%=localeMessage.getString("tracking.osidinstinm")%>',
'<%=localeMessage.getString("tracking.companyitcontactname")%>',
'<%=localeMessage.getString("tracking.companyitcontacttelno")%>',
'<%=localeMessage.getString("tracking.itcontactpointperson1")%>',
'<%=localeMessage.getString("tracking.bzwkcontactperson")%>'
],
colModel: [
{name: 'EAISVCSERNO', hidden: true},
{name: 'LOGPRCSSSERNO', hidden: true},
{name: 'EAIBZWKDSTCD', hidden: true},
{name: 'MSGDPSTYMS', hidden: true},
{name: 'ERRYN', hidden: true},
{name: 'TRACKASISKEY1CTNT', hidden: true},
{name: 'TRACKASISKEY2CTNT', hidden: true},
{name: 'EAISVCSERNO_TMP', align: 'left', width: '230'},
{name: 'KEYMGTMSGCTNT', align: 'left', width: '280'},
{name: 'LOGPRCSSSERNO_TMP', align: 'center', width: '40'},
{name: 'TELGMRECVTRANCD', align: 'left', width: '135', hidden: true},
{name: 'EAISVCNAME', align: 'left', width: '100'},
{name: 'EAISVCDESC', align: 'left', width: '280'},
{name: 'EAIBZWKDSTCD_TMP', align: 'center', width: '50'},
{name: 'EXTBIZCD', align: 'center', width: '50', hidden: isApiGw},
{name: 'REFKEY', align: 'left', width: '280', hidden: isApiGw},
{name: 'CLIENTNAME', align: 'left', width: '100', hidden: !isApiGw},
{name: 'ORGNAME', align: 'left', width: '100', hidden: !isApiGw},
{name: 'MSGDPSTYMS_TMP', align: 'center', width: '150', formatter: timeStampFormat2},
{name: 'MSGPRCSSYMS', align: 'center', width: '150', formatter: timeStampFormat2},
{name: 'COMPANYCODE', align: 'center', width: '80', hidden: true},
{name: 'COMPANYNAME', align: 'center', width: '100', hidden: true},
{name: 'ADPTRINSTINAME', align: 'left', width: '160', hidden: true},
{name: 'COMPANYITCONTACTNAME', align: 'left', width: '110', hidden: true},
{name: 'COMPANYITCONTACTTELNO', align: 'left', width: '120', hidden: true},
{name: 'ITCONTACTPOINTPERSON1', align: 'left', width: '120', hidden: true},
{name: 'BZWKCONTACTPERSON', align: 'left', width: '120', hidden: true}
],
jsonReader: {
repeatitems: false
},
rowNum: 10000,
height: '520',
viewrecords: true,
gridview: true,
autowidth: true,
ondblClickRow: function (rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['eaiBzwkDstcd'] = rowData['EAIBZWKDSTCD'];
args['msgDpstYMS'] = rowData['MSGDPSTYMS'];
args['logPrcssSerno'] = rowData['LOGPRCSSSERNO'];
args['eaiSvcSerno'] = rowData['EAISVCSERNO'];
var url2 = '<c:url value="/onl/transaction/tracking/trackingMan.view"/>';
url2 = url2 + "?cmd=DETAIL";
showModal2(url2, args, 1000, 1218, undefined, "scroll:yes;status:no;resizable:yes;", false);
//url2 = url2 + "&eaiBzwkDstcd=" +rowData['EAIBZWKDSTCD'];
//url2 = url2 + "&msgDpstYMS=" +rowData['MSGDPSTYMS'];
//url2 = url2 + "&logPrcssSerno=" +rowData['LOGPRCSSSERNO'];
//url2 = url2 + "&eaiSvcSerno=" +rowData['EAISVCSERNO'];
//goNav(url2);
},
gridComplete: function (d) {
// 헤더 화살표 없애기
var colModel = $(this).getGridParam("colModel");
for (var i = 0; i < colModel.length; i++) {
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
loadComplete: function (d) {
$("#grid").tuiTableRowSpan("7");
// 거래 건수 표시
var uniqueCount = calculateUniqueLogCount("#grid");
updateLogCountDisplay(uniqueCount, displayedLogs, totalLogs);
//에러 행 색상 표시
var rows = $(this).getDataIDs();
for (var i = 0; i < rows.length; i++) {
var val = $("#grid").getCell(rows[i], 'ERRYN');
if (val == "Y") {
$("#" + rows[i]).find("td").css("background-color", "#FFCC99");
}
}
//1000건이상 alert
if (d.records == 1000) {
setTimeout(() => {
alert("<%=localeMessage.getString("tracking.alert5")%>"); // 조회 결과 1,000건 초과
}, 0); // Alert는 비동기적으로 처리
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'<%=localeMessage.getString("tracking.alert6")%>'); //error: the session has closed.
parent.location.href = '<%=request.getContextPath()%>/';
} else if (jqXHR.status == 400) {
$("#grid").clearGridData();
alert(JSON.parse(jqXHR.responseText).errorMsg);
} else {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'textStatus: ' + textStatus + '\n' +
'errorThrown: ' + errorThrown);
// alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
}
}
});
resizeJqGridWidth('grid', 'content_middle', '1000');
//$("#grid").jqGrid('setFrozenColumns');
$("#btn_search").click(function () {
$("input[name=searchGuid]").blur();
detail();
getTransactionCounts();
});
$("input[name^=search]").keydown(function (key) {
if (key.keyCode == 13) {
guidEvent();
$("#btn_search").click();
}
});
$("input[name=searchStartYYYYMMDD]").change(function (e) {
$("input[name=searchEndYYYYMMDD]").val($(this).val());
})
//검색조건 달력
$("#startDatepicker").datepicker();
//업체명 검색
$("#btn_popup").click(function () {
var key = "";
var args = new Object();
args['companyName'] = $('input[name=companyName1]').val();
var url = '<c:url value="/onl/admin/service/companyMan.view" />';
url = url + "?cmd=POPUP";
var ret = showModal(url, args, 1020, 630, function (arg) {
var args = null;
if (arg == null || arg == undefined) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if (!args || !args.returnValue) return;
var ret = args.returnValue;
console.log("ret", ret);
key = ret['key'];
$("input[name=companyName1]").val(key);
$("input[name=searchCompanyName]").val(key);
});
});
//업체명 검색
$("#btn_init").click(function () {
$("input[name=companyName1]").val("");
$("input[name=searchCompanyName]").val("");
});
$("#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)
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi, "");
start = start + $("input[name=searchStartHHMM]").val();
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi, "");
end = end + $("input[name=searchEndHHMM]").val();
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
gridToExcelSubmit2(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), '<%= localeMessage.getString("tracking.title")%>');
return false;
});
//GUID
$("input[name=searchGuid]").blur(function (event) {
guidEvent();
});
buttonControl();
var local = localStorage.getItem("guid");
if (local != null) {
if (local.length > GUID_LENGTH) local = local.substr(0, GUID_LENGTH);
$("input[name=searchGuid]").val(local);
localStorage.removeItem("guid");
local = null;
}
$(window).on('resize.jqGrid', function () {
jQuery("#grid").jqGrid('setGridWidth', $("#content_middle").width());
});
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_excel" level="W"><i
class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %>
</button>
<button type="button" class="cssbtn" id="btn_search" level="R"><i
class="material-icons">search</i> <%= localeMessage.getString("button.search") %>
</button>
<%-- <img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="W"/> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%=localeMessage.getString("tracking.title")%>
</div>
<form id = "ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:12%; min-width:120px;"><%=localeMessage.getString("tracking.eaisvcname")%></th>
<td style="width:15%;"><input type="text" name="searchEaiSvcName" value="${param.searchEaiSvcName}"></td>
<th style="width:13%; min-width:140px;"><%=localeMessage.getString("tracking.bzwkdstcd")%></th>
<td style="width:15%; min-width:160px;">
<div style="position: relative; width: 100%;">
<select name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}"></select>
</div>
</td>
<th style="width:12%; min-width:120px;"><%=localeMessage.getString("tracking.msgrecvtm")%></th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:70px; border:1px solid #ebebec;">
<input type="text" name="searchStartHHMM" value="" size="8" style="width:70px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:70px; border:1px solid #ebebec;">
<input type="text" name="searchEndHHMM" value="" size="8" style="width:70px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartTime" value="" style="width:0px;">
<input type="hidden" name="searchEndTime" value="" style="width:0px;">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("tracking.eaisvcserno_tmp")%></th>
<td><input type="text" name="searchEaiSvcSerno" value="${param.searchEaiSvcSerno}"></td>
<th><%=localeMessage.getString("tracking.logprcssserno")%></th>
<td>
<div >
<select name="searchLogPrcssSerno" value="${param.searchLogPrcssSerno}" style="width: 100%;">
</select>
</div>
</td>
<th ><%=localeMessage.getString("tracking.logtype")%></th>
<td>
<input type="radio" name="searchErrorYn" value="N" checked="checked" id="sub2_2_1_1"><label for="sub2_2_1_1"><%= localeMessage.getString("tracking.allLog") %></label>
<input type="radio" name="searchErrorYn" value="Y" id="sub2_2_1_2"><label for="sub2_2_1_2"><%= localeMessage.getString("tracking.errLog") %></label>
</td>
<!-- 로그조회키 -->
<%-- <th><%=localeMessage.getString("tracking.trackasiskeyctnt")%></th>
<td>
<input type="text" name="searchTrackAsisKey1Ctnt" value="${param.searchTrackAsisKey1Ctnt}" style="width: 40%;">
<input type="text" name="searchTrackAsisKey2Ctnt" value="${param.searchTrackAsisKey2Ctnt}" style="width: 40%;">
</td> --%>
<!-- 대외업무, 업무서비스키 -->
<%-- <th><%=localeMessage.getString("tracking.extBizCd")%></th>
<td>
<div style="position: relative; width: 100%;">
<select name="searchExtBizCd" value="${param.searchExtBizCd}" style="width: 100%;"></select>
</div>
</td>
<th><%=localeMessage.getString("tracking.ifDisKeyVal")%></th>
<td><input type="text" name="searchRefKey" value="${param.searchRefKey}"></td> --%>
<!-- <th><%=localeMessage.getString("tracking.companycode")%></th>
<td><input type="text" name="searchCompanyCode" value="${param.searchCompanyCode}"></td> -->
<!-- <th><%=localeMessage.getString("tracking.companyname")%></th>
<td><input type="hidden" name="searchCompanyName" value="" style="width:0px;">
<input type="text" name="companyName1" value="${param.searchCompanyName}" style="width:70%;" readonly>
<img src="<c:url value="/img/icon_search.png"/>" alt="" id="btn_popup" style="margin: 5px;cursor:hand "/>
<img src="<c:url value="/img/btn_pop_initialize.png"/>" alt="" id="btn_init" style="margin: 5px;cursor:hand "/>
</td> -->
</tr>
<tr>
<th><%=localeMessage.getString("tracking.keymgtmsgctnt")%></th>
<td colspan="5"><input type="text" name="searchKeyMgtMsgCtnt" value="${param.searchKeyMgtMsgCtnt}"></td>
<%-- <th><%=localeMessage.getString("tracking.orgGUID")%></th>
<td colspan="4"><input type="text" name="searchGuid" value="" maxlength="<%=DbTrackingService.GUID_LENGTH%>"></td> --%>
</tr>
</tbody>
</table>
</form>
<div id="totalCount">총 건수: 0 건</div>
<table id="grid" style="margin-top: 3px;"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,585 @@
<%@ 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 eaiBzwkDstcd = null;
var msgDpstYMS = null;
var eaiSvcSerno = null;
var logPrcssSerno = null;
var serviceType = null;
var guid = null;
//alert(window.dialogArguments.length);
debugger;
if(window.dialogArguments != null && window.dialogArguments != undefined){
eaiBzwkDstcd = window.dialogArguments["eaiBzwkDstcd"];
msgDpstYMS = window.dialogArguments["msgDpstYMS"];
eaiSvcSerno = window.dialogArguments["eaiSvcSerno"];
logPrcssSerno = window.dialogArguments["logPrcssSerno"];
serviceType = window.dialogArguments["serviceType"];
if(serviceType != null && serviceType != undefined){
sessionStorage["serviceType"] = serviceType;
}
}else{
eaiBzwkDstcd = "${param.eaiBzwkDstcd}";
msgDpstYMS = "${param.msgDpstYMS}";
eaiSvcSerno = "${param.eaiSvcSerno}";
logPrcssSerno = "${param.logPrcssSerno}";
serviceType ="${param.serviceType}";
searchDate = "${param.searchDate}";
guid = "${param.guid}";
sessionStorage["serviceType"] = serviceType;
//alert(sessionStorage["serviceType"]);
//alert("eaiBzwkDstcd="+eaiBzwkDstcd+","+"msgDpstYMS="+msgDpstYMS+","+"eaiSvcSerno="+eaiSvcSerno+","+"logPrcssSerno="+logPrcssSerno+",");
}
var eaiMsg = "";
// 데이터의 왼쪽에 0으로 채우는 함수 (표준전문 헤더의 전문길이 8자리 포맷 지정)
function lpad(str, len, chr)
{
var max = 0;
if(!str || !chr || str.length >= len)
{
return str;
}
max = len-str.length;
for(var i = 0; i < max; i++)
{
str = chr + str;
}
return str;
}
// 문자열 Byte 계산 함수 (표준전문 전체 길이 체크)
function getBytes(str) {
var orgVal = str;
var bytes =0;
for( var k=0;k < orgVal.length;k++) {
var tmp = orgVal.charAt(k);
var b=0;
if(escape(tmp).length > 4) {
b=2;
} else if( tmp != '\r' ) { // 리눅스는 \r를 인식하지 못함
b=1;
}
bytes += b;
}
return bytes;
}
// 표준전문 생성 함수
function getMsg(msgHeader, msgCommon, msgMsg, msgDataheader, msgBzwkdatactnt)
{
var tempEaiMsg = "";
if(msgMsg == null)
{
tempEaiMsg = msgHeader + msgCommon + msgDataheader + msgBzwkdatactnt + "@@";
}
else
{
tempEaiMsg = msgHeader + msgCommon + msgMsg + msgDataheader + msgBzwkdatactnt + "@@";
}
return tempEaiMsg;
}
function detail(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL',serviceType:serviceType,guid:guid,searchDate:searchDate, eaiSvcSerno : eaiSvcSerno, logPrcssSerno:logPrcssSerno,eaiBzwkDstcd:eaiBzwkDstcd,msgDpstYMS:msgDpstYMS },
success:function(json){
var data = json;
$("#ajaxForm input,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
if (name == null || name==undefined || name=="") return;
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
//에러시 에러탭이 보이도록
if($("textarea[name=eaiErrCtnt]").val().trim() != ""){
$("ul.tabs li[rel=tab5]").click();
}
$("#grid")[0].addJSONData(json); //데이터부
$("#grid1")[0].addJSONData(json); //헤더부
$("#grid2")[0].addJSONData(json); //공통부
$("#grid3")[0].addJSONData(json); //메시지부
if(json.xmlDataYn =="Y"){
$("#btn_xml").show();
}
var header = data["HEADER"];
var common = data["COMMON"];
var msg = data["MSG"];
var dataheader = data["DATAHEADER"];
var bzwkdatactnt = data["BZWKDATACTNT"];
var headerLen = 0;
var headerBody = "";
var tempEaiMsgByteLen = 0;
var tempEaiMsg = "";
tempEaiMsg = getMsg(header, common, msg, dataheader, bzwkdatactnt);
tempEaiMsgByteLen = getBytes(tempEaiMsg);
headerLen = parseInt(header.substr(0, 8), 10);
headerBody = header.substr(8);
if(headerLen == tempEaiMsgByteLen)
{
eaiMsg = tempEaiMsg;
}
else
{
headerLen = tempEaiMsgByteLen.toString();
header = lpad(headerLen, 8, '0') + headerBody;
eaiMsg = getMsg(header, common, msg, dataheader, bzwkdatactnt);
}
},
error:function(xhr, status, errorMsg){
alert(JSON.parse(xhr.responseText).errorMsg);
}
});
}
function copy(obj){
var sel = obj.jqGrid('getGridParam', 'selrow');
var colmodel = obj.jqGrid('getGridParam',"colModel");
data = "";
for (var col = 1 ;col < colmodel.length;col++){
if(!colmodel[col].hidden ){
data += obj.jqGrid('getCell',sel,colmodel[col].name)+" ";
}
}
data +="\n";
window.clipboardData.setData("Text",data);
}
$(document).ready(function() {
var url ='<c:url value="/onl/transaction/tracking/trackingMan.json" />';
detail(url);
$('#grid').jqGrid({ //데이터부
datatype : "json",
mtype : 'POST',
colNames : [ '순번',
'필드명',
'한글명',
'데이터',
'데이터길이'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200' },
{ name : 'korName' , align : 'left' },
{ name : 'data' , align : 'left' , width:'226'},
{ name : 'dataLen' , align : 'center' , width:'80' }
],
jsonReader : {
repeatitems : false,
root : "dataRows"
},
rowNum: 10000,
height : "50px",
autowidth : true,
viewrecords : true
});
$('#grid1').jqGrid({ //헤더부
datatype : "json",
mtype : 'POST',
colNames : [ '순번',
'필드명',
'한글명',
'데이터',
'데이터길이'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200' },
{ name : 'korName' , align : 'left' },
{ name : 'data' , align : 'left' , width:'226'},
{ name : 'dataLen' , align : 'center' , width:'80' }
],
jsonReader : {
repeatitems : false,
root : "hdrRows"
},
rowNum: 10000,
height : "255px",
autowidth : true,
viewrecords : true
});
$('#grid2').jqGrid({ //공통부
datatype : "json",
mtype : 'POST',
colNames : [ '순번',
'필드명',
'한글명',
'데이터',
'데이터길이'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200' },
{ name : 'korName' , align : 'left' },
{ name : 'data' , align : 'left' , width:'226'},
{ name : 'dataLen' , align : 'center' , width:'80' }
],
jsonReader : {
repeatitems : false,
root : "comRows"
},
rowNum: 10000,
height : "255px",
autowidth : true,
viewrecords : true
});
$('#grid3').jqGrid({ //메시지
datatype : "json",
mtype : 'POST',
colNames : [ '순번',
'필드명',
'한글명',
'데이터',
'데이터길이'
],
colModel : [ { name : 'index' , align : 'center' , width:'60' },
{ name : 'fieldName' , align : 'left' , width:'200' },
{ name : 'korName' , align : 'left' },
{ name : 'data' , align : 'left' , width:'226'},
{ name : 'dataLen' , align : 'center' , width:'80' }
],
jsonReader : {
repeatitems : false,
root : "msgRows"
},
rowNum: 10000,
height : "255px",
autowidth : true,
viewrecords : true
});
$("#grid,#grid1,#grid2,#grid3").keydown(function(e){
if(e.ctrlKey && e.keyCode ==67){
copy($(this));
}
});
resizeJqGridWidth('grid','container-1','800');
resizeJqGridWidth('grid1','container-1','800');
resizeJqGridWidth('grid2','container-1','800');
resizeJqGridWidth('grid3','container-1','800');
$(".tab_content").hide();
$(".tab_content:first").show();
$("ul.tabs li").click(function () {
$("ul.tabs li").removeClass("active").css("color", "#333");
$(this).addClass("active").css("color", "darkred");
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab).show();
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_xml").click(function(){
var url = '<c:url value="/onl/transaction/tracking/trackingMan.json" />';
url += "?cmd=DETAIL_XML";
url += '&eaiSvcSerno=' +$("input[name=eaiSvcSerno]").val();
url += '&msgDpstYMS=' +$("input[name=msgDpstYMS]").val();
url += '&eaiBzwkDstcd=' +$("input[name=eaiBzwkDstcd]").val();
url += '&logPrcssSerno=' +$("input[name=logPrcssSerno]").val();
var showXml = windowOpen(url,"showXML",700,600);
showXml.focus();
});
$("#btn_ebcdic").click(function(){
var url = '<c:url value="/onl/transaction/tracking/trackingMan.json" />';
url += "?cmd=DETAIL_EBCDIC";
url += '&eaiSvcSerno=' +$("input[name=eaiSvcSerno]").val();
url += '&msgDpstYMS=' +$("input[name=msgDpstYMS]").val();
url += '&eaiBzwkDstcd=' +$("input[name=eaiBzwkDstcd]").val();
url += '&logPrcssSerno=' +$("input[name=logPrcssSerno]").val();
var showXml = windowOpen(url,"showMessage",700,600);
showXml.focus();
});
$("input[name=msgDpstYMS],input[name=msgPrcssYMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':true});
$("#sp_bzwkData").dblclick(function(){
window.clipboardData.setData("Text", eaiMsg);
});
});
</script>
</head>
<body>
<!-- title -->
<div class="container" id="title">
<div class="left full ">
<p class="title"><img class="title_image" src="<c:url value="/images/title_bullet.gif"/>">로그검색 상세보기</p>
</div>
</div>
<!-- line -->
<div class="container">
<div class="left full title_line "> </div>
</div>
<!-- button -->
<table width="790px" height="35px" >
<tr>
<td align="right">
<img id="btn_close" src="<c:url value="/images/bt/bt_close.gif"/>" />
</td>
</tr>
</table>
<!-- detail -->
<form id="ajaxForm">
<table width="790px" border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td>
[공통 정보]
</td>
</tr>
<tr>
<td>
<table class="table_detail" width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#000000" >
<tr>
<td width="20%" class="detail_title">업무구분코드</td><td width="30%"><input type="text" name="eaiBzwkDstcd" style="width:100%" readonly="readonly"/> </td>
<td width="20%" class="detail_title">메시지수신일시</td><td width="30%"><input type="text" name="msgDpstYMS" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">IF서비스코드</td><td><input type="text" name="eaiSvcName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">메시지처리일시</td><td><input type="text" name="msgPrcssYMS" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">EAI서비스 설명</td><td colspan="3"><input type="text" name="eaiSvcDesc" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">전문고유번호</td><td><input type="text" name="keyMgtMsgCtnt" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">로그처리일련번호</td><td><input type="text" name="logPrcssSerno" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">IF서비스일련번호</td><td><input type="text" name="eaiSvcSerno" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">IF서비스인스턴스명</td><td><input type="text" name="eaiSevrInstncName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">GUID</td><td><input type="text" name="guid" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">서비스시각유무</td><td><input type="text" name="svcHMSEonot" style="width:100%" readonly="readonly"/> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div id="container-1" style="width:780px;height:300px">
<ul class="tabs">
<li class="active" rel="tab1">업무데이터</li>
<li rel="tab2">헤더부</li>
<li rel="tab3">공통부</li>
<li rel="tab4">메시지부</li>
<li rel="tab5">에러</li>
</ul>
<div class="tab_container" style="width:100%;">
<div id="tab1" class="tab_content" >
<table id="grid" ></table>
<table class="table_detail" width="100%" height="205px" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td colspan="2" ><span id="sp_bzwkData">[업무데이터]</span><img id="btn_xml" src="<c:url value="/images/bt/bt_show_xml.gif"/>" class="button_postion" style="display:none" />
<img id="btn_ebcdic" src="<c:url value="/images/bt/bt_detail.gif"/>" class="button_postion" style="display:none" /></td>
</tr>
<tr>
<td colspan="2"><textarea rows="" cols="" name="bzwkDataCtnt" style="width: 100%;height:175px"></textarea></td>
</tr>
</table>
</div>
<div id="tab2" class="tab_content">
<table id="grid1" ></table>
</div>
<div id="tab3" class="tab_content">
<table id="grid2" ></table>
</div>
<div id="tab4" class="tab_content">
<table id="grid3" ></table>
</div>
<div id="tab5" class="tab_content">
<table class="table_detail" width="100%" height="260px" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td colspan="2">[에러정보]</td>
</tr>
<tr>
<td width="15%" class="detail_title">에러코드</td>
<td width="85%" ><input type="text" name="eaiErrCd" style="width:100%"/></td>
</tr>
<tr>
<td width="100%" colspan="2"><textarea rows="" cols="" name="eaiErrCtnt" style="width: 100%;height:236px"></textarea></td>
</tr>
</table>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
[기동(INBOUND)]
</td>
</tr>
<tr>
<td>
<table class="table_detail" width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#000000" >
<tr>
<td width="20%" class="detail_title">서비스동기사용구분코드</td><td width="30%"><input type="text" name="svcMotivUseDstcd" style="width:100%" readonly="readonly"/> </td>
<td width="25%" class="detail_title">기동시스템어댑터업무그룹명</td><td width="25%"><input type="text" name="gstatSysAdptrBzwkGroupName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">흐름통제라우팅명</td><td><input type="text" name="flowCtrlRoutName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">표준메시지사용여부</td><td><input type="text" name="stndMsgUseYn" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">서비스처리구분명</td><td><input type="text" name="svcPrcssDsticName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">서비스전컬럼로그여부</td><td><input type="text" name="svcBfClmnLogYn" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">서비스처리번호</td><td><input type="text" name="svcPrcssNo" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">통합구분명</td><td><input type="text" name="intgraDsticName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">기동서비스구분명</td><td><input type="text" name="gstatSvcDsticName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">현재메시지ID명</td><td><input type="text" name="prsntMsgIdName" style="width:100%" readonly="readonly"/> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
[수동(OUTBOUND)]
</td>
</tr>
<tr>
<td>
<table class="table_detail" width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#000000" >
<tr>
<td width="20%" class="detail_title">수동인터페이스구분명</td><td width="30%"><input type="text" name="psvIntfacDsticName" style="width:100%" readonly="readonly"/> </td>
<td width="25%" class="detail_title">수동시스템어댑터업무그룹명</td><td width="25%"><input type="text" name="psvSysAdptrBzwkGroupName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">아웃바운드라우팅명</td><td><input type="text" name="outbndRoutName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">타임아웃값</td><td><input type="text" name="toutVal" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">수동시스템서비스구분명</td><td><input type="text" name="psvSysSvcDsticName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">수동업무시스템명</td><td><input type="text" name="psvBzwkSysName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">응답에러필드명</td><td><input type="text" name="rspnsErrFldName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">수동시스템ID명</td><td><input type="text" name="psvSysIdName" style="width:100%" readonly="readonly"/> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
[변화(MAPPING)]
</td>
</tr>
<tr>
<td>
<table class="table_detail" width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#000000" >
<tr>
<td width="20%" class="detail_title">요청 매핑여부</td><td width="30%"><input type="text" name="chngYn" style="width:100%" readonly="readonly"/> </td>
<td width="25%" class="detail_title">요청 전문레이아웃매핑코드</td><td width="25%"><input type="text" name="chngMsgIdName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">응답 매핑여부</td><td><input type="text" name="bascRspnsChngYn" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">응답 전문레이아웃매핑코드</td><td><input type="text" name="bascRspnsChngMsgIdName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">오류응답 매핑여부</td><td><input type="text" name="errRspnsChngYn" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">오류 전문레이아웃매핑코드</td><td><input type="text" name="errRspnsChngMsgIdName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">요청 전문레이아웃코드</td><td><input type="text" name="inptMsgIDName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">오류응답메시지비교내용</td><td><input type="text" name="errRspnsMsgCmprCtnt" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">기본응답메시지비교내용</td><td><input type="text" name="bascRspnsMsgCmprCtnt" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">장애극복여부</td><td><input type="text" name="flovrYn" style="width:100%" readonly="readonly"/> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
[기타정보]
</td>
</tr>
<tr>
<td>
<table class="table_detail" width="100%" border="1" cellpadding="1" cellspacing="0" bordercolor="#000000" >
<tr>
<td width="20%" class="detail_title">응답에러코드명</td><td width="30%"><input type="text" name="rspnsErrcdName" style="width:100%" readonly="readonly"/> </td>
<td width="25%" class="detail_title">서버로그레벨번호</td><td width="25%"><input type="text" name="sevrLogLvelNo" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">서비스로그레벨번호</td><td><input type="text" name="svcLogLvelNo" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">오류EAI서비스명</td><td><input type="text" name="errEAISvcName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">요청오류변환ID명</td><td><input type="text" name="dmndErrChngIDName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">요청에러필드명</td><td><input type="text" name="dmndErrFldName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">응답오류변환ID명</td><td><input type="text" name="rspnsErrChngIdName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">다음서비스처리번호</td><td><input type="text" name="nextSvcPrcssNo" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">서버그룹명</td><td><input type="text" name="sevrGroupName" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">보상서비스처리명</td><td><input type="text" name="cmpenSvcPrcssName" style="width:100%" readonly="readonly"/> </td>
</tr>
<tr>
<td class="detail_title">추적보조키1내용</td><td><input type="text" name="trackAsisKey1Ctnt" style="width:100%" readonly="readonly"/> </td>
<td class="detail_title">추적보조키2내용</td><td><input type="text" name="trackAsisKey2Ctnt" style="width:100%" readonly="readonly"/> </td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
@@ -0,0 +1,87 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/transaction/tracking/trackingMan.json" />';
var eaiSvcSerno = window.dialogArguments["eaiSvcSerno"];
var msgDpstYMS = window.dialogArguments["msgDpstYMS"];
var eaiBzwkDstcd = window.dialogArguments["eaiBzwkDstcd"];
var logPrcssSerno = window.dialogArguments["logPrcssSerno"];
$(document).ready(function() {
console.log("eaiSvcSerno :"+ eaiSvcSerno);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'DETAIL_INPTMDIA' , eaiSvcSerno : eaiSvcSerno, logPrcssSerno:logPrcssSerno,eaiBzwkDstcd:eaiBzwkDstcd,msgDpstYMS:msgDpstYMS
},
colNames : ['순서',
'이름',
'설명',
'값',
'길이'
],
colModel : [ { name : 'rownum' , align : 'center' , width:'30' },
{ name : 'name' , align : 'left' , width:'100'},
{ name : 'desc' , align : 'left' , width:'100'},
{ name : 'value' , align : 'left' , width:'120'},
{ name : 'len' , align : 'center' , width:'40' }
],
cmTemplate: {
sortable: false,
},
jsonReader: {
repeatitems:false
},
rowNum: 10000,
height: '500',
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
}
});
$("#btn_close").click(function(){
window.close();
});
buttonControl();
});
</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"/>
</div>
<div class="title">입력매체부</div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,598 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var srcGroup;
var tgtGroup;
var srcGrid ;
var tgtGrid ;
var url ='<c:url value="/onl/admin/rule/transformMan.json" />';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var returnUrl = getReturnUrlForReturn();
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var srcCurRowId;
var tarCurRowId;
var srcSelectRowId;
var tarSelectRowId;
var srcSelectRowId2;
var tarSelectRowId2;
function getSourceResult(cnvsnName){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd : 'LIST_TRANSFORM_SOURCE_RESULT', cnvsnName : cnvsnName},
success:function(json){
var data = json.rows;
if(data.length == 0){
alert("데이터 없음");
return;
}
var src = null;
var tgt = null;
var type = null;
for ( var i = 0; i < data.length; i++) {
if (data[i]['SOURCRSULTDSTCD'] == 'SRC_LAYOUT' ){
src = data[i]['LOUTNAME'];
$("input[name=srcLayout]").val(src);
type = data[i]['LOUTPTRNNAME'];
$("#srcType").text(type);
}else if (data[i]['SOURCRSULTDSTCD'] == 'TGT_LAYOUT' ){
tgt = data[i]['LOUTNAME'];
$("input[name=tgtLayout]").val(tgt);
type = data[i]['LOUTPTRNNAME'];
$("#tgtType").text(type);
}
}
if (src !=null){
srcGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_LAYOUT_ITEM', loutName: src } }).trigger("reloadGrid");
}
if (tgt !=null){
tgtGrid.setGridParam( {url :url ,postData: { cmd : 'LIST_TRANSFORM_ITEM', loutName: tgt ,cnvsnName : cnvsnName} }).trigger("reloadGrid");
}
},
error:function(e){
alert(e.responseText);
}
});
}
function setTgtCell(){
var rowId = tgtGrid.getGridParam( "selrow" );
tgtGrid.jqGrid('setCell',rowId,'CNVSNRSULTITEMPATHNAME',$('textarea[name=CNVSNRSULTITEMPATHNAME]').val());
tgtGrid.jqGrid('setCell',rowId,'CNVSNCMDNAME',$('textarea[name=CNVSNCMDNAME]').val());
tgtGrid.jqGrid('setCell',rowId,'CNVSNITEMBASCVAL',$('input[name=CNVSNITEMBASCVAL]').val() == "" ? null : $('input[name=CNVSNITEMBASCVAL]').val());
tgtGrid.jqGrid('setCell',rowId,'CNVSNITEMSERNO',$('input[name=CNVSNITEMSERNO]').val());
}
function addGroupTag(group,data){
var result = data;
var datas = data.split(".");
var comp = datas[0];
var arr = new Array();
for(var i=1;i<datas.length;i++){
comp = comp +"." +datas[i];
if (group[comp] != undefined){
//값이 있음
arr.push(comp);
}
}
for(var i=arr.length;i > 0;i--){
var a = arr.pop();
result = result.substr(0,result.indexOf(a)+a.length) + "[*]"+ result.substring(result.indexOf(a)+a.length);
}
return result;
}
function tgtGridSelect(loutitempath, rowId){
var ids = $("#targetLayout").jqGrid('getDataIDs');
var tarItempath ;
//console.log("항목명 :"+loutitempath)
for ( var i = 0 ; i < ids.length; i++) {
tarItempath = $('#targetLayout').jqGrid('getCell', ids[i],'CNVSNCMDNAME'); //rowData.id;
tarItempath = tarItempath.replace("[*]","");
loutitempath = loutitempath.replace("[*]","");
//console.log("타겟항목명 :"+tarItempath)
if(loutitempath != '' && tarItempath.indexOf(loutitempath) > -1){
tarSelectRowId = ids[i];
srcSelectRowId = rowId;
if(tarSelectRowId2 != ids[i]){
$("#targetLayout tr[id="+ids[i]+"]").css("background-color","#BBEEEE");
}
if(srcSelectRowId2 != rowId){
$("#sourceLayout tr[id="+rowId+"]").css("background-color","#BBEEEE");
}
}else{
if(tarCurRowId != ids[i]){
$("#targetLayout tr[id="+ids[i]+"]").css("background-color","#FFFFFF");
}
}
}
}
function srcGridSelect(loutitempath , rowId){
var ids = $("#sourceLayout").jqGrid('getDataIDs');
var srcItempath ;
//ascii2ebcdic(removepoint(BFF_KFK128BK61_REQ1.InData.주택사용총면적,5,2)) // ascii2ebcdic(EAI_XML_ERR.OutData.RpsntErrInfo.ErrmsgTreatCd)
if(loutitempath.indexOf("(") > -1){
var startIndex = loutitempath.lastIndexOf("(");
var lastIndex = loutitempath.lastIndexOf(")");
loutitempath = loutitempath.substring(startIndex+1,lastIndex);
}
if(loutitempath.indexOf(",") > -1){ //EAI_XML_ERR.OutData.RpsntErrInfo.ErrmsgTreatCd,3
var lastIndex = loutitempath.indexOf(",");
loutitempath = loutitempath.substring(0,lastIndex);
}
loutitempath = loutitempath.replace("[*]","");
//console.log("변환명령 :"+loutitempath)
for ( var i = 0 ; i < ids.length; i++) {
srcItempath = $('#sourceLayout').jqGrid('getCell', ids[i],'LOUTITEMPATH'); //항목명
srcItempath = srcItempath.replace("[*]","");
//console.log("항목명 :"+srcItempath)
if(loutitempath != '' && loutitempath == srcItempath){
srcSelectRowId2 = ids[i];
tarSelectRowId2 = rowId;
if(srcSelectRowId != ids[i]){
$("#sourceLayout tr[id="+ids[i]+"]").css("background-color","#EDD5DD");
}
if(tarSelectRowId != rowId){
$("#targetLayout tr[id="+rowId+"]").css("background-color","#EDD5DD");
}
}else{
if(srcCurRowId != ids[i]){
$("#sourceLayout tr[id="+ids[i]+"]").css("background-color","#FFFFFF");
}
}
}
}
function fnModalClose(){
var opener = window.dialogArguments['self'];
var url = opener.document.location.href;
if(url.indexOf("pop=true")>0){
opener.fnModalClose();
top.opener = null;
top.window.close();
}else{
opener.document.location.href=opener.document.URL;
top.opener = null;
top.window.close();
}
}
$(document).ready(function() {
//combo
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd : 'LIST_INIT_COMBO',eaiSvcName: '${param.eaiSvcName}'},
success:function(json){
isAdmin = json.isAdmin;
//eaiSvcName combo
$("input[name=eaiSvcName]").val('${param.eaiSvcName}');
$("input[name=eaiSvcDesc]").val('${param.eaiSvcDesc}');
//transform combo
new makeOptions("CODE","NAME").setObj($("select[name=transformForEaiSvcNameCombo]")).setData(json.transformRows).setFormat(codeOptionFormat).setAttr("desc","NAME").rendering();
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDStcd]")).setData(json.svrDstcd).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
$("select[name=eaiSevrDStcd]").val('${param.eaiSevrDStcd}');
$("select[name=useYn]").val('${param.useYn}');
//setSearchable(selectName); // 콤보에 searchable 설정
if(json.transformRows.length == 0){
$("select[name=transformForEaiSvcNameCombo]").append("<option value='"+"${param.cnvsnName}"+"'>"+"${param.cnvsnName}"+"</option>");
$("input[name=cnvsnDesc]").val(("${param.cnvsnDesc}"!="undefined")?"${param.cnvsnDesc}":"");
}else{
$("select[name=transformForEaiSvcNameCombo]").val("${param.cnvsnName}").change();
$("input[name=cnvsnDesc]").val($("select[name=transformForEaiSvcNameCombo] option:selected").attr("desc"));
}
getSourceResult("${param.cnvsnName}");
},
error:function(e){
alert(e.responseText);
}
});
srcGrid = $("#sourceLayout");
srcGrid.jqGrid({
//url: '<c:url value="/onl/admin/rule/transformMan.json" />',
//postData : { cmd : 'LAYOUT_ITEM', loutName: 'LAC_BBSA311_CBSS'},
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames: ["id","원천 항목명","원천 항목명","번호","노드타입","길이","항목타입","LOUTITEMNODEPTRNIDNAME","LOUTITEMPTRNIDNAME","LOUTITEMPATH","LOUTNAME","LOUTITEMMAXOCCURNOITM","LOUTITEMREFINFO2"],
colModel: [
{name: "id" , hidden:true,key:true},
{name: "LOUTITEMNAME" , width:"250"},
{name: "LOUTITEMDESC" },
{name: "LOUTITEMSERNO" , align : 'right' ,width:"30"},
{name: "LOUTITEMNODEPTRNIDDESC" , width:"60"},
{name: "LOUTITEMLENCNT" , align : 'right' , width:"60"},
{name: "LOUTITEMPTRNIDDESC" , width:"80"},
{name: "LOUTITEMNODEPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPATH" , hidden:true},
{name: "LOUTNAME" , hidden:true},
{name: "LOUTITEMMAXOCCURNOITM" , hidden:true},
{name: "LOUTITEMREFINFO2" , hidden:true}
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"500",
//direction:"rtl",
//autowidth: true,
rowNum: 10000,
//autowidth: true,
//ExpandColClick: true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
var data = d.rows;
srcGroup = new Object();
for ( var i = 0; i < data.length; i++) {
//if (data[i]["LOUTITEMREFINFO2"] == null) continue;
if (data[i]["LOUTITEMPATH"].length > 0
&& (data[i]["LOUTITEMNODEPTRNIDNAME"] == "2202")
&& (data[i]["LOUTITEMMAXOCCURNOITM"] > 1
|| ( data[i]["LOUTITEMREFINFO2"] != null && data[i]["LOUTITEMREFINFO2"].trim().length > 1 )
)
) {
srcGroup[data[i]["LOUTITEMPATH"]]= data[i]["LOUTITEMPATH"];
}
}
//select box 에 추가
$("select[name=cnvsnCmdCombo]").html("");
for ( var i = 0; i < data.length; i++) {
if (data[i]['LOUTITEMNODEPTRNIDNAME'] != "2203" && data[i]['LOUTITEMNODEPTRNIDNAME'] != "2204") continue;
var str = new makeOptions("CODE","NAME").setData(addGroupTag(srcGroup,data[i]['LOUTITEMPATH']),addGroupTag(srcGroup,data[i]['LOUTITEMDESC'])).setFormat(codeName3OptionFormat).getOption();
$("select[name=cnvsnCmdCombo]").append(str);
}
},
loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
$('select[name=cnvsnCmdCombo]').val(addGroupTag(srcGroup,rowData['LOUTITEMPATH']));
//색상변경 추가
srcCurRowId = rowId;
var ids = $("#sourceLayout").jqGrid('getDataIDs');
for ( var i = 0 ; i < ids.length; i++) {
if(rowId != ids[i] && srcSelectRowId2 != ids[i]){
$("#sourceLayout tr[id="+ids[i]+"]").css("background-color","#FFFFFF");
}
}
var loutitemnodeptrnidname = $("#sourceLayout").jqGrid("getCell", rowId, "LOUTITEMNODEPTRNIDNAME");
if (loutitemnodeptrnidname == "2203" || loutitemnodeptrnidname == "2204"){
var selectValue = $('select[name=cnvsnCmdCombo]').val(); //변환명령 콤보
tgtGridSelect(selectValue, rowId);
}
}
});
tgtGrid = $("#targetLayout");
tgtGrid.jqGrid({
//url: '<c:url value="/onl/admin/rule/transformMan.json" />',
//postData : { cmd : 'LAYOUT_ITEM', loutName: 'LAC_BBSA311_ORGS'},
datatype:'json',
loadui: "disable",
mtype: 'POST',
colNames: ["id","타겟 항목명","타겟 항목명","번호","노드타입","길이","항목타입","LOUTITEMNODEPTRNIDNAME","LOUTITEMPTRNIDNAME","LOUTITEMPATH","LOUTNAME","CNVSNNAME","CNVSNRSULTITEMPATHNAME" ,"변환 명령","CNVSNITEMBASCVAL","CNVSNITEMSERNO"
],
colModel: [
{name: "id" , hidden:true,key:true},
{name: "LOUTITEMNAME" , width:"250" },
{name: "LOUTITEMDESC" },
{name: "LOUTITEMSERNO" , align : 'right' , width:"30" },
{name: "LOUTITEMNODEPTRNIDDESC" , width:"60" },
{name: "LOUTITEMLENCNT" , align : 'right' , width:"60"},
{name: "LOUTITEMPTRNIDDESC" , width:"80" },
{name: "LOUTITEMNODEPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPTRNIDNAME" , hidden:true},
{name: "LOUTITEMPATH" , hidden:true},
{name: "LOUTNAME" , hidden:true},
{name: "CNVSNNAME" , hidden:true}, //변환 명
{name: "CNVSNRSULTITEMPATHNAME" , hidden:true}, //타겟 항목명
{name: "CNVSNCMDNAME" , width:"400"}, //변환 명령
{name: "CNVSNITEMBASCVAL" , hidden:true}, //기본값
{name: "CNVSNITEMSERNO" , hidden:true} //매핑순서
],
treeGrid: true,
treeIcons : {
plus: "ui-icon-circlesmall-plus",
minus: "ui-icon-circlesmall-minus",
leaf : "ui-icon-document"
},
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"500",
//autowidth: true,
rowNum: 10000,
//ExpandColClick: true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
var data = d.rows;
tgtGroup = new Object();
for ( var i = 0; i < data.length; i++) {
if (data[i]["LOUTITEMPATH"].length > 0
&& (data[i]["LOUTITEMNODEPTRNIDNAME"] == "2202")
&& (data[i]["LOUTITEMMAXOCCURNOITM"] > 1
|| ( data[i]["LOUTITEMREFINFO2"] != null && data[i]["LOUTITEMREFINFO2"].trim().length > 1 )
)
) {
tgtGroup[data[i]["LOUTITEMPATH"]]= data[i]["LOUTITEMPATH"];
}
}
},
loadBeforeSend : function (xhr,settings){
if(this.p.url ==null || this.p.url == ""){
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
$('textarea[name=CNVSNRSULTITEMPATHNAME]').val(rowData['CNVSNRSULTITEMPATHNAME']);//
$('textarea[name=CNVSNCMDNAME]').val(rowData['CNVSNCMDNAME']);
$('input[name=CNVSNITEMBASCVAL]').val(rowData['CNVSNITEMBASCVAL']);
$('input[name=CNVSNITEMSERNO]').val(rowData['CNVSNITEMSERNO']);
//색상변경 추가
tarCurRowId = rowId;
var ids = $("#targetLayout").jqGrid('getDataIDs');
for ( var i = 0 ; i < ids.length; i++) {
if(tarSelectRowId != ids[i] && ids[i] != rowId ){
$("#targetLayout tr[id="+ids[i]+"]").css("background-color","#FFFFFF");
}
}
var loutitemnodeptrnidname = $("#targetLayout").jqGrid("getCell", rowId, "LOUTITEMNODEPTRNIDNAME");
if (loutitemnodeptrnidname == "2203" || loutitemnodeptrnidname == "2204"){
var selectValue = $("#targetLayout").jqGrid("getCell", rowId, "CNVSNCMDNAME"); //변환명령
srcGridSelect(selectValue , rowId);
}
}
});
resizeJqGridWidth('sourceLayout','sourceLayoutTd','1000');
resizeJqGridWidth('targetLayout','targetLayoutTd','1000');
$("input[name=srcLayout],[name=tgtLayout]").dblclick(function(){
var layoutName = $(this).val();
if($.trim(layoutName) =="") return;
var args = new Object();
var url = '<c:url value="/onl/admin/rule/layoutMan.view" />';
url += "?cmd=DETAILPOPUP";
url += '&loutName='+layoutName;
url += '&pop=true';
showModal2(url,args,890,940,'','scroll:on');
});
$("textarea[name=CNVSNRSULTITEMPATHNAME],textarea[name=CNVSNCMDNAME],input[name=CNVSNITEMBASCVAL],input[name=CNVSNITEMSERNO]").blur(function(){
var rowId = tgtGrid.getGridParam( "selrow" );
if (isNull(rowId)) return;
setTgtCell();
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_excel_src").click(function(event) {
var url ='<c:url value="/onl/admin/rule/layoutMan.json" />';
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
gridToExcelSubmit1(url_excel,target,"LIST_GRID_TO_EXCEL",srcGrid,$("#ajaxForm"),$("input[name=srcLayout]").val());
return false;
});
$("#btn_excel_tgt").click(function(event) {
var url ='<c:url value="/onl/admin/rule/layoutMan.json" />';
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
gridToExcelSubmit1(url_excel,target,"LIST_GRID_TO_EXCEL",tgtGrid,$("#ajaxForm"),$("input[name=tgtLayout]").val());
return false;
});
$("#btn_cnvsnDetail").click(function(){
var cnvsnName = $("input[name=cnvsnName]").val(); //변환매핑 코드
var tgtLayout =$("input[name=tgtLayout]").val();
var srcLayout =$("input[name=srcLayout]").val();
var url2 = '<c:url value="/onl/admin/rule/transformMan.view" />';
var args = new Object();
url2 = url2 + "?cmd=DETAIL POPUP";
url2 += '&cnvsnName='+cnvsnName;
url2 += '&tgt_layout='+tgtLayout;
url2 += '&src_layout='+srcLayout;
url2 += '&pop=true';
showModal2(url2,args,1200,700,"","scroll:on");
});
buttonControl(true);
setBtnHide(roleString, "admin", "btn_initialize");
});
</script>
<style>
#btn_excel_src {cursor:pointer}
#btn_excel_tgt {cursor:pointer}
</style>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">변환매핑 정보</div>
<table class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">IF서비스코드[명]</th>
<td>
<input type="text" name="eaiSvcName" value="${param.eaiSvcName }"readonly>
</td>
<th style="width:180px;">전문레이아웃변환매핑 코드</th>
<td>
<input type="text" name="cnvsnName" value="${param.cnvsnName }" readonly style="width:92%; display:inline-block;">
<img src="<c:url value="/images/bt/pop_detail.gif"/>" alt="" id="btn_cnvsnDetail"/>
</td>
</tr>
<!-- <tr> -->
<!-- <th style="width:180px;">전문레이아웃 변환 매핑 유형</th> -->
<!-- <td colspan="3"> -->
<!-- <select name="cnvsnTypeCombo" style="width:100%;height:25px;" readonly/> -->
<!-- </td> -->
<!-- </tr> -->
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%" style="table-layout:fixed;" >
<tr width="100%">
<td width="42%">
<table class="table_row" cellspacing="0" width=100%>
<tr>
<th class="search_td_title" width="35px">소스</th>
<td width="20px"><img id="btn_excel_src" src="<c:url value="/images/bt/bt_excel.gif"/>" level="W" status="DETAIL"/></td>
<td width="20px"><span id="srcType" /></td>
<td height="25px"><input type="text" name="srcLayout" style="width:100%;" readonly></td>
</tr>
</table>
<td width="2%"></td>
<td width="58%">
<table class="table_row" cellspacing="0" width=100%>
<tr>
<th class="search_td_title" width="35px">타겟</th>
<td width="20px"><img id="btn_excel_tgt" src="<c:url value="/images/bt/bt_excel.gif"/>" level="W" status="DETAIL"/></td>
<td width="20px"><span id="tgtType" /></td>
<td height="25px"><input type="text" name="tgtLayout" style="width:100%;" readonly></td>
</tr>
</table>
</td>
</tr>
<!-- tree 시작-->
<tr width="100%">
<td width="38%" id="sourceLayoutTd">
<table id="sourceLayout"></table>
<div id="sourcePage"></div>
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:130px;"><%=localeMessage.getString("transformManDetail.transCmdName")%></th>
<td>
<div class="select-style" style="display:none;">
<select name="cnvsnCmdCombo"></select>
</div>
<textarea name="CNVSNCMDNAME"></textarea>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformManDetail.default")%></th><td><input type="text" name="CNVSNITEMBASCVAL" readonly/></td>
</tr>
</table>
</td>
<td width="4%" align="center">
</td>
<td width="58%" id="targetLayoutTd">
<table id="targetLayout"></table>
<div id="targetPage"></div>
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:130px;"><%=localeMessage.getString("transformManDetail.tgtItemName")%></th>
<td><textarea name="CNVSNRSULTITEMPATHNAME" readonly></textarea></td>
</tr>
<tr>
<th><%=localeMessage.getString("transformManDetail.mappSerNo")%></th>
<td><input type="text" name="CNVSNITEMSERNO" readonly/></td>
</tr>
</table>
</td>
</tr>
<!-- tree 끝-->
</table>
</div>
<iframe name=excelDown width=0 height=0></iframe>
</body>
</html>
File diff suppressed because it is too large Load Diff