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,224 @@
<%@ 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 prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function init(callback,url){
$.ajax({
type : "POST",
url: '<c:url value="/bap/transaction/messageReqMan.json" />',
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchThisMsgUseYn]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.useYn).rendering();
putSelectFromParam();
if(typeof callback === 'function') {
callback(url);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function resend(bjobDmndMsgID, fileIdx) {
var fileNameId = "fileName_"+fileIdx;
var fileName = document.getElementById(fileNameId).value;
if ( confirm( "해당 건을 재 전송 하시겠습니까? :" + fileName ) != true ) return;
var postData = new Array();
postData.push({ name: "cmd" , value:"TRANSACTION_RESEND"});
postData.push({ name: "bjobDmndMsgID" , value:bjobDmndMsgID});
postData.push({ name: "sndRecvFileName" , value:fileName});
$.ajax({
type : "POST",
url:'<c:url value="/bap/transaction/messageReqMan.json" />',
data:postData,
success:function(args){
if ( args.result_resend != '' ) {
alert( args.result_resend );
}
$("#grid").trigger("reloadGrid");
},
error:function(e){
alert(e.responseText);
}
});
}
function formatter (cellvalue, options, rowObject){
}
function list(url){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/transaction/messageReqMan.json" />',
postData : gridPostData,
colNames:[
'메시지구분코드',
'인터페이스ID',
'대외일괄업무코드',
'대외일괄업무명',
'송수신파일명',
'송수신파일설명',
'재요청 파일명',
'재전송'
],
colModel:[
{ name : 'BJOBMSGDSTCD' , hidden:true },
{ name : 'INFID' , align:'left' },
{ name : 'OUTBIZCD' , align:'left' },
{ name : 'OSIDINSTINAME' , align:'left' ,sortable:false },
{ name : 'BJOBTRANDSTCDNAME' , align:'left' },
{ name : 'BJOBMSGDSTICNAME' , align:'left' },
{ name : 'SNDRCVFILENAME' , align:'center'},
{ name : 'RESEND' , align:'center'}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var ids = $(this).getDataIDs();
for(var i = 0 ; i< ids.length; i++) {
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBMSGDSTCD'];
var be = "<input style='height:20px;width:60px;' type='button' value='재전송' onclick=\"resend('"+bjobDmndMsgID+"','"+i+"');\" />";
var ed = "<input stype='height:45px;width:60px;' type='text' id='fileName_"+i+"'/>";
$(this).setRowData(ids[i],{SNDRCVFILENAME:ed});
$(this).setRowData(ids[i],{RESEND:be});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
}
$(document).ready(function() {
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchBjobBzwkName"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=likeBjobBzwkName]").val(sessionAttr);
}
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/transaction/messageReqMan.json" />';
init(list,url);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("input[name^=like]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">송수신 파일 관리<span class="tooltip">일괄 전송에서 사용하는 송수신 파일을 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">인터페이스ID</th>
<td><input type="text" name="likeInfId" value="${param.likeInfId}"></td>
<th style="width:180px;">대외일괄업무코드</th>
<td colspan="3"><input type="text" name="likeOutExtCd" value="${param.likeOutExtCd}"></td>
<th style="width:180px;">대외일괄업무명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
</tr>
<tr>
<th style="width:180px;">송수신파일명</th>
<td><input type="text" name="likeBjobTranDstcdName" value="${param.likeBjobTranDstcdName}"></td>
<th style="width:180px;">송수신파일설명</th>
<td colspan="3"><input type="text" name="likeBjobMsgDsticName" value="${param.likeBjobMsgDsticName}"></td>
<th style="width:180px;" hidden="hidden">어플리케이션코드</th>
<td hidden="hidden"><input type="text" name="likeUapplCd" value="${param.likeUapplCd}"></td>
<th style="width:180px;" hidden="hidden">담당자ID</th>
<td hidden="hidden"><input type="text" name="likeThisMsgChrgIDs" value="${param.likeThisMsgChrgIDs}"></td>
<th style="width:150px;">사용여부</th>
<td colspan="4"><div class="select-style"><select name="searchThisMsgUseYn" value="${param.searchThisMsgUseYn}"></select></div></td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,267 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/bap/transaction/procWorkMan.json" />';
var urlView = '<c:url value="/bap/transaction/procWorkMan.view" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function zeroToStr(str) {
if(str == 0)
return "";
else
return str;
}
function init(callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function list()
{
// 송수신 시작 시간
var start1 = zeroToStr($("input[name=searchStartYYYYMMDD1]").val() + $("input[name=searchStartHHMM1]").val());
var end1 = zeroToStr($("input[name=searchEndYYYYMMDD1]").val() + $("input[name=searchEndHHMM1]").val());
// 송수신 종료시간
var start2 = zeroToStr($("input[name=searchStartYYYYMMDD2]").val() + $("input[name=searchStartHHMM2]").val());
var end2 = zeroToStr($("input[name=searchEndYYYYMMDD2]").val() + $("input[name=searchEndHHMM2]").val());
// 송수신 시작시간
$("input[name=searchStartTime1]").val(start1);
$("input[name=searchEndTime1]").val(end1);
// 송수신 종료시간
$("input[name=searchStartTime2]").val(start2);
$("input[name=searchEndTime2]").val(end2);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url, postData: postData ,page : "1" }).trigger("reloadGrid");
}
$(document).ready(function() {
// 송수신 시작, 종료시간 셋팅.
// $("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
// $("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").each(function() {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "yyyymmdd"){
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM1],input[name=searchStartHHMM2]").each(function() {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss"){
$(this).val('000000');
}
});
$("input[name=searchEndHHMM1],input[name=searchEndHHMM2]").each(function() {
if ($(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss"){
$(this).val('235959');
}
});
// End 송수신 시작, 종료시간 셋팅.
// grid 생성.
// var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
// url: url,
// postData : gridPostData,
colNames:['UUID',
'SUBUUID',
'업무구분코드',
'업무구분명',
'대외기관 구분코드',
'대외기관명',
'송수신 파일 디렉토리명',
'송수신 파일명',
'작업메시지 일정ID',
'메시지처리 우선순위',
'송수신 시작시각',
'송수신 종료시각',
'작업요청 메시지<br>생성시각',
'수정일'
],
colModel:[
{ name : 'BJOBDMNDMSGID' , align:'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align:'left' , hidden:true },
{ name : 'BJOBBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BJOBBZWKDSTCDNAME' , align:'left' },
{ name : 'OSIDINSTIDSTCD' , align:'left' },
{ name : 'OSIDINSTIDSTCDNAME' , align:'left' },
{ name : 'SNDRCVFILEDIRNAME' , align:'left' , hidden:true },
{ name : 'SNDRCVFILENAME' , align:'left' , },
{ name : 'BJOBMSGSCHEID' , align:'left' , hidden:true },
{ name : 'MSGPRCSSPRITY' , align:'right' },
{ name : 'SNDRCVSTARTHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'SNDRCVENDHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'BJOBDMNDMSGCRETNHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'THISMSGAMNDHMS' , align:'center' , formatter: timeStampFormat , hidden:true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
gridview: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++) {
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
$(".ui-jqgrid-labels").css("height", "20px"); // grid header 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("height", "auto"); // grid header cell 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("margin-bottom", "5px"); // grid header cell 외부여백
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobMsgScheID = rowData['BJOBMSGSCHEID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var url = urlView;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&bjobMsgScheID='+bjobMsgScheID;
url = url + '&bjobDmndSubMsgID='+bjobDmndSubMsgID;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
list();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "진행작업 관리", merge);
return false;
});
buttonControl();
init(list);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">진행작업 관리</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">업무구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div><!-- end.select-style -->
</td>
</tr>
<tr>
<th style="width:180px;">대외기관 구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">송수신파일명</th>
<td>
<input type="text" name="searchSndrcvFileName" value="${param.searchSndrcvFileName}">
</td>
</tr>
<tr>
<th style="width:180px;">송수신 시작 시각</th>
<td>
<input type="text" name="searchStartYYYYMMDD1" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM1" maxlength="8" value="" size="8" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD1" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchEndHHMM1" maxlength="8" value="" size="8" style="width:80px;">
<input type="hidden" name="searchStartTime1" value="20170201000000">
<input type="hidden" name="searchEndTime1" value="20170201235959">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,245 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
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="/bap/transaction/procWorkMan.json" />';
var isDetail = false;
function init(key, key2, callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if (typeof callback === 'function') {
callback(key, key2);
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(key, key2) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd : 'DETAIL',
bjobMsgScheID : key,
bjobDmndSubMsgID : key2
},
success: function(json) {
var detail = json.detail;
$("input,select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
$("select[name=bjobBzwkDstcd] option").not(":selected").remove();
$("select[name=osidInstiDstcd] option").not(":selected").remove();
},
error : function(e) {
alert("detail error : " + e.responseText);
}
});
}
$(document).ready(function() {
//$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD],input[name=msgQueeTracTdmndYMD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS],input[name=msgQueeTracTdmndHMS]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD],input[name=msgQueeTracTdmndYMD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS],input[name=msgQueeTracTdmndHMS]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=msgPrcssPrity]").inputmask("9999",{'autoUnmask':true});
var returnUrl = getReturnUrlForReturn();
var key = "${param.bjobMsgScheID}";
var key2 = "${param.bjobDmndSubMsgID}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, key2, detail);
$("#btn_delete").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$(".focusOut").click(function(){
document.body.focus();
});
buttonControl(key);
// titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW" />
</div>
<div class="title">진행작업 상세보기</div>
<form id="ajaxForm">
<input type="hidden" name="bjobDmndMsgID" />
<input type="hidden" name="bjobDmndSubMsgID" "/>
<table class="table_row" width="100%" cellspacing="0">
<tr>
<th style="width:180px;" class="focusIn">업무구분</th>
<td>
<div class="select-style" style="display:inline-block; width:calc(400px);">
<select name="bjobBzwkDstcd" value="${param.bjobBzwkDstcd}" style="width:100%; background-color:#e5e5e5" disabled></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">대외기관구분</th>
<td>
<div class="select-style" style="display:inline-block; width:calc(400px);">
<select name="osidInstiDstcd" value="${param.osidInstiDstcd}" style="width:100%; background-color:#e5e5e5" disabled></select>
</div>
</td>
</tr>
<tr>
<th>작업유형구분</th>
<td>
<input type="text" name="bjobPtrnDstcd" value="${param.bjobPtrnDstcd}" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>시스템연결구분코드</th>
<td>
<input type="text" name="sysLnkgDstcd" value="${param.sysLnkgDstcd}" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>전문재시도수</th>
<td>
<input type="text" name="telgmReTralCnt" value="${param.telgmReTralCnt}" readonly="readonly" class="focusOut" style="width:60px;">
</td>
</tr>
<tr>
<th>작업메시지 일정ID</th>
<td>
<input type="text" name="bjobMsgScheID" value="${param.bjobMsgScheID}" readonly="readonly" class="focusOut" style="width:245px;">
</td>
</tr>
<tr>
<th>송수신 시작시각</th>
<td>
<input type="text" name="sndrcvStartYMD" maxlength=10 value="${param.sndrcvStartYMD}" size="10" readonly="readonly" style="width:120px;">
<input type="text" name="sndrcvStartHMS" maxlength=9 value="${param.sndrcvStartHMS}" size="8" readonly="readonly" style="width:120px;">
<input type="hidden" name="sndrcvStart" >
</td>
</tr>
<tr>
<th>송수신 종료시각</th>
<td>
<input type="text" name="sndrcvEndYMD" maxlength=10 value="${param.sndrcvEndYMD}" size="10" readonly="readonly" style="width:120px;">
<input type="text" name="sndrcvEndHMS" maxlength=9 value="${param.sndrcvEndHMS}" size="8" readonly="readonly" style="width:120px;">
<input type="hidden" name="sndrcvEnd" >
</td>
</tr>
<tr>
<th>송수신 파일 디렉토리명</th>
<td>
<input type="text" name="sndrcvFileDirName" value="${param.sndrcvFileDirName}" readonly="readonly" class="focusOut" style="width:400px;">
</td>
</tr>
<tr>
<th>송수신 파일명</th>
<td>
<input type="text" name="sndrcvFileName" value="${param.sndrcvFileName}" readonly="readonly" class="focusOut" style="width:400px;">
</td>
</tr>
<tr>
<th>백업 송수신 파일명</th>
<td>
<input type="text" name="bkupSndrcvFileName" value="${param.bkupSndrcvFileName}" readonly="readonly" class="focusOut" style="width:400px;">
</td>
</tr>
<tr>
<th>메시지처리 우선순위</th>
<td>
<input type="text" name="msgPrcssPrity" maxlength=3 value="${param.msgPrcssPrity}" size="3" readonly="readonly" style="width:60px;">
</td>
</tr>
<tr>
<th>작업요청메시지 생성시각</th>
<td>
<input type="text" name="bjobDmndMsgCretnYMD" maxlength=10 value="${param.bjobDmndMsgCretnYMD}" size="10" readonly="readonly" class="focusOut" style="width:120px;">
<input type="text" name="bjobDmndMsgCretnHMS" maxlength=8 value="${param.bjobDmndMsgCretnHMS}" size="8" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>메시지큐추출요청시각</th>
<td>
<input type="text" name="msgQueeTracTdmndYMD" maxlength=10 value="${param.msgQueeTracTdmndYMD}" size="10" readonly="readonly" class="focusOut" style="width:120px;">
<input type="text" name="msgQueeTracTdmndHMS" maxlength=8 value="${param.msgQueeTracTdmndHMS}" size="8" readonly="readonly" class="focusOut" style="width:120px;">
</td>
</tr>
<tr>
<th>메시지처리상태코드</th>
<td>
<input type="text" name="msgPrcssStuscd" value="${param.msgPrcssStuscd}" readonly="readonly" class="focusOut" style="width:60px;">
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,884 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
var selectName = "searchBjobBzwkDstcd,searchOsidInstiDstcd"; // selectBox Name
function statusFormat (cellvalue) {
if ( cellvalue == 'T' ) {
return '정상';
} else if ( cellvalue == 'Q' ) {
return '수행대기';
} else if ( cellvalue == 'V' ) {
return '검증완료';
} else if ( cellvalue == 'H' ) {
return '보류';
} else if ( cellvalue == 'J' ) {
return '종결';
} else if ( cellvalue == 'C' ) {
return '사용자중지';
} else if ( cellvalue == 'N' ) {
return '파일없음';
} else if ( cellvalue == 'S' ) {
return '<span style="color:blue">진행중</span>';
} else if ( cellvalue == 'E' ) {
return '<span style="color:red">비정상종료</span>';
}
return "";
}
function sendRecvFormat (cellvalue) {
if ( cellvalue == 'S' ) {
return '송신';
} else if ( cellvalue == 'R' ) {
return '수신';
}
return cellvalue;
}
function dateFormat(cellvalue) {
if ( cellvalue == null || cellvalue.length < 8 )
return '';
return cellvalue.substr(0 ,4) + '-' +
cellvalue.substr(4, 2) + '-' +
cellvalue.substr(6, 2) ;
}
function timeStampFormat2(cellvalue, options, rowObject) {
if ( cellvalue == null || cellvalue.length < 12 )
return '';
return cellvalue.substr(8,2) + ':' +
cellvalue.substr(10,2) + ':' +
cellvalue.substr(12,2) ;
}
function init(url, callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'LIST_INIT_COMBO'},
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchGroupCoCd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.groupCoCd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
putSelectFromParam();
if (typeof callback === 'function') {
callback(url);
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(url) {
var activeTab = $("ul.tabs li.active").attr("rel");
var start = $("input[name=searchStartYYYYMMDD]").val().replace("-","")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace("-","")+$("input[name=searchEndHHMM]").val().replace(":","");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
postData["activeTab"] = activeTab;
postData["searchBjobDmndMsgID"] = "";
postData["searchBbjobDmndSubMsgID"] = "";
postData["searchSndrcvFileName"] = "";
var searchGb = $("select[name=searchGb]").val();
var searchText = $("input[name=searchText]").val();
if ( searchGb == 'FILE' ) {
postData["searchSndrcvFileName"] = searchText;
} else if ( searchGb == 'IFID' ) {
postData["searchBjobMsgDstcd"] = searchText;
} else if ( searchGb == 'UUID' ) {
postData["searchBjobDmndMsgID"] = searchText;
} else if ( searchGb == 'SUBUUID' ) {
postData["searchBbjobDmndSubMsgID"] = searchText;
}
if ( activeTab == 'tabE' ) {
$("#gridE").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabF' ) {
$("#gridF").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabQ' ) {
$("#gridQ").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabS' ) {
$("#gridS").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
} else if ( activeTab == 'tabA' ) {
$("#gridA").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
setSearchable(selectName); // 콤보에 searchable 설정
// 이미지경로 때문에 작성함.
var arrSelectName = selectName.split(",");
for ( var i = 0; i < arrSelectName.length; i++ ) {
$("select[name=" + arrSelectName[i] +"]").css("background", "#fff url(../../img/icon_arrow_down.png) no-repeat 99% 50%");
}
}
function resend(bjobDmndMsgID, bjobDmndSubMsgID, fileTrsmtLogID, sndRecvFileName, bjobMsgDstcd) {
if ( confirm( "동일 전송건이 대기중인지 반드시 확인하시기 바랍니다.\r\n해당 건을 재 전송 하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value: "TRANSACTION_RESEND"});
postData.push({ name: "bjobDmndMsgID" , value: bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID" , value: bjobDmndSubMsgID});
postData.push({ name: "fileTrsmtLogID" , value: fileTrsmtLogID});
postData.push({ name: "sndRecvFileName" , value: sndRecvFileName});
postData.push({ name: "bjobMsgDstcd" , value: bjobMsgDstcd});
var resend_url = '<c:url value="/bap/transaction/transactionTraceMan.json" />';
$.ajax({
type: "POST",
url: resend_url,
data: postData,
success: function(args) {
$("#grid").trigger("reloadGrid");
alert( args.result );
},
error: function(e) {
alert(e.responseText);
}
});
}
function rerecv(bjobDmndMsgID, bjobDmndSubMsgID, rqstRecvFileStorgDirname, bkupSndrcvFilename) {
if ( confirm( "해당 건을 재 전송 하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value: "TRANSACTION_RERECV"});
postData.push({ name: "bjobDmndMsgID" , value: bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID" , value: bjobDmndSubMsgID});
postData.push({ name: "rqstRecvFileStorgDirname" , value: rqstRecvFileStorgDirname});
postData.push({ name: "bkupSndrcvFilename" , value: bkupSndrcvFilename});
var resend_url = '<c:url value="/bap/transaction/transactionTraceMan.json" />';
$.ajax({
type: "POST",
url: resend_url,
data: postData,
success: function(args) {
$("#grid").trigger("reloadGrid");
alert( args.result );
},
error: function(e) {
alert(e.responseText);
}
});
}
function statusChange(gridName, rowId, statusType) {
if ( confirm( "전송상태를 변경 하시겠습니까?" ) != true ) {
return;
}
var data = $('#' + gridName).getRowData(rowId);
var bjobDmndMsgID = data.BJOBDMNDMSGID;
var bjobDmndSubMsgID = data.BJOBDMNDSUBMSGID;
var sndRcvFileName = data.SNDRCVFILENAME;
var postData = new Array();
postData.push({ name: "cmd" , value: "TRANSACTION_CHANGE"});
postData.push({ name: "statusType" , value: statusType}); // 종결처리(J)
postData.push({ name: "bjobDmndMsgID" , value: bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID", value: bjobDmndSubMsgID});
postData.push({ name: "sndRcvFileName" , value: sndRcvFileName});
var chagne_url = '<c:url value="/bap/transaction/transactionStatusMan.json" />';
$.ajax({
type: "POST",
url: chagne_url,
data: postData,
success: function(args) {
$('#' + gridName).trigger("reloadGrid");
// alert( args.result );
},
error: function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
//$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
//$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var url = '<c:url value="/bap/transaction/transactionStatusMan.json" />';
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if ( searchStartYYYYMMDD == null || searchStartYYYYMMDD == '') {
$("input[name=searchStartYYYYMMDD]").val(getBeforeDay(1));
}
if ( searchEndYYYYMMDD == null || searchEndYYYYMMDD == '' ) {
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if ( searchStartHHMM == null || searchStartHHMM == '' ) {
$("input[name=searchStartHHMM]").val('000000');
}
if ( searchEndHHMM == null || searchEndHHMM == '' ) {
$("input[name=searchEndHHMM]").val('235959');
}
init(url, detail);
$("select[name=searchBjobBzwkDstcd]").change(function() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_ORGN_COMBO',
bjobBzwkDstcd : $(this).val()
},
success: function(json) {
$("select[name=searchOsidInstiDstcd] option").remove();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
}
});
});
$(".tab_content").hide();
$(".tab_content:last").show();
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab).show();
detail(url);
});
$('#gridE').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'전송로그ID',
'I/F ID',
'수신일자',
'SEQ',
'업무명',
'대외기관',
'그룹사구분',
'메시지구분코드',
'작업유형',
'파일명',
'자료건수',
'파일크기',
'전송상태',
'재전송',
'시작예정',
'종료예정',
'거래시작시각',
'거래종료시각',
'지연시간',
'수신파일저장디렉토리',
'백업송수신파일명'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'FILETRSMTLOGID' , align: 'left' , hidden: true },
{ name: 'BJOBMSGDSTCD' , align: 'left' , width: '70' },
{ name: 'BASEYMD' , align: 'left' , width: '70' , formatter: dateFormat },
{ name: 'BJOBMSGDSTCDSEQ' , align: 'right' , width: '25' },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '160' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '160' },
{ name: 'GROUPCOCD' , align: 'left' , hidden: true },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '200' },
{ name: 'SNDRCVRECCNT' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'RESEND' , align: 'center' , width: '70' },
{ name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , hidden: true },
{ name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , hidden: true },
{ name: 'TRANSTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'TRANENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'DELAYTIME' , align: 'center' , width: '70' , hidden: true },
{ name: 'RQSTRECVFILESTORGDIRNAME', align: 'left' , hidden: true },
{ name: 'BKUPSNDRCVFILENAME' , align: 'left' , hidden: true }
],
jsonReader: {
repeatitems : false
},
rowNum: 10000,
//autoheight: true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: 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="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
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});
}
var ids = $(this).getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var fileTrsmtLogID = rowData['FILETRSMTLOGID'];
var sndRecvFileName = rowData['SNDRCVFILENAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var tranPrcssDstcd = rowData['TRANPRCSSDSTCD'];
var rqstRecvFileStorgDirname = rowData['RQSTRECVFILESTORGDIRNAME'];
var bkupSndrcvFilename = rowData['BKUPSNDRCVFILENAME'];
var sendRecvYn = rowData['SENDRECVYN'];
if ( (sendRecvYn == '송신' && '수행대기 파일없음'.indexOf(tranPrcssDstcd) == -1 && tranPrcssDstcd.indexOf('진행중') == -1)
|| (sendRecvYn == '수신' && rqstRecvFileStorgDirname.trim() != "" && bkupSndrcvFilename.trim() != "") ) {
var be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='재전송'";
if ( sendRecvYn == '송신' ) {
be += "onclick=\"resend('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+fileTrsmtLogID+"','"+sndRecvFileName+"','"+bjobMsgDstcd+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
} else {
be += "onclick=\"rerecv('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
}
be += " />";
$(this).setRowData(ids[i], {RESEND: be});
}
}
},
loadComplete:function(d) {
//$("#grid").tuiTableRowSpan("0");
}
});
$('#gridF').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무명',
'대외기관',
'그룹사구분',
'메시지구분코드',
'작업유형',
'전송상태',
'시작예정',
'종료예정'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '200' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '200' },
{ name: 'GROUPCOCD' , align: 'left' , hidden: true },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat },
{ name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat }
],
jsonReader: {
repeatitems: false
},
rowNum: 10000,
//autoheight : true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: 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="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
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("0");
}
});
$('#gridQ').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무명',
'대외기관',
'메시지구분코드',
'작업유형',
'전송상태',
// '시작예정',
// '종료예정',
'메시지생성시각'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '200' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '200' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
// { name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat},
{ name: 'BJOBDMNDMSGCRETNHMS',align: 'center' , width: '159' , formatter: timeStampFormat }
],
jsonReader: {
repeatitems: false
},
rowNum: 10000,
//autoheight : true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: 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="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
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("0");
}
});
$('#gridS').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무명',
'대외기관',
'메시지구분코드',
'작업유형',
'파일명',
'파일크기',
'진행율(%)',
'진행크기',
'전송상태',
// '시작예정',
// '종료예정',
'거래시작시각',
'거래종료시각'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '200' },
{ name: 'OSIDINSTINAME' , align: 'left' , width: '200' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '200' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'RATE' , align: 'right' , width: '70' },
{ name: 'CURRENTFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
// { name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat},
{ name: 'TRANSTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'TRANENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat }
],
jsonReader: {
repeatitems : false
},
rowNum: 10000,
//autoheight : true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: 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";
showModal(url2,args,810,1218); */
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
//url2 = url2 + "&eaiBzwkDstcd=" +rowData['EAIBZWKDSTCD'];
//url2 = url2 + "&msgDpstYMS=" +rowData['MSGDPSTYMS'];
//url2 = url2 + "&logPrcssSerno=" +rowData['LOGPRCSSSERNO'];
//url2 = url2 + "&eaiSvcSerno=" +rowData['EAISVCSERNO'];
//goNav(url2);
},
//그리드 헤더 화살표 삭제(정렬X)
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("0");
}
});
$('#gridA').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'전송로그ID',
'인스턴스명',
'I/F ID',
'수신일자',
'SEQ',
'업무명',
'기관명',
'대외기관',
'어댑터사용구분',
'그룹사구분',
'스케쥴',
'메시지구분코드',
'작업유형',
'파일명',
'건수',
'파일크기',
'전송상태',
'재전송',
'종결',
// '시작예정',
// '종료예정',
// '작업시작시각',
// '작업종료시각',
'수신시작시각',
'수신종료시각',
'송신시작시각',
'송신종료시각',
'수신파일저장디렉토리',
'백업송수신파일명'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden: true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden: true },
{ name: 'FILETRSMTLOGID' , align: 'left' , hidden: true },
{ name: 'EAISEVRINSTNCNAME' , align: 'left' , width: '120' },
{ name: 'BJOBMSGDSTCD' , align: 'left' , width: '65' },
{ name: 'BASEYMD' , align: 'left' , width: '65' , formatter: dateFormat },
{ name: 'BJOBMSGDSTCDSEQ' , align: 'right' , width: '25' },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' , width: '160' },
{ name: 'BJOBBZWKNAME' , align: 'left' , width: '160' },
{ name: 'OSIDINSTINAME' , align: 'left' , hidden: true },
{ name: 'RQSTRSPNSDSTCD' , align: 'center' , hidden: true },
{ name: 'GROUPCOCD' , align: 'left' , hidden: true },
{ name: 'BJOBMSGSCHEID' , align: 'left' , hidden: true },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , hidden: true, width: '100' },
{ name: 'SENDRECVYN' , align: 'center' , width: '70' , formatter: sendRecvFormat},
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '150' },
{ name: 'SNDRCVRECCNT' , align: 'right' , width: '30' , formatter: 'integer' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'TRANPRCSSDSTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'RESEND' , align: 'center' , width: '70' },
{ name: 'JONG' , align: 'center' , hidden: true, width: '70' ,
formatter: function (cellValue, options, rowObject) {
var tranPrcssDstcd = rowObject.TRANPRCSSDSTCD;
var be = "";
if( tranPrcssDstcd == 'E' || tranPrcssDstcd == 'H' ) {
be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='종결처리'";
be += "onclick=\"statusChange('gridA', '"+options.rowId+"', 'J');\"";
be += " />";
}
return be;
}
},
// { name: 'SNDRCVSTARTHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'SNDRCVENDHMS' , align: 'center' , width: '70' , formatter: timeFormat},
// { name: 'TRANSTARTHMS' , align: 'center' , width: '90' , formatter: timeStampFormat2 },
// { name: 'TRANENDHMS' , align: 'center' , width: '90' , formatter: timeStampFormat2 },
{ name: 'TRANSTARTHMS1' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'TRANENDHMS1' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'TRANSTARTHMS2' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'TRANENDHMS2' , align: 'center' , width: '65' , formatter: timeStampFormat2 },
{ name: 'RQSTRECVFILESTORGDIRNAME', align: 'left' , hidden: true },
{ name: 'BKUPSNDRCVFILENAME' , align: 'left' , hidden: true }
],
jsonReader: {
repeatitems : false
},
rowNum: 10000,
//autoheight: true,
height: 600, //$("#container").height(),
autowidth: true,
viewrecords: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['bjobDmndMsgID'] = rowData['BJOBDMNDMSGID'];
args['bjobDmndSubMsgID'] = rowData['BJOBDMNDSUBMSGID'];
if ( args['bjobDmndMsgID'] == null || args['bjobDmndMsgID'] == '' || args['bjobDmndSubMsgID'] == null || args['bjobDmndSubMsgID'] == '') {
alert ('거래처리 로그가 없어 조회할 수 없습니다.');
return;
}
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + "?cmd=DETAIL";
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&' + getSearchUrl();
url2 = url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2 = url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
goNav(url2);
},
//그리드 헤더 화살표 삭제(정렬X)
gridComplete: function(d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
var ids = $(this).getDataIDs();
for(var i=0; i < ids.length; i++ ) {
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var fileTrsmtLogID = rowData['FILETRSMTLOGID'];
var sndRecvFileName = rowData['SNDRCVFILENAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var tranPrcssDstcd = rowData['TRANPRCSSDSTCD'];
var rqstRecvFileStorgDirname = rowData['RQSTRECVFILESTORGDIRNAME'];
var bkupSndrcvFilename = rowData['BKUPSNDRCVFILENAME'];
var sendRecvYn = rowData['SENDRECVYN'];
var rqstRspnsDstCd = rowData['RQSTRSPNSDSTCD'];
if ( (sendRecvYn == '송신' && '수행대기 파일없음 진행중'.indexOf(tranPrcssDstcd) == -1)
|| (sendRecvYn == '수신' && rqstRecvFileStorgDirname.trim() != "" && bkupSndrcvFilename.trim() != "") ) {
var be = "<input style='height:22px; width:60px; padding-top:2px;' type='button' value='재전송'";
if ( sendRecvYn == '송신' ) {
be += "onclick=\"resend('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+fileTrsmtLogID+"','"+sndRecvFileName+"','"+bjobMsgDstcd+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
} else {
be += "onclick=\"rerecv('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+rqstRecvFileStorgDirname+"','"+bkupSndrcvFilename+"');\"";
}
be += " />";
$(this).setRowData(ids[i], {RESEND: be});
}
if ( rqstRspnsDstCd == 'A' && tranPrcssDstcd.indexOf('수행대기') > -1 ) { // A이고 수행대기이면 회색 바탕 처리
$("#"+ids[i]).find("td").css("background-color", "#E6E6FA");
}
if ( tranPrcssDstcd.indexOf('보류') > -1 ) { // 보류건 노랑 바탕 처리
$("#"+ids[i]).find("td").css("background-color", "#FFFFC0");
}
}
},
loadComplete: function(d) {
//$("#grid").tuiTableRowSpan("0");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function() {
detail();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
var activeTab = $("ul.tabs li.active").attr("rel");
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid" + activeTab.substring(3,4)), $("#ajaxForm"), "일괄전송 현황 조회", merge);
return false;
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">일괄전송 현황 조회</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;">업무구분명</th>
<td style="width:200px;">
<div class="select-style">
<select type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div><!-- end.select-style -->
</td>
<th style="width:100px;">작업유형</th>
<td>
<div class="select-style">
<select type="text" name="searchProcessType" value="${param.searchProcessType}">
<option value="">전체</option>
<option value="S">송신</option>
<option value="R">수신</option>
</select>
</div>
</td>
<th style="width:100px;">상태</th>
<td>
<div class="select-style">
<select type="text" name="searchStatus" value="${param.searchStatus}">
<option value="A">전체</option>
<!-- <option value="L">지연</option> -->
<!-- <option value="F">미도래</option> -->
<option value="Q">큐대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:100px;">대외기관명</th>
<td>
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" style="width:100%" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
<th style="width:100px;">거래기간</th>
<td>
<input type="text" name="searchStartYYYYMMDD" maxlength="10" value="${param.searchStartYYYYMMDD}" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM" maxlength="8" value="${param.searchStartHHMM}" size="8" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD" maxlength="10" value="${param.searchEndYYYYMMDD}" size="10" style="width:80px;">
<input type="text" name="searchEndHHMM" maxlength="8" value="${param.searchEndHHMM}" size="8" style="width:80px;">
<input type="hidden" name="searchStartTime" value="20170201000000">
<input type="hidden" name="searchEndTime" value="20170201235959">
</td>
<th style="width:100px;">검색구분</th>
<td>
<div class="select-style" style="display:inline-block; width:100px;">
<select type="text" name="searchGb" value="${param.searchGb}">
<option value="IFID">I/F ID</option>
<option value="FILE">파일명</option>
<option value="UUID">UUID</option>
<option value="SUBUUID">SUBUUID</option>
</select>
</div>
<input type="text" name="searchText" value="${param.searchText}" style="width:100px">
</td>
</tr>
</tbody>
</table>
<div id="container-1" >
<ul class="tabs">
<li rel="tabQ">큐대기</li>
<li rel="tabF" hidden="true">미도래</li>
<li rel="tabS">진행중</li>
<li class="active" rel="tabA">전송현황</li>
<li rel="tabE" >미완료</li>
</ul>
<div class="tab_container">
<div id="tabE" class="tab_content">
<table id="gridE" ></table>
</div>
<div id="tabF" class="tab_content">
<table id="gridF" ></table>
</div>
<div id="tabQ" class="tab_content">
<table id="gridQ" ></table>
</div>
<div id="tabS" class="tab_content">
<table id="gridS" ></table>
</div>
<div id="tabA" class="tab_content">
<table id="gridA" ></table>
</div>
</div>
</div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,684 @@
<%@ 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" src="<c:url value="/js/jquery.mask.min.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/bap/transaction/transactionStatusMan.json" />';
var detailList;
var stageList;
var fileList;
function statusFormat (cellvalue){
if ( cellvalue == 'T' ){
return '정상';
} else if ( cellvalue == 'V' ) {
return '검증완료';
} else if ( cellvalue == 'H' ) {
return '보류';
} else if ( cellvalue == 'J' ) {
return '종결';
} else if ( cellvalue == 'Q' ) {
return '수행대기';
} else if ( cellvalue == 'C' ) {
return '사용자중지';
} else if ( cellvalue == 'N' ) {
return '파일없음';
} else if ( cellvalue == 'S' ) {
return '<span style="color:blue">진행중</span>';
} else if ( cellvalue == 'E' ) {
return '<span style="color:red">비정상종료</span>';
}
return "";
}
function getSubLayerName (cellvalue){
if ( cellvalue == 'UI' ){
return '관리화면';
} else if ( cellvalue == 'FE' ) {
return '파일이벤트';
} else if ( cellvalue == 'DV' ) {
return '데이터검증';
} else if ( cellvalue == 'HD' ) {
return '보류';
} else if ( cellvalue == 'CL' ) {
return '종결';
} else if ( cellvalue == 'SS' ) {
return '소켓서버';
} else if ( cellvalue == 'SQ' ) {
return '스케쥴러(대기)';
} else if ( cellvalue == 'SP' ) {
return '스케쥴러(진행)';
} else if ( cellvalue == 'FC' ) {
return '플로우컨트롤러';
} else if ( cellvalue == 'ST' ) {
return 'F/C 개시 단계';
} else if ( cellvalue == 'FI' ) {
return 'F/C 파일정보교환 단계';
} else if ( cellvalue == 'DS' ) {
return 'F/C Data 송수신 단계';
} else if ( cellvalue == 'MI' ) {
return 'F/C 결번정보교환 단계';
} else if ( cellvalue == 'MS' ) {
return 'F/C 결번 송수신 단계';
} else if ( cellvalue == 'UE' ) {
return 'F/C 단위업무종료 단계';
} else if ( cellvalue == 'AE' ) {
return 'F/C 전업무종료 단계';
} else if ( cellvalue == 'EX' ) {
return 'F/C 예외 단계';
} else if ( cellvalue == 'LT' ) {
return 'F/C 시스템회선상태확인 단계';
} else if ( cellvalue == 'SE' ) {
return 'F/C 시스템장애통보 단계';
} else if ( cellvalue == 'SR' ) {
return 'F/C 시스템장애회복통보 단계';
} else if ( cellvalue == 'CK' ) {
return 'F/C 요구송신 테스트전문단계';
}
return "";
}
function detail(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL_FILE', bjobDmndMsgID: key1, bjobDmndSubMsgID: key2, page: 1, rows: 20 },
success: function(json) {
detailList = json.detail;
fileList = json.file;
$("#detailForm input, #detailForm select").each(function() {
var name = $(this).attr("name");
$(this).val(detailList[name.toUpperCase()]);
});
$("#gridFile")[0].addJSONData(fileList);
var postDataFile = getSearchForJqgrid("cmd", "DETAIL_FILE");
postDataFile["bjobDmndMsgID"] = key1;
postDataFile["bjobDmndSubMsgID"] = key2;
$("#gridFile").setGridParam({ url:url, postData: postDataFile, page : 1, rows: 20 }).trigger("reloadGrid");
//$("#gridFile").jqGrid('setSelection', $("#gridFile").getDataIDs()[0], true);
},
error: function(e) {
alert(e.responseText);
}
});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL_STAGE', bjobDmndMsgID: key1, bjobDmndSubMsgID: key2, page: 1, rows: 20 },
success: function(json) {
detailList = json.detail;
stageList = json.stage;
$("#detailForm input, #detailForm select").each(function() {
var name = $(this).attr("name");
$(this).val(detailList[name.toUpperCase()]);
});
$("#gridStage")[0].addJSONData(stageList);
var postDataStage = getSearchForJqgrid("cmd", "DETAIL_STAGE");
postDataStage["bjobDmndMsgID"] = key1;
postDataStage["bjobDmndSubMsgID"] = key2;
$("#gridStage").setGridParam({ url:url, postData: postDataStage, page : 1, rows: 20 }).trigger("reloadGrid");
//$("#gridStage").jqGrid('setSelection', $("#gridStage").getDataIDs()[0], true);
},
error: function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key1 ="${param.bjobDmndMsgID}";
var key2 ="${param.bjobDmndSubMsgID}";
$("input[name*=HMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':true});
$("select").attr('disabled',true);
$("select").css({'background-color' : '#ffffff'});
$("input[name*=Size]").inputmask('decimal',{groupSeparator:',',digits:0,autoGroup:true,prefix:'',rightAlign:false,autoUnmask:true,removeMaskOnSubmit:true});
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active").css("color", "#333");
$(this).addClass("active").css("color", "darkred");
$(".tab_container").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab + "Div").show();
});
$('#gridFile').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'파일명',
'자료건수',
'파일크기',
'파일상태',
'파일시작시각',
'파일종료시각',
'작업구분',
'거래구분',
'파일경로',
'저장파일명',
'장애발생내용'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden:true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden:true },
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '70' },
{ name: 'SNDRCVRECCNT' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'SNDRCVFILESIZE' , align: 'right' , width: '70' , formatter: 'integer' },
{ name: 'THISSTGEPRCSSRSULTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'FILETRSMTSTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'FILETRSMTENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' , width: '70' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '70' },
{ name: 'RQSTRECVFILESTORGDIRNAME' , align: 'left' , width: '70' },
{ name: 'BKUPSNDRCVFILENAME' , align: 'left' , width: '70' },
{ name: 'EAIOBSTCLOCCURCAUSCTNT' , align: 'left' , width: '200'}
],
jsonReader: {
root: "file",
repeatitems: false
},
pager: $('#pagerFile'),
page: '${param.pageFile}',
rowNum: 10,
rowList: eval('[${rmsDefaultRowList}]'),
//autoheight: true,
height: 250, //$("#container").height(),
autowidth: true,
viewrecords: true,
onSelectRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
$("#fileForm input,#fileForm select,#fileForm textarea").each(function() {
try {
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(this).val(fileList[rowId-1][name.toUpperCase()]);
} catch(e) {}
});
},
loadComplete: function (json) {
fileList = json.file;
$(this).jqGrid('setSelection', $(this).getDataIDs()[0], true);
}
});
$('#gridStage').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'처리단계',
'흐름규칙',
'흐름단계',
'흐름단계설명',
'흐름번호',
'흐름유형',
'전문코드',
'응답코드',
'단계상태',
'단계시작시각',
'단계종료시각',
'작업구분',
'거래구분코드',
'파일명',
'장애발생내용'
],
colModel: [ { name: 'BJOBDMNDMSGID' , align: 'left' , hidden:true },
{ name: 'BJOBDMNDSUBMSGID' , align: 'left' , hidden:true },
{ name: 'PRCSSSTGEDSTCD' , align: 'left' , width: '100' , formatter: getSubLayerName},
{ name: 'BJOBRULECD' , align: 'center' , width: '70' },
{ name: 'BJOBSTGECD' , align: 'right' , width: '70' },
{ name: 'BJOBSTGEFLXBLCNDNDESC' , align: 'center' , width: '159'},
{ name: 'BJOBNODECASNO' , align: 'center' , width: '50' },
{ name: 'BJOBSTGEPTRNNAME' , align: 'center' , width: '50' },
{ name: 'TELGMPERTYPCDVALCTNT' , align: 'left' , width: '70' },
{ name: 'RSPNSCDVALCTNT' , align: 'left' , width: '70' },
{ name: 'THISSTGEPRCSSRSULTCD' , align: 'center' , width: '70' , formatter: statusFormat },
{ name: 'THISSTGESTARTHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'THISSTGEENDHMS' , align: 'center' , width: '159' , formatter: timeStampFormat },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' , width: '70' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' , width: '70' },
{ name: 'SNDRCVFILENAME' , align: 'left' , width: '70' },
{ name: 'EAIOBSTCLOCCURCAUSCTNT', align: 'left' , width: '200'}
],
jsonReader: {
root: "stage",
repeatitems: false
},
pager: $('#pagerStage'),
page: '${param.pageStage}',
rowNum: 10,
//rowNum: 10000,
rowList: eval('[${rmsDefaultRowList}]'),
//autoheight : true,
height: 250, //$("#container").height(),
autowidth: true,
viewrecords: true,
onSelectRow: function(rowId) {
$("#stageForm input, #stageForm select, #stageForm textarea").each(function() {
try {
var name = $(this).attr("name");
$(this).val(stageList[rowId-1][name.toUpperCase()]);
} catch(e) {}
});
},
loadComplete: function (json){
stageList = json.stage;
$(this).jqGrid('setSelection', $(this).getDataIDs()[0], true);
},
loadBeforeSend: function (xhr,settings) {
if( this.p.url ==null || this.p.url == "" ) {
this.p.loadBeforeSend = null;
return false;
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('gridFile','tabFile','1000');
resizeJqGridWidth('gridStage','tabStage','1000');
$("#btn_previous").click(function() {
returnUrl+='&activeTab='+"${param.activeTab}";
goNav(returnUrl);//LIST로 이동
});
$("#btn_systeminst_popup").click(function() {
var bjobBzwkDstcd = $("input[name=bjobBzwkDstcd]").val();
var osidInstiDstcd = $("input[name=osidInstiDstcd]").val();
var popUrl = '<c:url value="/bap/admin/work/systemInstMan.view" />';
popUrl += '?cmd=DETAIL';
popUrl += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
popUrl += '&osidInstiDstcd=' + osidInstiDstcd;
popUrl += '&ispop=Y';
var args = new Object();
args['ispop'] = 'Y';
var result = showModal(popUrl, args, 1200, 700, 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;
});
});
$("#btn_messageproc_popup").click(function() {
var bjobMsgDstcd = $("input[name=bjobMsgDstcd]").val();
if( bjobMsgDstcd.trim() == '' ) {
alert('거래파일 정보를 선택하십시요.');
return false;
}
var popUrl = '<c:url value="/bap/admin/work/messageProcMan.view" />';
popUrl += '?cmd=DETAIL';
popUrl += '&bjobMsgDstcd=' + bjobMsgDstcd;
popUrl += '&ispop=Y';
var args = new Object();
args['ispop'] = 'Y';
var result = showModal(popUrl, args, 1200, 700, 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;
});
});
$("#btn_filedetail_popup").click(function() {
var rcvFileName = $("input[name=rqstRecvFileStorgDirName]").val() + "/" + $("input[name=bkupSndrcvFileName]").val();
var bjobMsgDstcd = $("input[name=bjobMsgDstcd]").val();
if( bjobMsgDstcd.trim() == '' ) {
alert('거래파일 정보를 선택하십시요.');
return false;
}
if( $("input[name=bkupSndrcvFileName]").val() == '' ){
alert('저장된 파일명이 없습니다.');
return false;
}
var popUrl = '<c:url value="/bap/transaction/transactionStatusMan.view" />' + '?cmd=POPUP';
var args = new Object();
args['rcvFileName'] = rcvFileName;
args['bjobMsgDstcd'] = bjobMsgDstcd;
args['ispop'] = true;
var result = showModal(popUrl, args, 800, 700, 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;
});
});
buttonControl();
detail(key1,key2);
$("ul.tabs li:first").trigger("click");
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">거래로그상세</div>
<!-- detail -->
<form id="detailForm">
<input type="hidden" readonly="readonly" name="osidInstiDstcd"/>
<div class="container">
<div class="left full" >
<p class="comment">▣ 거래 기본 정보</p>
</div>
</div>
<table class="table_row" width="100%" cellspacing="0">
<colgroup>
<col width="7%">
<col width="18%">
<col width="7%">
<col width="14%">
<col width="4%">
<col width="7%">
<col width="18%">
</colgroup>
<tr>
<th class="detail_title">UUID</th><td><input type="text" readonly="readonly" name="bjobDmndMsgID" style="width:100%"/></td>
<th class="detail_title">대외기관</th><td style="border-right: 0px; padding-right:0px;"><input type="text" readonly="readonly" name="osidInstiName" style="width:100%"/></td>
<td><img id="btn_systeminst_popup" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
<th class="detail_title">인스턴스명</th><td><input type="text" readonly="readonly" name="eaiSevrInstncName" style="width:100%"/></td>
<th class="detail_title">대외기관IP</th><td><input type="text" readonly="readonly" name="lnkgIPInfoName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">SUB_UUID</th><td><input type="text" readonly="readonly" name="bjobDmndSubMsgID" style="width:100%"/></td>
<th class="detail_title">거래처리시간</th><td colspan="2"><input type="text" readonly="readonly" name="tranStartHMS" style="width:100%"/></td>
<th class="detail_title">흐름규칙코드</th><td><input type="text" readonly="readonly" name="flowRuleCd" style="width:100%"/></td>
<th class="detail_title">메시지송신자</th><td><input type="text" readonly="readonly" name="msgSndrID" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">작업유형</th>
<td>
<select name="bjobPtrnDstcd" style="width:100%">
<option value="AR">응답수신</option>
<option value="AS">응답송신</option>
<option value="RS">요구송신</option>
<option value="RR">요구수신</option>
</select>
</td>
<th class="detail_title">작업상태</th>
<td colspan="2">
<select name="tranPrcssDstcd" style="width:100%">
<option value=""></option>
<option value="V">검증완료</option>
<option value="H">보류</option>
<option value="J">종결</option>
<option value="Q">수행대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
<th class="detail_title">업무구분</th>
<td><input type="text" readonly="readonly" name="bjobBzwkDstcd" style="width:100%"/></td>
<th class="detail_title">메시지생성시간</th><td><input type="text" readonly="readonly" name="bjobDmndMsgCretnHMS" style="width:100%"/></td>
</tr>
</table>
</form>
<div id="container-1">
<ul class="tabs">
<li class="active" rel="tabFile">▣ 거래 파일 정보</li>
<li rel="tabStage">▣ 거래 처리단계 리스트</li>
</ul>
<div id="tabFileDiv" class="tab_container" style="width:100%">
<div id="tabFile" class="tab_content">
<table id="gridFile"></table>
<form id="fileForm">
<div id="pagerFile"></div>
<table class="table_row" width="100%" cellspacing="0" style="margin-top:10px;">
<colgroup>
<col width="15%">
<col width="30%">
<col width="5%">
<col width="15%">
<col width="30%">
<col width="5%">
</colgroup>
<tr>
<th class="detail_title">거래구분</th>
<td style="border-right: 0px; padding-right:0px;"><input type="text" readonly="readonly" name="bjobMsgDstcd" style="width:100%"/></td>
<td><img id="btn_messageproc_popup" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
<th class="detail_title">파일크기</th><td colspan="2"><input type="text" readonly="readonly" name="sndrcvFileSize" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">거래파일명</th>
<td colspan="2"><input type="text" readonly="readonly" name="sndrcvFileName" style="width:100%"/></td>
<th class="detail_title">저장된파일명</th>
<td style="border-right: 0px; padding-right:0px;"><input type="text" readonly="readonly" name="bkupSndrcvFileName" style="width:100%;"/></td>
<td><img id="btn_filedetail_popup" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
</tr>
<tr>
<th class="detail_title">파일경로</th>
<td colspan="2"><input type="text" readonly="readonly" name="rqstRecvFileStorgDirName" style="width:100%"/></td>
<th class="detail_title">파일처리시간</th>
<td colspan="2"><input type="text" readonly="readonly" name="fileTrsmtStartHMS" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">파일전송상태</th>
<td colspan="2">
<select name="thisStgePrcssRsultCd" style="width:100%">
<option value=""></option>
<option value="V">검증완료</option>
<option value="H">보류</option>
<option value="J">종결</option>
<option value="Q">수행대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
<th class="detail_title">파일담당자</th>
<td colspan="2"><input type="text" readonly="readonly" name="thisMsgChrgIDs" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">체크파일내용</th>
<td colspan="5"><input type="text" readonly="readonly" name="hdrInfoName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">장애내용</th>
<td colspan="5"><textarea name="eAIObstclOccurCausCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">파일 헤더 내용</th>
<td colspan="5"><textarea name="bjobFileHdrCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">파일 트레일러 내용</th>
<td colspan="5"><textarea name="bjobFileTrailCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
</table>
</form>
</div>
</div>
<div id="tabStageDiv" class="tab_container" style="width:100%;">
<div id="tabStage" class="tab_content">
<table id="gridStage"></table>
<form id="stageForm">
<div id="pagerStage"></div>
<table class="table_row" width="100%" cellspacing="0" style="margin-top:10px;">
<tr>
<th class="detail_title">처리단계</th>
<td>
<select name="prcssStgeDstcd" style="width:100%">
<option value=" "></option>
<option value="UI">관리화면</option>
<option value="FE">파일이벤트</option>
<option value="DV">데이터검증</option>
<option value="HD">보류</option>
<option value="CL">종결</option>
<option value="SS">소켓서버</option>
<option value="SQ">스케쥴러(대기)</option>
<option value="SP">스케쥴러(진행)</option>
<option value="FC">플로우컨트롤러</option>
<option value="ST">F/C 개시 단계</option>
<option value="FI">F/C 파일정보교환 단계</option>
<option value="DS">F/C Data 송수신 단계</option>
<option value="MI">F/C 결번정보교환 단계</option>
<option value="MS">F/C 결번 송수신 단계</option>
<option value="UE">F/C 단위업무종료 단계</option>
<option value="AE">F/C 전업무종료 단계</option>
<option value="EX">F/C 예외 단계</option>
<option value="LT">F/C 시스템회선상태확인 단계</option>
<option value="SE">F/C 시스템장애통보 단계</option>
<option value="SR">F/C 시스템장애회복통보 단계</option>
<option value="CK">F/C 요구송신 테스트전문단계</option>
</select>
</td>
<th class="detail_title">흐름규칙코드</th><td><input type="text" readonly="readonly" name="bjobRuleCd" style="width:100%"/></td>
<th class="detail_title">흐름단계코드</th><td><input type="text" readonly="readonly" name="bjobStgeCd" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">단계수행번호</th><td><input type="text" readonly="readonly" name="bjobNodeCasNo" style="width:100%"/></td>
<th class="detail_title">Flow클래스명</th><td><input type="text" readonly="readonly" name="bjobFlowCmpoClsName" style="width:100%"/></td>
<th class="detail_title">단계유형</th><td><input type="text" readonly="readonly" name="bjobStgePtrnName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">전문결정수행정보<br>(RECV시)</th>
<td>
<table width="100%" >
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- TelegramID : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDcsnID" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 클래스명 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDcsnClsName" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 전문코드 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDcsnMsgCd" style="width:100%;border:0px"/></td>
</tr>
</table>
</td>
<th class="detail_title">단계수행정보</th>
<td>
<table width="100%" style="border:0px;">
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- TelegramID : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="thisStgeTelgmID" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 클래스명 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="thisStgeClsName" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 전문코드 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="thisStgeMsgCd" style="width:100%;border:0px"/></td>
</tr>
</table>
</td>
<th class="detail_title">전문필드정보</th>
<td>
<table style="width:100%;border:0px">
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 전문종별코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmPertypCdValCtnt" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 거래구분코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmDstcdValCtnt" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 업무관리코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="telgmMgtCdValCtnt" style="width:100%;border:0px"/></td>
</tr>
<tr>
<td style="border-right:0;border-bottom:0;height:10px;">- 응답코드 값 : </td><td style="border-right:0;border-bottom:0;height:10px;"><input type="text" readonly="readonly" name="rspnsCdValCtnt" style="width:100%;border:0px"/></td>
</tr>
</table>
</td>
</tr>
<tr>
<th class="detail_title">거래구분</th><td><input type="text" readonly="readonly" name="bjobMsgDstcd" style="width:100%"/></td>
<th class="detail_title">거래파일명</th><td><input type="text" readonly="readonly" name="sndrcvFileName" style="width:100%"/></td>
<th class="detail_title">저장된파일명</th><td><input type="text" readonly="readonly" name="bkupSndrcvFileName" style="width:100%"/></td>
</tr>
<tr>
<th class="detail_title">파일경로</th><td><input type="text" readonly="readonly" name="rqstRecvFileStorgDirName" style="width:100%"/></td>
<th class="detail_title">단계처리시간</th><td><input type="text" readonly="readonly" name="thisStgeStartHMS" style="width:100%"/></td>
<th class="detail_title">단계상태</th>
<td>
<select name="thisStgePrcssRsultCd" style="width:100%">
<option value=""></option>
<option value="Q">수행대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
</tr>
<tr>
<th class="detail_title">장애내용</th><td colspan="5"><textarea name="eAIObstclOccurCausCtnt" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">전문헤더</th><td colspan="5"><textarea name="bjobTelgmHdr"readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
<tr>
<th class="detail_title">전문바디</th><td colspan="5"><textarea name="bjobTelgmTbody" readonly="readonly" style="width:100%;height:100%"></textarea></td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,180 @@
<%@ 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 rcvFileName = window.dialogArguments['rcvFileName'];
var bjobMsgDstcd = window.dialogArguments['bjobMsgDstcd'];
var isPopup = window.dialogArguments['ispop'];
function isValid() {
if($('#skipCnt').val().trim() == "") {
$('#skipCnt').focus();
alert("파일 시작위치를 입력하여 주십시요.");
return false;
} else if($('#loopCnt').val().trim() == "") {
$('#loopCnt').focus();
alert("요청 건수를 입력하여 주십시요.");
return false;
} else if($('#loopCnt').val() > 100) {
$('#loopCnt').focus();
alert("요청 건수는 100건까지 가능합니다.");
return false;
}
return true;
}
function init(url, key) {
$("input[name=rcvFileName]").val(key).attr('readonly', true);
$("input[name=recSize]").val('').attr('readonly', true);
$("input[name=bjobMsgDstcd]").val(bjobMsgDstcd);
if($('#skipCnt').val().trim() == "") $('#skipCnt').val("0");
if($('#loopCnt').val().trim() == "") $('#loopCnt').val("100");
// clearInputbox();
}
function clearInputbox() {
for(let i = 0; i < 100; i++) {
$("#dataNum" + (i + 1)).text('');
$("#dataVal" + (i + 1)).text('');
}
}
function setInputbox(data) {
if(typeof data === 'undefined') return false;
const s = parseInt($('#skipCnt').val());
const l = parseInt($('#loopCnt').val());
const e = data.length < l ? data.length : l;
for(let i = 0; i < e; i++) {
$("#dataNum" + (i+1)).html((i+s+1));
$("#dataVal" + (i+1)).html(data[i].replace(/ /g, '&nbsp;'));
}
}
$(document).ready(function() {
var url ='<c:url value="/bap/transaction/transactionStatusMan.json" />';
var key = rcvFileName;
init(url, key);
$("#btn_close").click(function() {
window.close();
});
$("#btn_search").click(function() {
if (!isValid()) return false;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd", value:"DETAIL_FILE_DATA"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(json) {
clearInputbox();
$("input[name=recSize]").val(json.recSize);
setInputbox(json.detail);
},
error:function(e) {
alert(e.responseText);
}
});
});
$("#btn_prev").click(function() {
var s = parseInt($('#skipCnt').val());
var l = parseInt($('#loopCnt').val());
if ( s >= 0 ) {
var n = s - l < 0 ? 0 : s - l;
$('#skipCnt').val(n);
$("#btn_search").click();
}
});
$("#btn_next").click(function() {
var s = parseInt($('#skipCnt').val());
var l = parseInt($('#loopCnt').val());
if ( s >= 0 ) {
var n = s + l;
$('#skipCnt').val(n);
$("#btn_search").click();
}
});
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_remove.png"/>" alt="" id="btn_prev" level="R" />
<img src="<c:url value="/img/btn_add.png"/>" alt="" id="btn_next" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">업무파일 내용 조회</div>
<form id="ajaxForm">
<input type="hidden" name="bjobMsgDstcd" />
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:23%">파일 시작위치</th>
<td style="width:10%"><input type="text" id="skipCnt" name="skipCnt" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;"></td>
<th style="width:23%">요청건수</th>
<td style="width:10%"><input type="text" id="loopCnt" name="loopCnt" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;"></td>
<th style="width:24%">한 레코드 길이</th>
<td style="width:10%"><input type="text" id="recSize" name="recSize" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;"></td>
</tr>
<tr>
<th style="width:23%">파일 이름</th>
<td colspan="5"><input type="text" id="rcvFileName" name="rcvFileName"></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<colgroup>
<col width="10%">
<col width="90%">
</colgroup>
<tr>
<th height="28px" nowrap style="text-align:center; border-right: 1px solid #a3a9b1;">순번</th>
<th nowrap style="text-align:center; border-right: 1px solid #a3a9b1;">데이터</th>
</tr>
<c:forEach var="i" begin="1" end="100">
<tr>
<td align="center" nowrap><span id="dataNum${i}"></span></td>
<td align="left" nowrap><span id="dataVal${i}"></span></td>
</tr>
</c:forEach>
</table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,336 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
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="/bap/transaction/transactionTraceMan.json" />';
var url_view = '<c:url value="/bap/transaction/transactionTraceMan.view" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function init( callback ) {
// $("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
// $("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if ( searchStartYYYYMMDD == null || searchStartYYYYMMDD == '') {
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if ( searchEndYYYYMMDD == null || searchEndYYYYMMDD == '') {
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if ( searchStartHHMM == null || searchStartHHMM == '') {
$("input[name=searchStartHHMM]").val('000000');
}
if ( searchEndHHMM == null || searchEndHHMM == '') {
$("input[name=searchEndHHMM]").val('235959');
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
$("select[name=searchEaiBzwkDstcd]").searchable();
putSelectFromParam();
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail() {
var start = $("input[name=searchStartYYYYMMDD]").val().replace("-","")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace("-","")+$("input[name=searchEndHHMM]").val().replace(":","");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
function resend(bjobDmndMsgID, bjobDmndSubMsgID, fileTrsmtLogID, sndRecvFileName, bjobMsgDstcd) {
if ( confirm( "해당 건을 재 전송 하시겠습니까?" ) != true ) {
return;
}
var postData = new Array();
postData.push({ name: "cmd" , value:"TRANSACTION_RESEND"});
postData.push({ name: "bjobDmndMsgID" , value:bjobDmndMsgID});
postData.push({ name: "bjobDmndSubMsgID" , value:bjobDmndSubMsgID});
postData.push({ name: "fileTrsmtLogID" , value:fileTrsmtLogID});
postData.push({ name: "sndRecvFileName" , value:sndRecvFileName});
postData.push({ name: "bjobMsgDstcd" , value:bjobMsgDstcd});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
$("#grid").trigger("reloadGrid");
alert( args.result );
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
init( detail);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
//url: url,
//postData : gridPostData,
colNames:['UUID',
'SUBUUID',
'전송로그ID',
'프레임웍구분',
'인터페이스ID',
'업무구분',
'기관명',
'파일명',
'상태',
'시작시간',
'종료시간',
'송수신구분',
'파일크기',
'재전송',
'장애내용'
],
colModel:[
{ name : 'BJOBDMNDMSGID' , align : 'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align : 'left' , hidden:true },
{ name : 'FILETRSMTLOGID' , align : 'left' , hidden:true },
{ name : 'FRAMEWORKGB' , align : 'center' , width:40 },
{ name : 'BJOBMSGDSTCD' , align : 'left' , width:60 },
{ name : 'BJOBBZWKNAME' , align : 'left' , width:60 },
{ name : 'OSIDINSTINAME' , align : 'left' , width:60 },
{ name : 'SNDRCVFILENAME' , align : 'left' , width:60 },
{ name : 'THISSTGEPRCSSRSULTCD' , align : 'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'E' ) {
return '<span style="color:red">에러</span>';
} else if ( cellvalue == 'T' ) {
return '<span style="color:blue">전송성공</span>';
} else if ( cellvalue == 'S' ) {
return '<span style="color:green">전송중</span>';
} else {
return '';
}
}
},
{ name : 'FILETRSMTSTARTHMS' , align:'center' , width:'80' , formatter: timeStampFormat },
{ name : 'FILETRSMTENDHMS' , align:'center' , width:'80' , formatter: timeStampFormat },
{ name : 'SNDRCV' , align:'center' , width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == 'S' ) {
return '송신';
} else if ( cellvalue == 'R' ) {
return '수신';
} else {
return '';
}
}
},
{ name : 'SNDRCVFILESIZE' , align:'right', width:50 },
{ name : 'RESEND' , align:'center', width:50 },
{ name : 'EAIOBSTCLOCCURCAUSCTNT' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
//alert('bjobDmndMsgID-->' + bjobDmndMsgID);
if ( bjobDmndMsgID.trim() == '' ) return;
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2 = url2 + '?cmd=DETAIL';
url2 = url2 + '&page='+$(this).getGridParam("page");
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
//검색값
url2 = url2 + '&'+getSearchUrl();
//key값
url2 = url2 + '&bjobDmndMsgID='+bjobDmndMsgID;
url2 = url2 + "&bjobDmndSubMsgID=" + bjobDmndSubMsgID;
goNav(url2);
},
loadComplete:function (d) {
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
gridComplete: function() {
var ids = $(this).getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
var rowData = $(this).getRowData(cl);
var bjobDmndMsgID = rowData['BJOBDMNDMSGID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var fileTrsmtLogID = rowData['FILETRSMTLOGID'];
var sndRecvFileName = rowData['SNDRCVFILENAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var sndRcv = rowData['SNDRCV'];
if ( sndRcv == '송신' || fileTrsmtLogID.trim() != '' ) {
var be = "<input style='height:22px;width:60px;' type='button' value='재전송' onclick=\"resend('"+bjobDmndMsgID+"','"+bjobDmndSubMsgID+"','"+fileTrsmtLogID+"','"+sndRecvFileName+"','"+bjobMsgDstcd+"');\" />";
$(this).setRowData(ids[i],{RESEND:be});
}
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
var start = $("input[name=searchStartYYYYMMDD]").val().replace("-","")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace("-","")+$("input[name=searchEndHHMM]").val().replace(":","");
$("input[name=searchStartTime]").val(start);
$("input[name=searchEndTime]").val(end);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "거래 추적", merge);
return false;
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">거래 추적</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;">프레임웍구분</th>
<td>
<div class="select-style">
<select name="searchFrameWorkGb" value="${param.searchFrameWorkGb}">
<option value="2">전체</option>
<option value="0">내부</option>
<option value="1">대외</option>
</select>
</div><!-- end.select-style -->
</td>
<th style="width:100px;">업무구분명</th>
<td>
<div class="select-style">
<select name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div>
</td>
<th style="width:100px;">송수신구분</th>
<td>
<div class="select-style">
<select name="searchSndRcv" value="${param.searchSndRcv}">
<option value="A">전체</option>
<option value="S">송신</option>
<option value="R">수신</option>
</select>
</div>
</td>
<th style="width:100px;">상태</th>
<td>
<div class="select-style">
<select name="searchThisStgePrcssRsultCd" value="${param.searchThisStgePrcssRsultCd}">
<option value="">전체</option>
<option value="T">정상</option>
<option value="E">에러</option>
<option value="S">전송중</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:100px;">파일명</th>
<td>
<input type="text" name="searchSndrcvFileName" value="${param.searchSndrcvFileName}">
</td>
<th style="width:100px;">기관명</th>
<td>
<input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}">
</td>
<th style="width:100px;">거래기간</th>
<td colspan="3">
<input type="text" name="searchStartYYYYMMDD" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchStartHHMM" maxlength="8" value="" size="8" style="width:80px;"> ~
<input type="text" name="searchEndYYYYMMDD" maxlength="10" value="" size="10" style="width:80px;">
<input type="text" name="searchEndHHMM" maxlength="8" value="" size="8" style="width:80px;">
<input type="hidden" name="searchStartTime" value="20170201000000">
<input type="hidden" name="searchEndTime" value="20170201235959">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,188 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
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="/bap/transaction/transactionTraceMan.json" />';
var url_view = '<c:url value="/bap/transaction/transactionTraceMan.view" />';
function init(key,callback) {
if (typeof callback === 'function') {
callback(key);
}
}
function detail(key) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
fileTrsmtLogID : key
},
success : function(json) {
$("input,select").each(function(){
var name = $(this).attr('name');
if ( name != null ) {
if (name == 'ndmRspnsCd') {
var ndmRspnsCd = json[name].trim();
if (ndmRspnsCd == "0") {
$("input[name=ndmRspnsCd]").val('정상');
$("#ndmapi").css("display","");
} else if (ndmRspnsCd == "8") {
$("input[name=ndmRspnsCd]").val('비정상');
$("#error").css("display","");
$("#ndmapi").css("display","");
} else if (ndmRspnsCd == "P") {
$("input[name=ndmRspnsCd]").val('전송중');
} else {
$("input[name=ndmRspnsCd]").val(json[name]);
}
} else {
$(this).val(json[name]);
}
}
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.fileTrsmtLogID}";
$("input").each(function(){
$(this).attr("readonly",true);
});
$("select").each(function(){
$(this).attr("disabled",true);
$(this).css({'background-color' : '#ffffff'});
});
$("input[name=thisMsgRegiHMS]").inputmask("9999/99/99 99:99:99.999",{'autoUnmask':true});
$("input[name=fileTrsmtStartHMS]").inputmask("9999/99/99 99:99:99.999",{'autoUnmask':true});
init(key,detail);
$("#btn_previous").click(function() {
goNav(returnUrl); //LIST로 이동
});
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">리모트파일 전송결과 상세내역</div>
<form id="ajaxForm">
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">전송 거래로그 ID</th><td><input type="text" name="fileTrsmtLogID"/> </td>
<th style="width:180px;">리모트 서버</th><td><input type="text" name="rmtNodeName"/> </td>
</tr>
<tr>
<th>EAI 디렉토리</th><td><input type="text" name="fileTrsmtPathName"/> </td>
<th>EAI 파일</th><td><input type="text" name="trsmtFileName"/> </td>
</tr>
<tr>
<th>리모트 디렉토리</th><td><input type="text" name="rmtFileTrsmtPathName"/> </td>
<th>리모트 파일</th><td><input type="text" name="rmtTrsmtFileName"/> </td>
</tr>
<tr>
<th>업무구분</th><td><input type="text" name="bjobBzwkName"/> </td>
<th>대외기관</th><td><input type="text" name="osidInstiName"/> </td>
</tr>
<tr>
<th>파일크기</th><td><input type="text" name="fileTrsmtSize"/> </td>
<th>전송시간</th><td><input type="text" name="fileTrsmtStartHMS"/> </td>
</tr>
<tr>
<th>전송결과</th><td><input type="text" name="ndmRspnsCd"/> </td>
<th>기동유형</th><td><input type="text" name="fileTrsmtStartPtrnName"/> </td>
</tr>
<tr id="error" style="display:none;">
<th>장애내용</th><td colspan="3"><input type="text" name="ndmRspnsMsgCtnt"/> </td>
</tr>
<tr>
<th>업무코드(명)</th><td><input type="text" name="applCd"/> </td>
<th>업무담당자</th><td><input type="text" name="bzwkRsEmpName"/> </td>
</tr>
<tr>
<th>등록일시</th><td><input type="text" name="thisMsgRegiHMS"/> </td>
<th>등록자</th><td><input type="text" name="thisMsgRegsntID"/> </td>
</tr>
</table>
<table id="ndmapi" class="table_row" cellspacing="0" style="display:none;" >
<tr>
<th style="width:180px;">Process Name</th><td><input type="text" name="processName"/> </td>
<th style="width:180px;">Process Number</th><td><input type="text" name="processNumber"/> </td>
</tr>
<tr>
<th>Copy Start Time</th><td><input type="text" name="copyStartTime"/> </td>
<th>Copy Stop Time</th><td><input type="text" name="copyStopTime"/> </td>
</tr>
<tr>
<th>Elapsed Time</th><td><input type="text" name="elapsedTime"/> </td>
<th>Completion Code</th><td><input type="text" name="completionCode"/> </td>
</tr>
<tr>
<th>Record ID</th><td><input type="text" name="recordID"/> </td>
<th>Message ID</th><td><input type="text" name="messageID"/> </td>
</tr>
<tr>
<th>Message Short Text</th><td><input type="text" name="messageShortText"/> </td>
<th>Step Name</th><td><input type="text" name="stepName"/> </td>
</tr>
<tr>
<th>Submit Node</th><td><input type="text" name="submitNode"/> </td>
<th>Submit ID</th><td><input type="text" name="submitID"/> </td>
</tr>
<tr>
<th>Local Node Name</th><td><input type="text" name="localNodeName"/> </td>
<th>Remote Node Name</th><td><input type="text" name="remoteNodeName"/> </td>
</tr>
<tr>
<th>Source File Name</th><td><input type="text" name="sourceFileName"/> </td>
<th>Source File Total Size</th><td><input type="text" name="sourceFileTotalSize"/> </td>
</tr>
<tr>
<th>Destination File Name</th><td><input type="text" name="destinationFileName"/> </td>
<th>Destination File Total Size</th><td><input type="text" name="destinationFileTotalSize"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,303 @@
<%@ 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 urlView = '<c:url value="/bap/transaction/transactionWaitMan.view" />';
var url = '<c:url value="/bap/transaction/transactionWaitMan.json" />';
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
function zeroToStr(str) {
if ( str == 0 )
return "";
else
return str;
}
function init(callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if ( typeof callback === 'function' ) {
callback();
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function list() {
// 송수신 시작 시간
var start1 = zeroToStr($("input[name=searchStartYYYYMMDD1]").val() + $("input[name=searchStartHHMM1]").val());
var end1 = zeroToStr($("input[name=searchEndYYYYMMDD1]").val() + $("input[name=searchEndHHMM1]").val());
// 송수신 종료시간
var start2 = zeroToStr($("input[name=searchStartYYYYMMDD2]").val() + $("input[name=searchStartHHMM2]").val());
var end2 = zeroToStr($("input[name=searchEndYYYYMMDD2]").val() + $("input[name=searchEndHHMM2]").val());
// 송수신 시작시간
$("input[name=searchStartTime1]").val(start1);
$("input[name=searchEndTime1]").val(end1);
// 송수신 종료시간
$("input[name=searchStartTime2]").val(start2);
$("input[name=searchEndTime2]").val(end2);
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url: url, postData: postData, page: "1" }).trigger("reloadGrid");
}
$(document).ready(function() {
// 송수신 시작, 종료시간 셋팅.
// $("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask({ alias: "datetime", autoUnmask: true, inputFormat: "yyyy-mm-dd", outputFormat: "yyyymmdd" });
// $("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask({ alias: "datetime", autoUnmask: true, inputFormat: "HH:MM:ss", outputFormat: "HHMMss" });
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM1],input[name=searchEndHHMM1],input[name=searchStartHHMM2],input[name=searchEndHHMM2]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=searchStartYYYYMMDD1],input[name=searchEndYYYYMMDD1],input[name=searchStartYYYYMMDD2],input[name=searchEndYYYYMMDD2]").each(function() {
if( $(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "yyyymmdd" ) {
$(this).val(getToday());
}
});
$("input[name=searchStartHHMM1],input[name=searchStartHHMM2]").each(function() {
if( $(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss" ) {
$(this).val('000000');
}
});
$("input[name=searchEndHHMM1],input[name=searchEndHHMM2]").each(function() {
if( $(this).val() == undefined || $(this).val() == null || $(this).val() == "" || $(this).val() == "HHMMss" ) {
$(this).val('235959');
}
});
// End 송수신 시작, 종료시간 셋팅.
// grid 생성.
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
colNames: [ 'UUID',
'SUBUUID',
'업무구분코드',
'업무구분명',
'대외기관 구분코드',
'대외기관명',
'송수신 파일 디렉토리명',
'송수신 파일명',
'작업메시지 일정ID',
'메시지처리 우선순위',
'송수신 시작시각',
'송수신 종료시각',
'작업요청 메시지<br>생성시각',
'수정일'
],
colModel: [
{ name : 'BJOBDMNDMSGID' , align:'left' , hidden:true },
{ name : 'BJOBDMNDSUBMSGID' , align:'left' , hidden:true },
{ name : 'BJOBBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BJOBBZWKDSTCDNAME' , align:'left' },
{ name : 'OSIDINSTIDSTCD' , align:'left' },
{ name : 'OSIDINSTIDSTCDNAME' , align:'left' },
{ name : 'SNDRCVFILEDIRNAME' , align:'left' , hidden:true },
{ name : 'SNDRCVFILENAME' , align:'left' , },
{ name : 'BJOBMSGSCHEID' , align:'left' , hidden:true },
{ name : 'MSGPRCSSPRITY' , align:'right' },
{ name : 'SNDRCVSTARTHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'SNDRCVENDHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'BJOBDMNDMSGCRETNHMS' , align:'center' , formatter: timeStampFormat },
{ name : 'THISMSGAMNDHMS' , align:'center' , formatter: timeStampFormat , hidden:true }
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
gridview: true,
multiselect: true,
rowList: eval('[${rmsDefaultRowList}]'),
gridComplete: function (d) {
var colModel = $(this).getGridParam("colModel");
for ( var i = 0; i < colModel.length; i++ ) {
$(this).setColProp(colModel[i].name, {sortable: false}); //그리드 헤더 화살표 삭제(정렬X)
}
$(".ui-jqgrid-labels").css("height", "20px"); // grid header 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("height", "auto"); // grid header cell 높이
$("#jqgh_grid_BJOBDMNDMSGCRETNHMS").css("margin-bottom", "5px"); // grid header cell 외부여백
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobMsgScheID = rowData['BJOBMSGSCHEID'];
var bjobDmndSubMsgID = rowData['BJOBDMNDSUBMSGID'];
var url = urlView;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//key값
url = url + '&bjobMsgScheID='+bjobMsgScheID;
url = url + '&bjobDmndSubMsgID='+bjobDmndSubMsgID;
//검색값
url = url + '&'+getSearchUrl();
console.log(url)
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function() {
list();
});
$("input[name^=search]").keydown(function(key) {
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var merge = new Array();
gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "작업대기 관리", merge);
return false;
});
$("#btn_delete").click(function() {
var selRowCnt = $("#grid").jqGrid("getGridParam", "selarrrow").length;
if ( selRowCnt == 0 ) {
alert("선택된 작업대기 항목이 없습니다.");
return false;
}
if (!confirm( "삭제하시겠습니까?" ) ) return false;
var retMessage = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
var postData = new Array();
var bjobDmndMsgID = $("#grid").getRowData(rowId).BJOBDMNDMSGID;
var bjobDmndSubMsgID = $("#grid").getRowData(rowId).BJOBDMNDSUBMSGID;
postData.push({ name: "bjobDmndMsgID", value: bjobDmndMsgID });
postData.push({ name: "bjobDmndSubMsgID", value: bjobDmndSubMsgID });
postData.push({ name: "cmd", value: "DELETE" });
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {},
error: function(e) {
retMessage = e.responseText
}
});
});
if ( retMessage != "" ) {
alert(retMessage);
} else {
list();
alert("삭제 되었습니다.");
}
});
buttonControl();
init(list);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">작업대기 관리</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">업무구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}">
</select>
</div><!-- end.select-style -->
</td>
</tr>
<tr>
<th style="width:180px;">대외기관 구분코드</th>
<td>
<div class="select-style">
<select type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}">
</select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">송수신파일명</th>
<td>
<input type="text" name="searchSndrcvFileName" value="${param.searchSndrcvFileName}">
</td>
</tr>
<tr>
<th style="width:180px;">송수신 시작 시각</th>
<td>
<input type="text" name="searchStartYYYYMMDD1" maxlength="10" size="10" style="width:80px;" value="${param.searchStartYYYYMMDD1}">
<input type="text" name="searchStartHHMM1" maxlength="8" size="8" style="width:80px;" value="${param.searchStartHHMM1}"> ~
<input type="text" name="searchEndYYYYMMDD1" maxlength="10" size="10" style="width:80px;" value="${param.searchEndYYYYMMDD1}">
<input type="text" name="searchEndHHMM1" maxlength="8" size="8" style="width:80px;" value="${param.searchEndHHMM1}">
<input type="hidden" name="searchStartTime1" value="${param.searchStartTime1}">
<input type="hidden" name="searchEndTime1" value="${param.searchEndTime1}">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,323 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp" />
<jsp:include page="/jsp/common/include/script.jsp" />
<script language="javascript">
var url = '<c:url value="/bap/transaction/transactionWaitMan.json" />';
var isDetail = false;
// 송수신 시작, 종료시간 입력값이 0일때 ""로 변환하는 함수.
function zeroToStr(str) {
if ( str == 0 )
return "";
else
return str;
}
function isValid() {
var startYmd = $('input[name=sndrcvStartYMD]').val();
var startHms = $('input[name=sndrcvStartHMS]').val();
var startYmdHms;
var endYmd = $('input[name=sndrcvEndYMD]').val();
var endHms = $('input[name=sndrcvEndHMS]').val();
var endYmdHms;
if ( startYmd == null ) {
alert("송수신 시작 날짜를 입력하여 주십시요.");
$('input[name=sndrcvStartYMD]').focus();
return false;
}
if ( startHms == null ) {
alert("송수신 시작 시간을 입력하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
if ( endYmd == null ) {
alert("송수신 종료 날짜를 입력하여 주십시요.");
$('input[name=sndrcvEndYMD]').focus();
return false;
}
if ( endHms == null ) {
alert("송수신 종료 시간을 입력하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
startYmdHms = startYmd + startHms;
endYmdHms = endYmd + endHms;
if ( startYmdHms > endYmdHms ) {
alert("송수신 시작, 종료시각을 확인해 주십시요.");
return false;
}
if ( endHms == null ) {
alert("송수신 종료 시간을 입력하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
if ( $('input[name=msgPrcssPrity]').val() == null ) {
alert("메시지처리 우선순위를 입력하여 주십시요.");
$('input[name=msgPrcssPrity]').focus();
return false;
}
return true;
}
function init(key, key2, callback) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
if ( typeof callback === 'function' ) {
callback(key, key2);
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(key, key2) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd: 'DETAIL',
bjobMsgScheID: key,
bjobDmndSubMsgID: key2
},
success: function(json) {
console.log(json)
var detail = json.detail;
$("input,select").each(function() {
try {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
} catch(e) {}
});
$("select[name=bjobBzwkDstcd] option").not(":selected").remove();
$("select[name=osidInstiDstcd] option").not(":selected").remove();
},
error: function(e) {
alert("detail error : " + e.responseText);
}
});
}
$(document).ready(function() {
//$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM:ss",outputFormat : "HHMMss" });
$("input[name=sndrcvStartYMD],input[name=sndrcvEndYMD],input[name=bjobDmndMsgCretnYMD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS],input[name=bjobDmndMsgCretnHMS]").inputmask("hh:mm:ss",{'autoUnmask':true});
$("input[name=msgPrcssPrity]").inputmask("9999",{'autoUnmask':true});
var returnUrl = getReturnUrlForReturn();
var key = "${param.bjobMsgScheID}";
var key2 = "${param.bjobDmndSubMsgID}";
if ( key != "" && key != "null" ) {
isDetail = true;
}
init(key, key2, detail);
$("#btn_modify").click(function() {
if ( !isValid() ) return;
var sndrcvStart = zeroToStr($("input[name=sndrcvStartYMD]").val() + $("input[name=sndrcvStartHMS]").val());
var sndrcvEnd = zeroToStr($("input[name=sndrcvEndYMD]").val() + $("input[name=sndrcvEndHMS]").val());
$("input[name=sndrcvStart]").val(sndrcvStart);
$("input[name=sndrcvEnd]").val(sndrcvEnd);
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({name: "cmd", value: "UPDATE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name: "cmd",
value: "DELETE"
});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
console.log(returnUrl);
goNav(returnUrl);//LIST로 이동
});
$(".focusOut").click(function(){
document.body.focus();
});
buttonControl(key);
titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">작업대기</div>
<form id="ajaxForm">
<input type="hidden" name="bjobDmndMsgID" />
<input type="hidden" name="bjobDmndSubMsgID" "/>
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">업무구분</th>
<td>
<div class="select-style">
<select name="bjobBzwkDstcd" value="${param.bjobBzwkDstcd}" style="width:100%"></select>
</div>
</td>
</tr>
<tr>
<th>대외기관구분</th>
<td>
<div class="select-style">
<select name="osidInstiDstcd" value="${param.osidInstiDstcd}" style="width:100%"></select>
</div>
</td>
</tr>
<tr>
<th>작업유형구분</th>
<td>
<input type="text" name="bjobPtrnDstcd" value="${param.bjobPtrnDstcd}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>전문재시도수</th>
<td>
<input type="text" name="telgmReTralCnt" value="${param.telgmReTralCnt}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>작업메시지 일정ID</th>
<td>
<input type="text" name="bjobMsgScheID" value="${param.bjobMsgScheID}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>송수신 시작시각</th>
<td>
<input type="text" name="sndrcvStartYMD" maxlength=10 value="${param.sndrcvStartYMD}" size="10">
<input type="text" name="sndrcvStartHMS" maxlength=9 value="${param.sndrcvStartHMS}" size="8">
<input type="hidden" name="sndrcvStart" >
</td>
</tr>
<tr>
<th>송수신 종료시각</th>
<td>
<input type="text" name="sndrcvEndYMD" maxlength=10 value="${param.sndrcvEndYMD}" size="10">
<input type="text" name="sndrcvEndHMS" maxlength=9 value="${param.sndrcvEndHMS}" size="8">
<input type="hidden" name="sndrcvEnd" >
</td>
</tr>
<tr>
<th>송수신 파일 디렉토리명</th>
<td>
<input type="text" name="sndrcvFileDirName" value="${param.sndrcvFileDirName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>송수신 파일명</th>
<td>
<input type="text" name="sndrcvFileName" value="${param.sndrcvFileName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>백업 송수신 파일명</th>
<td>
<input type="text" name="bkupSndrcvFileName" value="${param.bkupSndrcvFileName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>메시지처리 우선순위</th>
<td>
<input type="text" name="msgPrcssPrity" maxlength=3 value="${param.msgPrcssPrity}" size="3">
</td>
</tr>
<tr>
<th>헤더정보명</th>
<td>
<input type="text" name="hdrInfoName" value="${param.hdrInfoName}" style="width:100%; background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
<tr>
<th>작업요청메시지 생성시각</th>
<td>
<input type="text" name="bjobDmndMsgCretnYMD" maxlength=10 value="${param.bjobDmndMsgCretnYMD}" size="10" style="background-color:#E6E6E6;" readOnly class="focusOut">
<input type="text" name="bjobDmndMsgCretnHMS" maxlength=8 value="${param.bjobDmndMsgCretnHMS}" size="8" style="background-color:#E6E6E6;" readOnly class="focusOut">
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div>
</body>
</html>