IIM 연동이력 조회 화면
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8" %>
|
||||
<%@ page import="java.io.*" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
|
||||
<%@ include file="/jsp/common/include/localemessage.jsp" %>
|
||||
<%
|
||||
response.setHeader("Pragma", "No-cache");
|
||||
response.setHeader("Cache-Control", "no-cache");
|
||||
response.setHeader("Expires", "0");
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<jsp:include page="/jsp/common/include/css.jsp"/>
|
||||
<jsp:include page="/jsp/common/include/script.jsp"/>
|
||||
<script language="javascript">
|
||||
var url = '<c:url value="/onl/admin/rule/layoutSyncHistoryMan.json" />';
|
||||
var url_view = '<c:url value="/onl/admin/rule/layoutSyncHistoryMan.view" />';
|
||||
|
||||
function formatPrcssRslt(cellvalue, options, rowObject) {
|
||||
if (cellvalue === 'S') return '<span style="color:#1a73e8;font-weight:bold;">성공</span>';
|
||||
if (cellvalue === 'F') return '<span style="color:#d93025;font-weight:bold;">실패</span>';
|
||||
return cellvalue || '';
|
||||
}
|
||||
|
||||
function init() {
|
||||
$("#startDatepicker").datepicker().inputmask("yyyy-mm-dd", {'autoUnmask': true});
|
||||
$("#endDatepicker").datepicker().inputmask("yyyy-mm-dd", {'autoUnmask': true});
|
||||
|
||||
var today = getToday();
|
||||
|
||||
$("input[name=searchStartYYYYMMDD]").val(today.substring(0, 6) + "01");
|
||||
$("input[name=searchEndYYYYMMDD]").val(today);
|
||||
$("input[name=searchStartDate]").val(today.substring(0, 6) + "01");
|
||||
$("input[name=searchEndDate]").val(today);
|
||||
|
||||
// 뒤로가기 등으로 이전 검색조건 파라미터가 있으면 기본값을 덮어씀
|
||||
putSelectFromParam();
|
||||
|
||||
buildGrid();
|
||||
}
|
||||
|
||||
function buildGrid() {
|
||||
$('#grid').jqGrid({
|
||||
datatype: "json",
|
||||
mtype: 'POST',
|
||||
url: url,
|
||||
postData: getSearchForJqgrid("cmd", "LIST"),
|
||||
colNames: ['No', 'Service Name', 'Command', '레이아웃명', '연동시간', '결과'],
|
||||
colModel: [
|
||||
{name: 'seqno', align: 'center', width: 80, sortable: false},
|
||||
{name: 'serviceName', align: 'center', width: 120, sortable: false},
|
||||
{name: 'command', align: 'center', width: 90, sortable: false},
|
||||
{name: 'loutName', align: 'left', width: 300, sortable: false},
|
||||
{name: 'recvAmndHms', align: 'center', width: 140, sortable: false},
|
||||
{name: 'prcssRslt', align: 'center', width: 70, sortable: false, formatter: formatPrcssRslt}
|
||||
],
|
||||
jsonReader: {repeatitems: false},
|
||||
pager: $('#pager'),
|
||||
page: '${param.page}',
|
||||
rowNum: '${rmsDefaultRowNum}',
|
||||
autoheight: true,
|
||||
height: $("#container").height(),
|
||||
autowidth: true,
|
||||
viewrecords: true,
|
||||
rowList: eval('[${rmsDefaultRowList}]'),
|
||||
ondblClickRow: function (rowId) {
|
||||
var rowData = $(this).getRowData(rowId);
|
||||
var seqno = rowData['seqno'];
|
||||
var url2 = url_view + '?cmd=DETAIL';
|
||||
url2 += '&page=' + $(this).getGridParam("page");
|
||||
url2 += '&returnUrl=' + getReturnUrl();
|
||||
url2 += '&menuId=' + '${param.menuId}';
|
||||
url2 += '&seqno=' + seqno;
|
||||
url2 += '&' + getSearchUrl();
|
||||
goNav(url2);
|
||||
},
|
||||
loadError: function (jqXHR, textStatus, errorThrown) {
|
||||
var location = '<%=request.getContextPath()%>/';
|
||||
comloadError(jqXHR, textStatus, errorThrown, location);
|
||||
}
|
||||
});
|
||||
resizeJqGridWidth('grid', 'content_middle', '1000');
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
init();
|
||||
|
||||
$("#btn_search").click(function () {
|
||||
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi, "");
|
||||
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi, "");
|
||||
|
||||
if (start && end && start > end) {
|
||||
alert("조회기간 종료일은 시작일보다 커야합니다.");
|
||||
$("input[name=searchEndYYYYMMDD]").focus();
|
||||
return false;
|
||||
}
|
||||
$("input[name=searchStartDate]").val(start);
|
||||
$("input[name=searchEndDate]").val(end);
|
||||
|
||||
var postData = getSearchForJqgrid("cmd", "LIST");
|
||||
$("#grid").setGridParam({url: url, postData: postData, page: 1}).trigger("reloadGrid");
|
||||
});
|
||||
|
||||
$("input[name^=search]").keydown(function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
$("#btn_search").click();
|
||||
}
|
||||
});
|
||||
|
||||
buttonControl();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="right_box">
|
||||
<div class="content_top">
|
||||
<ul class="path"><li><a href="#">${rmsMenuPath}</a></li></ul>
|
||||
</div><!-- end content_top -->
|
||||
<div class="content_middle" id="content_middle">
|
||||
<div class="search_wrap">
|
||||
<button type="button" class="cssbtn" id="btn_search" level="R"><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
|
||||
</div>
|
||||
<div class="title">레이아웃 연동 이력<span class="tooltip">통합인터페이스와 연동된 전문 레이아웃 이력을 조회합니다.</span></div>
|
||||
<form id="ajaxForm" onsubmit="return false;">
|
||||
<table class="search_condition" cellspacing=0;>
|
||||
<colgroup>
|
||||
<col style="width:120px;"><col style="width:260px;">
|
||||
<col style="width:120px;"><col style="width:*;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>레이아웃명</th>
|
||||
<td><input type="text" name="searchLoutName" autocomplete="off" style="width:95%;"></td>
|
||||
<th>연동시간</th>
|
||||
<td>
|
||||
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:100px; border:1px solid #ebebec;">
|
||||
~
|
||||
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:100px; border:1px solid #ebebec;">
|
||||
<input type="hidden" name="searchStartDate" value="">
|
||||
<input type="hidden" name="searchEndDate" value="">
|
||||
</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,141 @@
|
||||
<%@ 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>
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.eactive.eai.rms.data.entity.onl.layoutsync.history;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Convert;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.Comment;
|
||||
|
||||
import com.eactive.eai.data.converter.LocalDateTimeToStringConverter16;
|
||||
import com.eactive.eai.data.entity.AbstractEntity;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NonNull;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false)
|
||||
|
||||
@Entity
|
||||
@Table(name = "tseaitr10")
|
||||
@org.hibernate.annotations.Table(appliesTo = "tseaitr10", comment = "레이아웃 연동 이력")
|
||||
public class LayoutSyncHistoryEntity extends AbstractEntity<Long> implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@EqualsAndHashCode.Include
|
||||
@Column(nullable = false)
|
||||
@Comment("일련번호")
|
||||
private Long seqno;
|
||||
|
||||
@Column(length = 36)
|
||||
@Comment("연동로그처리일련번호")
|
||||
private String logprcssseqno;
|
||||
|
||||
@Column(length = 100)
|
||||
@Comment("서비스명")
|
||||
private String servicename;
|
||||
|
||||
@Column(length = 20)
|
||||
@Comment("커맨드")
|
||||
private String command;
|
||||
|
||||
@Column(length = 50)
|
||||
@Comment("레이아웃 명")
|
||||
private String loutname;
|
||||
|
||||
@Lob
|
||||
@Comment("수신 데이터")
|
||||
private String recvdata;
|
||||
|
||||
@Column(length = 16)
|
||||
@Comment("연동 시각")
|
||||
@Convert(converter = LocalDateTimeToStringConverter16.class)
|
||||
private LocalDateTime recvamndhms;
|
||||
|
||||
@Column(length = 1)
|
||||
@Comment("처리 결과")
|
||||
private String prcssrslt;
|
||||
|
||||
@Column(length = 4000)
|
||||
@Comment("처리 결과 메세지")
|
||||
private String prcssrsltcmnt;
|
||||
|
||||
@Override
|
||||
public @NonNull Long getId() {
|
||||
return seqno;
|
||||
}
|
||||
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.eactive.eai.rms.data.entity.onl.layoutsync.history;
|
||||
|
||||
import com.eactive.eai.data.jpa.BaseRepository;
|
||||
|
||||
interface LayoutSyncHistoryRepository extends BaseRepository<LayoutSyncHistoryEntity, Long> {
|
||||
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
package com.eactive.eai.rms.data.entity.onl.layoutsync.history;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.eactive.eai.data.jpa.AbstractDataService;
|
||||
import com.eactive.eai.rms.onl.manage.rule.layoutsync.history.ui.LayoutSyncHistoryUI;
|
||||
import com.eactive.eai.rms.onl.manage.rule.layoutsync.history.ui.LayoutSyncHistoryUISearch;
|
||||
import com.querydsl.jpa.impl.JPAQuery;
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
public class LayoutSyncHistoryService extends AbstractDataService<LayoutSyncHistoryEntity, Long, LayoutSyncHistoryRepository> {
|
||||
|
||||
private static final DateTimeFormatter FMT_YYYYMMDD = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
private static final DateTimeFormatter FMT_DATETIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
public Page<LayoutSyncHistoryUI> selectList(Pageable pageable, LayoutSyncHistoryUISearch search) {
|
||||
QLayoutSyncHistoryEntity q = QLayoutSyncHistoryEntity.layoutSyncHistoryEntity;
|
||||
JPAQuery<?> query = getJPAQueryFactory().from(q);
|
||||
|
||||
if (StringUtils.isNotBlank(search.getSearchLoutName())) {
|
||||
query.where(q.loutname.containsIgnoreCase(search.getSearchLoutName()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(search.getSearchStartDate())) {
|
||||
query.where(q.recvamndhms.goe(parseYYYYMMDD(search.getSearchStartDate()).atStartOfDay()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(search.getSearchEndDate())) {
|
||||
query.where(q.recvamndhms.loe(parseYYYYMMDD(search.getSearchEndDate()).atTime(23, 59, 59)));
|
||||
}
|
||||
|
||||
long totalCount = query.select(q.count()).fetchOne();
|
||||
|
||||
if (pageable.isPaged()) {
|
||||
query.limit(pageable.getPageSize()).offset(pageable.getOffset());
|
||||
}
|
||||
|
||||
List<LayoutSyncHistoryEntity> entities = query.select(q)
|
||||
.orderBy(q.recvamndhms.desc(), q.seqno.desc())
|
||||
.fetch();
|
||||
|
||||
List<LayoutSyncHistoryUI> rows = entities.stream().map(this::convertToUI).collect(Collectors.toList());
|
||||
|
||||
return new PageImpl<>(rows, pageable, totalCount);
|
||||
}
|
||||
|
||||
public LayoutSyncHistoryUI selectDetail(Long seqno) {
|
||||
return convertToUI(getById(seqno));
|
||||
}
|
||||
|
||||
private static LocalDate parseYYYYMMDD(String yyyyMMdd) {
|
||||
return LocalDate.parse(yyyyMMdd, FMT_YYYYMMDD);
|
||||
}
|
||||
|
||||
private LayoutSyncHistoryUI convertToUI(LayoutSyncHistoryEntity e) {
|
||||
LayoutSyncHistoryUI ui = new LayoutSyncHistoryUI();
|
||||
ui.setSeqno(e.getSeqno());
|
||||
ui.setServiceName(e.getServicename());
|
||||
ui.setCommand(e.getCommand());
|
||||
ui.setLoutName(e.getLoutname());
|
||||
ui.setRecvAmndHms(e.getRecvamndhms() == null ? "" : e.getRecvamndhms().format(FMT_DATETIME));
|
||||
ui.setPrcssRslt(e.getPrcssrslt());
|
||||
ui.setPrcssRsltCmnt(e.getPrcssrsltcmnt());
|
||||
ui.setRecvData(e.getRecvdata());
|
||||
return ui;
|
||||
}
|
||||
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.eactive.eai.rms.onl.manage.rule.layoutsync.history;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
||||
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.data.entity.onl.layoutsync.history.LayoutSyncHistoryService;
|
||||
import com.eactive.eai.rms.onl.manage.rule.layoutsync.history.ui.LayoutSyncHistoryUI;
|
||||
import com.eactive.eai.rms.onl.manage.rule.layoutsync.history.ui.LayoutSyncHistoryUISearch;
|
||||
|
||||
@Controller
|
||||
public class LayoutSyncHistoryController extends OnlBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
private LayoutSyncHistoryService service;
|
||||
|
||||
@GetMapping(value = "/onl/admin/rule/layoutSyncHistoryMan.view")
|
||||
public void view() {
|
||||
// 목록 view
|
||||
}
|
||||
|
||||
@GetMapping(value = "/onl/admin/rule/layoutSyncHistoryMan.view", params = "cmd=DETAIL")
|
||||
public String detailView() {
|
||||
return "/onl/admin/rule/layoutSyncHistoryManDetail";
|
||||
}
|
||||
|
||||
@PostMapping(value = "/onl/admin/rule/layoutSyncHistoryMan.json", params = "cmd=LIST")
|
||||
public ResponseEntity<GridResponse<LayoutSyncHistoryUI>> selectList(Pageable pageable,
|
||||
LayoutSyncHistoryUISearch search) {
|
||||
Page<LayoutSyncHistoryUI> page = service.selectList(pageable, search);
|
||||
return ResponseEntity.ok(new GridResponse<>(page));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/onl/admin/rule/layoutSyncHistoryMan.json", params = "cmd=DETAIL")
|
||||
public ResponseEntity<LayoutSyncHistoryUI> selectDetail(Long seqno) {
|
||||
return ResponseEntity.ok(service.selectDetail(seqno));
|
||||
}
|
||||
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.eactive.eai.rms.onl.manage.rule.layoutsync.history.ui;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LayoutSyncHistoryUI {
|
||||
|
||||
private Long seqno;
|
||||
private String serviceName;
|
||||
private String command;
|
||||
private String loutName;
|
||||
private String recvAmndHms;
|
||||
private String prcssRslt;
|
||||
private String prcssRsltCmnt;
|
||||
private String recvData;
|
||||
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.eactive.eai.rms.onl.manage.rule.layoutsync.history.ui;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LayoutSyncHistoryUISearch {
|
||||
|
||||
private String searchLoutName;
|
||||
|
||||
/* 연동시간 기간 검색 (yyyyMMdd, 8자리) */
|
||||
private String searchStartDate;
|
||||
private String searchEndDate;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user