142 lines
5.7 KiB
Plaintext
142 lines
5.7 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=utf-8" %>
|
|
<%@ page import="java.io.*" %>
|
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
|
|
<%@ include file="/jsp/common/include/localemessage.jsp" %>
|
|
<%
|
|
response.setHeader("Pragma", "No-cache");
|
|
response.setHeader("Cache-Control", "no-cache");
|
|
response.setHeader("Expires", "0");
|
|
%>
|
|
<html>
|
|
<head>
|
|
<title></title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<jsp:include page="/jsp/common/include/css.jsp"/>
|
|
<jsp:include page="/jsp/common/include/script.jsp"/>
|
|
<style>
|
|
.succ-y { color:#1a73e8; font-weight:bold; }
|
|
.succ-n { color:#d93025; font-weight:bold; }
|
|
.pre-wrap { white-space:pre-wrap; word-break:break-all; height:500px; overflow: auto; line-height:1.5; }
|
|
.recvdata-toolbar { text-align:right; margin-top: 5px; margin-bottom:6px; }
|
|
</style>
|
|
<script language="javascript">
|
|
var url = '<c:url value="/onl/admin/rule/layoutSyncHistoryMan.json" />';
|
|
var key = '${param.seqno}';
|
|
var rawRecvData = '';
|
|
var isRecvDataPretty = false;
|
|
|
|
function detail() {
|
|
if (!key) return;
|
|
$.ajax({
|
|
type: "POST", url: url, dataType: "json",
|
|
data: {cmd: 'DETAIL', seqno: key},
|
|
success: function (data) {
|
|
$('#seqno').text(data.seqno != null ? data.seqno : '');
|
|
$('#serviceName').text(data.serviceName || '');
|
|
$('#command').text(data.command || '');
|
|
$('#loutName').text(data.loutName || '');
|
|
$('#recvAmndHms').text(data.recvAmndHms || '');
|
|
$('#prcssRsltCmnt').text(data.prcssRsltCmnt || '');
|
|
|
|
rawRecvData = data.recvData || '';
|
|
isRecvDataPretty = false;
|
|
$('#recvData').text(rawRecvData);
|
|
|
|
if (data.prcssRslt === 'S') {
|
|
$('#prcssRslt').html('<span class="succ-y">성공</span>');
|
|
} else if (data.prcssRslt === 'F') {
|
|
$('#prcssRslt').html('<span class="succ-n">실패</span>');
|
|
} else {
|
|
$('#prcssRslt').text(data.prcssRslt || '');
|
|
}
|
|
},
|
|
error: function (e) { alert(e.responseText); }
|
|
});
|
|
}
|
|
|
|
// JSON 지수표기(예: 1e+21) 값이 vkbeautify 처리 중 깨지지 않도록 문자열로 감쌌다가 되돌린다.
|
|
function preserveExponential(jsonString) {
|
|
var protectedJson = jsonString.replace(/:\s*([+-]?\d+\.?\d*e[+-]?\d+)/gi, ': "$1"');
|
|
var prettyJson = vkbeautify.json(protectedJson);
|
|
prettyJson = prettyJson.replace(/:\s*"([+-]?\d+\.?\d*e[+-]?\d+)"/gi, ': $1');
|
|
return prettyJson;
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
var returnUrl = getReturnUrlForReturn();
|
|
|
|
buttonControl();
|
|
detail();
|
|
|
|
$('#btn_previous').click(function () { goNav(returnUrl); });
|
|
|
|
$('#btn_pretty_recvdata').click(function () {
|
|
if (!rawRecvData) return;
|
|
if (isRecvDataPretty) {
|
|
$('#recvData').text(rawRecvData);
|
|
isRecvDataPretty = false;
|
|
return;
|
|
}
|
|
try {
|
|
$('#recvData').text(preserveExponential(rawRecvData));
|
|
isRecvDataPretty = true;
|
|
} catch (e) {
|
|
alert('JSON 형식이 아니거나 정렬할 수 없습니다.');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="right_box">
|
|
<div class="content_top">
|
|
<ul class="path"><li><a href="#">${rmsMenuPath}</a></li></ul>
|
|
</div>
|
|
<div class="content_middle">
|
|
<div class="search_wrap">
|
|
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
|
|
</div>
|
|
<div class="title" id="title">전문레이아웃 연동 이력 상세</div>
|
|
<table class="table_row" cellspacing="0">
|
|
<colgroup>
|
|
<col style="width:12%"/><col style="width:38%"/>
|
|
<col style="width:12%"/><col style="width:38%"/>
|
|
</colgroup>
|
|
<tr>
|
|
<th>No</th>
|
|
<td colspan="3"><span id="seqno"></span></td>
|
|
</tr>
|
|
<tr>
|
|
<th>Service Name</th>
|
|
<td><span id="serviceName"></span></td>
|
|
<th>Command</th>
|
|
<td><span id="command"></span></td>
|
|
</tr>
|
|
<tr>
|
|
<th>레이아웃명</th>
|
|
<td><span id="loutName"></span></td>
|
|
<th>연동시간</th>
|
|
<td><span id="recvAmndHms"></span></td>
|
|
</tr>
|
|
<tr>
|
|
<th>결과</th>
|
|
<td><span id="prcssRslt"></span></td>
|
|
<th>결과메세지</th>
|
|
<td><span id="prcssRsltCmnt"></span></td>
|
|
</tr>
|
|
<tr>
|
|
<th>수신데이타</th>
|
|
<td colspan="3">
|
|
<div class="recvdata-toolbar">
|
|
<button type="button" class="cssbtn" id="btn_pretty_recvdata"><i class="material-icons">format_align_left</i> 정렬</button>
|
|
</div>
|
|
<div id="recvData" class="pre-wrap"></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|