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
+273
View File
@@ -0,0 +1,273 @@
<%@ 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" />';
function fileupload(e,successcallback,errorcallback) {
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function(json, textStatus, jqXHR) {
$("input[name=file]").val("");
if(textStatus == 'success') {
alert('정상처리 되었습니다.');
$("#btn_search").click();
} else {
alert('업로드중 에러가 발생하였습니다.');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind) e.unbind();
} else { //for olden browsers
formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target', iframeId);
formObj.attr('action', '<c:url value="/loader.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e) {
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
function list(url) {
var gridPostData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/bizGbnMan.json" />',
postData: gridPostData,
colNames: [ '배치 대외 기관',
'배치 대외 기관명',
'사용여부'
],
colModel: [
{ name : 'BJOBBZWKDSTCD' , align:'center' ,sortable:false },
{ name : 'BJOBBZWKNAME' , align:'left' },
{ name : 'THISMSGUSEYN' , align:'center', width:50 ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'].trim();
var url = '<c:url value="/bap/admin/work/bizGbnMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
url += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
//검색값
url += '&' + getSearchUrl();
goNav(url);
}
});
}
$(document).ready(function() {
resizeJqGridWidth('grid', 'title', '1000');
var url ='<c:url value="/bap/admin/work/bizGbnMan.json" />';
list(url);
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/work/bizGbnMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
goNav(url);
});
$("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_download").click(function() {
let selectedVal = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
selectedVal += "," + $("#grid").getRowData(rowId).BJOBBZWKDSTCD;
});
if(selectedVal != "") selectedVal = selectedVal.substring(1);
var url ='<c:url value="/loader.do" />';
url += '?cmd=bizGbnMan';
url += '&control=download';
url += '&serviceType=' + sessionStorage["serviceType"];
url += '&fileName=bizGbnMan';
url += '&selectedVal=' + selectedVal;
url += '&' + getSearchUrl();
goNav(url);
});
$("#multiform").on('submit', fileupload);
$('#btn_upload').click(function() {
if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
if(window.FormData !== undefined) {
$("input[name=file]").click();
} else {
if($("input[name=file]").val() == "") return;
$("#multiform").submit();
}
});
if(window.FormData !== undefined) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if (!filename.startsWith('bizGbnMan')) {
alert("배치대외기관 JSON 파일을 선택하십시오.\n\n[파일명 : bizGbnMan.json]")
return false;
}
if(filename == "") return;
else $("#multiform").submit();
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
} else {
$("input[name=file]").show();
}
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="title">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
<div class="search_wrap">
<input type="file" id="file" name="file" style="display:inline-block"/>
<input type="hidden" name="cmd" value="bizGbnMan"/>
<input type="hidden" name="control" value="upload"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R" />
<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
</form>
<div class="title">배치 대외 기관 관리<span class="tooltip">배치 대외 기관 코드를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">배치 대외 기관</th>
<td><input type="text" name="searchbjobBzwkDstcd" value="${param.searchbjobBzwkDstcd}"></td>
<th style="width:180px;">배치 대외 기관명</th>
<td><input type="text" name="searchbjobBzwkName" value="${param.searchbjobBzwkName}"></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,386 @@
<%@ 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 isDetail = false;
var lastsel2;
function isValid() {
if($('input[name=bjobBzwkDstcd]').val() == "") {
alert("대외기관코드를 입력하여 주십시요.");
return false;
} else if($('input[name=bjobBzwkName]').val() == "") {
alert("대외 기관명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if($('select[name=addPrptyTypDstcd]').val() == "") {
alert("프라퍼티구분코드를 선택하여 주십시요.");
return false;
} else if($('input[name=addPrptyName]').val() == "") {
alert("프라퍼티명을 입력하여 주십시요.");
return false;
} else if($('input[name=addPrptyDesc]').val() == "") {
alert("프라퍼티 설명을 입력하여 주십시요.");
return false;
}
//중복체크
var data = $("#grid").getRowData();
for(var i = 0; i < data.length; i++) {
if (data[i]['PRPTYTYPDSTCD'] == $('select[name=addPrptyTypDstcd]').val()
&& data[i]['PRPTYNAME'] == $('input[name=addPrptyName]').val()
){
alert("증복된 프라퍼티명이 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/images/bt/pop_delete.gif" />';
//var adptrIoDstCd = options["colModel"]["ADPTRIODSTCD"];
//var adptrPrptyName = options["colModel"]["ADPTRPRPTYNAME"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' "+url+ " />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype: "local",
loadonce: true,
rowNum: 10000,
editurl: "clientArray",
colNames: [ '프라퍼티타입',
'프라퍼티명',
'프라퍼티설명',
'삭제여부'
],
colModel: [
{ name: 'PRPTYTYPDSTCD'
, align: 'center'
, formatter: function (cellvalue) {
if ( cellvalue == 'O' ) {
return '기관';
} else if (cellvalue == 'F') {
return '파일';
} else {
return cellvalue;
}
}
, unformat: function (cellvalue) {
if ( cellvalue == '기관' ) {
return 'O';
} else if (cellvalue == '파일') {
return 'F';
} else {
return cellvalue;
}
}
},
{ name: 'PRPTYNAME', align: 'left' , editable: true },
{ name: 'PRPTYDESC', align: 'left' , editable: true },
{ name: 'DELETEYN' , align: 'center', unformat: unformatterFunction, formatter: formatterFunction }
],
jsonReader: {
repeatitems: false
},
loadComplete: function () {
},
onSelectRow: function(rowid, status) {
if (lastsel2 != undefined) {
if($("#grid tr#" + lastsel2).attr("editable") == 1) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2, false, "clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol: function(){
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','title','1000');
}
function init(url, key, callback) {
if(typeof callback === 'function') {
callback(url, key);
}
}
function detail(url, key) {
if (!isDetail) return;
$.ajax({
type: "POST",
url: url,
dataType:"json",
data: {cmd: 'DETAIL'
, bjobBzwkDstcd: key
},
success: function(json){
var data = json;
var detail = json.detail;
//adapterType
$("input[name=bjobBzwkDstcd]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//Prop
$("#grid")[0].addJSONData(data);
$("img[name*=img]").click(function(){
var name = $(this).attr("name");
var rowId =name.split("_")[1];
$('#grid').jqGrid('delRowData',rowId);
});
},
error: function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/work/bizGbnMan.json" />';
var key ="${param.bjobBzwkDstcd}";
if (key != "" && key !="null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
if (!isValid()) return;
if($("#grid tr#" + lastsel2).attr("editable") == 1) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i <data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value:JSON.stringify(gridData)});
if (isDetail) {
postData.push({ name: "cmd" , value:"UPDATE"});
} else {
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
if (!confirm( "삭제하시겠습니까?" )) return;
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로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()){
return;
}
var data = new Object();
data["PRPTYTYPDSTCD"] = $("select[name=addPrptyTypDstcd]").val();
data["PRPTYNAME"] = $("input[name=addPrptyName]").val();
data["PRPTYDESC"] = $("input[name=addPrptyDesc]").val();
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index = 0;
var rowid = index + 1;
$("#grid").jqGrid('addRow', {
rowID: rowid,
initdata: data,
position: "last", //first, last
useDefValues: false,
useFormatter: false,
addRowParams: { extraparam:{} }
});
$("#" + $('#grid').jqGrid('getGridParam','selrow')).focus();
$("img[name=img_" + rowid + "]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData',rowId);
});
});
if(!isDetail) $("#tb_clone").hide(); // 신규등록일때 복제 테이블을 숨김
$("#btn_clone").click(function() {
var newBjobBzwkDstcd = $("input[name=newBjobBzwkDstcd]"); // 복제할 배치 대외 기관 코드
if (!isValid()) return;
// 복제할 어댑터 그룹명이 입력되었는지 체크.
if(newBjobBzwkDstcd.val() == "") {
alert("복제할 대외기관코드를 입력하여 주십시요.");
newBjobBzwkDstcd.focus();
return;
}
if(newBjobBzwkDstcd.val() == key) {
alert("복제대상 대외기관코드와 동일합니다.");
newBjobBzwkDstcd.focus();
return;
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"CLONE"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("복제 되었습니다.");
goNav(returnUrl); //LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" 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">
<table id="tb_clone" class="table_row" cellspacing="0">
<tr>
<td colspan="4">
<input type="text" name="newBjobBzwkDstcd" style="width:200px;">
<img id="btn_clone" src="<c:url value="/img/btn_clone.png" />" class="btn_img"/>
</td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">배치 대외 기관 코드</th><td><input type="text" name="bjobBzwkDstcd" /></td>
</tr>
<tr>
<th>배치 대외 기관명</th><td><input type="text" name="bjobBzwkName" /></td>
</tr>
<tr>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티 타입</th>
<td>
<div class="select-style">
<select name="addPrptyTypDstcd">
<option value="F">파일</option>
<option value="O">기관</option>
</select>
</div>
</td>
<th style="width:180px;">프라퍼티명</th>
<td><input type="text" name="addPrptyName"/></td>
<td style="width:60px;" rowspan="2" ><img id="btn_pop_input" src="<c:url value="/img/btn_pop_input.png" />" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 설명</td><td colspan="3"><input type="text" name="addPrptyDesc" /></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,190 @@
<%@ 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/admin/work/bizGbnMan.json" />';
var url_view ='<c:url value="/bap/admin/work/bizGbnMan.view" />';
var index;
function detail(url, key) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'LIST_PROP',
bjobBzwkDstcd : key
},
success : function(json) {
var data = json.prop;
$("#grid_detail")[0].addJSONData(data);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[ '업무구분코드',
'업무구분명'
],
colModel:[
{ name : 'BJOBBZWKDSTCD' , align:'left' ,sortable:false },
{ name : 'BJOBBZWKNAME' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${param.rowNum}' != '' ? '${param.rowNum}' : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'];
index = rowId;
detail(url, bjobBzwkDstcd);
}
});
resizeJqGridWidth('grid','title','1000');
$('#grid_detail').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
colNames:[ '프라퍼티명',
'프라퍼티설명',
'프라퍼티유형'
],
colModel:[
{ name : 'PRPTYNAME' , align:'left' , width:60 ,sortable:false },
{ name : 'PRPTYDESC' , align:'left' , width:150},
{ name : 'PRPTYTYPDSTCD' , align:'center' , width:30 ,
formatter: function (cellvalue) {
if ( cellvalue == 'O' ) {
return '기관';
} else if (cellvalue == 'F') {
return '파일';
} else {
return cellvalue;
}
},
unformat: function (cellvalue) {
if ( cellvalue == '기관' ) {
return 'O';
} else if (cellvalue == '파일') {
return 'F';
} else {
return cellvalue;
}
}
}
],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function() {
return 'stop'; //정렬 방지
},
//height : '500',
autowidth : true,
autoheight : true,
height: $("#container").height(),
viewrecords : true
});
resizeJqGridWidth('grid_detail', 'title', '1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_input").click(function(){
var data = $("#grid").getRowData(index)['BJOBBZWKDSTCD'];
window.returnValue = data;
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_close").click(function(){
var data = "${param.key}";
window.returnValue = data;
window.close();
});
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="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_input.png"/>" alt="" id="btn_input" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">전문 프로퍼티 목록</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;">업무구분코드</th>
<td><input type="text" name="searchbjobBzwkDstcd" value="${param.searchbjobBzwkDstcd}"></td>
<th style="width:100px;">업무구분명</th>
<td><input type="text" name="searchbjobBzwkName" value="${param.searchbjobBzwkName}"></td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
<div class="title" style="margin-top:15px; text-align:left;">전문 프로퍼티 상세</div>
<table id="grid_detail" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,647 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
String userId = SessionManager.getUserId(request);
String userNm = SessionManager.getUserName(request);
String rollId = SessionManager.getRoleIdString(request);
String arr[] = rollId.split(",");
for(int i=0;i<arr.length;i++){
if("admin".equals(arr[i]) || "dept_admin".equals(arr[i])){
rollId = "admin";
break;
}
}
/* String biz = SessionManager.getBizString(request); //담당 업무코드(APP코드) 가져오기
String bizArr[] = biz.split(","); */
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<link href="<c:url value="/addon/bootstrap-5.3.2/css/bootstrap.min.css"/>" rel="stylesheet"/>
<script src="<c:url value="/addon/bootstrap-5.3.2/js/bootstrap.bundle.min.js"/>"></script>
<!-- FilePond stylesheet -->
<link href="<c:url value="/addon/filepond/filepond.min.css"/>" rel="stylesheet">
<!-- FilePond JavaScript library -->
<script src="<c:url value="/addon/filepond/filepond.min.js"/>"></script>
<!-- FilePond plugin for file validation -->
<script src="<c:url value="/addon/filepond/plugin/filepond-plugin-file-validate-type.min.js"/>"></script>
<script language="javascript" >
var url = '<c:url value="/bap/admin/work/interfaceManBatchFep.json" />';
var url_view = '<c:url value="/bap/admin/work/interfaceManBatchFep.view" />';
var url_file = '<c:url value="/bap/admin/work/interfaceManBatchFep.file"/>';
function gridRenderingInit() {
if("${param.userIdSpaceYN}" == "N"){
$("#searchUserId").val("${param.searchUserId}");
}else if("${param.userIdSpaceYN}" == "Y"){
$("#searchUserId").val("");
}else{
$("#searchUserId").val("<%=userId %>");
}
var rowNum = "${param.rowNum}";
if(rowNum == "") {rowNum = "${rmsDefaultRowNum}";}
var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로
postData["infDstCd"] = "OUT"; //대외 일괄
var searchStatus = new Array();
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
postData['status'] = searchStatus.join(",");
if($('input[name="delFlag"]').is(":checked")){
postData['delFlag'] = "Y";
}else{
postData['delFlag'] = "N";
}
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url : url,
postData : postData,
colNames:[ //'No.'
'<%= localeMessage.getString("interface.interfaceId") %>'
, '<%= localeMessage.getString("interface.interfaceName") %>'
, '<%= localeMessage.getString("interface.bzwkdstcd") %>'
, '<%= localeMessage.getString("interface.sendRecvType") %>'
, '<%= localeMessage.getString("interface.internalSystem") %>'
, '<%= localeMessage.getString("common.appCode") %>'
, '<%= localeMessage.getString("interface.externalBusiness") %>'
, '<%= localeMessage.getString("common.ownerId") %>'
, '<%= localeMessage.getString("common.updateDatetime") %>'
],
colModel:[
{ name : 'INFID' , align:'center' , width:'100' } //인터페이스ID
, { name : 'BJOBMSGDSTICNAME' , align:'left' , width:'200' } //인터페이스명
, { name : 'BJOBBZWKDSTCD' , align:'center' , width:'30' } //업무구분코드
, { name : 'SNDSTNM' , align:'center' , width:'30'} //송수신구분
, { name : 'SYSCD' , align:'center' , width:'30' } //시스템코드
, { name : 'UAPPLCD' , align:'center' , width:'30' } //app코드
, { name : 'OUTBIZCD' , align:'center' , width:'30' } //대외업무코드
, { name : 'THISMSGAMNDRID' , align:'center' , width:'50' } //담당자id
, { name : 'THISMSGAMNDHMS' , align:'center' , width:'70' } //수정시간
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : rowNum, //'${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords: true,
multiselect: true,
rownumbers : 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)
}
},
loadComplete:function (d){
if("<%= rollId %>" != "admin"){
var idArry = $("#grid").jqGrid("getDataIDs");
cnt = 0;
for(var i=0; i < idArry.length; i++){
var ret = $("#grid").getRowData(idArry[i]);
cnt = 0;
<%-- <% for(int j = 0; j < bizArr.length; j++){ %>
if(ret.APP_CD == "<%= bizArr[j] %>" && ret.DEL_FLAG == "N"){
if(ret.AUTHOR == "<%=userId %>") cnt++;
}
<%}%> --%>
if(cnt == 0){
$("#jqg_grid_" + idArry[i]).attr("disabled", true);
}
}
}
},
beforeSelectRow: function(rowid, e){
var cbsdis = $("tr#" + rowid + ".jqgrow > td > input.cbox:disabled", jQuery("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
onSelectAll: function(aRowids, status){
if(status){
for(var i = 0; i < aRowids.length; i++){
if($("#jqg_grid_" + aRowids[i]).attr("disabled")){
$("#jqg_grid_" + aRowids[i]).removeAttr("checked");
$("#jqg_grid_" + aRowids[i]).removeClass("cbox");
$("#"+aRowids[i]).css("background-color", "#ffffff");
$("#"+aRowids[i]).css("border-color", "#dddddd");
}
}
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
// 2자리 공백이 붙는 현상이 있어 trim 처리
var infId = $.trim(rowData['INFID']);
var searchStatus = [];
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
var roleSpace = "Y"; //담당자ID 입력값 없음
if ($("#searchUserId").val() != "") { //담당자ID 입력값 있음.
roleSpace = "N";
}
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&rowNum=' + $(this).getGridParam("rowNum");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&infId='+infId;
url = url + '&userIdSpaceYN=' + roleSpace;
url = url + '&searchStatus='+searchStatus.join(",");
url = encodeURI(url);
goNav(url);
},
onSelectRow: function(rowId, status){
if($("#jqg_grid_" + rowId).attr("disabled")){
$("#jqg_grid_" + rowId).removeAttr("checked");
$("#jqg_grid_" + rowId).removeClass("cbox");
$("#"+rowId).css("background-color", "#ffffff");
$("#"+rowId).css("border-color", "#dddddd");
}
},
//전문공유
onCellSelect: function(rowId, iCol) {
if(iCol == 15){
if($(this).getCell(rowId, iCol) != ""){
btn_laysync($(this).getRowData(rowId));
}
}
}
});
if("<%= rollId %>" == "admin"){
$('#grid').jqGrid("showCol", ["SYNCRESULTS", "SHR_BTN"]);
}
resizeJqGridWidth('grid','content_middle','1000');
}
$(document).ready(function() {
// debugger;
init().done(function () {
gridRenderingInit();
});
$("#btn_search").click(function(){
detail();
});
$("#btn_new").click(function() {
var searchStatus = [];
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
var roleSpace = "Y"; //담당자ID 입력값 없음
if ($("#searchUserId").val() != "") { //담당자ID 입력값 있음.
roleSpace = "N";
}
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
url = url + '&delFlag=';
url = url + '&userIdSpaceYN=' + roleSpace;
url = url + '&searchStatus='+searchStatus.join(",");
goNav(encodeURI(url));
});
/* //엑셀 다운로드
$("#btn_excel_export").on('click', function(event) {
var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로
postData["infDstCd"] = "OUT";
var searchStatus = new Array();
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
postData['status'] = searchStatus.join(",");
var linkHref = "/monitoring/iim/interface/interfaceMan.json?cmd=LIST_DOWNLOAD_EXCEL_ONL";
$.each(postData, function (name, value) {
console.log(name + "=" + value);
linkHref = linkHref + "&" + name + "=" + encodeURI(value);
});
console.log(linkHref);
var link = document.createElement('a');
document.body.appendChild(link);
link.href = linkHref;
link.click();
}); */
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
/* //user리스트 팝업호출
$("#btn_user_list").click(function(){
var args = new Object();
var url2='<c:url value="/common/acl/user/userMan.view"/>';
url2 = url2 + "?cmd=LIST_POPUP";
var result = showModal(url2,args, 500, 650, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
$("#searchUserId").val(ret['userId']); //작성자ID
});
}); */
//어드민으로 로그인했을시에 표시되는 삭제체크박스
//삭제 체크시 상태체크박스는 모두 해제처리함
$('input[name="delFlag"]').on('click', function() {
$("#btn_author_change").show();
if($('input[name="delFlag"]').is(":checked")){
$('input[name="status"]').attr("checked", false);
$("#btn_author_change").hide();
}
});
$('input[name="status"]').on('click', function() {
if($('input[name="delFlag"]').is(":checked")){
$('input[name="status"]').attr("checked", false);
}
});
//담당자변경
<%-- $("#btn_author_change").on('click', function(event) {
sel = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){ return this.id; }).get();
if(sel.length == 0 || sel == ""){
alert("변경할 인터페이스를 선택해주세요.");
return;
}
var infIdArr = [];
for(var i=0; i < sel.length ; i++){
if("<%= rollId %>" != "admin"){
if(($("#grid").getCell(sel[i], "AUTHOR") !== "<%=userId %>")) {
alert("본인담당 인터페이스가 아닌 경우 담당자변경이 불가합니다.\n인터페이스ID [" + $("#grid").getCell(sel[i], "INF_ID") + "]");
return;
}
if($("#grid").getCell(sel[i], "DEL_FLAG") == "Y"){
alert("삭제된 인터페이스입니다.\n인터페이스ID [" + $("#grid").getCell(sel[i], "INF_ID") + "]");
return;
}
}
infIdArr[i] = $("#grid").getCell(sel[i], "INF_ID");
}
var args = new Object();
args['userId'] = "<%= userId %>"; //유저아이디
args['userNm'] = "<%= userNm %>"; //유저명
args['rollId'] = "<%= rollId %>"; //권한
var url2 = url_view + "?cmd=DETAIL_AUTHOR_CHANGE";
var result = showModal(url2,args, 560, 750, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"UPDATE_BATCH_AUTHOR"}
,{ name: "chngAfUserId", value:args.returnValue} //변경후
,{ name: "infIdArr", value:infIdArr} //변경대상 인터페이스
);
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(json){
detail();
alert("담당자변경을 완료했습니다.");
},
error:function(e){
alert(e.responseText);
}
});
});
}); --%>
buttonControl();
// init(detail);
FilePond.registerPlugin(FilePondPluginFileValidateType);
// FilePond 인스턴스 생성
const pond = FilePond.create(document.querySelector('.filepond'), {
instantUpload: false, // 파일을 즉시 업로드하지 않음
allowRevert: false,
acceptedFileTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/json'],
// 서버 설정
server: {
process: {
url: url_file + '?cmd=LIST_IMPORT_FILE&serviceType=' + sessionStorage["serviceType"],
method: 'POST',
// 필요한 경우 headers나 다른 설정 추가
},
// revert, load, restore, fetch 설정 (필요한 경우)
},
// 다른 필요한 옵션 추가
});
pond.on('processfiles', () => {
// 여기에 모든 파일 업로드 완료 후 실행할 코드를 작성
console.debug('모든 파일의 처리가 완료되었습니다.');
$('#btn_search').click();
});
// "업로드 시작" 버튼 클릭 이벤트 핸들러
document.getElementById('uploadButton').addEventListener('click', function() {
pond.processFiles(); // 선택된 모든 파일을 업로드
});
// 모달 닫기 이벤트 핸들러
$('#uploadModal').on('hidden.bs.modal', function (e) {
pond.removeFiles(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
});
});
//Excel Upload ie8에서 사용하는 함수.
function getDoc(frame) {
var doc = null;
// IE8 cascading access check
try {
if (frame.contentWindow) {
doc = frame.contentWindow.document;
}
} catch(err) {
}
if (doc) { // successful getting content
return doc;
}
try { // simply checking may throw in ie8 under ssl or mismatched protocol
doc = frame.contentDocument ? frame.contentDocument : frame.document;
} catch(err) {
// last attempt
doc = frame.document;
}
return doc;
}
function makeBtnShr(cellvalue, options, rowObject){
if(rowObject.STATUS == "R" || rowObject.STATUS == "W"){
return "<img id='btn_laysync' src='<c:url value='/images/bt/bt_laysync.gif' />' level='W'/>";
}else{
return "";
}
};
//인터페이스 공유
function btn_laysync(obj) {
var infId = obj.INF_ID;
$.ajax({
type : "POST",
url: url,
dataType:"json",
async:false,
data:{cmd: "TRANSACTION_SYNC_BATCH", infId: JSON.stringify(infId)},
success:function(json){
if(status != undefined && status == 'fail'){
alert(json.errorMsg);
return;
}
var data="----result----"+"\n";
data +="성공건수("+json.succCnt+")"+"\n";
data +="실패건수("+json.failCnt+")"+"\n";
$.each(json.result,function(key,value){
data += key +"\n";
data += value +"\n";
});
alert(data);
detail();
},
error : function(e) {
alert(e.responseJSON.errorMsg);
//alert(e.responseText);
}
});
};
function init(callback){
return $.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("BZWKDSTCD","CODENAME").setObj($("select[name=searchAppCd]")).setData(json.authList.rows).rendering(); //APP코드
$("#searchInterfaceId").val("${param.searchInterfaceId}"); // 인터페이스 ID
$("#searchInterfaceName").val("${param.searchInterfaceName}"); //인터페이스 명
$("#searchAppCd").val("${param.searchAppCd}"); //APP코드
if("${param.searchUserId}" != ""){
$("#searchUserId").val("${param.searchUserId}");
}
var searchStatus = new Array();
var searchStatus = "${param.searchStatus}".split(",");
$('input:checkbox[name="status"]').each(function(){
var cStatus = this;
searchStatus.forEach(function(val, idx){
if(cStatus.value == val){
cStatus.checked = true;
}
});
});
if("${param.delFlag}" == "Y"){
$('input[name="delFlag"]').attr("checked", true);
}
// if (typeof callback === 'function') {
// callback();
// }
},
error:function(e){
alert(e.responseText);
}
});
};
function detail(){
var postData = getSearchForJqgrid("cmd","LIST_BATCH"); //jqgrid에서는 object 로
postData["infDstCd"] = "OUT"; //대외 일괄
var searchStatus = new Array();
$('input[name=status]:checked').each(function () {
searchStatus.push($(this).val());
});
postData['status'] = searchStatus.join(",");
if($('input[name="delFlag"]').is(":checked")){
postData['delFlag'] = "Y";
}else{
postData['delFlag'] = "N";
}
$("#grid").setGridParam({url : url, postData : postData, page:1}).trigger("reloadGrid");
}
</script>
</head>
<body>
<div class="right_box">
<!-- path -->
<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">
<!-- button -->
<%-- <form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/iim/interface/interfaceMan.file" />">
<input type="file" name="file" style="display:block"/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
</form> --%>
<div class="search_wrap">
<%--<img id="btn_new" src="<c:url value="/img/btn_new.png"/>" level="W"/> <!-- 신규 -->--%>
<%--<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> <!-- 검색 -->--%>
<%-- <img id="btn_excel_export" src="<c:url value="/images/bt/bt_excel_export.jpg"/>" level="R" /> <!-- 엑셀다운로드 --> --%>
<%-- <img id="btn_excel_import" src="<c:url value="/images/bt/bt_excel_import.jpg"/>" level="R" /> --%><!-- 엑셀업로드 -->
<%-- <img id="btn_author_change" src="<c:url value="/images/bt/bt_author_change.gif"/>" level="W" /><!-- 담당자변경 --> --%>
<button type="button" class="cssbtn" id="btn_import" level="W" data-bs-toggle="modal" data-bs-target="#uploadModal"><i class="material-icons">upload</i> <%=localeMessage.getString("button.import")%></button>
<button type="button" class="cssbtn" id="btn_new" level="W" status="DETAIL,NEW"><i class="material-icons">add</i><%=localeMessage.getString("button.new")%></button>
<%--<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i><%=localeMessage.getString("button.delete")%></button>--%>
<button type="button" class="cssbtn" id="btn_search" level="R" status="DETAIL,NEW"><i class="material-icons">search</i><%=localeMessage.getString("button.search")%></button>
</div>
<!-- title -->
<div class="title">
<%= localeMessage.getString("interfaceBatchFep.title") %>
</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing=0;>
<tr>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("interface.titleInterfaceId") %></th>
<td><input type="text" name="searchInterfaceId" value="${param.searchInterfaceId}" style="width:100%"></td>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("interface.titleInterfaceName") %></th>
<td><input type="text" name="searchInterfaceName" value="${param.searchInterfaceName}" style="width:100%"></td>
</tr>
<tr>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.appCode") %></th>
<td colspan="3">
<div class="select-style">
<select name="searchAppCd" id="searchAppCd">
</select>
</div>
</td>
<%-- <th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.ownerId") %></th>
<td>
<span style="width:80%; display: inline-block;">
<input type="text" name="searchUserId" id="searchUserId" value="<%=userId %>" style="width:100%">
</span>
<img id="btn_user_list" src="<c:url value="/img/btn_pop_search.png"/>" level="R" status="DETAIL,NEW"/>
</td> --%>
</tr>
<%-- <tr>
<th align="left" class="search_td_title" width="100px"><%= localeMessage.getString("common.status") %></th>
<td>
<input type="checkbox" name="status" id="statusT" value="T"> <label for="statusT"><%= localeMessage.getString("common.status.temp") %></label>
<!-- <input type="checkbox" name="status" id="statusD"> <label for="statusD">작성중</label> -->
<input type="checkbox" name="status" id="statusW" value="W"> <label for="statusW"><%= localeMessage.getString("common.status.complete") %></label>
<input type="checkbox" name="status" id="statusR" value="R"> <label for="statusR"><%= localeMessage.getString("common.status.deployed") %></label>
<input type="checkbox" name="delFlag" id="delFlag" value="Y"> <label for="statusR"><%= localeMessage.getString("common.status.removed") %></label>
</td>
<th></th><td></td>
</tr> --%>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</form>
<%-- <div style="font-size:'6';color:red;font-family:courier;">
<p>※ <%= localeMessage.getString("interface.message.descToChangeOwner") %>
</div> --%>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<!-- Modal -->
<div class="modal fade" id="uploadModal" tabindex="-1" aria-labelledby="uploadModalLabel" aria-hidden="true">
<!-- 모달 내용 -->
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="material-icons" style="vertical-align: sub; font-size: 25px">publish</i> <%=localeMessage.getString("button.import")%></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<input type="file" class="filepond" name="file" multiple data-allow-reorder="true" data-max-file-size="3MB" data-max-files="10">
</div>
<div class="modal-footer">
<button id="uploadButton" class="btn btn-primary">IMPORT <%=localeMessage.getString("button.execute")%></button>
</div>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,697 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
String userId = SessionManager.getUserId(request);
String userNm = SessionManager.getUserName(request);
String rollId = SessionManager.getRoleIdString(request);
String arr[] = rollId.split(",");
for(int i=0;i<arr.length;i++){
rollId = arr[i];
if("admin".equals(arr[i]) || "dept_admin".equals(arr[i])){
rollId = "admin";
break;
}
}
%>
<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 isDetail = false;
var isTemp = false; //임시저장 여부
var url = '<c:url value="/bap/admin/work/interfaceManBatchFep.json" />';
var url_view = '<c:url value="/bap/admin/work/interfaceManBatchFep.view" />';
var dat = {};
var delFlag = "";
var ex1 = /^[0-9]{1,2}:[0-9]{1,2}$/;
$(function(){
$(document).tooltip({
content:function(){
return $(this).prop('title');
}
})
});
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
debugger;
var key ="${param.infId}";
delFlag = "${param.delFlag}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO' //화면의 셀렉트박스 리스트 조회
, gubun: 'BATCH_FEP'
},
success:function(json){
new makeOptions("PRPTYNAME","CODENAME").setObj($("select[name=outBizCd]")).setData(json.BzSystem_BAP.rows).rendering(); //업무시스템(FEP), 대외일괄업무코드
new makeOptions("PRPTYNAME","CODENAME").setObj($("select[name=srcBzSystemCd]")).setData(json.BzSystem.rows).rendering(); //내부정보.시스템코드
new makeOptions("BZWKDSTCD","CODENAME").setObj($("select[name=appCd]")).setData(json.authList.rows).rendering(); //APP코드
$("#srcBzSystemCd").prepend("<option value=''>선택</option>");
$("#srcBzSystemCd").val(dat.SYSCD); //소스업무시스템구분
$("#srcBzSystemCd").change();
$("#outBizCd").prepend("<option value=''>선택</option>");
$("#outBizCd").val(dat.OUTBIZCD); //대외일괄업무코드
$("#outBizCd").change();
$("#appCd").val(dat.UAPPLCD); //APP코드
$("#appCd").change();
},
error:function(e){
alert(e.responseText);
}
});
$("#btn_modify").on('click', function(){
var vCmd = "";
if (isDetail){
vCmd = "UPDATE_BATCH";
}else{
vCmd = "INSERT_BATCH";
}
if(isTemp){
vCmd = "INSERT_BATCH";
}
if (!isValid()){
return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value: vCmd});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
if(args.result == "0"){
editDisp(args);
alert("인터페이스ID [" + args.BJOBMSGDSTCD + "]가 저장 되었습니다.");
}else{
alert("저장처리가 실패하였습니다.\nEIMS관리자에게 문의해주세요");
}
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
}
});
});
$("#btn_delete").on('click', function(){
if(!confirm($("#infId").val() + "를 삭제하시겠습니까?")){
return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE_BATCH"}
,{ name: "userId" , value:"<%= userId %>"}
);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
//alert(e.responseText);
}
});
});
$("#btn_previous").on('click', function(){
goNav(returnUrl);//LIST로 이동
});
// Excel upload
$("#multiform").submit(fileupload);
//대외일괄업무코드 선택 이벤트
$("#outBizCd").on('change', function(){
var idx = $("#outBizCd option").index($("#outBizCd option:selected"));
$("#outBizNm").html($("#outBizCd option:selected").text().substring($("#outBizCd option:selected").text().indexOf("[")+1, $("#outBizCd option:selected").text().indexOf("]")));
});
//내부시스템코드 선택 이벤트
$("#srcBzSystemCd").on('change', function(){
if(isDetail){
if(!isTemp){
if((dat.SYSCD) != $("#srcBzSystemCd").val()) { //내부시스템코드
$("#srcBzSystemCd").val(dat.SYSCD);
return;
}
}
}
var idx = $("#srcBzSystemCd option").index($("#srcBzSystemCd option:selected"));
$("#srcBzSystemNm").html($("#srcBzSystemCd option:selected").text().substring($("#srcBzSystemCd option:selected").text().indexOf("[")+1, $("#srcBzSystemCd option:selected").text().indexOf("]")));
});
//대외기관코드 선택 이벤트
$("#osidInstiCd").on('change', function(){
var idx = $("#osidInstiCd option").index($("#osidInstiCd option:selected"));
$("#osidInstiNm").html($("#osidInstiCd option:selected").text().substring($("#osidInstiCd option:selected").text().indexOf("[")+1, $("#osidInstiCd option:selected").text().indexOf("]")));
});
//APP코드 선택 이벤트
$("#appCd").on('change', function(){
var idx = $("#appCd option").index($("#appCd option:selected"));
$("#appNm").text($("#appCd option:selected").text().substring($("#appCd option:selected").text().indexOf("[")+1, $("#appCd option:selected").text().indexOf("]")));
});
buttonControl(isDetail);
titleControl(isDetail);
// $("#runType").trigger('change');
});
function isValid(){
if(isDetail){
if(!isTemp){
if($("#hiddenSrcBzSystemCd").val() != $("#srcBzSystemCd").val()) { //소스정보.시스템코드
alert("소스정보 또는 타겟정보의 시스템코드는 수정할 수 없습니다.");
$("#srcBzSystemCd").val($("#hiddenSrcBzSystemCd").val());
$("#srcBzSystemCd").change();
return;
}
}
}
if($("#appCd").val() == ""){
alert("APP코드를 선택해주세요.");
return;
}
if($("#outBizCd").val() == ""){
alert("대외일괄업무코드를 선택해주세요.");
return false;
}
if($('#infDesc').val().trim() == ""){
alert("인터페이스 설명을 입력하여 주십시오.");
return false;
}
if($("#authorId").val() == ""){
alert("담당자ID를 입력해주세요.");
return;
}
if($("#srcBzSystemCd").val() == ""){
alert("시스템코드를 입력해주세요.");
return false;
}
if($("#fileCode").val().trim() == ""){
alert("파일코드를 입력해주세요.");
return false;
}
if($("#srcFilePath").val().trim() == ""){
alert("파일경로를 입력해주세요.");
return false;
}
return true;
}
function init(url,key,callback){
if(typeof callback === 'function') {
callback(url,key);
}
}
function detail(url,key){
//if (!isDetail)return;
if (!isDetail){
return;
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', infId : key, delFlag : delFlag},
success:function(json){
var data = json;
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
dat = data;
editDisp(dat); //화면편집
},
error:function(e){
alert(e.responseText);
}
});
}
//Excel Upload 실행함수.
function fileupload(e,successcallback,errorcallback){
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
dat = {};
$.ajax({
url: formURL,
type: 'POST',
data: formData,
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success: function(json, textStatus, jqXHR)
{
dat = JSON.parse(json);
if ((dat.message != null && dat.message != "null") || dat.rows.length==0){
alert(dat.message);
return ;
}
dat = dat.rows[0];
editDisp(dat); //화면 편집
alert("Excel Upload가 완료되었습니다.");
if (typeof callback === 'function') {
successcallback(data, textStatus, jqXHR);
}
},
error: function(jqXHR, textStatus, errorThrown)
{
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind)
e.unbind();
}
else //for olden browsers
{
formObj.append($("<input type='hidden' name='serviceType' value='"+sessionStorage["serviceType"]+"' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" name="'+iframeId+'" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target',iframeId);
formObj.attr('action','<c:url value="/iim/interface/interfaceMan2.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e)
{
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("input[name=file]").val("");
if (k.rows.length==0){
alert(k.message);
return ;
}
dat = data.rows[0];
editDisp(dat); //화면 편집
alert("Excel Upload가 완료되었습니다.");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
function editDisp(dat){
$("#tdUpdateBy").text(dat.THISMSGCHRGIDS); //작성자
$("#tdUpdateYmd").text(dat.THISMSGAMNDHMS); //최종작성일시
$("#updateBy").val(dat.THISMSGCHRGIDS); //작성자
$("#updateYmd").val(dat.THISMSGAMNDHMS); //최종작성일시
$("#infId").val(dat.BJOBMSGDSTCD); //인터페이스 ID(물리)
$("#infDesc").val(dat.BJOBMSGDSTICNAME); //인터페이스 설명
$("#appCd").val(dat.UAPPLCD); //APP코드
$("#appNm").text(dat.APP_NM==null?"":dat.APP_NM); //APP명
$("#outBizCd").val(dat.OUTBIZCD); //대외일괄업무코드
$("#outBizNm").text(dat.OUT_BIZ_CD_NM==null?"":dat.OUT_BIZ_CD_NM); //대외일괄업무코드명
$("#hiddenSnDst").val(dat.SNDDST);
if(isDetail){
if(isTemp){
$("#snDst").val(dat.SN_DST); //송수신구분
}else{
if(dat.SNDDST=="T"){
$("#tdSnDst").text("송/수신");
}else if(dat.SNDDST=="R"){
$("#tdSnDst").text("수신");
}else{
$("#tdSnDst").text("송신");
}
}
}else{
$("#snDst").val(dat.SNDDST); //송수신구분
}
$("#authorId").val(dat.THISMSGCHRGIDS); //담당자ID
$("#srcBzSystemCd").val(dat.SYSCD); //내부정보.시스템코드
$("#hiddenSrcBzSystemCd").val(dat.SYSCD); //소스정보.시스템코드(hidden)
$("#srcBzSystemNm").html(dat.SRC_BZ_SYSTEM_NM); //내부정보.시스템코드명
$("#osidInstiCd").val(dat.OUTBIZCD); //외부정보.대외기관코드
$("#osidInstiNm").html(dat.OSID_INSTI_NM); //외부정보.대외기관코드명
$("#srcFileNm").val(dat.SRC_FILE_NM); //내부정보.파일명/패턴
$("#tgtFileNm").val(dat.TGT_FILE_NM); //외부정보.기관파일명/패턴
$("#srcFilePath").val(dat.SRCFILEPATH); //내부정보.파일경로
$("#fileCode").val(dat.BJOBTRANDSTCDNAME); //파일코드
$("#recSize").val(dat.BJOBTELGMRECSIZE); //레코드크기
isDetail = true;
$("#srcBzSystemCd").prop("disabled", true);
setButton();
}
function setButton(){
$("img[id^='btn']").hide();
if(isTemp){
$("#btn_temp").show();
$("#btn_modify").show();
$("#btn_delete").show();
$("#btn_excel_export").show();
$("#btn_previous").show();
// $("img[id^='btn_sync_log']").hide();
// $("img[id^='btn_sync']").hide();
}else{
$("#btn_modify").show();
$("#btn_delete").show();
if(dat.STATUS == "W" || dat.STATUS == "R") $("#btn_sync").show();
$("#btn_sync_log").show();
$("#btn_excel_export").show();
$("#btn_previous").show();
// $("img[id^='btn_temp']").hide();
}
if("<%= rollId %>" != "admin"){
if("<%= userId %>" != $("#authorId").val() && "<%= userId %>" != $("#updateBy").val()){
$("#btn_modify").hide();
$("#btn_delete").hide();
$("#btn_sync").hide();
}
}
if(dat.DEL_FLAG == "Y"){
$("img[delFlg]").hide();
$("#btn_restore").show();
}else{
$("#btn_restore").hide();
}
}
function getAuthorNm(key, userId, callback){
if(userId == ""){
return;
}
var url2='<c:url value="/common/acl/user/userMan.json"/>';
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DETAIL"}
,{ name: "userId" , value:userId }
);
$.ajax({
type : "POST",
url:url2,
data:postData,
success:function(json){
var dat = json;
if(dat.USERID == undefined || dat.USERID == null){
alert("존재 하지 않는 사용자 입니다.");
dat.USERNAME = "";
}
if(typeof callback === 'function') {
callback(dat.USERNAME);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function authorIdCallback(userNm){
$("#authorNm").text(userNm);userNm
}
function userList(){
var args = new Object();
var url2='<c:url value="/common/acl/user/userMan.view"/>';
url2 = url2 + "?cmd=LIST_POPUP";
var result = showModal(url2,args, 500, 650, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
});
return result;
}
</script>
</head>
<body>
<div class="right_box">
<!-- path -->
<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">
<!-- 엑셀Upload -->
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/iim/interface/interfaceMan.file" />">
<input type="file" name="file" id="file" accept=".xlsx" style="display:none"/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
<input type="text" name="section" style="display:none" value="FEPB"/>
<div class="search_wrap">
<% if ("admin".equals(rollId)) {%>
<img id="btn_restore" src="<c:url value="/images/bt/bt_restore.gif"/>" level="W" status="DETAIL" /> <!-- 복원 -->
<% } %>
<img id="btn_modify" src="<c:url value="/img/btn_modify.png"/>" level="W" status="DETAIL,NEW" delFlg="true"/>
<img id="btn_delete" src="<c:url value="/img/btn_delete.png"/>" level="R" status="DETAIL" delFlg="true"/>
<img id="btn_previous" src="<c:url value="/img/btn_previous.png"/>" level="R" status="DETAIL,NEW"/>
</div>
</form>
<!-- 엑셀Upload -->
<!-- title -->
<div class="title"><%= localeMessage.getString("interfaceBatchFep.title") %></div>
<!-- detail -->
<form id="ajaxForm" onsubmit="return false;">
<input type="hidden" name="ver" id="ver" />
<input type="hidden" name="infDstCd" id="infDstCd" value="OUT"/>
<input type="hidden" name="status" id="status" />
<input type="hidden" name="hiddenSnDst" id="hiddenSnDst" />
<input type="hidden" name="updateBy" id="updateBy" value=""/>
<input type="hidden" name="updateYmd" id="updateYmd" value=""/>
<input type="hidden" name="hiddenSrcBzSystemCd" id="hiddenSrcBzSystemCd" value="" />
<input type="hidden" name="runType" id="runType" value="E" />
<table>
<tr>
<%-- <td style="width:50%"></td>
<th style="width:5%"><%= localeMessage.getString("common.status") %> :</th> --%>
<td style="width:10%" id="statusNm"></td>
<th style="width:5%"><%= localeMessage.getString("layout.editorId") %> :</th>
<td style="width:10%" id="tdUpdateBy"></td>
<th style="width:10%"><%= localeMessage.getString("common.lastUpdateDate") %> :</th>
<td style="width:10%" id="tdUpdateYmd"></td>
</tr>
</table>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interface.titleInterfaceId") %>(<%= localeMessage.getString("common.physical") %>)</th>
<td colspan="3" style="width:35%;"><input type="text" name="infId" id="infId" style="width:100%"
readonly="readonly" placeholder="(자동생성) 출발지(3) + 목적지(3) + 일련번호(5)"/> </td>
<%-- <th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interface.titleInterfaceId") %>(<%= localeMessage.getString("common.logical") %>)</th>
<td style="width:35%;"><input type="text" name="logicalInfId" id="logicalInfId" style="width:100%"/> </td> --%>
</tr>
<%-- <tr>
<th><%= localeMessage.getString("interface.asisInterfaceId") %></th>
<td><input type="text" name="asisInfId" id="asisInfId" style="width:100%" /> </td>
<td colspan="2"></td>
</tr> --%>
<tr>
<th><%= localeMessage.getString("common.appCode") %></th>
<td>
<select name="appCd" id="appCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="appNm" style="display: inline-block;">
</div>
</td>
<th><%= localeMessage.getString("interface.externalBatchBizCode") %></th>
<td>
<select name="outBizCd" id="outBizCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="outBizNm" style="display: inline-block;">
</div>
</td>
</tr>
<%-- <tr>
<th><%= localeMessage.getString("interface.interfaceName") %></th>
<td colspan="3">
<input type="text" name="infNm" id="infNm" style="width:100%" required />
</td>
</tr> --%>
<tr>
<th><%= localeMessage.getString("interface.interfaceDesc") %></th>
<td colspan="3">
<input type="text" name="infDesc" id="infDesc" style="width:100%" required />
</td>
</tr>
<tr>
<th><%= localeMessage.getString("interface.runningType") %></th>
<td><%= localeMessage.getString("interface.batchRunTypeEvent") %>
<!-- <select name="runType" id="runType" required >
<option value="E">이벤트(배치)</option>
<option value="S">스케줄(디퍼드)</option>
</select> -->
</td>
<th><%= localeMessage.getString("common.systemCode") %></th>
<td>
<select name="srcBzSystemCd" id="srcBzSystemCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="srcBzSystemNm" style="display: inline-block;">
</div>
</td>
<%-- <th><%= localeMessage.getString("interface.batchSendCycle") %></th>
<td>
<input type="text" name="trnsmsnCycle" id="trnsmsnCycle" style="width:100%" />
</td> --%>
</tr>
<tr>
<th><%= localeMessage.getString("interface.sendRecvType") %></th>
<td style="width: 35%" id="tdSnDst">
<div class="select-style" >
<select name="snDst" id="snDst">
<option value="S"><%= localeMessage.getString("interface.transTypeOfSend") %></option>
<option value="R"><%= localeMessage.getString("interface.transTypeOfRecv") %></option>
<option value="T"><%= localeMessage.getString("interface.transTypeOfBoth") %></option>
</select>
</div>
</td>
<th><%= localeMessage.getString("common.ownerId") %></th>
<td>
<span style="width:50%; display: inline-block;">
<input type="text" name="authorId" id="authorId" style="width:100%" value="<%=userId %>" required >
</span>
<%-- <img id="btn_user_list" src="<c:url value="/img/btn_pop_search.png"/>" level="R" status="DETAIL,NEW"/>&nbsp;
<div id="authorNm" style="display: inline-block;"><%=userNm %></div> --%>
</td>
<%-- <th>담당자명</th>
<td id="authorNm" style="width:100%"><%=userNm %>
<!-- <input type="text" name="authorNm" id="authorNm" style="width:100%"/> -->
</td> --%>
</tr>
<!-- <tr height="30px">
<th style="border-right:1px solid #a3a9b1;" colspan="2">내부정보</th>
<th style="border-right:1px solid #a3a9b1;" colspan="2">외부정보</th>
</tr> -->
<%-- <tr>
<th><%= localeMessage.getString("interface.externalOrgCode") %></th>
<td>
<select name="osidInstiCd" id="osidInstiCd" required style="width: 50%;">
</select>&nbsp;&nbsp;
<div id="osidInstiNm" style="display: inline-block;">
</div>
</td>
</tr> --%>
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interfaceBatch.fileCode") %></th>
<td style="width:35%;"><input type="text" name="fileCode" id="fileCode" style="width:100%" /></td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interfaceBatch.recordSize") %></th>
<td style="width:35%;"><input type="text" name="recSize" id="recSize" onkeyup="$(this).val($(this).val().replace(/\D/g,''));" title="숫자만 입력해주세요" placeholder="숫자만 입력해주세요" style="width:100%"/></td>
</td>
</tr>
<tr>
<%-- <th style="width:10%; min-width: 130px;"><%= localeMessage.getString("interfaceBatch.fileName") %></th>
<td style="width:35%;"><input type="text" name="srcFileNm" id="srcFileNm" style="width:100%" /></td> --%>
<!-- <th style="width:10%; min-width: 130px;">수신파일명</th>
<td style="width:35%;"><input type="text" name="tgtFileNm" id="tgtFileNm" style="width:100%"/></td>
</td>
</tr>
<tr> -->
<th><%= localeMessage.getString("interfaceBatch.filePath") %></th>
<td colspan="3">
<input type="text" name="srcFilePath" id="srcFilePath" style="width:100%"/>
</td>
<!-- <th></th>
<td>
<input type="text" name="fileCode" id="fileCode" style="width:100%"/>
</td> -->
</tr>
<%-- <tr>
<th style="height:40px"><%= localeMessage.getString("common.etc") %></th>
<td colspan="3">
<textarea name="etcDesc" id="etcDesc" style="width:100%" rows="2" maxlength="500" ></textarea>
</td>
</tr> --%>
</tbody>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+156
View File
@@ -0,0 +1,156 @@
<%@ 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" >
function list(url){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/kikwanMan.json" />',
postData : gridPostData,
colNames:['기관코드',
'기관명',
'시스템IP',
'암호화IP',
'사용여부',
//'등록자ID',
//'등록시각',
//'수정자ID',
//'수정시각'
],
colModel:[
{ name : 'KIKWANCD' , align:'left' ,width:40 ,sortable:false },
{ name : 'KIKWANNAME' , align:'center' ,width:40 },
{ name : 'SYSIP' , align:'center' ,width:40 },
{ name : 'ENCIP' , align:'center' ,width:40 },
{ name : 'THISMSGUSEYN' , align:'center' ,width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue == '1' ) {
return '사용';
} else {
return cellvalue;
}
}
}
//{ name : 'ThisMsgRegsntI' , align:'left' , hidden:true },
//{ name : 'ThisMsgRegiHMS' , align:'left' , hidden:true },
//{ name : 'ThisMsgAmndrID' , align:'left' , hidden:true},
//{ name : 'ThisMsgAmndHMS' , align:'left' , hidden:true },
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var kikwanCd = rowData['KIKWANCD'].trim();
var url = '<c:url value="/bap/admin/work/kikwanMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&kikwanCd='+kikwanCd;
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
}
});
}
$(document).ready(function() {
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/admin/work/kikwanMan.json" />';
list(url);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/work/kikwanMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">FTManager기관관리<span class="tooltip">일괄 전송 파일을 송수신 업무 구분 코드를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">기관코드</th>
<td><input type="text" name="searchKikwanCd" value="${param.searchKikwanCd}"></td>
<th style="width:180px;">기관명</th>
<td><input type="text" name="searchKikwanName" value="${param.searchKikwanName}"></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,219 @@
<%@ 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 isDetail = false;
function isValid(){
if($('input[name=kikwanCd]').val().trim() == ""){
alert("기관코드를 입력하여 주십시요.");
return false;
}else if($('input[name=kikwanName]').val() == ""){
alert("기관명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid(){
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function formatterFunction(cellvalue, options, rowObject){
var rowId = options["rowId"];
var url = 'src=<c:url value="/images/bt/pop_delete.gif" />';
//var adptrIoDstCd = options["colModel"]["ADPTRIODSTCD"];
//var adptrPrptyName = options["colModel"]["ADPTRPRPTYNAME"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' "+url+ " />";
}
function init(url,key,callback){
if (!isDetail){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, kikwanCd : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=kikwanCd]").val(detail["AUTOCD"]);
},
error:function(e){
alert(e.responseText);
}
});
}
if(typeof callback === 'function') {
callback(url,key);
}
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, kikwanCd : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=kikwanCd]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(detail[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/work/kikwanMan.json" />';
var key ="${param.kikwanCd}";
if (key != "" && key !="null"){
isDetail = true;
}
//gridRendering();
init(url,key,detail);
$("#btn_modify").click(function(){
if (!isValid())return;
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
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(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">FTManager기관관리</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">기관코드</th><td><input type="text" name="kikwanCd" /> </td>
</tr>
<tr>
<th>기관명</th><td><input type="text" name="kikwanName" /> </td>
</tr>
<tr>
<th>시스템IP</th><td><input type="text" name="SysIp" /> </td>
</tr>
<tr>
<th>암호화IP</th><td><input type="text" name="EncIp" /> </td>
</tr>
<tr>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,350 @@
<%@ 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 selectName = "searchBjobBzwkDstcd";
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';
var url ='<c:url value="/bap/admin/work/messageProcMan.json" />';
function fileupload(e,successcallback,errorcallback) {
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function(json, textStatus, jqXHR) {
$("input[name=file]").val("");
if(textStatus == 'success') {
alert('정상처리 되었습니다.');
$("#btn_search").click();
} else {
alert('업로드중 에러가 발생하였습니다.');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind) e.unbind();
} else { //for olden browsers
formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target', iframeId);
formObj.attr('action', '<c:url value="/loader.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e) {
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
function list() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames: [ '인터페이스ID',
'인터페이스설명',
'수신업무/기관',
'송신업무/기관',
'송수신파일명',
'세부기관코드',
'레코드 길이',
'송/수신여부',
/* '수신여부', */
'사용여부'
],
colModel: [
{ name: 'BJOBMSGDSTCD' , align: 'center' },
{ name: 'BJOBMSGDSTICNAME' , align: 'left' },
{ name: 'BJOBBZWKDSTCD' , align: 'center' },
{ name: 'UAPPLCD' , align: 'center' },
{ name: 'BJOBTRANDSTCDNAME' , align: 'left' },
{ name: 'BJOBINSTIDSTCD' , align: 'center' },
{ name: 'BJOBTELGMRECSIZE' , align: 'center' },
{ name: 'EAIFILESENDUSEYN' , align: 'center' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '송신';
} else {
return '수신';
}
}
},
{ name: 'THISMSGUSEYN' , align: 'center' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'].trim();
var url = '<c:url value="/bap/admin/work/messageProcMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&menuId=' + '${param.menuId}';
url += '&returnUrl=' + getReturnUrl();
url += '&bjobMsgDstcd=' + bjobMsgDstcd;
url += '&' + getSearchUrl();
//검색값
goNav(url);
}
});
}
function init() {
$.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(); // 업무구분코드
list();
},
error: function(e) {
alert(e.responseText);
}
});
setSearchable(selectName); // 콤보에 searchable 설정
}
$(document).ready(function() {
resizeJqGridWidth('grid', 'title', '1000');
init();
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/work/messageProcMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&'+getSearchUrl();
goNav(url);
});
$("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();
}
});
$("#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_download").click(function() {
let selectedVal = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
selectedVal += "," + $("#grid").getRowData(rowId).BJOBMSGDSTCD;
});
if(selectedVal != "") selectedVal = selectedVal.substring(1);
var url ='<c:url value="/loader.do" />';
url += '?cmd=messageProcMan';
url += '&control=download';
url += '&serviceType=' + sessionStorage["serviceType"];
url += '&fileName=messageProcMan';
url += '&selectedVal=' + selectedVal;
url += '&' + getSearchUrl();
goNav(url);
});
$("#multiform").on('submit', fileupload);
$('#btn_upload').click(function() {
if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
if(window.FormData !== undefined) {
$("input[name=file]").click();
} else {
if($("input[name=file]").val() == "") return;
$("#multiform").submit();
}
});
if(window.FormData !== undefined) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if (!filename.startsWith('messageProcMan')) {
alert("송수신 파일관리 JSON 파일을 선택하십시오.\n\n[파일명 : messageProcMan.json]")
return false;
}
if(filename == "") return;
else $("#multiform").submit();
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
} else {
$("input[name=file]").show();
}
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="title">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
<div class="search_wrap">
<input type="file" id="file" name="file" style="display:inline-block"/>
<input type="hidden" name="cmd" value="messageProcMan"/>
<input type="hidden" name="control" value="upload"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R" />
<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
</form>
<div class="title">송수신 파일 관리<span class="tooltip">일괄 전송에서 사용하는 송수신 파일을 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">인터페이스ID</th>
<td><input type="text" name="likeBjobMsgDstcd" value="${param.likeBjobMsgDstcd}"></td>
<th style="width:150px;">업무구분코드</th>
<td>
<div class="select-style">
<select name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}"></select>
</div>
</td>
<th style="width:150px;">세부기관코드</th>
<td><input type="text" name="likeBjobInstiDstcd" value="${param.likeBjobInstiDstcd}"></td>
</tr>
<tr>
<th style="width:150px;">송수신파일설명</th>
<td><input type="text" name="likeBjobTranDstcdName" value="${param.likeBjobTranDstcdName}"></td>
<th style="width:150px;">인터페이스설명</th>
<td><input type="text" name="likeBjobMsgDsticName" value="${param.likeBjobMsgDsticName}"></td>
<th style="width:150px;">사용여부</th>
<td style="width:350px;">
<div class="select-style">
<select name="searchThisMsgUseYn" value="${param.searchThisMsgUseYn}">
<option value="">전체</option>
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th style="width:150px;" hidden="hidden">어플리케이션코드</th>
<td hidden="hidden"><input type="text" name="likeUapplCd" value="${param.likeUapplCd}"></td>
<th style="width:150px;" hidden="hidden">담당자ID</th>
<td hidden="hidden"><input type="text" name="likeThisMsgChrgIDs" value="${param.likeThisMsgChrgIDs}"></td>
<th style="width:150px;" hidden="hidden"></th>
<td hidden="hidden"></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,544 @@
<%@ 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 selectName = "bjobBzwkDstcd,uapplCd"; // selectBox Name
var isDetail = false;
var lastsel2;
var isPopup = "${param.ispop}";
function isValid() {
if( $('input[name=bjobMsgDstcd]').val().trim() == "" ) {
alert("인터페이스ID를 입력하여 주십시요.");
return false;
} else if( $('select[name=bjobBzwkDstcd]').val() == "" ) {
alert("업무그룹코드를 선택하여 주십시요.");
return false;
} else if( $('select[name=bjobInstiDstcd]').val() == "" ) {
alert("대외기관코드를 선택하여 주십시요.");
return false;
} else if( $('input[name=bjobTranDstcdName]').val() == "" ) {
alert("BATCH작업메시지구분코드를 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobMsgDsticName]').val() == "" ) {
alert("BATCH작업메시지구분명을 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobTelgmHdrSize]').val() == "" ) {
alert("BATCH작업전문헤더크기를 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobTelgmRecSize]').val() == "" ) {
alert("BATCH작업전문데이터크기를 입력하여 주십시요.");
return false;
} else if( $('input[name=uapplCd]').val() == "" ) {
alert("APPLICATION CODE를 선택하여 주십시요.");
return false;
}
return true;
}
function gridRendering() {
$('#grid').jqGrid({
datatype: "local",
loadonce: true,
rowNum: 10000,
editurl: "clientArray",
colNames: ['프라퍼티명',
'프라퍼티설명',
'프라퍼티값'
],
colModel: [
{ name : 'PRPTYNAME' , align:'left' },
{ name : 'PRPTYDESC' , align:'left' },
{ name : 'PRPTY2VAL' , align:'left', editable : true }
],
jsonReader: {
repeatitems: false
},
loadComplete: function () {
},
onSelectRow: function(rowid,status) {
if ( lastsel2 !=undefined ) {
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol: function(){
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','title','1000');
}
function init(url,key) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_INIT_COMBO' },
success: function(json) {
// new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering(); // 업무구분코드
// new makeOptions("CODE","NAME").setObj($("select[name=bjobInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.bjobInstiDstcd).rendering(); // 대외기관코드
//new makeOptions("BIZCODE","BIZNAME").setObj($("select[name=EAIBZWKDSTCD]")).setFormat(codeName3OptionFormat).setData(json.bizRows).rendering(); // 업무구분코드
new makeOptions("CODE","NAME").setObj($("select[name=bJobCycleGb]")).setData(json.bJobCycleGb).rendering(); // BATCH작업주기구분(BAP_CYCLE_GB)
// new makeOptions("CODE","NAME").setObj($("select[name=groupCoCd]")).setData(json.groupCoCd).rendering();
// new makeOptions("CODE","NAME").setObj($("select[name=sysCd]")).setNoValueInclude(true).setNoValue('','없음').setData(json.sysCd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=uapplCd]")).setData(json.uapplCd).rendering(); // 어플리케이션코드
if ( isDetail ) {
detail(url, key);
} else {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_PROP',
bjobBzwkDstcd : $("select[name=bjobBzwkDstcd]").val(),
bjobMsgDstcd : $("input[name=bjobMsgDstcd]").val()
},
success: function(json) {
$("#grid")[0].addJSONData(json.propMap);
$("select[name=bjobInstiDstcd] option").remove();
new makeOptions("CODE","NAME").setObj($("select[name=bjobInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.InstMap.rows).rendering(); // 대외기관코드
$("input[name=prptyGroupName]").val("TelegramInfo{" + detail["BJOBMSGDSTCD"] + "}");
// $("input[name=thisMsgChrgIDs]").val(' ');
// $("input[name=intfID]").val(' ');
$("input[name=msgPrcssPrity]").val('999');
$("input[name=dupCnt]").val('0');
$("input[name=endCnt]").val('0');
},
error: function(e) {
alert(e.responseText);
}
});
}
},
error: function(e) {
alert(e.responseText);
}
});
setSearchable(selectName); // 콤보에 searchable 설정
}
function detail(url,key) {
if ( !isDetail ) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL',
bjobMsgDstcd : key
},
success: function(json) {
var data = json;
var detail = json.detail;
//adapterType
$("input[name=bjobMsgDstcd]").attr('readonly',true);
$("select[name=bjobBzwkDstcd]").attr('disabled',false);
$("input[name=bjobTranDstcdName]").attr('readonly',false);
$("input,select").each(function() {
try {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
} catch (e) {}
});
// 파일 송수신 구분
$("select[name=fileSndRcvGbn]").val(detail["FILESENDUSEYN"] == 1 ? "S" : "R");
// 대외기관코드 change 및 값 설정
$("select[name=bjobInstiDstcd]").attr('disabled',false);
$("input[name=bjobInstiDstVal]").val(detail["BJOBINSTIDSTCD"]); // 임시로 저장
$("select[name=bjobBzwkDstcd]").val($("select[name=bjobBzwkDstcd]").val()).trigger("change");
if ( $("input[name=dupCnt]").val().trim() == "" ) $("input[name=dupCnt]").val('0');
if ( $("input[name=endCnt]").val().trim() == "" ) $("input[name=endCnt]").val('0');
//Prop
$("#grid")[0].addJSONData(data.rows);
},
error: function(e) {
alert(e.responseText);
}
});
}
var submitData = {};
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/work/messageProcMan.json" />';
var key ="${param.bjobMsgDstcd}";
$("input[name*=Size]").inputmask('decimal',{groupSeparator:',',digits:0,autoGroup:true,prefix:'',rightAlign:false,autoUnmask:true,removeMaskOnSubmit:true});
if ( key != "" && key !="null" ){
isDetail = true;
}
gridRendering();
init(url,key);
$("#btn_modify").click(function(){
if (!isValid()) return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i <data.length; i++ ) {
gridData.push(data[i]);
}
// 파일 송/수신구분 설정
$("input[name=fileSendUseYn]").val($("select[name=fileSndRcvGbn]").val() == 'S' ? '1' : '0');
$("input[name=fileRecvUseYn]").val($("select[name=fileSndRcvGbn]").val() == 'R' ? '1' : '0');
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value: JSON.stringify(gridData)});
postData.push({ name: "bjobBzwkDstcd" , value: $("select[name=bjobBzwkDstcd]").val()});
postData.push({ name: "prptyGroupName" , value: "TelegramInfo{" + $("input[name=bjobMsgDstcd]").val() + "}"});
postData.push({ name: "prptyGroupDesc" , value: $("select[name=bjobBzwkDstcd]").val()+"배치 작업의 [" +$("input[name=bjobTranDstcdName]").val() + "]메시지의 송수신 전문용 프로퍼티 정의"});
if ( isDetail ) {
postData.push( { name: "cmd" , value:"UPDATE"} );
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
if ( isPopup == 'Y' ) {
window.close();
} else {
goNav(returnUrl);//LIST로 이동
}
},
error: function(e) {
alert(e.responseText);
}
});
} else {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'INITIALIZE_PK',
tableName: 'TSEAIBJ01',
columnName: "BjobMsgDstcd",
columnValue: $('input[name=bjobMsgDstcd]').val()
},
success:function(json) {
if( json.checkPK == 'Y' ) {
alert("이미 사용중인 인터페이스ID 입니다.\n\n다른 인터페이스ID를 입력하여 주십시요.");
return false;
} else {
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert(e.responseText);
}
});
}
}
});
postData.push( { name: "cmd" , value:"INSERT"} );
}
});
$("#btn_delete").click(function() {
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
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로 이동
});
$("select[name=bjobBzwkDstcd]").change(function() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_PROP',
bjobBzwkDstcd : $(this).val(),
bjobMsgDstcd : $('input[name=bjobMsgDstcd]').val()
},
success:function(json) {
$("#grid")[0].addJSONData(json.propMap);
$("select[name=bjobInstiDstcd] option").remove();
new makeOptions("CODE","NAME").setObj($("select[name=bjobInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.InstMap.rows).rendering(); // 대외기관코드
$("select[name=bjobInstiDstcd]").val($("input[name=bjobInstiDstVal]").val());
}
});
});
$("#btn_pop_detail").click(function() {
var popUrl = '<c:url value="/bap/admin/work/messageProcMan.view" />' + '?cmd=POPUP';
var args = new Object();
args['data'] = key;
args['ispop'] = true;
var result = showModal(popUrl, args, 700, 600, 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(isDetail);
titleControl(isDetail);
$("#btn_close").click(function() {
window.close();
});
if ( isPopup == 'Y' ) {
$('#btn_delete').hide();
$('#btn_modify').show();
$('#btn_previous').hide();
$('#btn_close').show();
} else {
$('#btn_close').hide();
}
});
</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"/>
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" style="display:none;" />
</div>
<div class="title">송수신 파일</div>
<form id="ajaxForm">
<input type="hidden" name="sndrcvFileName" value=" "/>
<input type="hidden" name="sndScriptname" />
<table class="table_row" cellspacing="0">
<colgroup>
<col width="15%">
<col width="30%">
<col width="5%">
<col width="15%">
<col width="35%">
</colgroup>
<!-- 공통-->
<tr>
<th>인터페이스ID *</th>
<td colspan="2"><input type="text" name="bjobMsgDstcd" /></td>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th>업무구분코드</th>
<td colspan="2">
<div class="select-style">
<select name="bjobBzwkDstcd"></select>
</div>
</td>
<th>대외기관코드</th>
<td colspan="2">
<input type="hidden" name="bjobInstiDstVal" />
<div class="select-style">
<select name="bjobInstiDstcd"></select>
</div>
</td>
</tr>
<tr>
<th>BATCH작업메시지구분코드 *</th>
<td colspan="2"><input type="text" maxlength="40" name="bjobTranDstcdName" /></td>
<th>BATCH작업메시지구분명 *</th>
<td><input type="text" name="bjobMsgDsticName" /></td>
</tr>
<tr>
<th>BATCH작업전문헤더크기 *</th>
<td colspan="2"><input type="text" name="bjobTelgmHdrSize" /></td>
<th>BATCH작업전문데이터크기 *</th>
<td><input type="text" name="bjobTelgmRecSize" /></td>
</tr>
<tr>
<th>BATCH작업전문트레일러크기</th>
<td colspan="2"><input type="text" name="bjobTelgmTrailSize" /></td>
<th>BATCH작업주기구분</th>
<td><div class="select-style"><select name="bJobCycleGb"></select></div></td>
</tr>
<tr>
<input type="hidden" name="fileSendUseYn" />
<input type="hidden" name="fileRecvUseYn" />
<th>파일 송/수신 구분</th>
<td colspan="2">
<div class="select-style">
<select name="fileSndRcvGbn">
<option value="S">송신</option>
<option value="R">수신</option>
</select>
</div>
</td>
<th>수신시 알림여부</th>
<td colspan="2">
<div class="select-style">
<select name="recvNotiUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th>APPLICATION CODE *</th>
<td colspan="2"><div class="select-style"><select name="uapplCd"></select></div></td>
<!-- <th>파일명 패턴</th>
<td>
<div class="select-style">
<select name="sndrcvFileName">
<option value=" ">사용안함</option>
<option value="yyyy">YYYY</option>
<option value="yyyyMM">YYYYMM</option>
<option value="MMdd">MMDD</option>
<option value="yyyyMMdd">YYYYMMDD</option>
<option value="001">일련번호</option>
<option value="yyyy_001">YYYY_일련번호</option>
<option value="yyyyMM_001">YYYYMM_일련번호</option>
<option value="MMdd_001">MMDD_일련번호</option>
<option value="yyyyMMdd_001">YYYYMMDD_일련번호</option>
</select>
</div>
</td> -->
<th>EAI 인터페이스ID</th>
<td><input type="text" name="intfID" /></td>
</tr>
<tr>
<th>데이터검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select name="dataVrfyYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td><img id="btn_pop_detail" src="<c:url value="/img/btn_pop_detail.png" />" class="btn_img" /></td>
<th>작업처리 우선순위</th>
<td><input type="text" name="msgPrcssPrity" /></td>
</tr>
<tr>
<th>처리여부</th>
<td colspan="2">
<div class="select-style">
<select name="procYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<th>중복횟수</th>
<td><input type="text" name="dupCnt" /></td>
</tr>
<tr>
<th>종결여부</th>
<td colspan="2">
<div class="select-style">
<select name="endYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<th>종결횟수</th>
<td><input type="text" name="endCnt" /></td>
</tr>
<tr>
<th>파일담당자</th>
<td colspan="4"><input type="text" name="thisMsgChrgIDs" /></td>
</tr>
<!-- <tr>
<th>송신스크립트명</th>
<td colspan="4"><input type="text" name="sndScriptname" /></td>
</tr> -->
</table>
</form>
<div class="table_row_title">프라퍼티 정보</div>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,390 @@
<%@ 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 popData = window.dialogArguments['data'];
var isPopup = window.dialogArguments['ispop'];
function isValid() {
// 헤더검증 체크
if($('#hdrVeriYn').val() == "1") {
if($('#hdrVeriOffset').val().trim() == "") {
$('#hdrVeriOffset').focus();
alert("헤더검증 시작위치를 입력하여 주십시요.");
return false;
} else if($('#hdrVeriLen').val().trim() == "") {
$('#hdrVeriLen').focus();
alert("헤더검증 길이를 입력하여 주십시요.");
return false;
} else if($('#hdrVeriVal').val().trim() == "") {
$('#hdrVeriVal').focus();
alert("헤더검증 검증값을 입력하여 주십시요.");
return false;
}
}
// 데이터검증 체크
const dataVeriCnt = $("select[name=dataVeriCnt]").val();
if($('#dataVeriYn').val() == "1") {
if($('#dataVeriOffset').val().trim() == "") {
$('#dataVeriOffset').focus();
alert("데이터검증 시작위치를 입력하여 주십시요.");
return false;
} else if($('#dataVeriLen').val().trim() == "") {
$('#dataVeriLen').focus();
alert("데이터검증 길이를 입력하여 주십시요.");
return false;
} else if(dataVeriCnt == 0) {
$('#dataVeriCnt').focus();
alert("데이터검증 갯수를 선택하십시요.");
return false;
} else if(dataVeriCnt > 0) {
for(let i = 1; i <= dataVeriCnt; i++) {
if($("#dataVeriVal" + i).val().trim() == "") {
$("#dataVeriVal" + i).focus();
alert("데이터검증을 위한 검증값 [ " + i + " ] 를 입력하여 주십시요.");
return false;
}
}
}
}
// 트레일러검증 체크
if($('#trailVeriYn').val() == "1") {
if($('#trailVeriOffset').val().trim() == "") {
$("#trailVeriOffset").focus();
alert("트레일러검증 시작위치를 입력하여 주십시요.");
return false;
} else if($('#trailVeriLen').val().trim() == "") {
$("#trailVeriLen").focus();
alert("트레일러검증 길이를 입력하여 주십시요.");
return false;
} else if($('#trailVeriVal').val().trim() == "") {
$("#trailVeriVal").focus();
alert("트레일러검증 검증값을 입력하여 주십시요.");
return false;
}
}
/* $('#thisMsgUseYn').val($('#thisMsgUseCheck').is(":checked") ? '1' : '0');
$('#hdrVeriYn').val($('#hdrVeriCheck').is(":checked") ? '1' : '0');
$('#dataVeriYn').val($('#dataVeriCheck').is(":checked") ? '1' : '0');
$('#trailVeriYn').val($('#trailVeriCheck').is(":checked") ? '1' : '0');
*/
if (dataVeriCnt > 0) {
let dataVeriVal = '';
for(let i = 1; i <= dataVeriCnt; i++) {
dataVeriVal += $("#dataVeriVal" + i).val() + ',';
}
$('#dataVeriVal').val(dataVeriVal.substring(0, dataVeriVal.length-1));
} else {
$('#dataVeriVal').val('');
}
// default 값 셋팅
if ($('#hdrVeriOffset').val().trim() == "") $('#hdrVeriOffset').val("0");
if ($('#dataVeriOffset').val().trim() == "") $('#dataVeriOffset').val("0");
if ($('#trailVeriOffset').val().trim() == "") $('#trailVeriOffset').val("0");
if ($('#hdrVeriLen').val().trim() == "") $('#hdrVeriLen').val("0");
if ($('#dataVeriLen').val().trim() == "") $('#dataVeriLen').val("0");
if ($('#trailVeriLen').val().trim() == "") $('#trailVeriLen').val("0");
if ($('#hdrVeriVal').val().trim() == "") $('#hdrVeriVal').val(" ");
if ($('#dataVeriVal').val().trim() == "") $('#dataVeriVal').val(" ");
if ($('#trailVeriVal').val().trim() == "") $('#trailVeriVal').val(" ");
return true;
}
function init(url, key) {
$("input[name=bjobMsgDstcd]").val(key);
$.ajax({
type: "POST",
url: url,
dataType: "json",
data:{cmd: 'DETAIL_VERIFY_INFO',
bjobMsgDstcd: key},
success: function(json){
const detail = json.detail;
$("input[name=bjobMsgDstcd]").attr('readonly', true);
$("input[name=bjobBzwkDstcd]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
if ( name != null ) $(this).val(detail[name]);
});
/* // 사용여부 체크
$('#thisMsgUseCheck').attr('checked', $('#thisMsgUseYn').val() == 1);
// 검증여부 체크
$('#hdrVeriCheck').attr('checked', $('#hdrVeriYn').val() == 1);
$('#dataVeriCheck').attr('checked', $('#dataVeriYn').val() == 1);
$('#trailVeriCheck').attr('checked', $('#trailVeriYn').val() == 1);
*/
// 검증갯수셋팅
let dataVeriCnt = ($("#dataVeriVal").val().match(/,/g) || []).length;
if($("input[name=dataVeriVal]").val() != '') {
dataVeriCnt += 1;
const arrDataVeriVal = $("input[name=dataVeriVal]").val().split(',');
arrDataVeriVal.forEach((veriVal, idx) => {
$("#dataVeriVal" + (idx+1)).val(veriVal);
});
}
clearInputbox(dataVeriCnt);
// default 값 셋팅
if ($('#hdrVeriOffset').val().trim() == "") $('#hdrVeriOffset').val("0");
if ($('#dataVeriOffset').val().trim() == "") $('#dataVeriOffset').val("0");
if ($('#trailVeriOffset').val().trim() == "") $('#trailVeriOffset').val("0");
if ($('#hdrVeriLen').val().trim() == "") $('#hdrVeriLen').val("0");
if ($('#dataVeriLen').val().trim() == "") $('#dataVeriLen').val("0");
if ($('#trailVeriLen').val().trim() == "") $('#trailVeriLen').val("0");
$("input[name=hdrVeriCnt]").val('1').attr('readonly', true); // 헤더검증
$("select[name=dataVeriCnt]").val(dataVeriCnt); // 데이터 검증
$("input[name=trailVeriCnt]").val('1').attr('readonly', true); // 트레일러 검증
},
error: function(e){
alert(e.responseText);
}
});
}
function clearInputbox(cnt) {
const num = parseInt(cnt);
for(let i = 1; i <= 60; i++) {
$("#dataVeriVal" + i).attr('readonly', true);
}
for(let j = 0; j <= num; j++) {
$("#dataVeriVal" + j).attr('readonly', false);
}
for(let k = (num + 1); k <= 60; k++) {
$("#dataVeriVal" + k).val('');
}
}
$(document).ready(function() {
var url ='<c:url value="/bap/admin/work/messageProcMan.json" />';
var key = popData;
init(url, key);
$("select[name=dataVeriCnt]").change(function() {
clearInputbox($(this).val());
});
$("#btn_close").click(function() {
window.close();
});
$("#btn_modify").click(function() {
if(!isValid()) return true;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd", value:"UPDATE_VERIFY_INFO"});
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
window.close();
},
error:function(e) {
alert(e.responseText);
}
});
});
});
</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_modify.png"/>" alt="" id="btn_modify" level="W" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">데이터 검증정보 관리</div>
<form id="ajaxForm">
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:17%">인터페이스ID</th>
<td style="width:25%"><input type="text" id="bjobMsgDstcd" name="bjobMsgDstcd"></td>
<th style="width:17%">대외기관코드</th>
<td style="width:25%"><input type="text" id="bjobBzwkDstcd" name="bjobBzwkDstcd"></td>
<td style="width:16%">
<!-- <input type="hidden" id="thisMsgUseYn" name="thisMsgUseYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:4px;"><input type="checkbox" id="thisMsgUseCheck" name="thisMsgUseCheck" style="cursor:pointer;margin-right:5px;margin-bottom:3px;" />사용</label> -->
<div class="select-style">
<select id="thisMsgUseYn" name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
</tr>
</table>
<fieldset style="border: 1px solid #c5c5c5; padding: 10px; margin-top:20px;">
<legend>헤더검증</legend>
<!-- <input type="hidden" id="hdrVeriYn" name="hdrVeriYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:5px;"><input type="checkbox" id="hdrVeriCheck" name="hdrVeriCheck" style="cursor:pointer;margin-right:5px;margin-bottom:5px;" />검증</label> -->
<table class="table_row" cellspacing="0">
<colgroup>
<col width="14%">
<col width="20%">
<col width="13%">
<col width="20%">
<col width="13%">
<col width="20%">
</colgroup>
<tr>
<th>검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select id="hdrVeriYn" name="hdrVeriYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td colspan="4" />
</tr>
<tr>
<th>시작위치</th>
<td><input type="text" maxlength="3" id="hdrVeriOffset" name="hdrVeriOffset" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>길이</th>
<td><input type="text" maxlength="3" id="hdrVeriLen" name="hdrVeriLen" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>검증갯수</th>
<td><input type="text" maxlength="1" id="hdrVeriCnt" name="hdrVeriCnt" value="1" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
</tr>
<tr>
<th>검증값</th>
<td colspan="5"><input type="text" maxlength="10" id="hdrVeriVal" name="hdrVeriVal" style="width:150px;" /></td>
</tr>
</table>
</fieldset>
<fieldset style="border: 1px solid #c5c5c5; padding: 10px; margin-top:20px;">
<legend>데이터 검증</legend>
<!-- <input type="hidden" id="dataVeriYn" name="dataVeriYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:5px;"><input type="checkbox" id="dataVeriCheck" name="dataVeriCheck" style="cursor:pointer;margin-right:5px;margin-bottom:5px;" />검증</label> -->
<table class="table_row" cellspacing="0">
<colgroup>
<col width="14%">
<col width="20%">
<col width="13%">
<col width="20%">
<col width="13%">
<col width="20%">
</colgroup>
<tr>
<th>검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select id="dataVeriYn" name="dataVeriYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td colspan="4" />
</tr>
<tr>
<th>시작위치</th>
<td><input type="text" maxlength="3" id="dataVeriOffset" name="dataVeriOffset" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>길이</th>
<td><input type="text" maxlength="3" id="dataVeriLen" name="dataVeriLen" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>검증갯수</th>
<td><div class="select-style">
<select id="dataVeriCnt" name="dataVeriCnt" style="text-align:center;">
<c:forEach var="i" begin="0" end="60">
<option value="${i}">${i}</option>
</c:forEach>
</select>
</div>
</td>
</tr>
<tr>
<th>검증값</th>
<td colspan="5">
<input type="hidden" id="dataVeriVal" name="dataVeriVal" />
<div style="margin-top:3px;"></div>
<c:forEach var="i" begin="1" end="60">
<c:if test="${i != 1 and i % 10 == 1}">
<br><div style="margin-top:3px;"></div>
</c:if>
<input type="text" maxlength="1" id="dataVeriVal${i}" name="dataVeriVal${i}" style="width:40px;margin-right:4.6px;text-align:center;" />
</c:forEach>
<div style="margin-top:3px;"></div>
</td>
</tr>
</table>
</fieldset>
<fieldset style="border: 1px solid #c5c5c5; padding: 10px; margin-top:20px;">
<legend>트레일러 검증</legend>
<!-- <input type="hidden" id="trailVeriYn" name="trailVeriYn" />
<label style="cursor:pointer;margin-right:2px;margin-bottom:5px;"><input type="checkbox" id="trailVeriCheck" name="trailVeriCheck" style="cursor:pointer;margin-right:5px;margin-bottom:5px;" />검증</label> -->
<table class="table_row" cellspacing="0">
<colgroup>
<col width="14%">
<col width="20%">
<col width="13%">
<col width="20%">
<col width="13%">
<col width="20%">
</colgroup>
<tr>
<th>검증여부</th>
<td style="border-right: 0px;">
<div class="select-style">
<select id="trailVeriYn" name="trailVeriYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<td colspan="4" />
</tr>
<tr>
<th>시작위치</th>
<td><input type="text" maxlength="3" id="trailVeriOffset" name="trailVeriOffset" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>길이</th>
<td><input type="text" maxlength="3" id="trailVeriLen"name="trailVeriLen" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
<th>검증갯수</th>
<td><input type="text" maxlength="1" id="trailVeriCnt" name="trailVeriCnt" value="1" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" style="text-align:center;" /></td>
</tr>
<tr>
<th>검증값</th>
<td colspan="5"><input type="text" maxlength="10" id="trailVeriVal" name="trailVeriVal" style="width:150px;" /></td>
</tr>
</table>
</fieldset>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,364 @@
<%@ 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 list(){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/systemIDMan.json" />',
postData : gridPostData,
colNames:[
'시스템ID',
'시스템명',
'업무구분코드',
'업무구분명',
'대외기관코드',
'대외기관명',
'NDM노드명'
],
colModel:[
{ name : 'SYSTEMID' , align:'left' ,sortable:false},
{ name : 'SYSTEMNAME' , align:'left' },
{ name : 'BJOBBZWKDSTCD' , align:'left' },
{ name : 'BJOBBZWKNAME' , align:'left' },
{ name : 'OSIDINSTIDSTCD' , align:'left' },
{ name : 'OSIDINSTINAME' , align:'left' },
{ name : 'RMTNODENAME' , 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 colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var systemId = rowData['SYSTEMID'].trim();
var url = '<c:url value="/bap/admin/work/systemIDMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&menuId='+'${param.menuId}';
url = url + '&returnUrl='+getReturnUrl();
url = url + '&systemId='+systemId;
url = url + '&'+getSearchUrl();
//검색값
goNav(url);
}
});
}
$(document).ready(function() {
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/admin/work/systemIDMan.json" />';
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/work/systemIDMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var systemIDList = [];
for (var i = 0; i <data.length; i++) {
systemIDList.push(data[i]["SYSTEMID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "systemIDList",
value : systemIDList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_download_sql").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var systemIDList = [];
for (var i = 0; i <data.length; i++) {
systemIDList.push(data[i]["SYSTEMID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_SYSTEMID_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "systemIDList",
value : systemIDList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
var filePath = args.path;
var url2 = url_view + "?cmd=LIST_FILE_DOWNLOAD";
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
url2 = url2 + '&filePath='+filePath;
url2 = url2 + '&fileName='+sqlFileName;
goNav(url2);
alert(data.length+"건의 시스템ID 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
chkcnt++;
}
}
if(chkcnt == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var systemIDList = [];
for (var i = 0; i <data.length; i++) {
systemIDList.push(data[i]["SYSTEMID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "systemIDList",
value : systemIDList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("시스템ID "+data.length+"건이 정상 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 시스템ID가 이미 존재하여 정상 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
list();
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, "admin", "btn_clone_prod");
} else if (prdSvr){
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "btn_clone_dev");
} else {
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, "admin", "btn_clone_dev");
}
});
</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_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_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
<div class="title">시스템 ID관리<span class="tooltip">일괄 전송에서 사용하는 시스템 ID를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">시스템ID</th>
<td><input type="text" name="searchSystemId" value="${param.searchSystemId}"></td>
<th style="width:180px;">업무구분명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></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="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}"></td>
<th style="width:180px;">NDM노드명</th>
<td><input type="text" name="searchRmtNodeName" value="${param.searchRmtNodeName}"></td>
<th style="width:180px;">시스템명</th>
<td><input type="text" name="searchSystemName" value="${param.searchSystemName}"></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,242 @@
<%@ 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 url ='<c:url value="/bap/admin/work/systemIDMan.json" />';
var url_view ='<c:url value="/bap/admin/work/systemIDMan.view" />';
var isDetail = false;
var selectName = "bJobBzwkDstcd"; // selectBox Name
function init(key,callback){
$.ajax({
type : "POST",
url: '<c:url value="/bap/admin/work/systemIDMan.json" />',
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=bJobBzwkDstcd]")).setNoValueInclude(true).setNoValue("", "").setFormat(codeName3OptionFormat).setData(json.bjobBzwkDstcdRows).rendering();
setSearchable(selectName);
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{ cmd: 'DETAIL',
systemId : key
},
success:function(json){
var data = json;
$("input[name=systemId]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name');
if (name != null)
$(this).val(data[name.toUpperCase()]);
});
var bJobBzwkDstcdVal = $("select[name=bJobBzwkDstcd]").val();
if(bJobBzwkDstcdVal!=""){
getOgranFile(bJobBzwkDstcdVal);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function isValid() {
var systemId = $('input[name=systemId]').val();
if (systemId == "") {
alert("시스템ID를 입력해 주세요");
$('input[name=systemId]').focus();
return false;
} else if (systemId.length > 9) {
alert("시스템ID는 8자 이내로 입력해 주세요");
$('input[name=systemId]').focus();
return false;
}
return true;
}
function getOgranFile(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_FILTER_COMBO' , bJobBzwkDstcd : key },
success:function(json){
$("select[name=osidInstiDstcd]").empty();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setFormat(codeName3OptionFormat).setData(json.osidInstiRows).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.systemId}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key, detail);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
// 공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "systemId" , value:$("input[name=systemId]").val()});
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로 이동
});
$("select[name=bJobBzwkDstcd]").change(function(){
var key = $(this).val();
if(!key){
$("select[name=osidInstiDstcd]").empty();
return;
}
getOgranFile(key);
});
buttonControl(isDetail);
titleControl(isDetail);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<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_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">시스템 ID 관리</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">시스템ID</th>
<td><input type="text" name="systemId" /> </td>
</tr>
<tr>
<th style="width:180px;">시스템명</th>
<td><input type="text" name="systemName" /> </td>
</tr>
<tr>
<th style="width:180px;">업무구분코드</th>
<td>
<div class="select-style">
<select name="bJobBzwkDstcd"></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">대외기관구분코드</th>
<td>
<div class="select-style">
<select name="osidInstiDstcd"></select>
</div>
</td>
</tr>
<tr>
<th style="width:180px;">NDM노드명</th>
<td><input type="text" name="rmtNodeName" /> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,308 @@
<%@ 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" />';
function fileupload(e,successcallback,errorcallback) {
var formObj = $(this);
var formURL = formObj.attr("action");
if( window.FormData !== undefined ) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function(json, textStatus, jqXHR) {
$("input[name=file]").val("");
if( textStatus == 'success' ) {
alert('정상처리 되었습니다.');
$("#btn_search").click();
} else {
alert('업로드중 에러가 발생하였습니다.');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("input[name=file]").val("");
if( typeof callback === 'function' ) {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if ( e.unbind ) e.unbind();
} else { //for olden browsers
formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target', iframeId);
formObj.attr('action', '<c:url value="/loader.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e) {
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if( typeof callback === 'function' ) {
//successcallback(data);
}
});
}
}
function list(url) {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: '<c:url value="/bap/admin/work/systemInstMan.json" />',
postData: gridPostData,
colNames: [ '대외기관명',
'대외기관코드',
'업무구분명',
'업무구분코드',
'송신처리규칙코드',
'수신처리규칙코드',
'파일송신유형',
'파일수신유형',
'사용여부'
],
colModel: [
{ name: 'OSIDINSTINAME' , align: 'left' ,sortable:false },
{ name: 'OSIDINSTIDSTCD' , align: 'center'},
{ name: 'BJOBBZWKNAME' , align: 'left' },
{ name: 'BJOBBZWKDSTCD' , align: 'center'},
{ name: 'SENDPRCSSRULECD' , align: 'center'},
{ name: 'RECVPRCSSRULECD' , align: 'center'},
{ name: 'EAIFILESENDPTRNDSTCD' , align: 'center' ,
formatter: function (cellvalue) {
if( cellvalue == 'R' ) {
return '요구';
} else {
return '응답';
}
}
},
{ name: 'EAIFILERECVPTRNDSTCD' , align: 'center' ,
formatter: function (cellvalue) {
if( cellvalue == 'R' ) {
return '요구';
} else {
return '응답';
}
}
},
{ name: 'THISMSGUSEYN' , align: 'center' ,
formatter: function (cellvalue) {
if( cellvalue == '1' ) {
return '사용';
} else {
return '<span style="color:red">사용안함</span>';
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: 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)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'].trim();
var osidInstiDstcd = rowData['OSIDINSTIDSTCD'].trim();
var url = '<c:url value="/bap/admin/work/systemInstMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&menuId=' + '${param.menuId}';
url += '&returnUrl=' + getReturnUrl();
url += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
url += '&osidInstiDstcd=' + osidInstiDstcd;
url += '&' + getSearchUrl();
//검색값
goNav(url);
}
});
}
$(document).ready(function() {
resizeJqGridWidth('grid', 'title', '1000');
var url ='<c:url value="/bap/admin/work/systemInstMan.json" />';
list(url);
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/work/systemInstMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
goNav(url);
});
$("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_download").click(function() {
let selectedVal = "";
const rowIds = $("#grid").getGridParam("selarrrow");
rowIds.forEach(rowId => {
selectedVal += "," + $("#grid").getRowData(rowId).BJOBBZWKDSTCD + '_' + $("#grid").getRowData(rowId).OSIDINSTIDSTCD;
});
if( selectedVal != "" ) selectedVal = selectedVal.substring(1);
var url ='<c:url value="/loader.do" />';
url += '?cmd=systemInstMan';
url += '&control=download';
url += '&serviceType=' + sessionStorage["serviceType"];
url += '&fileName=systemInstMan';
url += '&selectedVal=' + selectedVal;
url += '&' + getSearchUrl();
goNav(url);
});
$("#multiform").on('submit', fileupload);
$('#btn_upload').click(function() {
if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
if( window.FormData !== undefined ) {
$("input[name=file]").click();
} else {
if( $("input[name=file]").val() == "" ) return;
$("#multiform").submit();
}
});
if( window.FormData !== undefined ) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if( !filename.startsWith('systemInstMan') ) {
alert("배치 세부기관 관리 JSON 파일을 선택하십시오.\n\n[파일명 : systemInstMan.json]")
return false;
}
if( filename == "" ) return;
else $("#multiform").submit();
});
}
if( window.FormData !== undefined ) {
$("input[name=file]").hide();
} else {
$("input[name=file]").show();
}
buttonControl();
$("input[name=searchOsidInstiName]").val()
});
</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">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
<div class="search_wrap">
<input type="file" id="file" name="file" style="display:inline-block"/>
<input type="hidden" name="cmd" value="systemInstMan"/>
<input type="hidden" name="control" value="upload"/>
<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
</div>
</form>
<div class="title">배치 세부 기관 관리<span class="tooltip">일괄 전송에서 사용하는 배치 세부 기관 코드를 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">배치 세부 기관 명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
<th style="width:180px;">배치 세부 기관 코드</th>
<td><input type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}"></td>
<th style="width:180px;">배치 기관명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></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,663 @@
<%@ 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/admin/work/systemInstMan.json" />';
var selectName = "adptrBzwkGroupName,bjobBzwkDstcd,sendPrcssRuleCd,recvPrcssRuleCd"; // selectBox Name
var isDetail = false;
var lastsel2;
var flag1 = false;
var flag2 = false;
var flag3 = false;
var isPopup = "${param.ispop}";
function isValid() {
if( $('input[name=bjobBzwkDstcd]').val() == "" ) {
alert("업무그룹코드를 입력하여 주십시요.");
return false;
} else if( $('input[name=bjobBzwkName]').val() == "" ) {
alert("업무그룹명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if( $('select[name=addPrptyTypDstcd]').val() == "" ) {
alert("프라퍼티구분코드를 선택하여 주십시요.");
return false;
} else if( $('input[name=addPrptyName]').val() == "" ) {
alert("프라퍼티명을 입력하여 주십시요.");
return false;
} else if( $('input[name=addPrptyDesc]').val() == "" ) {
alert("프라퍼티 설명을 입력하여 주십시요.");
return false;
}
//중복체크
var data = $("#grid").getRowData();
for( var i = 0; i < data.length; i++ ) {
if( data[i]['PRPTYTYPDSTCD'] == $('select[name=addPrptyTypDstcd]').val()
&& data[i]['PRPTYNAME'] == $('input[name=addPrptyName]').val() ) {
alert("증복된 프라퍼티명이 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function localSave() {
var key = $("input[name=sysLnkgDstcd]").val();
//객체 생성
var save = {};
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
var name = $(this).attr('name').toUpperCase();
save[name] = $(this).val();
});
submitData[key]=save;
}
function gridRendering() {
$('#grid').jqGrid({
datatype: "local",
loadonce: true,
rowNum: 10000,
editurl: "clientArray",
colNames: [ '프라퍼티명',
'프라퍼티설명',
'프라퍼티값'
],
colModel: [
{ name: 'PRPTYNAME', align: 'left' },
{ name: 'PRPTYDESC', align: 'left' },
{ name: 'PRPTY2VAL', align: 'left' , editable: true }
],
jsonReader: {
repeatitems:false
},
loadComplete: function() {
},
onSelectRow: function(rowid, status) {
if( lastsel2 != undefined ) {
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2, false, "clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol: function() {
return 'stop'; //정렬 방지
},
height: '300',
autowidth: true,
viewrecords: true
});
resizeJqGridWidth('grid','title','1000');
}
function init(key1, key2) {
getBjobBzwkDstcd(key1, key2);
getBjobBzwkPrcssDstcd(key1, key2);
getAdaptorGroup(key1, key2);
setSearchable(selectName); // 콤보에 searchable 설정
}
function getBjobBzwkDstcd(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_BJOB_BZWK_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setData(json.bjobBzwkDstcd).rendering();
flag1 = true;
if( isDetail ) {
if( flag1 && flag2 && flag3 ) {
detail(key1, key2);
}
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function getBjobBzwkPrcssDstcd(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_BJOB_BZWK_PRCSS_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=sendPrcssRuleCd]")).setData(json.bjobBzwkPrcssDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=recvPrcssRuleCd]")).setData(json.bjobBzwkPrcssDstcd).rendering();
flag2 = true;
if( isDetail ) {
if( flag1 && flag2 && flag3 ) {
detail(key1, key2);
}
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function getAdaptorGroup(key1, key2) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_ADPTR_BZWK_GROUP_NAME_COMBO' },
success: function(json) {
new makeOptions("CODE","NAME").setObj($("select[name=adptrBzwkGroupName]")).setNoValueInclude(true).setNoValue(' ','없음').setData(json.adptrBzwkGroupName).rendering();
flag3 = true;
if( isDetail ) {
if( flag1 && flag2 && flag3 ) {
detail(key1, key2);
}
}
},
error: function(e) {
alert(e.responseText);
}
});
}
function detail(key1,key2) {
if( !isDetail ) return;
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DETAIL',
bjobBzwkDstcd: key1,
osidInstiDstcd: key2
},
success: function(json) {
var data = json;
var detail = json.detail;
var sysConnList = json.sysConnList;
//adapterType
$("select[name=bjobBzwkDstcd]").attr('disabled', true);
$("input[name=osidInstiDstcd]").attr('readonly', true);
$("input,select").each(function() {
try {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
} catch (e) {}
});
$("input[name=prptyGroupName]").val("TelegramInfo{" + detail["BJOBBZWKDSTCD"] + "_" + detail["OSIDINSTIDSTCD"] + "}");
if( sysConnList.length > 0 ) {
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(sysConnList[0][name]);
});
//addoption
new makeOptions("SYSLNKGDSTCD","SYSLNKGDSTCD").setObj($("select[name=sysLnkgDstcdList]")).setData(sysConnList).rendering();
for( var i = 0; i < sysConnList.length; i++ ) {
submitData[sysConnList[i]["SYSLNKGDSTCD"]] = sysConnList[i];
}
$("select[name=rqstRspnsDstcd]").trigger("change");
}
//Prop
$("#grid")[0].addJSONData(data);
},
error: function(e) {
alert(e.responseText);
}
});
}
function setRqstRspnsDstcd() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_ADPTR_BZWK_NAME_COMBO',
adptrBzwkGroupName: $("select[name=adptrBzwkGroupName]").val(),
rqstRspnsDstcd: $("select[name=rqstRspnsDstcd]").val()
},
success: function(json) {
$("select[name=adptrBzwkName]").empty();
new makeOptions("ADPTRBZWKNAME","ADPTRDESC").setObj($("select[name=adptrBzwkName]")).setData(json.adptrBzwkNameList).rendering();
var sysLnkgList = submitData[$("select[name=sysLnkgDstcdList]").val()];
$("select[name=adptrBzwkName]").val(sysLnkgList["ADPTRBZWKNAME"]);
},
error: function(e) {
alert(e.responseText);
}
});
}
var submitData = {};
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key1 = "${param.bjobBzwkDstcd}";
var key2 = "${param.osidInstiDstcd}";
$("input[name=thisMsgRegiHMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':true});
$("input[name*=Size]").inputmask('decimal', {groupSeparator: ',', digits: 0, autoGroup: true, prefix: '', rightAlign: false, autoUnmask: true, removeMaskOnSubmit: true});
$("input[name*=Indx]").inputmask('decimal', {groupSeparator: ',', digits: 0, autoGroup: true, prefix: '', rightAlign: false, autoUnmask: true, removeMaskOnSubmit: true});
if( key1 != "" && key1 !="null" ) {
isDetail = true;
}
gridRendering();
init(key1,key2);
$("#btn_modify").click(function() {
if( !isValid() ) return;
if( $("#grid tr#" + lastsel2).attr("editable") == 1 ) { //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for( var i = 0; i < data.length; i++ ) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "gridData" , value:JSON.stringify(gridData) });
postData.push({ name: "sysConnList" , value:JSON.stringify(submitData) });
postData.push({ name: "bjobBzwkDstcd" , value:$("select[name=bjobBzwkDstcd]").val() });
postData.push({ name: "prptyGroupName", value:$("input[name=prptyGroupName]").val() });
postData.push({ name: "prptyGroupDesc", value:$("select[name=bjobBzwkDstcd]").val() + "배치 작업의 [" + $("input[name=osidInstiName]").val() + "]대외기관의 송수신 전문용 프로퍼티 정의" });
if( isDetail ) {
postData.push({ name: "cmd" , value: "UPDATE" });
} else {
postData.push({ name: "cmd" , value: "INSERT" });
}
$.ajax({
type: "POST",
url: url,
data: postData,
success: function(args) {
alert("저장 되었습니다.");
if( isPopup == 'Y') {
window.close();
} else {
goNav(returnUrl);//LIST로 이동
}
},
error: function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
// selectBox의 disable 해제
// vaildation을 추가 하게 되면 validation 후에 disable 해제 해야합니다.
$("select[name=bjobBzwkDstcd]").attr("disabled", false);
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로 이동
});
$("select[name=sysLnkgDstcdList]").change(function() {
if( !($(this).val() == null || $(this).val() == undefined || $(this).val() == "") ) {
var sysLnkgList = submitData[$(this).val()];
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(sysLnkgList[name]);
});
$("select[name=rqstRspnsDstcd]").trigger("change");
} else {
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
$(this).val("");
});
}
});
$("select[name=bjobBzwkDstcd]").change(function() {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'LIST_PROP',
bjobBzwkDstcd: $(this).val()
},
success: function(json) {
$("#grid")[0].addJSONData(json);
}
});
$("input[name=prptyGroupName]").val("TelegramInfo{" + $("select[name=bjobBzwkDstcd]").val() + "_" + $("input[name=osidInstiDstcd]").val() + "}");
});
$("input[name=osidInstiDstcd]").keyup(function() {
$("input[name=prptyGroupName]").val("TelegramInfo{" + $("select[name=bjobBzwkDstcd]").val() + "_" + $("input[name=osidInstiDstcd]").val() + "}");
});
$("#btn_pop_new").click(function() {
var isDuplication = false;
var isEmpty = false;
$("select[name=sysLnkgDstcdList] option").each(function() {
if( $(this).val() == $("input[name=sysLnkgDstcd]").val() ) {
isDuplication = true;
}
});
if( isDuplication ) {
alert("중복된 시스템연결구분코드가 존재합니다.확인하여 주십시요.");
return;
}
if( $("input[name=sysLnkgDstcd]").val() == null
|| $("input[name=sysLnkgDstcd]").val() == undefined
|| $("input[name=sysLnkgDstcd]").val() == ""
|| $("input[name=sysLnkgDstcd]").val().trim() == "" ) {
isEmpty = true;
}
if( isEmpty ) {
alert(" 시스템연결구분코드를 입력하여 주십시요.");
return;
}
var key = $("input[name=sysLnkgDstcd]").val();
var str = new makeOptions("CODE","NAME").setData(key,key).getOption();
$("select[name=sysLnkgDstcdList]").append(str);
$("select[name=sysLnkgDstcdList]").val(key);
submitData[key] = "";
localSave();
});
$("#btn_pop_modify").click(function() {
var isDuplication = false;
$("select[name=sysLnkgDstcdList] option").each(function() {
if( $(this).val() == $("input[name=sysLnkgDstcd]").val() ) {
isDuplication = true;
}
});
if( !isDuplication ) {
alert("시스템연결구분코드가 존재 하지 않습니다.확인하여 주십시요.");
return;
}
localSave();
});
$("#btn_pop_delete").click(function() {
var isDuplication = false;
$("select[name=sysLnkgDstcdList] option").each(function() {
if( $(this).val() == $("input[name=sysLnkgDstcd]").val() ) {
isDuplication = true;
}
});
if( !isDuplication ) {
alert("삭제할 시스템연결구분코드가 존재 하지 않습니다.확인하여 주십시요.");
return;
}
//어댑터 목록 삭제
var key = $("input[name=sysLnkgDstcd]").val();
$("select[name=sysLnkgDstcdList] option[value='"+key+"']").remove();
delete submitData[key];
$("select[name=sysLnkgDstcdList]").trigger("change");
});
$("#btn_pop_initialize").click(function() {
$("#sysLnkgList input,#sysLnkgList select").not('select[name=sysLnkgDstcdList]').each(function() {
$(this).val("");
});
});
function isValidIpPort(name) {
if( $("input[name="+name+"]").val() == null
|| $("input[name="+name+"]").val() == undefined
|| $("input[name="+name+"]").val().trim() == "" ) {
return false;
}
return true;
}
$("#btn_pop_connect").click(function() {
if( !isValidIpPort("lnkgIPInfoName") ) {
alert(" 연결 IP 정보를 입력하여 주십시요.");
return;
}
if( !isValidIpPort("lnkgPortInfoName") ) {
alert(" 연결 PORT 정보를 입력하여 주십시요.");
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'CHECK_CONNECTION',
ip: $("input[name=lnkgIPInfoName]").val(),
port: $("input[name=lnkgPortInfoName]").val()
},
success: function(json) {
alert(json.result);
},
error: function(e) {
alert(e.responseText);
}
});
});
$("select[name=rqstRspnsDstcd]").change(function() {
setRqstRspnsDstcd();
});
$("select[name=adptrBzwkGroupName]").change(function() {
$("input[name=adptrBzwkGroupName]").val($("select[name=adptrBzwkGroupName]").val());
setRqstRspnsDstcd();
});
buttonControl(isDetail);
titleControl(isDetail);
$("#btn_close").click(function() {
window.close();
});
if( isPopup == 'Y') {
$('#btn_delete').hide();
$('#btn_modify').show();
$('#btn_previous').hide();
$('#btn_close').show();
} else {
$('#btn_close').hide();
}
});
</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" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" style="display:none;" />
</div>
<div class="title">배치 세부 기관</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">배치 기관</th>
<td><div class="select-style"><select name="bjobBzwkDstcd"></select></div></td>
<th style="width:180px;">배치 세부 기관 코드</th>
<td><input type="text" name="osidInstiDstcd" maxlength="4" /></td>
</tr>
<tr>
<th>배치 세부 기관명</th><td><input type="text" maxlength="40" name="osidInstiName" /></td>
<th>전문블럭크기</th><td><input type="text" name="telgmBlckSize" /> </td>
</tr>
<tr>
<th>전문일련번호크기</th><td><input type="text" name="telgmSernoSize" /></td>
<th>전문패킷크기</th><td><input type="text" name="telgmPcketSize" /></td>
</tr>
<tr>
<th>거래시작인덱스</th><td><input type="text" name="tranStartIndx" /></td>
<th>거래종료인덱스</th><td><input type="text" name="tranEndIndx" /></td>
</tr>
<tr>
<th>송신구분코드</th>
<td><div class="select-style"><select name="sendPrcssRuleCd"></select></div></td>
<th>수신구분코드</td>
<td><div class="select-style"><select name="recvPrcssRuleCd"></select></div></td>
</tr>
<tr>
<th>파일송신유형</th>
<td>
<div class="select-style">
<select name="fileSendPtrnDstcd">
<option value="R">[R] 요구</option>
<option value="A">[A] 응답</option>
</select>
</div>
</td>
<th>파일수신유형</th>
<td>
<div class="select-style">
<select name="fileRecvPtrnDstcd">
<option value="R">[R] 요구</option>
<option value="A">[A] 응답</option>
</select>
</div>
</td>
</tr>
<tr>
<th>어댑터그룹</th>
<td><div class="select-style"><select name="adptrBzwkGroupName"></select></div></td>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">[1] 사용</option>
<option value="0">[0] 사용안함</option>
</select>
</div>
</td>
</tr>
</table>
</form>
<div class="table_row_title">대외기관 연결 정보</div>
<table id="sysLnkgList" class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">시스템연결구분코드 리스트</th>
<td colspan="3">
<div class="select-style" style="display:inline-block; width:calc(100% - 325px);">
<select name="sysLnkgDstcdList" ></select>
</div>
<img id="btn_pop_new" src="<c:url value="/img/btn_pop_new.png"/>" class="btn_img" />
<img id="btn_pop_modify" src="<c:url value="/img/btn_pop_modify.png"/>" class="btn_img" />
<img id="btn_pop_delete" src="<c:url value="/img/btn_pop_delete.png"/>" class="btn_img" />
<img id="btn_pop_initialize" src="<c:url value="/img/btn_pop_initialize.png"/>" class="btn_img" />
<%-- <img id="btn_pop_connect" src="<c:url value="/img/btn_pop_connect.png"/>" class="btn_img" /> --%>
</td>
</tr>
<tr>
<th style="width:180px;">시스템연결구분코드</th>
<td><input type="text" name="sysLnkgDstcd" /></td>
<th style="width:180px;">요구어댑터구분코드</th>
<td>
<div class="select-style">
<select name="rqstRspnsDstcd" >
<option value="R">[R] 필요시 연결</option>
<option value="A">[A] 어댑터 연결</option>
</select>
</div>
</td>
</tr>
<tr>
<th>연결 IP 정보</th><td><input type="text" name="lnkgIPInfoName" /></td>
<th>연결 PORT 정보</th><td><input type="text" name="lnkgPortInfoName" /></td>
</tr>
<tr>
<th>연결 ID 정보 1</th><td><input type="text" name="lnkgID" /></td>
<th>연결 ID 정보 2</th><td><input type="text" name="lnkgPwd" /></td>
</tr>
<tr>
<th>연결 회선 상태 코드</th>
<td>
<div class="select-style">
<select name="tCirtLnkgStusCd">
<option value="1">[1] 정상</option>
<option value="0">[0] 장애</option>
</select>
</div>
</td>
<th>어댑터그룹명</th><td><input type="text" name="adptrBzwkGroupName" /></td>
</tr>
<tr>
<th>어댑터업무명</th>
<td><div class="select-style"><select name="adptrBzwkName"></select></div></td>
<th>당메시지 사용여부 *</th>
<td>
<div class="select-style">
<select name="thisMsgUseYn">
<option value="1">[1] 사용</option>
<option value="0">[0] 사용안함</option>
</select>
</div>
</td>
</tr>
<tr>
<th>등록자ID</th><td><input type="text" name="thisMsgRegsntID" readonly="readonly" /></td>
<th>등록일시</th><td><input type="text" name="thisMsgRegiHMS" readonly="readonly" /></td>
</tr>
</table>
<div class="table_row_title">프라퍼티 정보</div>
<table id="prptyGroupNameTitle" class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프로퍼티 그룹명</th><td><input type="text" name="prptyGroupName" readonly="readonly" /></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,173 @@
<%@ 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/admin/common/telePropertyMan.json" />';
var url_view = '<c:url value="/bap/admin/common/telePropertyMan.view" />';
var index;
function init() {
if ('${param.callType}' != '') {
// $("input[name=searchPrptyGroupName]").val(window.dialogArguments["prptyGroupName"]);
$("#btn_close").show();
} else {
$("#btn_close").hide();
}
}
function detail(url, key) {
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
prptyGroupName : key
},
success : function(json) {
var data = json;
$("#grid_detail")[0].addJSONData(data);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/telePropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${param.rowNum}' != '' ? '${param.rowNum}' : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var prptyGroupName = rowData['PRPTYGROUPNAME'];
index = rowId;
detail(url, prptyGroupName);
}
});
resizeJqGridWidth('grid','title','1000');
$('#grid_detail').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값'],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true }],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function() {
return 'stop'; //정렬 방지
},
//height : '500',
autowidth : true,
autoheight : true,
height: $("#container").height(),
viewrecords : true
});
resizeJqGridWidth('grid_detail', 'title', '1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_input").click(function(){
var data = $("#grid").getRowData(index)['PRPTYGROUPNAME'];
window.returnValue = data;
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_close").click(function(){
window.close();
});
buttonControl();
init();
});
</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_input.png"/>" alt="" id="btn_input" level="W" />
<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" />
</div>
<div class="title">전문 프로퍼티 목록</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
<div class="title" style="margin-top:15px; text-align:left;">전문프로퍼티 상세</div>
<table id="grid_detail" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>