This commit is contained in:
Rinjae
2025-09-05 17:16:26 +09:00
commit c54ef1903f
4947 changed files with 817291 additions and 0 deletions
@@ -0,0 +1,351 @@
<%@ 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 = '';
$(document).ready(function() {
var url = '<c:url value="/bap/admin/adapter/adapterMan.json" />';
var url_view = '<c:url value="/bap/admin/adapter/adapterMan.view" />';
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/adapter/adapterMan.json" />',
postData : gridPostData,
colNames:['어댑터 그룹명',
'어댑터 그룹설명',
'어댑터 사용여부'
],
colModel:[
{ name : 'ADPTRBZWKGROUPNAME' , align:'left' ,sortable:false },
{ name : 'ADPTRBZWKGROUPDESC' , align:'left' },
{ name : 'ADPTRUSEYN' , 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,
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 adptrBzwkGroupName = rowData['ADPTRBZWKGROUPNAME'];
var url = '<c:url value="/bap/admin/adapter/adapterMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&adptrBzwkGroupName='+adptrBzwkGroupName;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/adapter/adapterMan.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 adptrBzwkGroupNameList = [];
for (var i = 0; i <data.length; i++) {
adptrBzwkGroupNameList.push(data[i]["ADPTRBZWKGROUPNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert(data.length+"건의 어댑터가 삭제 되었습니다.");
$("#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 adptrBzwkGroupNameList = [];
for (var i = 0; i <data.length; i++) {
adptrBzwkGroupNameList.push(data[i]["ADPTRBZWKGROUPNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_ADPTR_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
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+"건의 어댑터 입력 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 adptrBzwkGroupNameList = [];
for (var i = 0; i <data.length; i++) {
adptrBzwkGroupNameList.push(data[i]["ADPTRBZWKGROUPNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("어댑터 "+data.length+"건이 정상 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 어댑터가 이미 존재하여 정상 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
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="content_middle">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_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">어댑터 관리<span class="tooltip">일괄전송에서 사용하는 어댑터 목록(Server/Non-permanent Client)</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:100px;">어댑터 그룹명</th>
<td><input type="text" name="searchAdptrBzwkGroupName" value="${param.searchAdptrBzwkGroupName}"></td>
<th style="width:100px;">어댑터 그룹설명</th>
<td><input type="text" name="searchAdptrBzwkGroupDesc" value="${param.searchAdptrBzwkGroupDesc}"></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,600 @@
<%@ 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/adapter/adapterMan.json" />';
var url_view = '<c:url value="/bap/admin/adapter/adapterMan.view" />';
var isDetail = false;
var isClone = false;
var lastsel2;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
autoencode : true,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left'},
{ name : 'PRPTY2VAL' , align:'left' , title:false, editable: true}],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
gridComplete : function() {
$("#clonYn").val("0").attr("selected","selected");
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
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;
},
height : '350',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '1000');
}
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=cloneAdptrBzwkGroupName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneAdptrBzwkGroupDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneAdptrBzwkGroupName]").focus();
} else {
$("#clone").hide();
}
}
function init(key, callback) {
if (typeof callback === 'function') {
callback(key);
}
}
function detail(key) {
if (!isDetail){
var prptNames = [ 'adapter.group.name' ,
'bound.usage' ,
'default.session' ,
'll.field.index' ,
'll.field.length' ,
'max.connection' ,
'max.session' ,
'session.timeout' ,
'socket.type' ,
'trace.level' ,
'timeout' ,
'reponse.rule.code' ,
'response.olny' ,
'use.polling' ];
var prptValus = [ '' ,
'INBOUND' ,
'1' ,
'0' ,
'4' ,
'1' ,
'1' ,
'20' ,
'SERVER' ,
'0' ,
'30' ,
' ' ,
'N' ,
'N' ];
for ( var inx=0; inx < prptNames.length; inx++){
var newData = new Object();
newData.id = inx+1;
newData.PRPTYNAME = prptNames[inx];
newData.PRPTY2VAL = prptValus[inx];
$("#grid").addRowData(newData.id,newData);
}
return;
}
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
adptrBzwkGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=adptrBzwkGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
$("#grid")[0].addJSONData(data);
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.adptrBzwkGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(key, detail);
$("#btn_modify").click(function() {
if (!isValid())return;
if (isDetail && isClone) {
if ( confirm( "복제하시겠습니까?" ) != true ) return;
} else 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]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
if (isDetail && isClone){
postData.push({ name: "cmd" , value:"INSERT"});
} else 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) {
if (isClone) {
alert('복제 되었습니다.');
} else {
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 : "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["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").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);
});
});
$("#btn_clone").click(function(){
if (!isValid()) return;
// 복제 어댑터 그룹명 & 설명
var cloneAdptrBzwkGroupName = $("input[name=cloneAdptrBzwkGroupName]").val();
var cloneAdptrBzwkGroupDesc = $("input[name=cloneAdptrBzwkGroupDesc]").val();
// 복제 어댑터 그룹명 입력여부 체크.
if(cloneAdptrBzwkGroupName == "")
{
alert("복제할 어댑터 그룹명을 입력하세요.");
$("input[name=cloneAdptrBzwkGroupName]").focus();
return;
}
var cloneAdptrKey = cloneAdptrBzwkGroupName.split("_")[1]+"_"+cloneAdptrBzwkGroupName.split("_")[2];
var adptrBzwkGroupName = $("input[name=adptrBzwkGroupName]").val();
var adptrKey = adptrBzwkGroupName.split("_")[1]+"_"+adptrBzwkGroupName.split("_")[2];
// 어댑터 그룹명 치환
$("input[name=adptrBzwkGroupName]").val(adptrBzwkGroupName.replace(adptrKey,cloneAdptrKey));
var adptrBzwkName = $("input[name=adptrBzwkName]").val();
$("input[name=adptrBzwkName]").val(adptrBzwkName.replace(adptrKey,cloneAdptrKey));
var prptyGroupName = $("input[name=prptyGroupName]").val();
$("input[name=prptyGroupName]").val(prptyGroupName.replace(adptrKey,cloneAdptrKey));
// 어댑터 그룹설명 치환
$("input[name=adptrBzwkGroupDesc]").val(cloneAdptrBzwkGroupDesc);
$("input[name=adptrDesc]").val(cloneAdptrBzwkGroupDesc);
$("input[name=prptyGroupDesc]").val(cloneAdptrBzwkGroupDesc);
$("input[name=cloneAdptrBzwkGroupName]").val("");
$("input[name=cloneAdptrBzwkGroupDesc]").val("");
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]["PRPTYNAME"] == "adapter.group.name") {
data[i]["PRPTY2VAL"] = data[i]["PRPTY2VAL"].replace(adptrKey,cloneAdptrKey); // 프로퍼티 어댑터 그룹명 치환
$("#grid").setRowData(i+1,data[i]);
} else if (data[i]["PRPTYNAME"] == "description") {
data[i]["PRPTY2VAL"] = cloneAdptrBzwkGroupDesc;
$("#grid").setRowData(i+1,data[i]);
}
}
isClone = true;
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
adptrBzwkGroupNameList.push($("input[name=adptrBzwkGroupName]").val());
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_ADPTR_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
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("일괄어댑터 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var adptrBzwkGroupNameList = [];
adptrBzwkGroupNameList.push($("input[name=adptrBzwkGroupName]").val());
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "adptrBzwkGroupNameList",
value : adptrBzwkGroupNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(key);
titleControl(key);
/* if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "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, isDetail ? "admin" : " ", "btn_clone_dev");
} */
/* 231102 김기영 이전기능 관련 숨김 처리 */
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "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="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" 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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">어댑터</div>
<form id="ajaxForm">
<!-- <div class="table_row_title">일괄전송 어댑터</div> -->
<table id="detail" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">어댑터 그룹명</th>
<td colspan="3" ><input type="text" name="adptrBzwkGroupName"/></td>
</tr>
<tr>
<th>어댑터 유형</th>
<td colspan="3">
<div class="select-style">
<select name="adptrCd" style="width:100%" >
<option value="SOC">SocketAdapter</option>
</select>
</div>
</td>
</tr>
<tr>
<th>어댑터 그룹설명</th>
<td colspan="3"><input type="text" name="adptrBzwkGroupDesc"/> </td>
</tr>
<tr>
<th>어댑터 사용 구분</th>
<td style="width:38%;">
<div class="select-style">
<select name="adptrUseYn" style="width:100%" >
<option value="1">사용</option>
<option value="0">사용안함</option>
</select>
</div>
</td>
<th style="width:180px;">복제 사용여부</th>
<td>
<div class="select-style" >
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)" >
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th>복제 어댑터 그룹명</th>
<td><input type="text" name="cloneAdptrBzwkGroupName"></td>
<th>복제 어댑터 그룹설명</th>
<td><input type="text" name="cloneAdptrBzwkGroupDesc" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="DETAIL" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</table>
<table id="adapter" class="table_row" cellspacing="0" >
<tr>
<th style="width:180px;">어댑터 이름</th>
<td><input type="text" name="adptrBzwkName"/> </td>
</tr>
<tr>
<th>리스너 클래스명</th>
<td>
<div class="select-style">
<select name="lstnerClsName" style="width:100%" >
<option value="com.eactive.eai.adapter.socket.SocketAdapterListener">com.eactive.eai.adapter.socket.SocketAdapterListener</option>
</select>
</div>
</td>
</tr>
<tr>
<th>어댑터 설명</th>
<td><input type="text" name="adptrDesc"/> </td>
</tr>
<tr>
<th>프라퍼티그룹명</th>
<td><input type="text" name="prptyGroupName"/> </td>
</tr>
<tr>
<th>프라퍼티그룹 설명</th>
<td><input type="text" name="prptyGroupDesc"/> </td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,137 @@
<%@ 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" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/adapterPropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
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 prptyGroupName = rowData['PRPTYGROUPNAME'];
var url = '<c:url value="/bap/admin/common/adapterPropertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/adapterPropertyMan.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">어댑터 프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,305 @@
<%@ 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=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
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;
},
height : '500',
autowidth : true,
//autoheight : 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',
prptyGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
//$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#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/common/adapterPropertyMan.json" />';
var key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
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]);
}
//공통부만 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( "삭제하시겠습니까?" ) != 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로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").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);
});
});
buttonControl(key);
titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">어댑터 프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName"/></td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+129
View File
@@ -0,0 +1,129 @@
<%@ 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" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/codeMan.json" />',
postData : gridPostData,
colNames:['오류메시지 코드',
'오류메시지'
],
colModel:[
{ name : 'MSG' , align:'left' ,sortable:false },
{ name : 'MSGCTNT' , align:'left' }
],
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 msg = rowData['MSG'];
var url = '<c:url value="/bap/admin/common/codeMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&msg='+msg;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/codeMan.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">오류메시지 관리<span class="tooltip">표준화된 IF시스템 에러 응답코드를 조회합니다. 메시지 키 및 내용으로 그에 해당하는 오류메시지를 조회할 수 있습니다.</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">오류메시지 코드</th>
<td>
<input type="text" name="searchMsg" value="${param.searchMsg}">
</td>
<th style="width:180px;">오류메시지 내용</th>
<td>
<input type="text" name="searchDesc" value="${param.searchDesc}">
</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,157 @@
<%@ 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;
$(document).ready(function() {
//var returnUrl = '${param.returnUrl}';
var returnUrl = getReturnUrlForReturn();
//returnUrl = returnUrl + '?cmd='+'LIST';
//returnUrl = returnUrl + '&page='+'${param.pages}';
//returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색 조건
//returnUrl = returnUrl + '&searchMsg='+'${param.searchMsg}';
var url ='<c:url value="/bap/admin/common/codeMan.json" />';
var msg ="${param.msg}";
if (msg != "" && msg != "null") {
isDetail = true;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', msg : msg},
success:function(json){
var data = json;
$("input[name=msg]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(data[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (msg != "" && msg !="null"){
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: "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(msg);
titleControl(msg);
});
</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">오류메시지<span class="tooltip">표준화된 IF시스템 에러 응답코드를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">오류메시지 코드 *</th>
<td><input type="text" name="msg"/> </td>
</tr>
<tr>
<th>오류메시지 *</th>
<td><input type="text" name="msgCtnt"/></td>
</tr>
<tr>
<th>SMS발송문구 *</th>
<td><input type="text" name="treatMatrCtnt"/></td>
</tr>
<tr>
<th>SMS발여부/th>
<td><div class="select-style"><select name="smsSendYn" style="width:100%">
<option value="1">발송</option>
<option value="0">미발송</option>
</select></div></td>
</tr>
<tr>
<th>심각도</th>
<td><input type="text" name="itsmObstclGrdDstcd"/></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,157 @@
<%@ 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/comErrMessageMan.json" />';
var urlView = '<c:url value="/bap/admin/common/comErrMessageMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
gridPostData['searchSvrDstcd'] = svrDstcd;
$("#svrDst").val(svrDstcd);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/comErrMessageMan.json" />',
postData : gridPostData,
colNames:['오류메시지 코드',
'오류메시지'
],
colModel:[
{ name : 'MSG' , align:'left' ,width:50 ,sortable:false },
{ name : 'MSGCTNT' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var data = d.rows;
if(svrDstcd=="BAT"){
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'MSG',data[i]['MSGID']);
}
}
},
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : true}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var msgId = rowData['MSG'];
var url = '<c:url value="/bap/admin/common/comErrMessageMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&msg='+msgId;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/comErrMessageMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
svrDstcd = $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_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">오류메시지 관리<span class="tooltip">표준화된 IF시스템 에러 응답코드를 조회합니다. 메시지 키 및 내용으로 그에 해당하는 오류메시지를 조회할 수 있습니다.</span></div>
<div class="select-style" style="display : inline-block;">
<select id="svrDst" name="searchSvrDstcd" style="width: 60px ; height: 25px; margin: 0px 0px 4px 0px;">
<option value="BAP">&nbsp;&nbsp;일괄</option>
<!-- <option value="BAT">&nbsp;&nbsp;배치</option> -->
</select>
</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">오류메시지 코드</th>
<td>
<input type="text" name="searchMsg" value="${param.searchMsg}">
</td>
<th style="width:180px;">오류메시지 내용</th>
<td>
<input type="text" name="searchDesc" value="${param.searchDesc}">
</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,171 @@
<%@ 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;
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/common/comErrMessageMan.json" />';
var msg ="${param.msg}";
var svrDstcd ="${param.searchSvrDstcd}";
console.log("test");
var svrName = "일괄";
if(svrDstcd=="BAT"){
svrName = "배치";
$(".bapTr").css("display","none");
}
$("input[name=svrName]").val(svrName);
if (msg != "" && msg != "null") {
isDetail = true;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', msg : msg, searchSvrDstcd : svrDstcd},
success:function(json){
var data = json;
$("input[name=msg]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val($.trim(data[name]));
if(svrDstcd=="BAT"){
$("input[name=msg]").val(data['MSGID']);
}
});
$("input[name=svrName]").val(svrName);
},
error:function(e){
alert(e.responseText);
}
});
}
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
if (msg != "" && msg !="null"){
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: "cmd" , value:"DELETE"});
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
$.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(msg);
titleControl(msg);
});
</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">오류메시지<span class="tooltip">표준화된 IF시스템 에러 응답코드를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">서버구분</th>
<td><input type="text" name="svrName" readonly/></td>
</tr>
<tr>
<th style="width:20%;">오류메시지 코드 *</th>
<td><input type="text" name="msg"/> </td>
</tr>
<tr>
<th>오류메시지 *</th>
<td><input type="text" name="msgCtnt"/></td>
</tr>
<tr class="bapTr">
<th>SMS발송문구 *</th>
<td><input type="text" name="treatMatrCtnt"/></td>
</tr>
<tr class="bapTr">
<th>SMS발송여부</th>
<!-- <input type="text" name="smsSendYn"> -->
<td><div class="select-style"><select name="smsSendYn" style="width:100%">
<option value="1">발송</option>
<option value="0">미발송</option>
</select></div></td>
</tr>
<tr class="bapTr">
<th>심각도</th>
<td><input type="text" name="itsmObstclGrdDstcd"/></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,140 @@
<%@ 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" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
gridPostData['searchSvrDstcd'] = svrDstcd;
$("#svrDst").val(svrDstcd);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/comLifecycleMan.json" />',
postData : gridPostData,
colNames:['라이프사이클 클래스명',
'로딩순서',
'라이프사이클 구분코드'
],
colModel:[
{ name : 'LIFECYCLCLSNAME' , align:'left' ,sortable:false },
{ name : 'LODINSEQ' , align:'center' },
{ name : 'LIFECYCLUSEDSTCD' , align:'center', editoptions:{value:"S:System;A:Application"}, formatter:"select" }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
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 key = rowData['LIFECYCLCLSNAME'];
var url = '<c:url value="/bap/admin/common/comLifecycleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/comLifecycleMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
});
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">라이프사이클 관리<span class="tooltip">시스템 기동 시 로딩 되는 라이프사이클 클래스를 조회합니다.</span></div>
<div class="select-style" style="display : inline-block;">
<select id="svrDst" name="searchSvrDstcd" style="width: 60px ; height: 25px; margin: 0px 0px 4px 0px;">
<option value="BAP">&nbsp;&nbsp;일괄</option>
<!-- <option value="BAT">&nbsp;&nbsp;배치</option> -->
</select>
</div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,167 @@
<%@ 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 detail(url,key,svrName){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', lifeCyclClsName : key, searchSvrDstcd : svrDstcd },
success:function(json){
var data = json;
$("input[name=lifeCyclClsName]").attr('readonly',true);
$("#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()]);
});
$("input[name=svrName]").val(svrName);
},
error:function(e){
alert(e.responseText);
}
});
}
var svrDstcd ="${param.searchSvrDstcd}";
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/common/comLifecycleMan.json" />';
var key ="${param.key}";
var svrName = "일괄";
if(svrDstcd=="BAT") svrName = "배치";
$("input[name=svrName]").val(svrName);
if (key != "" && key !="null"){
isDetail = true;
}
detail(url,key,svrName);
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
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: "searchSvrDstcd" , value:svrDstcd});
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">라이프사이클<span class="tooltip">IF시스템 기동 시 로딩되는 라이프사이클 클래스를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">서버구분</th>
<td><input type="text" name="svrName" readonly/></td>
</tr>
<tr>
<th style="width:20%;">라이프사이클 클래스명 *</th>
<td><input type="text" name="lifeCyclClsName"/> </td>
</tr>
<tr>
<th>로딩순서 *</th>
<td><input type="text" name="lodinSeq"/></td>
</tr>
<tr>
<th>라이프사이클 구분</th>
<td>
<div class="select-style">
<select name="lifeCyclUseDstcd" >
<option value="S">System</option>
<option value="A">Application</option>
</select>
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,168 @@
<%@ 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" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
gridPostData['searchSvrDstcd'] = svrDstcd;
$("#svrDst").val(svrDstcd);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/comPropertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var data = d.rows;
if(svrDstcd=="BAT"){
for(var i=0; i<data.length; i++){
$(this).jqGrid('setCell',i+1,'PRPTYGROUPNAME',data[i]['PRPTYGROUPID']);
$(this).jqGrid('setCell',i+1,'PRPTYGROUPDESC',data[i]['PRPTYGROUPNAME']);
}
}
},
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'];
var url = '<c:url value="/bap/admin/common/comPropertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/comPropertyMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&searchSvrDstcd='+$("#svrDst").val();
//검색값
url = url + '&'+getSearchUrl();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#svrDst").change(function(){
var postData = getSearchForJqgrid("cmd","LIST");
postData['searchSvrDstcd']= $(this).val();
svrDstcd = $(this).val();
$("#grid").setGridParam({postData: postData ,page : "1" }).trigger("reloadGrid");
});
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">프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<div class="select-style" style="display : inline-block;">
<select id="svrDst" name="searchSvrDstcd" style="width: 60px ; height: 25px; margin: 0px 0px 4px 0px;">
<option value="BAP">&nbsp;&nbsp;일괄</option>
<!-- <option value="BAT">&nbsp;&nbsp;배치</option> -->
</select>
</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹 설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,470 @@
<%@ 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/common/comPropertyMan.json" />';
var url_view = '<c:url value="/bap/admin/common/comPropertyMan.view" />';
var isDetail = false;
var lastsel2;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
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;
},
height : '500',
autowidth : true,
//autoheight : 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',
prptyGroupName : key,
searchSvrDstcd : svrDstcd
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
if(svrDstcd=="BAT"){
$("input[name=prptyGroupName]").val(detail['PRPTYGROUPID']);
$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPNAME']);
var rows = new Array();
for(var i=0; i<data.rows.length; i++){
rows.push({"PRPTYNAME":data.rows[i]['PRPTYID'] , "PRPTY2VAL":data.rows[i]['PRPTYDETAIL']});
}
$("#grid")[0].addJSONData(rows);
}else{
$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#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);
}
});
}
var svrDstcd = ("${param.searchSvrDstcd}"=="")?"BAP":"${param.searchSvrDstcd}";
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/common/comPropertyMan.json" />';
var key = "${param.prptyGroupName}";
var svrName = "일괄";
if(svrDstcd=="BAT") svrName = "배치";
$("input[name=svrName]").val(svrName);
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
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++) {
if(svrDstcd=="BAT"){
gridData.push({"PRPTYID": data[i]["PRPTYNAME"], "PRPTYDETAIL": data[i]["PRPTY2VAL"]});
}else{
gridData.push(data[i]);
}
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
if(svrDstcd=="BAT"){
postData = new Array();
postData.push({ name: "prptyGroupId" , value: $("input[name=prptyGroupName]").val()});
postData.push({ name: "prptyGroupName" , value: $("input[name=prptyGroupDesc]").val()});
}
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
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( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "searchSvrDstcd" , value:svrDstcd});
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["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").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);
});
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = svrDstcd+"_PROPERTY_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : svrDstcd == "BAT" ? "prptyGroupId" : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "fileName",
value : sqlFileName
});
postData.push({
name: "searchSvrDstcd" ,
value:svrDstcd
});
$.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("프로퍼티 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : svrDstcd == "BAT" ? "prptyGroupId" : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "svrType",
value : svrType
});
postData.push({
name: "searchSvrDstcd" ,
value:svrDstcd
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(key);
titleControl(key);
/* if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "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, isDetail ? "admin" : " ", "btn_clone_dev");
} */
/* 231102 김기영 이전기능 관련 숨김 처리 */
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, " ", "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" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">서버구분</th>
<td><input type="text" name="svrName" readonly/></td>
</tr>
<tr>
<th style="width:20%;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName" style="display:inline-block; width:calc(100% - 60px);"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,50 @@
<%@ page import="java.io.File"%>
<%@ page import="java.io.*"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>파일 다운로드</title>
</head>
<body>
<%
String filePath = request.getParameter("filePath");
String fileName = request.getParameter("fileName");
BufferedInputStream bis = null;
try {
out.clear();
out = pageContext.pushBody();
byte b[] = new byte[4096];
response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment; filename = " + fileName);
//FileInputStream is = new FileInputStream(filePath+fileName);
//소스코드점검 수정 20201026
bis = new BufferedInputStream(new FileInputStream(filePath+fileName));
ServletOutputStream sos = response.getOutputStream();
int numRead;
while((numRead = bis.read(b, 0, b.length)) != -1) {
sos.write(b,0,numRead);
}
sos.flush();
sos.close();
File file = new File(filePath+fileName);
if (file.exists()) file.delete();
} catch(Exception e) {
System.out.println(e);
} finally {
if(bis != null) bis.close();
}
%>
</body>
</html>
@@ -0,0 +1,122 @@
<%@ 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" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/lifecycleMan.json" />',
postData : gridPostData,
colNames:['라이프사이클 클래스명',
'로딩순서',
'라이프사이클 구분코드'
],
colModel:[
{ name : 'LIFECYCLCLSNAME' , align:'left' ,sortable:false },
{ name : 'LODINSEQ' , align:'center' },
{ name : 'LIFECYCLUSEDSTCD' , align:'center', editoptions:{value:"S:System;A:Application"}, formatter:"select" }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
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 key = rowData['LIFECYCLCLSNAME'];
var url = '<c:url value="/bap/admin/common/lifecycleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/lifecycleMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).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">라이프사이클 관리<span class="tooltip">시스템 기동 시 로딩 되는 라이프사이클 클래스를 조회합니다.</span></div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -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" >
var isDetail = false;
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', lifeCyclClsName : key},
success:function(json){
var data = json;
$("input[name=lifeCyclClsName]").attr('readonly',true);
$("#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()]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url ='<c:url value="/bap/admin/common/lifecycleMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,key,detail);
$("#btn_modify").click(function(){
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
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: "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">라이프사이클<span class="tooltip">IF시스템 기동 시 로딩되는 라이프사이클 클래스를 추가합니다.</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">라이프사이클 클래스명 *</th>
<td><input type="text" name="lifeCyclClsName"/> </td>
</tr>
<tr>
<th>로딩순서 *</th>
<td><input type="text" name="lodinSeq"/></td>
</tr>
<tr>
<th>라이프사이클 구분</th>
<td>
<div class="select-style">
<select name="lifeCyclUseDstcd" >
<option value="S">System</option>
<option value="A">Application</option>
</select>
</div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,142 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/common/propertyMan.json" />',
postData : gridPostData,
colNames:['프라퍼티 그룹명',
'프라퍼티 그룹설명'
],
colModel:[
{ name : 'PRPTYGROUPNAME' , align:'left' ,sortable:false },
{ name : 'PRPTYGROUPDESC' , align:'left' }
],
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 prptyGroupName = rowData['PRPTYGROUPNAME'];
var url = '<c:url value="/bap/admin/common/propertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/propertyMan.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">프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹 설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,429 @@
<%@ 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/common/propertyMan.json" />';
var url_view = '<c:url value="/bap/admin/common/propertyMan.view" />';
var isDetail = false;
var lastsel2;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
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;
},
height : '500',
autowidth : true,
//autoheight : 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',
prptyGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
//$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#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/common/propertyMan.json" />';
var key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
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]);
}
//공통부만 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( "삭제하시겠습니까?" ) != 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로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").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);
});
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_PROPERTY_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
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("프로퍼티 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "prptyGroupName",
value : $("input[name=prptyGroupName]").val()
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(key);
titleControl(key);
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "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, isDetail ? "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" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName" style="display:inline-block; width:calc(100% - 60px);"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,116 @@
<%@ 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 $Grid ={};
$(document).ready(function() {
$Grid = $('#grid');
$Grid.jqGrid({
url: '<c:url value="/bap/admin/common/serverMan.json" />',
postData : { cmd : 'LIST' },
datatype:"json",
colNames:['서버 인스턴스명',
'서버 아이피',
'서버 포트',
'마스터여부',
'호스트명'
],
colModel:[
{ name : 'EAISEVRINSTNCNAME', align:'left' ,sortable:false },
{ name : 'EAISEVRIP', align:'left' },
{ name : 'SEVRLSNPORTNAME', align:'left' },
{ name : 'FLOVRSEVRNAME', align:'left' },
{ name : 'HOSTNAME', align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
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 eaiSevrInstncName = rowData['EAISEVRINSTNCNAME'];
var url = '<c:url value="/bap/admin/common/serverMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
//
//key값
url = url + '&eaiSevrInstncName='+eaiSevrInstncName;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
$("#grid").trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/serverMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page=1';
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&searchMsg=';
goNav(url);
});
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">일괄전송 서버 관리<span class="tooltip">일괄전송 서버 정보를 조회하는 화면입니다. 일괄전송 서버와 동기화를 위한 중요한 자료입니다</span></div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,200 @@
<%@ 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 init(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
debugger;
//new makeOptions("CODE","NAME").setObj($("select[name=flovrSevrName]")).setNoValueInclude(true).setNoValue(' ','전체').setData(json.serverRows).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=flovrSevrName]")).setData(json.serverRows).rendering();
detail(url);
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url){
var key ="${param.eaiSevrInstncName}";
if (key != "" && key !="null"){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, eaiSevrInstncName : key
},
success:function(json){
$("input[name=eaiSevrInstncName]").attr('readonly',true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(json[name]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
}
function isValid(){
if($('input[name=eaiSevrInstncName]').val() == ""){
alert("일괄전송 서버인스턴스명을 입력하여 주십시요.");
return false;
// }else if($('select[name=flovrSevrName]').val() == ""){
// alert("장애극복서버명을 선택하여 주십시요.");
// return false;
}else if($('select[name=eaiSevrIp]').val() == ""){
alert("일괄전송 서버IP을 입력하여 주십시요.");
return false;
}else if($('input[name=sevrLsnPortName]').val() == ""){
alert("서버리슨포트명을 입력하여 주십시요.");
return false;
}else if($('select[name=hostName]').val() == ""){
alert("호스트명을 입력하여 주십시요.");
return false;
}
return true;
}
$(document).ready(function() {
var returnUrl = '${param.returnUrl}';
returnUrl = returnUrl + '?cmd='+'LIST';
returnUrl = returnUrl + '&page='+'${param.pages}';
returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색 조건
var url ='<c:url value="/bap/admin/common/serverMan.json" />';
var key ="${param.eaiSevrInstncName}";
if (key != "" && key != "null") {
isDetail = true;
}
titleControl(key);
buttonControl(key);
init(url);
$("#btn_modify").click(function(){
if (!isValid())return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (key != "" && key !="null"){
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: "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로 이동
});
});
</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">IF서버<span class="tooltip">일괄전송 서버 정보를 수정,삭제 합니다. 일괄전송 서버 간 동기화를 위한 중요한 자료이므로 주의를 요합니다</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;">IF서버인스턴스명</th><td><input type="text" name="eaiSevrInstncName"/> </td>
</tr>
<tr>
<th>마스터여부</th><td><div class="select-style"><select name="flovrSevrName"/></div></td>
</tr>
<tr>
<th>IF서버IP</th><td><input type="text" name="eaiSevrIp"/> </td>
</tr>
<tr>
<th>서버리슨포트명</th><td><input type="text" name="sevrLsnPortName"/> </td>
</tr>
<tr>
<th>호스트명</th><td><input type="text" name="hostName"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,175 @@
<%@ 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/sysinfoMan.json" />';
var url_view = '<c:url value="/bap/admin/common/sysinfoMan.view" />';
function init( callback ) {
if (typeof callback === 'function') {
callback();
}
}
function detail(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData }).trigger("reloadGrid");
}
$(document).ready(function() {
debugger;
init( detail);
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : getSearchForJqgrid("cmd","LIST"),
colNames:['시스템코드',
'시스템명칭',
'시스템IP',
'유저ID',
'송신디렉토리',
'수신디렉토리',
'SFTP여부',
'사용여부'
],
colModel:[
{ name : 'SYSCD' , align:'center' ,width:40 ,sortable:false },
{ name : 'SYSNAME' , align:'center' ,width:40 },
{ name : 'SYSIP' , align:'center' ,width:40 },
{ name : 'USERID' , align:'center' ,width:40 },
{ name : 'SENDDIR' , align:'center' ,width:40 },
{ name : 'RECVDIR' , align:'center' ,width:40 },
{ name : 'SFTPYN' , align:'center' ,width:40 ,
formatter: function (cellvalue) {
if ( cellvalue == '0' ) {
return 'FTP';
} else if ( cellvalue == '1' ) {
return 'SFTP';
} else {
return cellvalue;
}
}
},
{ 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;
}
}
}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
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 sysCd = rowData['SYSCD'];
var url2 = url_view;
url2 = url2 + '?cmd=DETAIL';
url2 = url2 + '&page='+$(this).getGridParam("page");
url2 = url2 + '&returnUrl='+getReturnUrl();
url2 = url2 + '&menuId='+'${param.menuId}';
//검색값
url2 = url2 + '&'+getSearchUrl();
//key값
url2 = url2 + '&sysCd='+sysCd;
goNav(url2);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).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">내부 연계 시스템 관리</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">시스템 코드</th>
<td><input type="text" name="searchSysCd" value="${param.searchSysCd}"></td>
<th style="width:180px;">시스템 명</th>
<td><input type="text" name="searchSysName" value="${param.searchSysName}"></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,185 @@
<%@ 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/sysinfoMan.json" />';
var url_view = '<c:url value="/bap/admin/common/sysinfoMan.view" />';
var isDetail = false;
function detail(key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
sysCd : key
},
success : function(json) {
var data = json;
var detail = json.detail;
debugger;
// $("select[name=workGrpCd]").attr("disabled",true);
// $("select[name=sndRcvKind]").attr("disabled",true);
// $("select[name=adptrKind]").attr("disabled",true);
// $("select[name=workGrpCd]").css({'background-color' : '#e5e5e5'});
// $("select[name=sndRcvKind]").css({'background-color' : '#e5e5e5'});
// $("select[name=adptrKind]").css({'background-color' : '#e5e5e5'});
$("input,select,textarea").each(function(){
var name = $(this).attr('name');
//.toUpperCase();
if ( name != null )
$(this).val(json[name.toUpperCase()]);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var key = "${param.sysCd}";
var returnUrl = '${param.returnUrl}';
returnUrl = returnUrl + '?cmd='+'LIST';
returnUrl = returnUrl + '&page='+'${param.pages}';
returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색조건
returnUrl = returnUrl + '&'+ getSearchUrlForReturn();
if (key != "" && key != "null") {
isDetail = true;
}
detail(key);
$("#btn_modify").click(function() {
//공통부만 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(json) {
alert("저장 되었습니다.");
goNav(returnUrl);
},
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);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);
});
$("select[name=sftpYn]").change(function(){
if ( $("select[name=sftpYn]").val() == '0' ){
$("input[name=sysPort]").val('21');
}else{
$("input[name=sysPort]").val('22');
}
});
buttonControl(key);
titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<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 class="table_row" cellspacing="0">
<tr><th style="width:180px;">시스템 코드</th><td><input type="text" name="sysCd"></td></tr>
<tr><th style="width:180px;">시스템 명칭</th><td><input type="text" name="sysName"></td></tr>
<tr><th style="width:180px;">시스템 IP</th><td><input type="text" name="sysIp"></td></tr>
<tr><th style="width:180px;">시스템 Port</th><td><input type="text" name="sysPort"></td></tr>
<tr><th style="width:180px;">USER ID</th><td><input type="text" name="userId"></td></tr>
<tr><th style="width:180px;">비밀번호</th><td><input type="password" name="userPassword"></td></tr>
<tr><th style="width:180px;">송신디렉토리</th><td><input type="text" name="sendDir"></td></tr>
<tr><th style="width:180px;">수신디렉토리</th><td><input type="text" name="recvDir"></td></tr>
<tr><th>SFTP여부</th>
<td><div class="select-style"><select name="sftpYn">
<option value="1">SFTP</option>
<option value="0">FTP</option>
</select></div></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>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,137 @@
<%@ 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" >
$(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 : '${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'];
var url = '<c:url value="/bap/admin/common/telePropertyMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&prptyGroupName='+prptyGroupName;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/common/telePropertyMan.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">전문 프로퍼티 관리<span class="tooltip">각 Layer에서 필요한 프라퍼티 Key, Value를 하나의 그룹으로 등록하기 위한 그룹명</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;">프로퍼티그룹</th>
<td>
<input type="text" name="searchPrptyGroupName" value="${param.searchPrptyGroupName}">
</td>
<th style="width:180px;">프로퍼티그룹설명</th>
<td>
<input type="text" name="searchPrptyGroupDesc" value="${param.searchPrptyGroupDesc}">
</td>
<th style="width:180px;">프로퍼티 키</th>
<td>
<input type="text" name="searchPrptyName" value="${param.searchPrptyName}">
</td>
<th style="width:180px;">프로퍼티 값</th>
<td>
<input type="text" name="searchPrpty2Val" value="${param.searchPrpty2Val}">
</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,305 @@
<%@ 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=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' src=<c:url value='/images/bt/pop_delete.gif' /> />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ '프라퍼티 키', '프라퍼티 값', '삭제여부' ],
colModel : [ { name : 'PRPTYNAME' , align : 'left', editable : true },
{ name : 'PRPTY2VAL' , align : 'left', editable : true },
{ name : 'DELETEYN' , align : 'center', unformat : unformatterFunction, formatter : formatterFunction } ],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSortCol : function(){
return 'stop'; //정렬 방지
},
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;
},
height : '500',
autowidth : true,
//autoheight : 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',
prptyGroupName : key
},
success : function(json) {
var data = json;
var detail = json.detail;
$("input[name=prptyGroupName]").attr('readonly', true);
$("input,select").each(function(){
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//$("input[name=prptyGroupName]").val(detail['PRPTYGROUPNAME']);
//$("input[name=prptyGroupDesc]").val(detail['PRPTYGROUPDESC']);
$("#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/common/telePropertyMan.json" />';
var key = "${param.prptyGroupName}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#btn_modify").click(function() {
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]);
}
//공통부만 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( "삭제하시겠습니까?" ) != 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로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var data = new Object();
data["PRPTYNAME"] = $("input[name=prptyName]").val();
data["PRPTY2VAL"] = $("input[name=prpty2Val]").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);
});
});
buttonControl(key);
titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">전문 프로퍼티</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티 그룹명 *</th>
<td><input type="text" name="prptyGroupName"/></td>
</tr>
<tr>
<th>프라퍼티 그룹설명 *</th>
<td><input type="text" name="prptyGroupDesc"/></td>
</tr>
</table>
</form>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">프라퍼티키</th>
<td><input type="text" name="prptyName" style="width:calc(100% - 85px); margin-right:10px;" /><img src="<c:url value="/img/btn_pop_input.png"/>" id="btn_pop_input" class="btn_img" /></td>
</tr>
<tr>
<th>프라퍼티 값</th>
<td><input type="text" name="prpty2Val"/></td>
</tr>
</table>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
+141
View File
@@ -0,0 +1,141 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/bap/admin/cron/cronMan.json" />';
var url_view = '<c:url value="/bap/admin/cron/cronMan.view" />';
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
//gridPostData.searchSchedId = $("input[name=searchSchedId]").val();
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData: gridPostData,
colNames:['<%= localeMessage.getString("cron.schedId") %>',
'<%= localeMessage.getString("cron.cronExp") %>',
'실행주기',
'<%= localeMessage.getString("cron.jobClassName") %>',
'<%= localeMessage.getString("cron.schedDstCd") %>',
'<%= localeMessage.getString("cron.scanDirName") %>',
'<%= localeMessage.getString("cron.timerMsg") %>'
],
colModel:[
{ name : 'SCHEDID', align:'center', sortable:false, width:50 },
{ name : 'CRONEXP', align:'left', width:60 },
{ name : 'CRONDESC', align:'left', width:100 },
{ name : 'JOBCLASSNAME', align:'left', width:150 },
{ name : 'SCHEDDSTCD', align:'center', width:80 },
{ name : 'SCANDIRNAME', align:'left' },
{ name : 'TIMERMSG', align:'left', width:80 }
],
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});
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['SCHEDID'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&schedId='+key;
goNav(url2);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
//postData.searchSchedId = $("input[name=searchSchedId]").val();
$("#grid").setGridParam({postData:postData, page:"1"}).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<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"><%= localeMessage.getString("cron.title") %><span class="tooltip"><%= localeMessage.getString("cron.tooltip") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("cron.search") %></th>
<td><input type="text" name="searchSchedId" value="${param.searchSchedId}"></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,236 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp" />
<jsp:include page="/jsp/common/include/script.jsp" />
<script language="javascript">
var url = '<c:url value="/bap/admin/cron/cronMan.json" />';
var url_view = '<c:url value="/bap/admin/cron/cronMan.view" />';
var isDetail = false;
function isValid() {
var schedId = $('input[name=schedId]').val();
if (schedId == "") {
alert("<%= localeMessage.getString("cronDetail.checkRequired1") %>");
$('input[name=schedId]').focus();
return false;
}
return true;
}
function init(key, callback) {
if (typeof callback === 'function') {
callback(key);
}
}
function detail(key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
schedId : key
},
success : function(json) {
var data = json;
$("input").each(function(){
var name = $(this).attr('name');
if (name != null)
$(this).val(data[name.toUpperCase()]);
});
$("input[name=schedId]").attr('readonly', true);
if($("input[name=cronExp]").val() != ""){
var val = $("input[name=cronExp]").val();
var cron = val.split(" ");
$("input[name=cronSec]").val(cron[0]);
$("input[name=cronMin]").val(cron[1]);
$("input[name=cronHour]").val(cron[2]);
$("input[name=cronDay]").val(cron[3]);
$("input[name=cronMon]").val(cron[4]);
}
},
error : function(e) {
alert(e.responseText);
}
});
}
function makeCronExp(){
var sec = $("input[name=cronSec]").val();
var min = $("input[name=cronMin]").val();
var hour = $("input[name=cronHour]").val();
var day = $("input[name=cronDay]").val();
var cronExp = sec + " " + min+ " " +hour+ " " +day+ " * ?";
$("input[name=cronExp]").val(cronExp);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.schedId}";
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("<%= localeMessage.getString("common.saveMsg") %>");
// LIST로 이동
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#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("<%= localeMessage.getString("common.deleteMsg") %>");
// LIST로 이동
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
// LIST로 이동
goNav(returnUrl);
});
$("input[name^=cron]").keyup(function(){
var name = $(this).attr('name');
if(name == "cronExp") return;
makeCronExp();
});
buttonControl(key);
titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<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"><%= localeMessage.getString("cron.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("cron.schedId") %></th>
<td><input type="text" name="schedId"/></td>
</tr>
<tr>
<th rowspan="2"><%= localeMessage.getString("cron.cronExp") %></th>
<td style="border-bottom:1px solid #ebebec;"><input type="text" name="cronExp" readonly/> </td>
</tr>
<tr>
<td>
<input type="text" name="cronSec" style="width:25px" /> <%= localeMessage.getString("common.sec") %>
<input type="text" name="cronMin" style="width:25px" /> <%= localeMessage.getString("common.min") %>
<input type="text" name="cronHour" style="width:25px"/> <%= localeMessage.getString("common.time") %>
<input type="text" name="cronDay" style="width:25px" /> <%= localeMessage.getString("common.day") %>
<input type="text" name="cronMon" style="width:25px" /> <%= localeMessage.getString("common.month") %>
<span style="display:inline-block; margin-left:20px; color:red;">
[ * : 매(초/분/시), / : 증분 {예시 : (0 */1 * * * ?) 매시 0초부터 1분 간격으로 실행} ]
</span>
</td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.jobClassName") %></th>
<td><input type="text" name="jobClassName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.schedDstCd") %></th>
<td><input type="text" name="schedDstCd"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.scanDirName") %></th>
<td><input type="text" name="scanDirName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("cron.timerMsg") %></th>
<td><input type="text" name="timerMsg"/> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,427 @@
<%@ 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 viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=searchTelgmClsDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsName]").focus();
} else {
$("#clone").hide();
$("input[name=searchTelgmClsName]").css({'background-color' : ''});
$("input[name=searchTelgmClsDesc]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var url_view = '<c:url value="/bap/admin/message/classInfoMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchTelgmClsName]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/classInfoMan.json" />',
postData : gridPostData,
colNames:['전문클래스명',
'전문클래스 설명'
],
colModel:[
{ name : 'TELGMCLSNAME' , align:'left' ,width:40 ,sortable:false },
{ name : 'TELGMCLSDESC' , align:'left' ,width:40 },
],
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 key = rowData['TELGMCLSNAME'];
var url = '<c:url value="/bap/admin/message/classInfoMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/classInfoMan.view"/>';
url = url + '?cmd=DETAIL';
url = url + '&page='+$("#grid").getGridParam("page");
url = url + '&returnUrl='+getSearchUrlForReturn();
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 data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var telgmClsNameList = [];
for (var i = 0; i <data.length; i++) {
telgmClsNameList.push(data[i]["TELGMCLSNAME"].trim());
}
var url = '<c:url value="/bap/admin/message/classInfoMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "telgmClsNameList",
value : telgmClsNameList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("클래스정보 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#clonYn").val("0").attr("selected","selected");
$("#btn_clone").click(function(){
var searchTelgmClsName = $("input[name=searchTelgmClsName]").val().trim();
var cloneTelgmClsName = $("input[name=cloneTelgmClsName]").val().trim();
var searchTelgmClsDesc = $("input[name=searchTelgmClsDesc]").val().trim();
var cloneTelgmClsDesc = $("input[name=cloneTelgmClsDesc]").val().trim();
if (searchTelgmClsName == "") {
alert("대상 전문클래스명을 입력해 주세요.");
return;
} else if (cloneTelgmClsName == "") {
alert("복제 전문클래스명을 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var urlPost ='<c:url value="/bap/admin/message/classInfoMan.json" />';
postData.push({name:"telgmClsName", value:data[i]["TELGMCLSNAME"].replace(searchTelgmClsName,cloneTelgmClsName)});
postData.push({name:"telgmClsDesc", value:data[i]["TELGMCLSDESC"].replace(searchTelgmClsDesc,cloneTelgmClsDesc)});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
}
alert("전문클래스 "+data.length+"건이 복제되었습니다.");
$("input[name=searchTelgmClsName]").val(cloneTelgmClsName);
$("input[name=searchTelgmClsDesc]").val(cloneTelgmClsDesc);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var telgmClsNameList = [];
for (var i = 0; i <data.length; i++) {
telgmClsNameList.push(data[i]["TELGMCLSNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "CLASS_INFO_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsNameList",
value : telgmClsNameList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/classInfoMan.json" />',
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("클래스정보 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData();
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var telgmClsNameList = [];
for (var i = 0; i <data.length; i++) {
telgmClsNameList.push(data[i]["TELGMCLSNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsNameList",
value : telgmClsNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/classInfoMan.json" />',
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("클래스정보 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 클래스정보가 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
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="content_middle">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_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">클래스정보 관리<span class="tooltip">클래스정보를 등록/관리합니다</span></div>
<table class="search_condition" id="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">전문클래스명</th>
<td><input type="text" name="searchTelgmClsName" value="${param.searchTelgmClsName}"></td>
<th style="width:150px;">전문클래스 설명</th>
<td><input type="text" name="searchTelgmClsDesc" value="${param.searchTelgmClsDesc}"></td>
<th style="width:150px;">복제 사용여부</th>
<td>
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:150px;">복제 전문클래스명</th>
<td><input type="text" name="cloneTelgmClsName"></td>
<th style="width:150px;">복제 전문클래스 설명</th>
<td colspan="3"><input type="text" name="cloneTelgmClsDesc" style="display:inline-block; width:calc(100% - 90px);"/>
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</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,169 @@
<%@ 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=TelgmClsName]').val() == ""){
alert("전문클래스명을 입력하여 주십시요.");
return false;
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
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'
, key : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=telgmClsName]").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/message/classInfoMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
//gridRendering();
init(url,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: "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" id="content_middle">
<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">클래스정보</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">전문클래스명</th><td><input type="text" name="telgmClsName" /> </td>
</tr>
<tr>
<th>전문클래스설명</th><td><input type="text" name="telgmClsDesc" /> </td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,453 @@
<%@ 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 viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchTelgmClsID]").css({'background-color' : '#e5e5e5'});
$("input[name=searchMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=searchTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsID]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsName]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsID]").focus();
} else {
$("#clone").hide();
$("input[name=searchTelgmClsID]").css({'background-color' : ''});
$("input[name=searchMsgMetaDstcd]").css({'background-color' : ''});
$("input[name=searchTelgmClsName]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var url = '<c:url value="/bap/admin/message/classMapMan.json" />';
var url_view = '<c:url value="/bap/admin/message/classMapMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchTelgmClsID]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['전문클래스 ID',
'전문클래스메타구분코드',
'전문클래스 명'
],
colModel:[
{ name : 'TELGMCLSID' , align:'left' ,width:40 ,sortable:false },
{ name : 'MSGMETADSTCD' , align:'left' ,width:40 },
{ name : 'TELGMCLSNAME' , align:'left' ,width:40 }
],
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 key = rowData['TELGMCLSID'];
var url = '<c:url value="/bap/admin/message/classMapMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
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();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var telgmClsIdList = [];
for (var i = 0; i <data.length; i++) {
telgmClsIdList.push(data[i]["TELGMCLSID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "telgmClsIdList",
value : telgmClsIdList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("클래스맵핑 "+data.length+"건이 삭제되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#clonYn").val("0").attr("selected","selected");
$("#btn_clone").click(function(){
var searchTelgmClsID = $("input[name=searchTelgmClsID]").val().trim();
var cloneTelgmClsID = $("input[name=cloneTelgmClsID]").val().trim();
var searchMsgMetaDstcd = $("input[name=searchMsgMetaDstcd]").val().trim();
var cloneMsgMetaDstcd = $("input[name=cloneMsgMetaDstcd]").val().trim();
var searchTelgmClsName = $("input[name=searchTelgmClsName]").val().trim();
var cloneTelgmClsName = $("input[name=cloneTelgmClsName]").val().trim();
if (searchTelgmClsID == "") {
alert("대상 전문클래스ID를 입력해 주세요.");
return;
} else if (cloneTelgmClsID == "") {
alert("복제 전문클래스ID를 입력해 주세요.");
return;
} else if (searchMsgMetaDstcd == "") {
alert("대상 메시지메타구분코드를 입력해 주세요.");
return;
} else if (cloneMsgMetaDstcd == "") {
alert("복제 메시지메타구분코드를 입력해 주세요.");
return;
} else if (searchTelgmClsName == "") {
alert("대상 전문클래스명을 입력해 주세요.");
return;
} else if (cloneTelgmClsName == "") {
alert("복제 전문클래스명을 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var urlPost = url;
postData.push({name:"telgmClsID", value:data[i]["TELGMCLSID"].replace(searchTelgmClsID,cloneTelgmClsID)});
postData.push({name:"msgMetaDstcd", value:data[i]["MSGMETADSTCD"].replace(searchMsgMetaDstcd,cloneMsgMetaDstcd)});
postData.push({name:"telgmClsName", value:data[i]["TELGMCLSNAME"].replace(searchTelgmClsName,cloneTelgmClsName)});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
}
alert("전문클래스매핑 "+data.length+"건이 복제되었습니다.");
$("input[name=searchTelgmClsID]").val(cloneTelgmClsID);
$("input[name=searchMsgMetaDstcd]").val(cloneMsgMetaDstcd);
$("input[name=searchTelgmClsName]").val(cloneTelgmClsName);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var telgmClsIdList = [];
for (var i = 0; i <data.length; i++) {
telgmClsIdList.push(data[i]["TELGMCLSID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "CLASS_MAP_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsIdList",
value : telgmClsIdList
});
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("클래스매핑 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData()
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var telgmClsIdList = [];
for (var i = 0; i <data.length; i++) {
telgmClsIdList.push(data[i]["TELGMCLSID"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchTelgmClsIdList",
value : telgmClsIdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("클래스맵핑 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 클래스맵핑이 이미 존재하여 복사되지 않았습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
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="content_middle">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_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">클래스맵핑 관리<span class="tooltip">클래스정보를 등록/관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">전문클래스ID</th>
<td><input type="text" name="searchTelgmClsID" value="${param.searchTelgmClsID}"></td>
<th style="width:150px;">메시지메타구분코드</th>
<td><input type="text" name="searchMsgMetaDstcd" value="${param.searchMsgMetaDstcd}"></td>
<th style="width:150px;">전문클래스명</th>
<td><input type="text" name="searchTelgmClsName" value="${param.searchTelgmClsName}"></td>
<th style="width:150px;">복제 사용여부</th>
<td>
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:150px;">복제 전문클래스ID</th>
<td><input type="text" name="cloneTelgmClsID"></td>
<th style="width:150px;">복제 메시지메타구분코드</th>
<td><input type="text" name="cloneMsgMetaDstcd"></td>
<th style="width:150px;">복제 전문클래스명</th>
<td colspan="3"><input type="text" name="cloneTelgmClsName" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,194 @@
<%@ 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=telgmClsID]').val().trim() == ""){
alert("전문클래스ID를 입력하여 주십시요.");
return false;
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function init(url,key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("CODE","CODE").setObj($("select[name=telgmClsName]")).setNoValueInclude(true).setData(json.clsNameList).rendering();
new makeOptions("CODE","CODE").setObj($("select[name=msgMetaDstcd]")).setNoValueInclude(true).setData(json.msgMetaDstList).rendering();
if (typeof callback === 'function') {
callback(url,key);
}
setSearchable("telgmClsName,msgMetaDstcd");
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, key : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=telgmClsID]").attr('readonly',true);
$("input,select").each(function(){
if($(this).attr('name')!=undefined){
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/message/classMapMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
init(url,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: "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" id="content_middle">
<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">클래스맵핑</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">전문클래스ID</th><td><input type="text" name="telgmClsID" /> </td>
</tr>
<tr>
<th>메시지메타구분코드</th><td><div class="select-style"><select type="text" name="msgMetaDstcd"></select></div> </td>
</tr>
<tr>
<th>전문클래스명</th><td><div class="select-style"><select type="text" name="telgmClsName"></select></div> </td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,188 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
$(document).ready(function() {
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchbjobBzwkPrcssDstcd]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/flowRuleMan.json" />',
postData : gridPostData,
colNames:['BATCH작업 업무처리구분코드',
'흐름규칙유형설명',
],
colModel:[
{ name : 'BJOBBZWKPRCSSDSTCD' , align:'left' ,sortable:false },
{ name : 'FLOWRULEPTRNDESC' , align:'center' }
],
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 key = rowData['BJOBBZWKPRCSSDSTCD'];
var url = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
/* var url = '<c:url value="/bap/admin/message/flowRuleMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_SESSION"
});
postData.push({
name : "searchbjobBzwkPrcssDstcd",
value : $("input[name=searchbjobBzwkPrcssDstcd]").val()
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
}); */
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/flowRuleMan.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_session").click(function(){
var url = '<c:url value="/bap/admin/message/flowRuleMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_SESSION"
});
postData.push({
name : "searchbjobBzwkPrcssDstcd",
value : $("input[name=searchbjobBzwkPrcssDstcd]").val()
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
/* $("#btn_search").click(); */
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<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">메시지흐름규칙 관리<span class="tooltip">메시지메타 정보를 등록 관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:50px;">BATCH작업 업무처리구분코드</th>
<td style="width:150px;">
<input type="text" name="searchbjobBzwkPrcssDstcd" value="${param.searchbjobBzwkPrcssDstcd}" />
<%-- <input type="text" name="searchbjobBzwkPrcssDstcd" value="${param.searchbjobBzwkPrcssDstcd}" style="display:inline-block; width:calc(100% - 70px);">
<img id="btn_session" src="<c:url value="/img/btn_pop_select.png" />" level="R" class="btn_img"/> --%>
</td>
<th style="width:50px;">흐름규칙 유형 설명</th>
<td style="width:150px;"><input type="text" name="searchflowRulePtrnDesc" value="${param.searchflowRulePtrnDesc}"></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,734 @@
<%@ 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/message/flowRuleMan.json" />';
var url_view = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
var url_excel= '<c:url value="/bap/admin/message/flowRuleMan.excel"/>';
var isDetail = false;
var isClone = false;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid() {
if ($('input[name=bjobBzwkPrcssDstcd]').val() == "") {
alert("업무처리구분코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=flowRulePtrnDesc]').val() == "") {
alert("흐름규칙유형설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=bjobBzwkPrcssDstcd]').val() == "") {
alert("업무처리구분코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=flowRulePtrnDesc]').val() == "") {
alert("흐름규칙유형설명을 입력하여 주십시요.");
return false;
}
return true;
}
function reloadGridWithScrollPosition(){
//scroll 위치 유지
var scrollPosition = $('#grid').closest(".ui-jqgrid-bdiv").scrollTop();
$("#grid").trigger('reloadGrid');
//scroll 위치 설정
$('#grid').closest(".ui-jqgrid-bdiv").scrollTop(scrollPosition);
}
function swapRow(prerow, nextrow){
var rowid = nextrow;
var preRowid = prerow;
var rowData = $("#grid").jqGrid('getRowData',rowid);
var newVal = "000"+(rowData['BJOBSTGESERNO']-1);
newVal = newVal.substring(newVal.length,newVal.length-3);
rowData['BJOBSTGESERNO'] = newVal;
var preRowData = $("#grid").jqGrid('getRowData',preRowid);
var preNewVal = "000"+(Number(preRowData['BJOBSTGESERNO'])+1);
preNewVal = preNewVal.substring(preNewVal.length, preNewVal.length-3);
preRowData['BJOBSTGESERNO'] = preNewVal;
$('#grid').jqGrid('setRowData',rowid, preRowData);
$('#grid').jqGrid('setRowData',preRowid, rowData);
$("#grid").jqGrid('sortGrid','BJOBSTGESERNO',true);
reloadGridWithScrollPosition();
}
function imgUpunformatter(cellvalue, options, rowObject) {
return "";
}
function imgDownunformatter(cellvalue, options, rowObject) {
return "";
}
function imgUpformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_up.png" />';
return "<img id='btn_move_up' name='img_up_"+rowId+"' "+url+ " class='btn_img' />";
}
function imgDownformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_down.png" />';
return "<img id='btn_move_down' name='img_down_"+rowId+"' "+url+ " class='btn_img'/>";
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_delete.png" />';
return "<img id='btn_pop_delete' name='img_del_"+rowId+"' "+url+ " class='btn_img'/>";
}
function cloneunformatter(cellvalue, options, rowObject) {
return "";
}
function cloneformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_clone.png" />';
return "<img id='btn_pop_clone' name='img_clone_"+rowId+"' "+url+ " class='btn_img'/>";
}
function gridRendering() {
$('#grid').jqGrid(
{
datatype : "local",
loadonce : true,
rowNum : 10000,
colNames : [ '처리구분코드', '일련번호', '구분코드', '유형명', '변동조건설명',
'유형구분', '세부운영코드','BATCH작업공통전문거래코드','타임아웃값','작업반복횟수',
'조건항목결정내용','처리우선','전문클래스ID','조건전문유형코드','조건전문관리코드',
'조건거래분류코드', '조건응답코드', '다음단계구분코드명' , '▲', '▼','삭제','복제'],
colModel : [
{ name : 'BJOBBZWKPRCSSDSTCD' , align : 'left' , sortable:false, hidden:true},
{ name : 'BJOBSTGESERNO' , align : 'left' , sortable:false},
{ name : 'BJOBSTGEDSTCD' , align : 'left' , sortable:false},
{ name : 'BJOBSTGEPTRNNAME' , align : 'left' , sortable:false},
{ name : 'BJOBSTGEFLXBLCNDNDESC', align : 'left' , sortable:false, width : 400},
{ name : 'TELGMPTRNDSTCD' , align : 'left' , sortable:false},
{ name : 'TELGMDTALSOPERCD' , align : 'left' , sortable:false},
{ name : 'BJOBCMNTELGMTRANCD' , align : 'left' , sortable:false},
{ name : 'TOUTVAL' , align : 'left' , sortable:false},
{ name : 'BJOBITERNOTMS' , align : 'left' , sortable:false},
{ name : 'CNDNITEMDCSNCTNT' , align : 'left' , sortable:false},
{ name : 'TRANPRCSSPRITY' , align : 'left' , sortable:false},
{ name : 'TELGMCLSID' , align : 'left' , sortable:false, width : 300},
{ name : 'CNDNTELGMPTRNCD' , align : 'left' , sortable:false},
{ name : 'CNDNTELGMMGTCD' , align : 'left' , sortable:false},
{ name : 'CNDNTRANCLSFICD' , align : 'left' , sortable:false},
{ name : 'CNDNRSPNSCD' , align : 'left' , sortable:false},
{ name : 'NEXTSTGEDSTCDNAME' , align : 'left' , sortable:false},
{ name : 'MOVEUP' , align : 'center', sortable:false, width : '80', unformat : imgUpunformatter, formatter : imgUpformatter},
{ name : 'MOVEDOWN' , align : 'center', sortable:false, width : '80', unformat : imgDownunformatter, formatter : imgDownformatter},
{ name : 'DELETEYN' , align : 'center', sortable:false, width : '80', unformat : unformatterFunction, formatter : formatterFunction},
{ name : 'CLONE' , align : 'center', sortable:false, width : '80', unformat : cloneunformatter, formatter : cloneformatter}
],
jsonReader : {
repeatitems : false
},
loadComplete : function(rowId) {
$("img[name^=img_del]").click(function() {
//alert(rowid);
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'BJOBSTGESERNO');
newVal = "000"+(Number(newVal)-1);
newVal = newVal.substring(newVal.length,newVal.length-3);
$('#grid').jqGrid('setCell',i,'BJOBSTGESERNO',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
reloadGridWithScrollPosition();
//$('#grid').trigger('reloadGrid');
});
$("img[name^=img_clone]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rowData = $('#grid').getRowData(rowId);
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var cloneRowid = index + 1;
var serno = "000"+cloneRowid;
rowData["BJOBSTGESERNO"] = ("000"+cloneRowid).substring(serno.length, serno.length-3);
$("#grid").jqGrid('addRow', {
rowID : cloneRowid,
initdata : rowData,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
// 복제 대상항목 다음 순서로 이동하기
for ( var i = cloneRowid; i >= Number(rowId)+1; i--){
var preRowid = String(Number(i)-1);
swapRow(preRowid,i);
$('#grid').jqGrid("setSelection",i);
}
});
$("img[name^=img_up]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name^=img_down]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
gridComplete : function() {
$("#clonYn").val("0").attr("selected","selected");
},
onSelectRow : function(rowid, status){
},
afterInsertRow : function (rowid, data){
$("img[name='img_del_"+rowid+"']").click(function() {
//alert(rowid);
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'BJOBSTGESERNO');
newVal = "000"+(Number(newVal)-1);
newVal = newVal.substring(newVal.length,newVal.length-3);
$('#grid').jqGrid('setCell',i,'BJOBSTGESERNO',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
reloadGridWithScrollPosition();
//$('#grid').trigger('reloadGrid');
});
$("img[name=img_up_"+rowid+"]").click(function() {
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name=img_down_"+rowid+"]").click(function() {
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
ondblClickRow: function(rowId) {
if (!isValidGrid()) {
return;
}
var args = new Object();
args['data'] = $("#grid").jqGrid('getRowData',rowId);
args['ispop'] = true;
args['rowId'] = rowId;
var url = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
url = url + "?cmd=POPUP";
var result = showModal(url,args,1000,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;
var ret = args.returnValue;
if(ret) {
$("#grid").jqGrid('setRowData', rowId,ret);
}
});
},
height : '350',
autowidth : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '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',
key : key
},
success : function(json) {
var data = json;
var detail = json.detail;
var list = json.list;
//adapterType
$("input[name=bjobBzwkPrcssDstcd]").attr('readonly', true);
$("input,select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//Prop
$("#grid").setGridParam({
dataType : "local",
data : list
}).trigger("reloadGrid");
},
error : function(e) {
alert(e.responseText);
}
});
}
function viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=cloneBjobBzwkPrcssDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneTelgmClsID]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneBjobBzwkPrcssDstcd]").focus();
} else {
$("#clone").hide();
}
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.key}";
if (key != "" && key != "null") {
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
gridRendering();
init(url, key, detail);
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'BJOBSTGESERNO', numberOfColumns: 4, titleText: 'BATCH작업단계'},
{startColumnName: 'TELGMPTRNDSTCD', numberOfColumns: 13, titleText: ''}
]
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'메시지흐름규칙 관리');
return false;
});
$("#btn_modify").click(function() {
if (!isValid()) return;
if (isDetail && isClone) {
if ( confirm( "복제하시겠습니까?" ) != true ) return;
} else if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
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 && isClone){
postData.push({ name: "cmd" , value:"INSERT"});
} else 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) {
if (isClone) {
alert('복제 되었습니다.');
goNav(returnUrl);//LIST로 이동
} else {
alert("저장 되었습니다.");
if (!isDetail)
goNav(returnUrl);//LIST로 이동
}
$("#grid").trigger("reloadGrid");//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#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로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var args = new Object();
var value = $("input[name=bjobBzwkPrcssDstcd]").val();
args['data'] = {BJOBBZWKPRCSSDSTCD:value};
args['ispop'] = false;
var url = '<c:url value="/bap/admin/message/flowRuleMan.view" />';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1000,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;
var data = new Object();
data = args.returnValue;
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
var serno = "000"+rowid;
data["BJOBSTGESERNO"] = ("000"+rowid).substring(serno.length, serno.length-3);
data["TRANPRCSSPRITY"] ='1';
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
});
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("#btn_pop_initialize").click(function(){
$("#grid").jqGrid('clearGridData');
});
$("#btn_clone").click(function(){
var cloneBjobBzwkPrcssDstcd = $("input[name=cloneBjobBzwkPrcssDstcd]").val();
var searchBjobBzwkPrcssDstcd = $("input[name=bjobBzwkPrcssDstcd]").val();
var cloneTelgmClsID = $("input[name=cloneTelgmClsID]").val();
if (cloneBjobBzwkPrcssDstcd == "") {
alert("복제 BATCH작업업무처리구분코드를 입력해 주세요.");
return;
} else if (cloneTelgmClsID == "") {
alert("복제 전문클래스ID를 입력해 주세요.");
return;
} else {
$("input[name=bjobBzwkPrcssDstcd]").val(cloneBjobBzwkPrcssDstcd.trim());
}
$("input[name=cloneBjobBzwkPrcssDstcd]").val("");
$("input[name=cloneTelgmClsID]").val("");
var data = $("#grid").getRowData();
var gridData = new Array();
for (var i = 0; i < data.length; i++) {
data[i]["BJOBBZWKPRCSSDSTCD"] = cloneBjobBzwkPrcssDstcd;
var sourceTelgmClsID = data[i]["TELGMCLSID"].split("_")[1];
if (cloneTelgmClsID != "" && sourceTelgmClsID != "") {
data[i]["TELGMCLSID"] = data[i]["TELGMCLSID"].replace(sourceTelgmClsID,cloneTelgmClsID);
}
$("#grid").setRowData(i+1,data[i]);
}
isClone = true;
});
$("#btn_download_sql").click(function() {
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "FLOW_RULE_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
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("메시지흐름규칙 입력 SQL문이 다운로드되었습니다.");
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지흐름규칙이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("메시지흐름규칙이 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "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, isDetail ? "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="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_excel.png"/>" alt="" id="btn_excel" 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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">메시지흐름규칙</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">BATCH작업업무처리구분코드</th>
<td colspan="3"><input type="text" name="bjobBzwkPrcssDstcd" /></td>
</tr>
<tr>
<th style="width:200px;">흐름규칙 유형 설명</th>
<td style="width:400px;"><input type="text" name="flowRulePtrnDesc"/></td>
<th style="width:120px;">복제 사용여부</th>
<td style="width:400px;">
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)" >
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:200px;">복제 BATCH작업업무처리구분코드</th>
<td style="width:310px;"><input type="text" name="cloneBjobBzwkPrcssDstcd"/></td>
<th style="width:120px;">복제 전문클래스ID</th>
<td style="width:200px;">
<input type="text" name="cloneTelgmClsID" style="display:inline-block; width:calc(100% - 90px);"/>
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="DETAIL" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</table>
</form>
<div style="margin-bottom:15px; text-align:right;">
<img id="btn_pop_input" src="<c:url value="/img/btn_input.png"/>" level="W" status="DETAIL,NEW" class="btn_img" />
<img id="btn_pop_initialize" src="<c:url value="/img/btn_initialize.png"/>" level="W" status="DETAIL,NEW" class="btn_img" />
</div>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,221 @@
<%@ 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(){
}
function disorder(val){
if( val == "RECV"){
$("input[name=telgmPtrnDstcd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=telgmDtalsOperCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=bjobCmnTelgmTranCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=cndnTelgmPtrnCd]").prop('disabled',false).css('background-color','white');
$("input[name=cndnTelgmMgtCd]").prop('disabled',false).css('background-color','white');
$("input[name=cndnTranClsfiCd]").prop('disabled',false).css('background-color','white');
}else if(val == "SEND") {
$("input[name=telgmPtrnDstcd]").prop('disabled',false).css('background-color','white');
$("input[name=telgmDtalsOperCd]").prop('disabled',false).css('background-color','white');
$("input[name=bjobCmnTelgmTranCd]").prop('disabled',false).css('background-color','white');
$("input[name=cndnTelgmPtrnCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=cndnTelgmMgtCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
$("input[name=cndnTranClsfiCd]").val(' ').prop('disabled',true).css('background-color','#e5e5e5');
}
}
function init(url,key,callback){
$("input[name=bjobBzwkPrcssDstcd]").val(key);
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_POP_COMBO',
bjobBzwkPrcssDstcd : key},
success:function(json){
new makeOptions("BJOBSTGEDSTCD","BJOBSTGEDSTCD").setObj($("select[name=bjobStgeDstcd]")).setNoValueInclude(true).setData(json.stgeDstcdList).rendering();
new makeOptions("BJOBSTGEDSTCD","BJOBSTGEDSTCD").setObj($("select[name=nextStgeDstcdName]")).setNoValueInclude(true).setData(json.stgeDstcdList).rendering();
disorder("SEND");
if (typeof callback === 'function') {
callback(url,key);
}
setSearchable("bjobStgeDstcd");
setSearchable("nextStgeDstcdName");
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key){
if (!isPopup)return;
var data = popData;
$("input[name=bjobBzwkPrcssDstcd]").attr('readonly',true);
$("select[name=bjobStgeDstcd]").attr('readonly',true);
$("input,select").each(function(){
if($(this).attr('name')!=undefined){
var name = $(this).attr('name').toUpperCase();
if ( name != null )
$(this).val(data[name]);
}
//alert(name + "|" + data[name] + "|");
});
disorder($("select[name=bjobStgePtrnName]").val());
}
$(document).ready(function() {
var url ='<c:url value="/bap/admin/message/flowRuleMan.json" />';
var key = popData['BJOBBZWKPRCSSDSTCD'];
/* if (popData != "" && popData !="null"){
isPopup = true;
} */
init(url,key,detail);
$("select[name=bjobStgeDstcd]").focus();
$("#btn_close").click(function(){
window.close();
});
$("#btn_modify").click(function(){
if ( confirm( "수정하시겠습니까?" ) != true ) return;
var retData = new Object();
$("input").each(function(){
if ($(this).attr('name') != undefined) {
var name = $(this).attr('name').toUpperCase();
var value =$(this).val();
if ( name != null && value != '') {
retData[name]=value;
} else {
console.log["blank : " +name];
retData[name]=" ";
}
}
});
$("select").each(function(){
if ($(this).attr('name') != undefined) {
var name = $(this).attr('name').toUpperCase();
var value =$(this).find("option:selected").val();
if ( name != null && value != '') {
retData[name]=value;
} else {
retData[name]=" ";
}
}
});
window.returnValue = retData;
$("#btn_close").trigger("click");
});
$("select[name=bjobStgePtrnName]").change(function(){
var val = $(this).val();
disorder(val);
});
//buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<img src="<c:url value="/img/btn_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:200px;">BATCH작업업무구분코드</th>
<td><input type="text" name="bjobBzwkPrcssDstcd"></td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:200px;">BATCH작업단계구분코드</th>
<td><div class="select-style"><select name="bjobStgeDstcd" id="bjobStgeDstcd"></select></div></td>
<th style="width:200px;">다음단계구분코드명</th>
<td><div class="select-style"><select name="nextStgeDstcdName" id="nextStgeDstcdName"></select></div></td>
</tr>
<tr>
<th style="width:200px;">BATCH작업단계유형명</th>
<td>
<div class="select-style"><select type="text" name="bjobStgePtrnName">
<option value="SEND">SEND</option>
<option value="RECV">RECV</option>
<option value="END">END</option>
<option value="EEND">EEND</option>
</select></div>
</td>
<th style="width:200px;">전문유형구분코드</th><td><input type="text" name="telgmPtrnDstcd"></td>
</tr>
<tr>
<th style="width:200px;">전문세부운영코드</th><td><input type="text" name="telgmDtalsOperCd"></td>
<th style="width:200px;">BATCH작업공통전문거래코드</th><td><input type="text" name="bjobCmnTelgmTranCd"></td>
</tr>
<tr>
<th style="width:200px;">타임아웃값</th><td><input type="text" name="toutVal" value='0'></td>
<th style="width:200px;">BATCH작업반복횟수</th><td><input type="text" name="bjobIterNotms" value='0'></td>
</tr>
<tr>
<th style="width:200px;">전문클래스ID</th><td><input type="text" name="telgmClsID"></td>
<th style="width:200px;">조건항목결정내용</th><td><input type="text" name="cndnItemDcsnCtnt"></td>
</tr>
<tr>
<th style="width:200px;">조건전문유형코드</th><td><input type="text" name="cndnTelgmPtrnCd"></td>
<th style="width:200px;">조건전문관리코드</th><td><input type="text" name="cndnTelgmMgtCd"></td>
</tr>
<tr>
<th style="width:200px;">조건거래분류코드</th><td><input type="text" name="cndnTranClsfiCd"></td>
<th style="width:200px;">조건응답코드</th><td><input type="text" name="cndnRspnsCd"></td>
</tr>
<tr>
<th style="width:200px;">BATCH작업단계변동조건설명</th><td colspan="3"><input type="text" name="bjobStgeFlxblCndnDesc"></td>
</tr>
</table>
</form>
<!-- tree -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,524 @@
<%@ 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 viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchBjobBzwkPrcssDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneBjobBzwkPrcssDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneBjobBzwkPrcssDstcd]").focus();
} else {
$("#clone").hide();
$("input[name=searchBjobBzwkPrcssDstcd]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
function lpad(str, padLen, padStr) {
if (padStr.length > padLen) {
alert("좌측에 채우고자 하는 문자열이 요청 길이보다 큽니다.");
return str;
}
str += "";
padStr += "";
while (str.length < padLen) str = padStr + str;
str = str.length >= padLen ? str.substring(0, padLen) : str;
return str;
}
function cloneunformatter(cellvalue, options, rowObject) {
return "";
}
function cloneformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_clone.png" />';
return "<img id='btn_pop_clone' name='img_clone_"+rowId+"' "+url+ " class='btn_img'/>";
}
$(document).ready(function() {
var url = '<c:url value="/bap/admin/message/flowStepMan.json" />';
var url_view = '<c:url value="/bap/admin/message/flowStepMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchBjobBzwkPrcssDstcd]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:[
'처리구분코드',
'단계구분코드',
'단계유형명',
'흐름컴포넌트명',
'전문클래스ID',
'단위전문길이',
'작업노드설명',
'복제'
],
colModel:[
{ name : 'BJOBBZWKPRCSSDSTCD' , align:'left' ,width:40 ,sortable:false },
{ name : 'BJOBSTGEDSTCD' , align:'left' ,width:40 },
{ name : 'BJOBSTGEPTRNNAME' , align:'left' ,width:40 },
{ name : 'BJOBFLOWCMPONAME' , align:'left' ,width:40 },
{ name : 'TELGMCLSID' , align:'left' ,width:40 },
{ name : 'UNITTELGMLEN' , align:'left' ,width:40 },
{ name : 'BJOBNODEDESC' , align:'left' ,width:40, hidden : false },
{ name : 'CLONE' , align:'center',width:10, unformat:cloneunformatter, formatter:cloneformatter}
],
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}]'),
loadComplete : function(rowId) {
$("img[name^=img_clone]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rowData = $('#grid').getRowData(rowId);
var postData = $('#ajaxForm').serializeArray();
var urlPost ='<c:url value="/bap/admin/message/flowStepMan.json" />';
var bjobStgeDstcd = rowData["BJOBSTGEDSTCD"].trim();
var cloneBjobStgeDstcd = bjobStgeDstcd.substring(0,1)+lpad(Number(bjobStgeDstcd.substring(2,5))+10, 4, "0");
postData.push({name: "bjobBzwkPrcssDstcd", value:rowData["BJOBBZWKPRCSSDSTCD"].trim()});
postData.push({name: "telgmClsID", value:rowData["TELGMCLSID"].trim()});
postData.push({name: "bjobStgeDstcd", value:cloneBjobStgeDstcd});
postData.push({name: "bjobStgePtrnName", value:rowData["BJOBSTGEPTRNNAME"]});
postData.push({name: "bjobFlowCmpoName", value:rowData["BJOBFLOWCMPONAME"]});
postData.push({name: "unitTelgmLen", value:rowData["UNITTELGMLEN"]});
postData.push({name: "bjobNodeDesc", value:rowData["BJOBNODEDESC"]});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
$("input[name=searchBjobBzwkPrcssDstcd]").val(rowData["BJOBBZWKPRCSSDSTCD"].trim());
$("#btn_search").click();
});
},
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 key = rowData['BJOBBZWKPRCSSDSTCD'];
var key2 = rowData['BJOBSTGEDSTCD'];
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
url = url + '&key2='+key2;
goNav(url);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
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();
goNav(url);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_delete").click(function() {
var data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
for (var i = 0; i <data.length; i++) {
bjobBzwkPrcssDstcdList.push(data[i]["BJOBBZWKPRCSSDSTCD"].trim());
bjobStgeDstcdList.push(data[i]["BJOBSTGEDSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "bjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "bjobStgeDstcdList",
value : bjobStgeDstcdList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("업무흐름단계 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#clonYn").val("0").attr("selected","selected");
$("#btn_clone").click(function(){
var searchBjobBzwkPrcssDstcd = $("input[name=searchBjobBzwkPrcssDstcd]").val().trim();
var cloneBjobBzwkPrcssDstcd = $("input[name=cloneBjobBzwkPrcssDstcd]").val().trim();
var cloneTelgmClsID = $("input[name=cloneTelgmClsID]").val().trim();
if (searchBjobBzwkPrcssDstcd == "") {
alert("대상 업무처리구분코드를 입력해 주세요.");
return;
} else if (cloneBjobBzwkPrcssDstcd == "") {
alert("복제 업무처리구분코드를 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var urlPost ='<c:url value="/bap/admin/message/flowStepMan.json" />';
var bjobBzwkPrcssDstcd = data[i]["BJOBBZWKPRCSSDSTCD"].trim();
postData.push({name:"bjobBzwkPrcssDstcd", value:bjobBzwkPrcssDstcd.replace(searchBjobBzwkPrcssDstcd,cloneBjobBzwkPrcssDstcd)});
var telgmClsID = data[i]["TELGMCLSID"].trim();
if ( telgmClsID != "" && cloneTelgmClsID != "") {
postData.push({name:"telgmClsID", value:telgmClsID.replace(telgmClsID,cloneTelgmClsID)});
} else {
postData.push({name:"telgmClsID", value:telgmClsID});
}
postData.push({name: "bjobStgeDstcd", value:data[i]["BJOBSTGEDSTCD"]});
postData.push({name: "bjobStgePtrnName", value:data[i]["BJOBSTGEPTRNNAME"]});
postData.push({name: "bjobFlowCmpoName", value:data[i]["BJOBFLOWCMPONAME"]});
postData.push({name: "unitTelgmLen", value:data[i]["UNITTELGMLEN"]});
postData.push({name: "bjobNodeDesc", value:data[i]["BJOBNODEDESC"]});
postData.push({name: "cmd", value:"INSERT"});
$.ajax({
type : "POST",
url:urlPost,
data:postData,
success:function(args){
},
error:function(e){
alert(e.responseText);
}
});
}
alert("업무흐름단계 "+data.length+"건이 복제되었습니다.");
$("input[name=searchBjobBzwkPrcssDstcd]").val(cloneBjobBzwkPrcssDstcd);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
for (var i = 0; i <data.length; i++) {
bjobBzwkPrcssDstcdList.push(data[i]["BJOBBZWKPRCSSDSTCD"].trim());
bjobStgeDstcdList.push(data[i]["BJOBSTGEDSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "FLOW_STEP_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchBjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "searchBjobStgeDstcdList",
value : bjobStgeDstcdList
});
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("메시지흐름단계 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData()
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
for (var i = 0; i <data.length; i++) {
bjobBzwkPrcssDstcdList.push(data[i]["BJOBBZWKPRCSSDSTCD"].trim());
bjobStgeDstcdList.push(data[i]["BJOBSTGEDSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchBjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "searchBjobStgeDstcdList",
value : bjobStgeDstcdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지흐름단계 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 메시지흐름단계가 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
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="content_middle">
<div class="search_wrap">
<!-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" /> -->
<!-- <img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" level="W" /> -->
<img src="<c:url value="/img/btn_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">흐름단계 리스트<span class="tooltip">흐름단계 리스트를 관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:120px;">업무처리구분코드</th>
<td style="width:200px;"><input type="text" name="searchBjobBzwkPrcssDstcd" value="${param.searchBjobBzwkPrcssDstcd}"></td>
<th style="width:120px;">단계구분코드</th>
<td style="width:200px;"><input type="text" name="searchBjobStgeDstcd" value="${param.searchBjobStgeDstcd}"></td>
<%-- <th style="width:120px;">흐름콤포넌트명</th>
<td style="width:200px;"><input type="text" name="searchBjobFlowCmpoName" value="${param.searchBjobFlowCmpoName}"></td> --%>
<th style="width:120px;">전문클래스ID</th>
<td style="width:200px;"><input type="text" name="searchTelgmClsID" value="${param.searchTelgmClsID}"></td>
<th style="width:120px;">복제 사용여부</th>
<td style="width:200px;">
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:120px;">복제 업무처리구분코드</th>
<td colspan="3"><input type="text" name="cloneBjobBzwkPrcssDstcd"></td>
<th style="width:120px;">복제 전문클래스ID</th>
<td colspan="3"><input type="text" name="cloneTelgmClsID" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</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,304 @@
<%@ 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 isDetail = false;
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
function isValid(){
if($('input[name=bjobBzwkPrcssDstcd]').val().trim() == ""){
alert("작업업무처리구분코드를 입력하여 주십시요.");
return false;
}else if($('input[name=bjobStgeDstcd]').val().trim() == ""){
alert("작업단계구분코드를 입력하여 주십시요.");
return false;
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function init(url,key,key2,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("CODE","CODE").setObj($("select[name=telgmClsID]")).setNoValueInclude(true).setData(json.clsIDList).rendering();
setSearchable("telgmClsID");
if (typeof callback === 'function') {
callback(url,key,key2);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(url,key,key2){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, key : key
, key2 : key2
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=bjobBzwkPrcssDstcd]").attr('readonly',true);
$("input[name=bjobStgeDstcd]").attr('readonly',true);
$("input,select").each(function(){
if($(this).attr('name')!=undefined){
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/message/flowStepMan.json" />';
var key ="${param.key}";
var key2 ="${param.key2}";
if (key != "" && key !="null"){
isDetail = true;
}
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
init(url,key,key2,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: "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로 이동
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var bjobBzwkPrcssDstcdList = [];
var bjobStgeDstcdList = [];
bjobBzwkPrcssDstcdList.push(key);
bjobStgeDstcdList.push(key2);
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchBjobBzwkPrcssDstcdList",
value : bjobBzwkPrcssDstcdList
});
postData.push({
name : "searchBjobStgeDstcdList",
value : bjobStgeDstcdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("정상 반영되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("이미 존재하여 정상 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 정상 반영되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl(isDetail);
titleControl(isDetail);
if(devSvr) {
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_prod");
setBtnHide(roleString, isDetail ? "admin" : " ", "btn_clone_stg");
} else if (stgSvr){
setBtnHide(roleString, " ", "btn_clone_dev");
setBtnHide(roleString, " ", "btn_clone_stg");
setBtnHide(roleString, isDetail ? "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, isDetail ? "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">
<div class="search_wrap">
<%-- <img src="<c:url value="/img/btn_clone.png"/>" alt="" id="btn_clone_stg" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_prod.png"/>" alt="" id="btn_clone_prod" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_clone_dev.png"/>" alt="" id="btn_clone_dev" 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_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>
<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">흐름단계</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">BATCH작업업무처리구분코드</th><td><input type="text" name="bjobBzwkPrcssDstcd" /> </td>
</tr>
<tr>
<th>BATCH작업단계구분코드</th><td><input type="text" name="bjobStgeDstcd"> </td>
</tr>
<tr>
<th>BATCH작업단계유형명</th>
<td>
<div class="select-style"><select type="text" name="bjobStgePtrnName">
<option value="SEND">SEND</option>
<option value="RECV">RECV</option>
<option value="END">END</option>
<option value="EEND">EEND</option>
</select></div>
</td>
</tr>
<tr>
<th>BATCH작업흐름컴포넌트명</th><td><input type="text" name="bjobFlowCmpoName"></td>
</tr>
<tr>
<th>전문클래스ID</th><td><div class="select-style"><select type="text" name="telgmClsID"></select></div> </td>
</tr>
<tr>
<th>단위전문길이</th><td><input type="text" name="unitTelgmLen"></td>
</tr>
<tr>
<th>BATCH작업노드설명</th><td><input type="text" name="bjobNodeDesc"></td>
</tr>
</table>
</form>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,425 @@
<%@ 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/message/messageItemMan.json" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var prdSvr = <%=SystemUtil.isProdServer()%>;
var stgSvr = <%=SystemUtil.isStagingServer()%>;
var svrType = '';
$(document).ready(function() {
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#clonYn").val("0").attr("selected","selected");
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/messageItemMan.json" />',
postData : gridPostData,
colNames:[
'메시지항목구분명',
'메시지컬럼명',
'메시지컬럼 속성유형코드',
'메시지컬럼값',
'당메시지 컬럼 사용여부'
],
colModel:[
{ name : 'MSGITEMDSTICNAME' , align:'left' , width:40 ,sortable:false },
{ name : 'MSGCLMNNAME' , align:'center' , width:40 },
{ name : 'MSGCLMNATTRIPTRNCD' , align:'center' , width:40 },
{ name : 'MSGCLMNVAL' , align:'center' , width:40 },
{ name : 'THISMSGCLMNUSEYN' , align:'center' , width:40 ,
formatter: function (cellvalue) {
if ( !cellvalue ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue ) {
return '사용함';
} else {
return cellvalue;
}
}
}
],
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 key = rowData['MSGITEMDSTICNAME'];
var url = '<c:url value="/bap/admin/message/messageItemMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/messageItemMan.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_clone").click(function(){
var searchMsgItemDsticName = $("input[name=searchMsgItemDsticName]").val().trim();
var cloneMsgItemDsticName = $("input[name=cloneMsgItemDsticName]").val().trim();
if (searchMsgItemDsticName == "") {
alert("대상 메시지항목 구분명을 입력해 주세요.");
return;
} else if (cloneMsgItemDsticName == "") {
alert("복제 메시지항목 구분명을 입력해 주세요.");
return;
}
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;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
postData.push({name:"msgItemDsticName", value:data[i]["MSGITEMDSTICNAME"].replace(searchMsgItemDsticName,cloneMsgItemDsticName)});
postData.push({name:"msgClmnName", value:data[i]["MSGCLMNNAME"].trim()});
postData.push({name:"msgClmnAttriPtrnCd", value:data[i]["MSGCLMNATTRIPTRNCD"].trim()});
postData.push({name:"msgClmnVal", value:data[i]["MSGCLMNVAL"].trim()});
postData.push({name:"thisMsgClmnUseYn", value:data[i]["THISMSGCLMNUSEYN"] == '사용함' ? '1' : '0'});
postData.push({name:"cmd", value:"CLONE"});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(args) {
},
error : function(e) {
alert(e.responseText);
}
});
}
alert("메시지 항목 "+data.length+"건이 복제되었습니다.");
$("input[name=searchMsgItemDsticName]").val(cloneMsgItemDsticName);
$("input[name=cloneMsgItemDsticName]").val("");
$("#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 msgItemDsticNameList = [];
for (var i = 0; i <data.length; i++) {
msgItemDsticNameList.push(data[i]["MSGITEMDSTICNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "msgItemDsticNameList",
value : msgItemDsticNameList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("메시지항목 "+data.length+"건이 삭제 되었습니다.");
$("#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 msgItemDsticNameList = [];
for (var i = 0; i <data.length; i++) {
msgItemDsticNameList.push(data[i]["MSGITEMDSTICNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "BAP_MSGITEM_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "msgItemDsticNameList",
value : msgItemDsticNameList
});
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+"건의 메시지항목 입력 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 msgItemDsticNameList = [];
for (var i = 0; i <data.length; i++) {
msgItemDsticNameList.push(data[i]["MSGITEMDSTICNAME"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "msgItemDsticNameList",
value : msgItemDsticNameList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지항목 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 메시지항목이 이미 존재하여 복사되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
},
error : function(e) {
alert(e.responseText);
}
});
});
buttonControl();
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">메시지항목 관리<span class="tooltip">메시지항목을 등록 관리합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">메시지항목 구분명</th>
<td style="width:20%;"><input type="text" name="searchMsgItemDsticName" value="${param.searchMsgItemDsticName}"></td>
<th>메시지 컬럼명</th>
<td><input type="text" name="searchMsgClmnName" value="${param.searchMsgClmnName}"></td>
<th>복제 메시지항목 구분명</th>
<td><input type="text" name="cloneMsgItemDsticName" style="display:inline-block; width:calc(100% - 70px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/></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,214 @@
<%@ 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=key]').val().trim() == ""){
alert("기관코드를 입력하여 주십시요.");
return false;
}else if($('input[name=kikwanName]').val() == ""){
alert("기관명를 입력하여 주십시요.");
return false;
} */
return true;
}
function isValidGrid(){
return true;
}
function init(url,key,callback){
if(typeof callback === 'function') {
callback(url,key);
}
if ("${param.subPopup}") {
$("#btn_previous").attr('status',"");
$("#btn_close").attr('status',"NEW");
} else {
$("#btn_previous").attr('status',"DETAIL,NEW");
$("#btn_close").attr('status',"");
}
}
function detail(url,key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL'
, MsgItemDsticName : key
},
success:function(json){
var data = json;
var detail = json.list;
//adapterType
$("input[name=msgItemDsticName]").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/message/messageItemMan.json" />';
var key ="${param.key}";
if (key != "" && key !="null"){
isDetail = true;
}
//gridRendering();
init(url,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("저장 되었습니다.");
if ("${param.subPopup}") { // 메타관리 팝업에서 사용되면 창닫기
window.close();
} else {
goNav(returnUrl); // LIST로 이동
}
},
error:function(e){
alert(e.responseText);
}
});
});
$("#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로 이동
});
$("#btn_close").click(function(){
window.close();
});
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_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"/>
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" status="NEW"/>
</div>
<div class="title">메시지항목</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:200px;">메시지 항목 구분명</th><td><input type="text" name="msgItemDsticName" /> </td>
</tr>
<tr>
<th>메시지 컬럼명</th><td><input type="text" name="msgClmnName" /> </td>
</tr>
<tr>
<th>메시지컬럼 속성유형코드 *</th>
<td>
<div class="select-style"><select name="msgClmnAttriPtrnCd">
<option value="AA">AA</option>
<option value="AN">AN</option>
<option value="NN">NN</option>
</select></div>
</td>
</tr>
<tr>
<th>메시지 컬럼값</th><td><input type="text" name="msgClmnVal" /> </td>
</tr>
<tr>
<th>당메시지 컬럼 사용여부 *</th>
<td>
<div class="select-style"><select name="thisMsgClmnUseYn">
<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,446 @@
<%@ 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 viewChange(e) {
if (e.value == "1"){
$("#clone").show();
$("input[name=searchMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgMetaDstcd]").css({'background-color' : '#e5e5e5'});
$("input[name=searchMsgDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgDesc]").css({'background-color' : '#e5e5e5'});
$("input[name=cloneMsgMetaDstcd]").focus();
} else {
$("#clone").hide();
$("input[name=searchMsgMetaDstcd]").css({'background-color' : ''});
$("input[name=searchMsgDesc]").css({'background-color' : ''});
}
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var url_view = '<c:url value="/bap/admin/message/messageMetaMan.view" />';
if(devSvr) {
svrType = "stg";
} else if (stgSvr){
svrType = "prod";
} else if (!prdSvr){
svrType = "dev";
}
// 일괄전송전문관리 모든 TAB의 조회조건을 특정 업무구분코드로 동기화한다.
<% String sessionAttr = (String)session.getAttribute("searchbjobBzwkPrcssDstcd"); %>
var sessionAttr = "<%= sessionAttr %>";
if (sessionAttr != "null" && sessionAttr != "") {
$("input[name=searchMsgMetaDstcd]").val(sessionAttr);
}
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#clonYn").val("0").attr("selected","selected");
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/messageMetaMan.json" />',
postData : gridPostData,
colNames:[
'메시지메타구분코드',
'메시지설명',
'당메시지 사용여부'
],
colModel:[
{ name : 'MSGMETADSTCD' , align:'left' ,width:40 ,sortable:false },
{ name : 'MSGDESC' , 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;
}
}
}
],
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 key = rowData['MSGMETADSTCD'];
var url = '<c:url value="/bap/admin/message/messageMetaMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&key='+key;
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url = '<c:url value="/bap/admin/message/messageMetaMan.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 data = getGridData();
if(data.length == 0){
alert("삭제 대상을 선택해 주세요");
return false;
}
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var msgMetaDstcdList = [];
for (var i = 0; i <data.length; i++) {
msgMetaDstcdList.push(data[i]["MSGMETADSTCD"].trim());
}
var url = '<c:url value="/bap/admin/message/messageMetaMan.json" />';
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DELETE"
});
postData.push({
name : "msgMetaDstcdList",
value : msgMetaDstcdList
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("메시지메타 "+data.length+"건이 삭제 되었습니다.");
$("#btn_search").click();
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_clone").click(function(){
var searchMsgMetaDstcd = $("input[name=searchMsgMetaDstcd]").val().trim();
var cloneMsgMetaDstcd = $("input[name=cloneMsgMetaDstcd]").val().trim();
var searchMsgDesc = $("input[name=searchMsgDesc]").val().trim();
var cloneMsgDesc = $("input[name=cloneMsgDesc]").val().trim();
if (searchMsgMetaDstcd == "") {
alert("대상 메시지메타 구분코드를 입력해 주세요.");
return;
} else if (cloneMsgMetaDstcd == "") {
alert("복제 메시지메타 구분코드를 입력해 주세요.");
return;
}
var data = getGridData();
if(data.length == 0){
alert("복제 대상을 선택해 주세요");
return false;
}
if ( confirm( "복제하시겠습니까?" ) != true ) return ;
for (var i = 0; i <data.length; i++) {
var postData = $('#ajaxForm').serializeArray();
var msgMetaDstcd = data[i]["MSGMETADSTCD"].trim();
postData.push({name:"msgMetaDstcd", value:msgMetaDstcd});
var newMsgMetaDstcd = msgMetaDstcd.replace(searchMsgMetaDstcd,cloneMsgMetaDstcd);
postData.push({name:"newMsgMetaDstcd", value:newMsgMetaDstcd});
if ( searchMsgDesc != "" && cloneMsgDesc != "") {
var msgDesc = data[i]["MSGDESC"].trim();
var newMsgDesc = msgDesc.replace(searchMsgDesc,cloneMsgDesc);
postData.push({name:"newMsgDesc", value:newMsgDesc});
}
var url = '<c:url value="/bap/admin/message/messageMetaMan.json" />';
postData.push({name:"cmd", value:"CLONE"});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(args) {
},
error : function(e) {
alert(e.responseText);
}
});
}
alert("메시지메타 "+data.length+"건이 복제되었습니다.");
$("input[name=searchMsgMetaDstcd]").val(cloneMsgMetaDstcd);
$("input[name=searchMsgDesc]").val(cloneMsgDesc);
$("#btn_search").click();
});
$("#btn_download_sql").click(function() {
var data = getGridData();
if(data.length == 0){
alert("입력쿼리 다운로드 대상을 선택해 주세요");
return false;
}
if ( confirm( "입력쿼리를 다운로드하시겠습니까?" ) != true ) return;
var msgMetaDstcdList = [];
for (var i = 0; i <data.length; i++) {
msgMetaDstcdList.push(data[i]["MSGMETADSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
var sqlFileName = "MSG_META_INPUT_QUERY.sql";
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchMsgMetaDstcdList",
value : msgMetaDstcdList
});
postData.push({
name : "fileName",
value : sqlFileName
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/messageMetaMan.json" />',
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("메시지메타 입력 SQL문이 다운로드되었습니다.")
},
error : function(e) {
alert(e.responseText);
}
});
});
$("img[id=btn_clone_"+svrType+"]").click(function() {
var data = getGridData();
if(data.length == 0){
alert("복사 대상을 선택해 주세요");
return false;
}
if ( confirm( "복사하시겠습니까?" ) != true ) return;
var msgMetaDstcdList = [];
for (var i = 0; i <data.length; i++) {
msgMetaDstcdList.push(data[i]["MSGMETADSTCD"].trim());
}
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "LIST_DOWNLOAD_SQL"
});
postData.push({
name : "searchMsgMetaDstcdList",
value : msgMetaDstcdList
});
postData.push({
name : "svrType",
value : svrType
});
$.ajax({
type : "POST",
url : '<c:url value="/bap/admin/message/messageMetaMan.json" />',
data : postData,
success : function(args) {
if (args.result != "" && args.error == "") {
alert("메시지메타 "+data.length+"건이 복사되었습니다.");
} else if (args.error != "") {
if ("${fn:contains(args.error,'SqlIntegrityConstraintViolationException')}") {
alert("일부 메시지메타가 이미 존재하여 반영되지 않었습니다.");
} else {
alert("오류가 발생하여 복사되지 않았습니다. 오류 : "+args.error);
}
}
goNav(returnUrl);
},
error : function(e) {
alert(e.responseText);
}
});
});
//buttonControl();
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">메시지메타 관리<span class="tooltip">메시지메타 정보를 등록 관리합니다</span></div>
<form id="ajaxForm">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">메시지메타 구분코드</th>
<td><input type="text" name="searchMsgMetaDstcd" value="${param.searchMsgMetaDstcd}"></td>
<th style="width:150px;">메시지 설명</th>
<td><input type="text" name="searchMsgDesc" value="${param.searchMsgDesc}"></td>
<th style="width:120px;">복제 사용여부</th>
<td style="width:120px;">
<div class="select-style">
<select name="clonYn" id="clonYn" readonly="readonly" onchange="viewChange(this)">
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
<tr id="clone" hidden="hidden">
<th style="width:150px;">복제 메시지메타 구분코드</th>
<td style="width:120px;"><input type="text" name="cloneMsgMetaDstcd"></td>
<th style="width:120px;">복제 메시지 설명</th>
<td colspan="3"><input type="text" name="cloneMsgDesc" style="display:inline-block; width:calc(100% - 90px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="LIST" class="btn_img"/>
<img id="btn_download_sql" src="<c:url value="/img/icon_download.png"/>" class="btn_img" level="W" status="DETAIL"/>
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,480 @@
<%@ 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=bjobBzwkDstcd]').val() == "") {
alert("업무그룹코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=bjobBzwkName]').val() == "") {
alert("업무그룹명를 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=msgMetaDstcd]').val() == "") {
alert("메타구분코드를 입력하여 주십시요.");
return false;
} else if ($('input[name=msgDesc]').val() == "") {
alert("메타 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function swapRow(prerow, nextrow){
var rowid = nextrow;
var preRowid = prerow;
var rowData = $("#grid").jqGrid('getRowData',rowid);
rowData['MSGCLMNSEQ'] = rowData['MSGCLMNSEQ']-1;
var preRowData = $("#grid").jqGrid('getRowData',preRowid);
preRowData['MSGCLMNSEQ'] = Number(preRowData['MSGCLMNSEQ'])+1;
$('#grid').jqGrid('setRowData',rowid, preRowData);
$('#grid').jqGrid('setRowData',preRowid, rowData);
$("#grid").jqGrid('sortGrid','MSGCLMNSEQ',true);
$("#grid").trigger('reloadGrid');
}
function imgUpunformatter(cellvalue, options, rowObject) {
return "";
}
function imgDownunformatter(cellvalue, options, rowObject) {
return "";
}
function imgUpformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_up.png" />';
return "<img id='btn_move_up' name='img_up_"+rowId+"' "+url+ " class='btn_img' />";
}
function imgDownformatter(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_down.png" />';
return "<img id='btn_move_down' name='img_down_"+rowId+"' "+url+ " class='btn_img' />";
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_delete.png" />';
return "<img id='btn_pop_delete' name='img_del_"+rowId+"' "+url+ " class='btn_img' />";
}
function gridRendering() {
$('#grid').jqGrid(
{
datatype : "local",
loadonce : true,
rowNum : 10000,
colNames : [ '메시지항목구분명', '메시지컬럼명', '메시지컬럼순서', '속성유형코드',
'메시지컬럼값', '▲', '▼', '삭제' ],
colModel : [
{ name : 'MSGITEMDSTICNAME', align : 'left' , sortable:false},
{ name : 'MSGCLMNNAME', align : 'left' , sortable:false},
{ name : 'MSGCLMNSEQ', align : 'left' , sorttype:'integer', sortable:false},
{ name : 'MSGCLMNATTRIPTRNCD',align : 'left' , sortable:false},
{ name : 'MSGCLMNVAL', align : 'left' , sortable:false},
{ name : 'MOVEUP', align : 'center', sortable:false, width : '50',unformat : imgUpunformatter,formatter : imgUpformatter},
{ name : 'MOVEDOWN', align : 'center' , sortable:false, width : '50', unformat : imgDownunformatter, formatter : imgDownformatter},
{ name : 'DELETEYN', align : 'center' , sortable:false, width : '50', unformat : unformatterFunction, formatter : formatterFunction}
],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
$("img[name^=img_del]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
debugger;
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'MSGCLMNSEQ');
newVal = Number(newVal)-1;
$('#grid').jqGrid('setCell',i,'MSGCLMNSEQ',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
$('#grid').trigger('reloadGrid');
});
$("img[name^=img_up]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name^=img_down]").click(function() {
var name = $(this).attr("name");
var rowid = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
gridComplete : function() {
},
onSelectRow : function(rowid, status){
},
afterInsertRow : function (rowid, data){
$("img[name='img_del_"+rowid+"']").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[2];
var rows = $('#grid').jqGrid('getGridParam','reccount');
debugger;
for ( var i = Number(rowId)+1 ; i <= rows; i ++){
var newVal = $('#grid').jqGrid('getCell',i,'MSGCLMNSEQ');
newVal = Number(newVal)-1;
$('#grid').jqGrid('setCell',i,'MSGCLMNSEQ',newVal);
}
$('#grid').jqGrid('delRowData', rowId);
$('#grid').trigger('reloadGrid');
});
$("img[name=img_up_"+rowid+"]").click(function() {
if(rowid==1) return;
var preRowid = String(Number(rowid)-1);
swapRow(preRowid,rowid);
$('#grid').jqGrid("setSelection",preRowid);
});
$("img[name=img_down_"+rowid+"]").click(function() {
var rows = $('#grid').jqGrid('getGridParam','reccount');
if( rowid==rows.toString()) return;
var nextRowid = String(Number(rowid)+1);
swapRow(rowid, nextRowid);
$('#grid').jqGrid("setSelection",nextRowid);
});
},
height : '400',
autowidth : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'content_middle', '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',
msgMetaDstcd : key
},
success : function(json) {
var data = json;
var detail = json.detail;
var list = json.list;
//adapterType
$("input[name=msgMetaDstcd]").attr('readonly', true);
$("input,select").each(function() {
var name = $(this).attr('name').toUpperCase();
$(this).val(detail[name]);
});
//Prop
$("#grid").setGridParam({
dataType : "local",
data : list
}).trigger("reloadGrid");
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/message/messageMetaMan.json" />';
var key = "${param.key}";
if (key != "" && key != "null") {
isDetail = true;
}
gridRendering();
init(url, key, detail);
$("#grid").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'MSGITEMDSTICNAME', numberOfColumns: 5, titleText: '메시지항목 ITEM 리스트'},
{startColumnName: 'MOVEUP', numberOfColumns: 3, titleText: '이동'}
]
});
$("#btn_modify").click(function() {
if (!isValid()) return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
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("저장 되었습니다.");
//if (!isDetail)
goNav(returnUrl);//LIST로 이동
//$("#grid").trigger("reloadGrid");//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#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로 이동
});
$("#btn_pop_input").click(function() {
if (!isValidGrid()) {
return;
}
var args = new Object();
args['check'] = "";
var url = '<c:url value="/bap/admin/message/messageMetaMan.view" />';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1200,678, 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 data = [];
data = args.returnValue;
for (var i = 0; i <data.length; i++) {
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length - 1]).attr("id"));
if (isNaN(index))
index = 0;
var rowid = index + 1;
data[i]["MSGCLMNSEQ"] = rowid;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data[i],
position : "last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {
extraparam : {}
}
});
}
});
});
$("#" + $('#grid').jqGrid('getGridParam', 'selrow')).focus();
$("#btn_pop_initialize").click(function(){
$("#grid").jqGrid('clearGridData');
});
$("#btn_clone").click(function(){
if ( confirm( "복제하시겠습니까?" ) != true ) return;
// 복제할 메시지메타구분코드
var newMsgMetaDstcd = $("input[name=newMsgMetaDstcd]").val();
if (!isValid()) return;
// 복제할 메시지메타구분코드 입력여부 체크.
if(newMsgMetaDstcd == "")
{
alert("복제할 메시지메타구분코드를 입력하세요.");
$("input[name=newMsgMetaDstcd]").focus();
return;
} else {
$("input[name=msgMetaDstcd]").val(newMsgMetaDstcd);
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"INSERT"});
postData.push({ name: "gridData" , value:JSON.stringify(gridData)});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert('메시지메타정보가 복제되었습니다.');
detail(url,newMsgMetaDstcd);
},
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="content_middle">
<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">메시지메타</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th style="width:180px;">메시지 메타구분코드</th>
<td style="width:38%;"><input type="text" name="msgMetaDstcd" />
</td>
<th>복제 메타구분코드</th>
<td>
<input type="text" name="newMsgMetaDstcd" style="display:inline-block; width:calc(100% - 70px);">
<img id="btn_clone" src="<c:url value="/img/btn_clone1.png" />" level="W" status="DETAIL" class="btn_img"/>
</td>
</tr>
<tr>
<th>메시지 설명</th>
<td colspan="3"><input type="text" name="msgDesc" />
</td>
</tr>
<tr>
<th>당메시지 사용여부 *</th>
<td colspan="3"><div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div></td>
</tr>
</table>
</form>
<div style="margin-bottom:15px; text-align:right;">
<img id="btn_pop_input" src="<c:url value="/img/btn_input.png"/>" level="W" status="DETAIL,NEW" class="btn_img" />
<img id="btn_pop_initialize" src="<c:url value="/img/btn_initialize.png"/>"" level="W" status="DETAIL,NEW" class="btn_img" />
</div>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,249 @@
<%@ 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 arg = window.dialogArguments["check"];
function unformatterFunction(cellvalue, options, rowObject){
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_delete.png" />';
return "<img id='btn_delete' name='img_del_"+rowId+"' "+url+ " class='btn_img' />";
}
function gridCloneName(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<input type='text' name='text_clone_"+rowId+"' style='display:inline-block; border:0; margin:0; height:20px; width:calc(100% - 10px);'>";
}
function gridCloneFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
var url = 'src=<c:url value="/img/btn_grid_clone.png" />';
return "<img id='btn_clone' name='img_clone_"+rowId+"' "+url+ " class='btn_img' />";
}
function getGridData() {
var id = "grid";
var data = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
data.push($("#grid").getRowData(ids[i]));
}
}
return data;
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/message/messageItemMan.json" />',
postData : gridPostData,
colNames:['메시지항목구분명',
'메시지컬럼명',
'메시지컬럼 속성유형코드',
'메시지컬럼값',
'당메시지 컬럼 사용여부',
'복제항목명',
'복제',
'삭제'
],
colModel:[
{ name : 'MSGITEMDSTICNAME' , align:'left' ,width:40 ,sortable:false },
{ name : 'MSGCLMNNAME' , align:'center' ,width:40 },
{ name : 'MSGCLMNATTRIPTRNCD' , align:'center' ,width:30 },
{ name : 'MSGCLMNVAL' , align:'center' ,width:30 },
{ name : 'THISMSGCLMNUSEYN' , align:'center' ,width:30 ,
formatter: function (cellvalue) {
if ( !cellvalue ) {
return '<span style="color:red">사용안함</span>';
} else if ( cellvalue ) {
return '사용함';
} else {
return cellvalue;
}
}
},
{ name : 'MSGITEMCLONENAME', align:'left', sortable:false, width:40, unformat:unformatterFunction, formatter:gridCloneName},
{ name : 'MSGITEMCLONE' , align:'center', sortable:false, width:20, unformat:unformatterFunction, formatter:gridCloneFunction},
{ name : 'DELETEYN' , align:'center', sortable:false, width:20, unformat:unformatterFunction, formatter:formatterFunction}
],
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 result = [];
result.push(rowData);
window.returnValue = result;
$("#btn_close").trigger("click");
},
onSelectRow: function(rowId,status) {
var rowData = $(this).getRowData(rowId);
$("img[name='img_del_"+rowId+"']").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "msgItemDsticName" , value:rowData['MSGITEMDSTICNAME']});
var url2 = '<c:url value="/bap/admin/message/messageItemMan.json" />';
$.ajax({
type:"POST",
url:url2,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
$('#grid').trigger('reloadGrid');
},
error:function(e){
alert(e.responseText);
}
});
});
$("img[name='img_clone_"+rowId+"']").click(function() {
var postData = $('#ajaxForm').serializeArray();
var thisMsgClmnUseYn = rowData['THISMSGCLMNUSEYN'] == '사용함' ? '1' : '0';
postData.push({ name: "cmd" , value:"INSERT"});
postData.push({ name: "msgItemDsticName" , value:$("input[name='text_clone_"+rowId+"']").val()});
postData.push({ name: "msgClmnName" , value:rowData['MSGCLMNNAME']});
postData.push({ name: "msgClmnAttriPtrnCd" , value:rowData['MSGCLMNATTRIPTRNCD']});
postData.push({ name: "msgClmnVal" , value:rowData['MSGCLMNVAL']});
postData.push({ name: "thisMsgClmnUseYn" , value:thisMsgClmnUseYn});
var url2 = '<c:url value="/bap/admin/message/messageItemMan.json" />';
$.ajax({
type:"POST",
url:url2,
data:postData,
success:function(args){
alert("복제 되었습니다.");
$('#grid').trigger('reloadGrid');
},
error:function(e){
alert(e.responseText);
}
});
});
}
});
resizeJqGridWidth('grid','content_middle','1160');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_new").click(function(){
var args = new Object();
args['check'] = "";
var url = '<c:url value="/bap/admin/message/messageItemMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&subPopup='+true;
var ret = showModal(url,args,800,500, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
});
$('#grid').trigger('reloadGrid');
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_input").click(function(){
var data = getGridData();
if(data.length == 0){
alert("입력할 메시지항목을 선택해 주세요");
return false;
}
if ( confirm( "입력하시겠습니까?" ) != true ) return;
window.returnValue = data;
$("#btn_close").trigger("click");
});
// buttonControl();
});
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img src="<c:url value="/img/btn_input.png"/>" alt="" id="btn_input" 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" />
<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:150px;">메시지항목 구분명</th>
<td><input type="text" name="searchMsgItemDsticName" value="${param.searchMsgItemDsticName}"></td>
<th style="width:150px;">메시지 컬럼명</th>
<td><input type="text" name="searchMsgClmnName" value="${param.searchMsgClmnName}"></td>
</tr>
</table>
</form>
<!-- tree -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end popup_box -->
</body>
</html>
@@ -0,0 +1,241 @@
<%@ 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 dateFormat(cellvalue, options, rowObject) {
if ( cellvalue == null || cellvalue.length < 8 )
return '';
return cellvalue.substr(0 ,4) + '-' +
cellvalue.substr(4, 2) + '-' +
cellvalue.substr(6, 2) ;
}
function getDateStr(cellvalue, options, rowObject) {
var base_dt = rowObject['BASE_DT'];
var yyyyMMdd = String(base_dt);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(4,6);
var sDate = yyyyMMdd.substring(6,8);
var date = new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
var week = ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'];
var returnStr = '';
if(date.getDay() == 0) { // 일요일
returnStr = '<span style="color:red">'+week[date.getDay()]+'</span>';
} else if (date.getDay() == 6) { // 토요일
returnStr = '<span style="color:blue">'+week[date.getDay()]+'</span>';
} else {
returnStr = week[date.getDay()];
}
return returnStr;
}
function getHoldayCd ( holday_cd ) {
if ( holday_cd == '영업일' ) {
return '1';
} else if( holday_cd == '휴일' ) {
return '2';
} else if( holday_cd == '토요일' ) {
return '3';
}
}
function getLrclDd ( lpmn_yn ) {
if ( lpmn_yn == '윤달' ) {
return '1';
} else if( lpmn_yn == '' ) {
return '0';
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/businessDayMan.json" />',
postData: gridPostData,
colNames: [ '기준일자',
'음력일자',
'요일',
'일자구분',
'윤달여부',
],
colModel: [
{ name : 'BASE_DT' , align:'center', sortable:false , formatter: dateFormat },
{ name : 'LRCL_DT' , align:'center', sortable:false , formatter: dateFormat },
{ name : 'WEEK' , align:'center', sortable:false , formatter: getDateStr },
{ name : 'HOLDAY_CD' , align:'center',
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '영업일';
} else if( cellvalue == '2' ) {
return '휴일';
} else if( cellvalue == '3' ) {
return '토요일';
} else {
return cellvalue;
}
}
},
{ name : 'LPMN_YN' , align:'center',
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '윤달';
} else if( cellvalue == '0') {
return '';
} else {
return cellvalue;
}
}
}
],
jsonReader: {
repeatitems:false
},
pager: $('#pager'),
page: '${param.page}',
// rowNum: '${rmsDefaultRowNum}',
rowNum: '50',
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 base_dt = rowData['BASE_DT'];
var lrcl_dt = rowData['LRCL_DT'];
var lpmn_yn = rowData['LPMN_YN'];
var holday_cd = rowData['HOLDAY_CD'];
var url = '<c:url value="/bap/admin/schedule/businessDayMan.view" />';
url += '?cmd=DETAIL';
url += '&page=' + $(this).getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
//key값
//url += '&base_dt=' + base_dt;
url += '&base_dt=' + base_dt.replaceAll('-', '');
url += '&lrcl_dt=' + lrcl_dt.replaceAll('-', '');
url += '&lpmn_yn=' + getLrclDd(lpmn_yn);
url += '&holday_cd=' + getHoldayCd(holday_cd);
url += '&end=Yes';
goNav(url);
}
, loadComplete:function (d) {
// 토요일, 휴일
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var val = $("#grid").getCell(rows[i],'HOLDAY_CD');
if(val =="토요일"){
$("#"+rows[i]).find("td").css("background-color","#D9E5FF");
} else if(val =="휴일"){
$("#"+rows[i]).find("td").css("background-color","#FFD8D8");
}
// 금일 bold처리 필요시 주석제거
/*
var val = $("#grid").getCell(rows[i],'BASE_DT').replaceAll("-","");
if(val == getToday()) {
$("#"+rows[i]).find("td").css("font-weight","bold");
}
*/
}
}
});
resizeJqGridWidth('grid', 'title', '1000');
$("#btn_search").click(function() {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
postData["likeBaseDT"] = postData["likeBaseDT"].replaceAll("-","");
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function() {
var url = '<c:url value="/bap/admin/schedule/businessDayMan.view"/>';
url += '?cmd=DETAIL';
url += '&page=' + $("#grid").getGridParam("page");
url += '&returnUrl=' + getReturnUrl();
url += '&menuId=' + '${param.menuId}';
//검색값
url += '&' + getSearchUrl();
goNav(url);
});
$("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;
});
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_excel.png"/>" id="btn_excel" 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>
<div class="title">영업일 관리<span class="tooltip">일괄전송 시스템에서 관리 하는 영업일 목록을 조회합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:250px;">기준일자</th><td><input type="text" name="likeBaseDT" maxlength="10" value="${param.likeBaseDT}"></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,164 @@
<%@ 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");
%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@page import="com.eactive.eai.rms.common.util.CommonConstants"%>
<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=BASE_DT]').val() == "") {
alert("기준일자를 입력하여 주십시요.");
return false;
} else if($('input[name=LRCL_DT]').val() == "") {
alert("음력일자 입력하여 주십시요.");
return false;
}
return true;
}
function detail( base_dt, lrcl_dt, lpmn_yn, holday_cd) {
if (!isDetail) return;
$("input[name=BASE_DT]").val(base_dt);
$("input[name=LRCL_DT]").val(lrcl_dt);
$("select[name=LPMN_YN]").val(lpmn_yn);
$("select[name=HOLDAY_CD]").val(holday_cd);
$("input[name=BASE_DT]").attr('readonly', true);
// $("select[name=holday_cd]").attr('disabled', true);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/schedule/businessDayMan.json" />';
var base_dt = "${param.base_dt}";
var lrcl_dt = "${param.lrcl_dt}";
var lpmn_yn = "${param.lpmn_yn}";
var holday_cd = "${param.holday_cd}";
if (base_dt != "" && base_dt != "null") {
isDetail = true;
}
detail(base_dt, lrcl_dt, lpmn_yn, holday_cd);
$("#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: "cmd", value: "DELETE"});
postData.push({ name: "BASE_DT" , value: $("select[name=BASE_DT]").val()});
$.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">영업일</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th>기준일자</th><td><input type="text" maxlength="8" name="BASE_DT" /> </td>
</tr>
<tr>
<th>음력일자</th><td><input type="text" maxlength="8" name="LRCL_DT" /> </td>
</tr>
<tr>
<th style="width:180px;">윤달여부</th>
<td><div class="select-style"><select name="LPMN_YN">
<option value="0">아니요</option>
<option value="1">예</option>
</select></div>
</td>
</tr>
<tr>
<th style="width:180px;">일자유형</th>
<td><div class="select-style"><select name="HOLDAY_CD">
<option value="1">영업일</option>
<option value="2">휴일</option>
<option value="3">토요일</option>
</select></div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,158 @@
<%@ 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/schedule/holidayMan.json" />';
var url_view = '<c:url value="/bap/admin/schedule/holidayMan.view"/>';
function getHoldyDstcd ( holdyDstcdName ){
if ( holdyDstcdName == '공휴일' ) {
return '1';
} else if( holdyDstcdName == '임시공휴일' ) {
return '2';
} else if( holdyDstcdName == '음력휴일' ) {
return '3';
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['휴일일자',
'휴일 유형',
'설명'
],
colModel:[
{ name : 'HOLDYYMD' , align:'center', width: '30', sortable:false },
{ name : 'HOLDYDSTCD' , align:'center', width: '30' ,
formatter: function (cellvalue) {
if ( cellvalue == '1' ) {
return '공휴일';
} else if( cellvalue == '2' ) {
return '임시공휴일';
} else if( cellvalue == '3' ) {
return '음력휴일';
} else {
return cellvalue;
}
}
},
{ name : 'EVNTSCHDRHOLDYCTNT' , align:'left' , width: '100' }
],
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 holdyYmd = rowData['HOLDYYMD'];
var holdyDstcd = rowData['HOLDYDSTCD'];
var evntSchdrHoldyCtnt = rowData['EVNTSCHDRHOLDYCTNT'];
var url = url_view;
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&'+getSearchUrl();
//key값
url = url + '&holdyYmd='+holdyYmd;
url = url + '&holdyDstcd='+ getHoldyDstcd(holdyDstcd);
url = url + '&evntSchdrHoldyCtnt='+ (evntSchdrHoldyCtnt);
url = url + '&end=Yes';
/* goNav(encodeURI(url)); */
goNav(url);
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
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();
goNav(url);
});
$("input[name^=like]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" 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">휴일 관리<span class="tooltip">일괄전송 시스템에서 관리 하는 휴일 목록을 조회합니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">휴일 일자</th><td><input type="text" name="likeHoldyYmd" maxlength="8" value="${param.searchHoldyYmd}"></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,159 @@
<%@ 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=holdyYmd]').val() == ""){
alert("휴일 일자를 입력하여 주십시요.");
return false;
}else if($('input[name=evntSchdrHoldyCtnt]').val() == ""){
alert("설명 입력하여 주십시요.");
return false;
}
return true;
}
function detail( holdyYmd, holdyDstcd, evntSchdrHoldyCtnt){
if (!isDetail)return;
$("input[name=holdyYmd]").val(holdyYmd);
$("select[name=holdyDstcd]").val(holdyDstcd);
$("input[name=evntSchdrHoldyCtnt]").val(evntSchdrHoldyCtnt);
$("input[name=holdyYmd]").attr('readonly',true);
$("select[name=holdyDstcd]").attr('disabled',true);
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var url = '<c:url value="/bap/admin/schedule/holidayMan.json" />';
var holdyYmd ="${param.holdyYmd}";
var holdyDstcd ="${param.holdyDstcd}";
var evntSchdrHoldyCtnt ="${param.evntSchdrHoldyCtnt}";
debugger;
if (holdyYmd != "" && holdyYmd !="null"){
isDetail = true;
}
detail(holdyYmd,holdyDstcd,evntSchdrHoldyCtnt);
$("#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"});
}
postData.push({ name: "holdyDstcd" , value:$("select[name=holdyDstcd]").val()});
$.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: "cmd" , value:"DELETE"});
postData.push({ name: "holdyDstcd" , value:$("select[name=holdyDstcd]").val()});
$.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_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">휴일</div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<!-- 공통-->
<tr>
<th>휴일일자</th><td><input type="text" maxlength="8" name="holdyYmd" /> </td>
</tr>
<tr>
<th style="width:180px;">휴일유형</th>
<td><div class="select-style"><select name="holdyDstcd">
<option value="1">공휴일</option>
<option value="2">임시공휴일</option>
<option value="3">음력휴일</option>
</select></div>
</td>
</tr>
<tr>
<th>설명</th><td><input type="text" maxlength="40" name="evntSchdrHoldyCtnt" /> </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,171 @@
<%@ 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/schedule/procPeriodMan.json" />';
var url_view = '<c:url value="/bap/admin/schedule/procPeriodMan.view"/>';
var select_sndRcvTyp = new Array();
function init(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL_INIT_COMBO'},
success:function(json){
list();
},
error:function(e){
alert(e.responseText);
}
});
}
function list(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1", datatype:"json" }).trigger("reloadGrid");
}
$(document).ready(function() {
// 그리드 - 송수신 주기타입 설정
select_sndRcvTyp['value'] = ": ;C1:일반복;C2:월반복;C3:월 영업일 반복;C4:주반복;C5:매주 영업일 반복;C6:주 요일 반복;C7:주 영업일 반복";
resizeJqGridWidth('grid','title','1000');
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"local",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['거래처리 주기ID',
'업무명',
'대외기관명',
'배치작업구분코드',
'배치작업 메시지 구분명',
'송수신유형',
'송수신시작시간',
'송수신종료시간',
'송수신주기타입'
],
colModel:[
{ name : 'BJOBMSGSCHEID' , align : 'center',hidden:true},
{ name : 'BJOBBZWKNAME' , align : 'left'},
{ name : 'OSIDINSTINAME' , align : 'left'},
{ name : 'BJOBTRANDSTCDNAME' , align : 'left'},
{ name : 'BJOBMSGDSTICNAME' , align : 'left'},
{ name : 'SENDRECVYN' , align : 'center', editable : false , edittype:'select',editoptions:{value:" : ;S:송신;R:수신"}, formatter:"select"},
{ name : 'SNDRCVSTARTHMS' , align : 'center', formatter: timeFormat},
{ name : 'SNDRCVENDHMS' , align : 'center', formatter: timeFormat},
{ name : 'SNDRCVCYCLTYPNAME' , align : 'left', editable : false , edittype:'select',editoptions:select_sndRcvTyp, formatter:"select"}
],
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 bJobMsgScheId = rowData['BJOBMSGSCHEID'].trim();
var detailUrl = url_view;
detailUrl = detailUrl + '?cmd=DETAIL';
detailUrl = detailUrl + '&page='+$(this).getGridParam("page");
detailUrl = detailUrl + '&returnUrl='+getReturnUrl();
detailUrl = detailUrl + '&menuId='+'${param.menuId}';
detailUrl = detailUrl + '&returnUrl='+getReturnUrl();
detailUrl = detailUrl + '&bJobMsgScheId='+bJobMsgScheId;
detailUrl = detailUrl + '&'+getSearchUrl();
//검색값
goNav(detailUrl);
}
});
init();
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({url:url, postData: postData, page:"1", datatype:"json" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var returnUrl = url_view;
returnUrl = returnUrl + '?cmd=DETAIL';
returnUrl = returnUrl + '&page='+$("#grid").getGridParam("page");
returnUrl = returnUrl + '&returnUrl='+getReturnUrl();
returnUrl = returnUrl + '&menuId='+'${param.menuId}';
//검색값
returnUrl = returnUrl + '&'+getSearchUrl();
goNav(returnUrl);
});
$("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">
<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">거래처리 주기 관리<span class="tooltip">일괄 전송 파일의 거래처리 주기 목록을 조회하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">업무명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></td>
<th style="width:150px;">대외기관명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></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,656 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" src="<c:url value="/js/jquery.mask.min.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/bap/admin/schedule/procPeriodMan.json" />';
var isDetail = false;
function isValid(){
if ($('select[name=bjobBzwkDstcd]').val()==""){
alert("업무구분명을 선택하여 주십시요.");
$('select[name=bjobBzwkDstcd]').focus();
return false;
}
if ($('select[name=osidInstiDstcd]').val()==""){
alert("대상기관명을 선택하여 주십시요.");
$('select[name=osidInstiDstcd]').focus();
return false;
}
if ($('select[name=bjobMsgDstcd]').val()==""){
alert("파일명을 선택하여 주십시요.");
$('select[name=bjobMsgDstcd]').focus();
return false;
}
if ($('input[name=sndrcvStartHMS]').val()==null){
alert("시작시간을 입력하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
if ($('input[name=sndrcvEndHMS]').val()==null){
alert("종료시간을 입력하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
if($('input[name=sndrcvStartHMS]').val().length < 4 )
{
alert("시작시간을 확인하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
if($('input[name=sndrcvEndHMS]').val().length < 4)
{
alert("종료시간을 확인하여 주십시요.");
$('input[name=sndrcvEndHMS]').focus();
return false;
}
if($('input[name=sndrcvStartHMS]').val() > $('input[name=sndrcvEndHMS]').val())
{
alert("시작시간과 종료시간을 확인하여 주십시요.");
$('input[name=sndrcvStartHMS]').focus();
return false;
}
return true;
}
// 거래처리 주기 관리 상세화면 초기화
function init(key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL_INIT_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=bjobBzwkDstcd]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.bjobBzwkDstcdList).rendering(); // BATCH작업 거래구분코드
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.osidInstiDstcdList).setAttr("BJOBBZWKDSTCD", "BJOBBZWKDSTCD").rendering(); // BATCH작업 거래구분코드
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setNoValueInclude(true).setData(json.bjobMsgDstcdList).setAttr("BJOBBZWKDSTCD", "BJOBBZWKDSTCD").rendering(); // BATCH작업 거래구분코드
new makeOptions("CODE","NAME").setObj($("select[name=sendRecvYn]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.sndRcvTypeList).rendering(); // 송수신구분
setSearchable("bjobBzwkDstcd,osidInstiDstcd,bjobMsgDstcd");
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
// BATCH작업메시지구분코드, 대외기관코드 콤보 조회
function osidFileCombo()
{
var strBjobBzwkDstcd = $("select[name=bjobBzwkDstcd]").val();
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL_OSID_FILE_COMBO', bjobBzwkDstcd : strBjobBzwkDstcd},
success:function(json){
$("select[name=bjobMsgDstcd],select[name=osidInstiDstcd]").empty();
if(strBjobBzwkDstcd == "" || strBjobBzwkDstcd == null || strBjobBzwkDstcd == undefined)
{
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setData("", "선택안함").rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setData("", "선택안함").rendering();
}
else{
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setNoValueInclude(true).setFormat(codeName3OptionFormat).setData(json.osidInstiDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setNoValueInclude(true).setData(json.bjobMsgDstcd).rendering();
}
},
error:function(e){
alert(e.responseText);
}
});
}
// 거래처리 주기 관리 등록 기본설정
function detailInit()
{
$(":radio[name=periodType]:radio[value=C1]").attr("checked", true);
$(":radio[name=daily]:radio[value=D]").attr("checked", true);
$(":radio[name=periodType]").change();
}
// 거래처리 주기 관리 상세조회
function detail(key){
if (!isDetail){
osidFileCombo();
detailInit();
return;
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', bJobMsgScheId : key},
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();
if(name!=undefined){
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
}
});
$("select[name=bjobBzwkDstcd] option, select[name=osidInstiDstcd] option, select[name=bjobMsgDstcd] option, select[name=sendRecvYn] option").not(":selected").remove();
// 거래처리 주기 설정.
setSendRecvType(data.SNDRCVCYCLTYPNAME);
},
error:function(e){
alert(e.responseText);
}
});
}
// 거래처리 주기 생성(등록 및 수정할 때)
function getSendRecvType()
{
var selectedCase = $(":radio[name=periodType]:checked").val();
var sendRecvType = '';
if(selectedCase == 'C1') { // 일반복
sendRecvType = $(":radio[name=daily]:checked").val();
}
else if(selectedCase == 'C2') { // 월반복
sendRecvType = $("select[name=monthly]").val();
sendRecvType = sendRecvType + $("select[name=monthDaily]").val();
sendRecvType = sendRecvType + $(":radio[name=monthlyHYDaily]:checked").val();
}
else if(selectedCase == 'C3') { // 월 영업일 반복
sendRecvType = $("select[name=monthlyY]").val();
sendRecvType = sendRecvType + $("select[name=monthlyYDaily]").val();
}
else if(selectedCase == 'C4') { // 주반복
sendRecvType = $("select[name=weekYDay]").val();
}
else if(selectedCase == 'C5') { // 매주 영업일 반복
sendRecvType = $("select[name=weekYDaily]").val();
}
else if(selectedCase == 'C6') { // 주 요일 반복
sendRecvType = $("select[name=week]").val();
sendRecvType = sendRecvType + $("select[name=day]").val();
}
else if(selectedCase == 'C7') { // 주 영업일 반복
sendRecvType = $("select[name=weekY]").val();
sendRecvType = sendRecvType + $("select[name=dailyY]").val();
}
return $.trim(sendRecvType);
}
// 거래처리 주기 설정(상세조회)
function setSendRecvType(sendRecvType)
{
var selectedCase = 'C1';
if(
sendRecvType == 'D' ||
sendRecvType == 'Y' ||
sendRecvType == 'Y+' ||
sendRecvType == 'S'
) {
// 일반복
$(":radio[name=daily]:radio[value='" + sendRecvType + "']").attr("checked", true);
selectedCase = 'C1';
}
else if(sendRecvType.length >= 4 &&
!isNaN(sendRecvType.substring(0,1))
) {
// 월반복
var rdoVal = "";
$("select[name=monthly]").val(sendRecvType.substring(0,2));
$("select[name=monthDaily]").val(sendRecvType.substring(2,4));
if(sendRecvType.length == 5) {
rdoVal = sendRecvType.substring(4,5);
}
$(":radio[name=monthlyHYDaily]:radio[value='" + rdoVal + "']").attr("checked", true);
selectedCase = 'C2';
}
else if(
// 월 영업일 반복
sendRecvType.length == 5 &&
sendRecvType.charAt(0) == 'Y'
) {
$("select[name=monthlyY]").val(sendRecvType.substring(0,3));
$("select[name=monthlyYDaily]").val(sendRecvType.substring(3,5));
selectedCase = 'C3';
}
else if(
// 주반복
sendRecvType.length == 2 &&
sendRecvType.charAt(0) == 'D'
) {
$("select[name=weekYDay]").val(sendRecvType);
selectedCase = 'C4';
}
else if(
// 매주 영업일 반복
sendRecvType.length >= 3 &&
sendRecvType.substring(0,2) == 'DY'
) {
$("select[name=weekYDaily]").val(sendRecvType);
selectedCase = 'C5';
}
else if(
// 주 요일 반복
sendRecvType.length == 4 &&
sendRecvType.charAt(0) == 'W' &&
sendRecvType.charAt(2) == 'D'
) {
$("select[name=week]").val(sendRecvType.substring(0,2));
$("select[name=day]").val(sendRecvType.substring(2,4));
selectedCase = 'C6';
}
else if(
// 주 영업일 반복
sendRecvType.length >= 4 &&
sendRecvType.charAt(0) == 'W' &&
sendRecvType.charAt(2) == 'Y'
) {
$("select[name=weekY]").val(sendRecvType.substring(0,2));
$("select[name=dailyY]").val(sendRecvType.substring(2,sendRecvType.length));
selectedCase = 'C7';
}
$(":radio[name=periodType]:radio[value=" + selectedCase + "]").attr("checked", true);
$(":radio[name=periodType]").change();
}
$(document).ready(function() {
$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").inputmask("hh:mm",{'autoUnmask':true});
var returnUrl = getReturnUrlForReturn();
var key ="${param.bJobMsgScheId}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key, detail);
// BATCH작업거래구분코드 이벤트
$("select[name=bjobBzwkDstcd]").change(function(){
// Batch작업메시지 구분코드
osidFileCombo();
});
// 주기구분 선택 이벤트
$(":radio[name=periodType]").change(function(){
var radioSize = $(":radio[name=periodType]").size();
var rdoVal = $(":radio[name=periodType]:checked").val();
var rdoIdx = rdoVal.substring(1);
for(var i = 0; i < radioSize; i++)
{
if(i+1 == rdoIdx)
{
$(".sndrcvCyclTyp"+(i+1)).attr("disabled", false);
continue;
}
else
{
$(".sndrcvCyclTyp"+(i+1)).attr("disabled", true);
}
}
});
// 등록 및 수정 이벤트
$("#btn_modify").click(function(){
if(!isValid()) return;
if (isDetail) {
if ( confirm( "수정하시겠습니까?" ) != true ) return;
} else {
if ( confirm( "등록하시겠습니까?" ) != true ) return;
}
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
postData.push({ name: "sndrcvCyclTypName" , value: getSendRecvType()});
postData.push({ name: "sendRecvYn" , value: $("select[name=sendRecvYn]").val()});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("저장 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
var txt = JSON.parse(e.responseText).errorMsg;
alert(txt);
}
});
});
// 삭제 이벤트
$("#btn_delete").click(function(){
if ( confirm( "삭제하시겠습니까?" ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "bjobMsgScheID" , value:key});
$.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로 이동
});
// 버튼 및 TITLE 제어(공통함수)
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">거래처리 주기<span class="tooltip">일괄전송 파일의 거래처리 주기를 관리하는 화면입니다</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr style="display:none"><td><input name="bjobMsgScheID" ></td></tr>
<tr>
<th style="width:180px;">업무구분명 *</th>
<td><div class="select-style"><select name="bjobBzwkDstcd"></select></div></td>
<th style="width:160px;">대상기관명 *</th>
<td><div class="select-style"><select name="osidInstiDstcd"></select></div></td>
</tr>
<tr>
<th>파일명 *</th>
<td><div class="select-style"><select name="bjobMsgDstcd"></select></div></td>
<th>송수신구분 *</th>
<td><div class="select-style"><select name="sendRecvYn"></select></div></td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;"><input type="radio" name="periodType" value="C1" id="sub4_8_3_detail_1"><label for="sub4_8_3_detail_1">일반복</label></th>
<td class="sndrcvCyclTyp1">
<input type="radio" name="daily" value="D" id="sub4_8_3_detail_2"><label for="sub4_8_3_detail_2">매일처리(D)</label>
<input type="radio" name="daily" value="Y" id="sub4_8_3_detail_3"><label for="sub4_8_3_detail_3">매 영업일 처리(Y)</label>
<input type="radio" name="daily" value="Y+" id="sub4_8_3_detail_4"><label for="sub4_8_3_detail_4">매 영업 익일 처리(Y+)</label>
<input type="radio" name="daily" value="S" id="sub4_8_3_detail_5"><label for="sub4_8_3_detail_5">매 영업일/토요일 처리(S)</label>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C2" id="sub4_8_3_detail_6"><label for="sub4_8_3_detail_6">월반복</label></th>
<td>
<div class="sndrcvCyclTyp2 select-style" style="display:inline-block; width:30%;">
<select name="monthly">
<option value="00">매월</option>
<option value="01">1월</option>
<option value="02">2월</option>
<option value="03">3월</option>
<option value="04">4월</option>
<option value="05">5월</option>
<option value="06">6월</option>
<option value="07">7월</option>
<option value="08">8월</option>
<option value="09">9월</option>
<option value="10">10월</option>
<option value="11">11월</option>
<option value="12">12월</option>
</select>
</div>
<div class="sndrcvCyclTyp2 select-style" style="display:inline-block; width:30%;">
<select name="monthDaily">
<option value="01">1일</option>
<option value="02">2일</option>
<option value="03">3일</option>
<option value="04">4일</option>
<option value="05">5일</option>
<option value="06">6일</option>
<option value="07">7일</option>
<option value="08">8일</option>
<option value="09">9일</option>
<option value="10">10일</option>
<option value="11">11일</option>
<option value="12">12일</option>
<option value="13">13일</option>
<option value="14">14일</option>
<option value="15">15일</option>
<option value="16">16일</option>
<option value="17">17일</option>
<option value="18">18일</option>
<option value="19">19일</option>
<option value="20">20일</option>
<option value="21">21일</option>
<option value="22">22일</option>
<option value="23">23일</option>
<option value="24">24일</option>
<option value="25">25일</option>
<option value="26">26일</option>
<option value="27">27일</option>
<option value="28">28일</option>
<option value="29">29일</option>
<option value="30">30일</option>
<option value="31">31일</option>
<option value="-1">말일</option>
</select>
</div>
<div class="monthlyDay sndrcvCyclTyp2" style="display:inline-block; width:30%;">
<input type="radio" name="monthlyHYDaily" value="" id="sub4_8_3_detail_7"><label for="sub4_8_3_detail_7">휴일포함</label>
<input type="radio" name="monthlyHYDaily" value="-" id="sub4_8_3_detail_8"><label for="sub4_8_3_detail_8">전영업일(-)</label>
<input type="radio" name="monthlyHYDaily" value="+" id="sub4_8_3_detail_9"><label for="sub4_8_3_detail_9">후영업일(+)</label>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C3" id="sub4_8_3_detail_10"><label for="sub4_8_3_detail_10">월 영업일 반복</label></th>
<td>
<div class="sndrcvCyclTyp3 select-style" style="display:inline-block; width:30%;">
<select name="monthlyY">
<option value="Y00">매월</option>
<option value="Y01">1월</option>
<option value="Y02">2월</option>
<option value="Y03">3월</option>
<option value="Y04">4월</option>
<option value="Y05">5월</option>
<option value="Y06">6월</option>
<option value="Y07">7월</option>
<option value="Y08">8월</option>
<option value="Y09">9월</option>
<option value="Y10">10월</option>
<option value="Y11">11월</option>
<option value="Y12">12월</option>
</select>
</div>
<div class="sndrcvCyclTyp3 select-style" style="display:inline-block; width:30%;">
<select name="monthlyYDaily">
<option value="01">1영업일</option>
<option value="02">2영업일</option>
<option value="03">3영업일</option>
<option value="04">4영업일</option>
<option value="05">5영업일</option>
<option value="06">6영업일</option>
<option value="07">7영업일</option>
<option value="08">8영업일</option>
<option value="09">9영업일</option>
<option value="10">10영업일</option>
<option value="11">11영업일</option>
<option value="12">12영업일</option>
<option value="13">13영업일</option>
<option value="14">14영업일</option>
<option value="15">15영업일</option>
<option value="16">16영업일</option>
<option value="17">17영업일</option>
<option value="18">18영업일</option>
<option value="19">19영업일</option>
<option value="20">20영업일</option>
<option value="21">21영업일</option>
<option value="22">22영업일</option>
<option value="23">23영업일</option>
<option value="24">24영업일</option>
<option value="25">25영업일</option>
<option value="26">26영업일</option>
<option value="-1">마지막 영업일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C4" id="sub4_8_3_detail_11"><label for="sub4_8_3_detail_11">주반복</label></th>
<td>
<div class="sndrcvCyclTyp4 select-style" style="display:inline-block; width:30%;">
<select name="weekYDay">
<option value="D0">매일요일</option>
<option value="D1">매월요일</option>
<option value="D2">매화요일</option>
<option value="D3">매수요일</option>
<option value="D4">매목요일</option>
<option value="D5">매금요일</option>
<option value="D6">매토요일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C5" id="sub4_8_3_detail_12"><label for="sub4_8_3_detail_12">매주 영업일 반복</label></th>
<td>
<div class="sndrcvCyclTyp5 select-style" style="display:inline-block; width:30%;">
<select name="weekYDaily">
<option value="DY1">매주 첫 영업일</option>
<option value="DY2">매주 2영업일</option>
<option value="DY3">매주 3영업일</option>
<option value="DY4">매주 4영업일</option>
<option value="DY-1">매주 마지막 영업일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C6" id="sub4_8_3_detail_13"><label for="sub4_8_3_detail_13">주 요일 반복</label></th>
<td>
<div class="sndrcvCyclTyp6 select-style" style="display:inline-block; width:30%;">
<select name="week">
<option value="W1">1주</option>
<option value="W2">2주</option>
<option value="W3">3주</option>
<option value="W4">4주</option>
<option value="W5">5주</option>
</select>
</div>
<div class="sndrcvCyclTyp6 select-style" style="display:inline-block; width:30%;">
<select name="day">
<option value="D0">일요일</option>
<option value="D1">월요일</option>
<option value="D2">화요일</option>
<option value="D3">수요일</option>
<option value="D4">목요일</option>
<option value="D5">금요일</option>
<option value="D6">토요일</option>
</select>
</div>
</td>
</tr>
<tr>
<th><input type="radio" name="periodType" value="C7" id="sub4_8_3_detail_14"><label for="sub4_8_3_detail_14">주 영업일 반복</label></th>
<td>
<div class="sndrcvCyclTyp7 select-style" style="display:inline-block; width:30%;">
<select name="weekY">
<option value="W1">1주</option>
<option value="W2">2주</option>
<option value="W3">3주</option>
<option value="W4">4주</option>
<option value="W5">5주</option>
</select>
</div>
<div class="sndrcvCyclTyp7 select-style" style="display:inline-block; width:30%;">
<select name="dailyY">
<option value="Y1">1영업일</option>
<option value="Y2">2영업일</option>
<option value="Y3">3영업일</option>
<option value="Y4">4영업일</option>
<option value="Y-1">끝영업일</option>
</select>
</div>
</td>
</tr>
</table>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:180px;">시작시간</th><td><input type="text" name="sndrcvStartHMS" maxlength=5 size="5"/></td>
<th style="width:180px;">종료시간</th><td><input type="text" name="sndrcvEndHMS" maxlength=5 size="5"/></td>
<th style="width:180px;">알람여부</th>
<td>
<div class="select-style"><select name="warnYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
<th style="width:180px;">사용여부</th>
<td>
<div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,179 @@
<%@ 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 init(url){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/scheduleMan.json" />',
postData : gridPostData,
colNames:['스케쥴ID',
'일괄타입구분명',
'대외기관명',
'작업메시지구분명',
'거래구분명',
'시작시각',
'종료시각',
'송수신여부',
'사용여부'
],
colModel:[
{ name : 'BJOBMSGSCHEID' , align:'left', hidden:true },
{ name : 'BJOBBZWKNAME' , align:'left' },
{ name : 'OSIDINSTINAME' , align:'left' },
{ name : 'BJOBMSGDSTICNAME' , align:'left' , width:250},
{ name : 'BJOBTRANDSTCDNAME' , align:'left' , width:70},
{ name : 'SNDRCVSTARTHMS' , align:'center', width:50 , formatter: dateFormater },
{ name : 'SNDRCVENDHMS' , align:'center', width:50 , formatter: dateFormater },
{ name : 'BJOBPTRNDSTCD' , align:'center', width:50 , editoptions:{value:"RS:송신;RR:수신"}, formatter:"select" },
{ 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,
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 bJobMsgScheId = rowData['BJOBMSGSCHEID'].trim();
var url = '<c:url value="/bap/admin/schedule/scheduleMan.view" />';
url = url + '?cmd=DETAIL';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
url = url + '&returnUrl='+getReturnUrl();
url = url + '&bJobMsgScheId='+bJobMsgScheId;
url = url + '&'+getSearchUrl();
//검색값
goNav(url);
}
});
}
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length !=4) return "";
var display = "";
display=display+cellvalue.substr(0,2)+":";
display=display+cellvalue.substr(2,2);
return display;
}
$(document).ready(function() {
resizeJqGridWidth('grid','title','1000');
var url ='<c:url value="/bap/admin/schedule/scheduleMan.json" />';
init(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/schedule/scheduleMan.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">
<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">스케쥴 관리<span class="tooltip">일괄 전송 파일을 송수신 하는 스케쥴을 관리 하는 화면입니다</span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:150px;">일괄타입명</th>
<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></td>
<th style="width:150px;">대외기관명</th>
<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
<th style="width:150px;">메시지구분명</th>
<td><input type="text" name="searchBjobMsgDsticName" value="${param.searchBjobMsgDsticName}"></td>
</tr>
<tr>
<th style="width:150px;">거래구분명</th>
<td><input type="text" name="searchBjobTranDstcdName" value="${param.searchBjobTranDstcdName}"></td>
<th style="width:150px;">송수신구분</th>
<td>
<div class="select-style"><select name="searchBjobPtrnDstcd" value="${param.searchBjobPtrnDstcd}">
<option value="">전체</option>
<option value="RS">송신</option>
<option value="RR">수신</option>
</select></div>
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,346 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" src="<c:url value="/js/jquery.mask.min.js"/>"></script>
<script language="javascript" >
var url ='<c:url value="/bap/admin/schedule/scheduleMan.json" />';
var isDetail = false;
var jsonData;
function init(key,callback){
//$("input[name=standYmd]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "yyyy-mm-dd",outputFormat : "yyyymmdd" });
$("input[name=standYmd]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=standYmd]").val(getToday());
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").inputmask({ alias: "datetime",autoUnmask: true, inputFormat : "HH:MM",outputFormat : "HHMM" });
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").inputmask("HH:MM",{'autoUnmask':true});
$("input[name=scheFrstRegiHMS]").inputmask("9999-99-99 99:99:99.999",{'autoUnmask':false});
$("input[name=sndrcvStartHMS]").val('0000');
$("input[name=sndrcvEndHMS]").val('2359');
$("input[name=sndrcvEndHMS]").val('2359');
$("input[name*=DlayNoday]").val('0');
$("input[name=rqstRecvReTralCnt]").val('0');
$("input[name=rqstRecvReTralIntvalTtm]").val('0');
$("select[name=rqstRecvReTralUseYn]").val('0');
if(typeof callback === 'function') {
callback(key);
}
}
function getBjobBzwkDstcd(key){
$.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();
if ( isDetail ){
detail(key);
}else{
getOgranFile(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function getOgranFile(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_ORGAN_FILE'
, bjobBzwkDstcd : $("select[name=bjobBzwkDstcd]").val()
},
success:function(json){
$("select[name=bjobMsgDstcd],select[name=osidInstiDstcd]").empty();
new makeOptions("CODE","NAME").setObj($("select[name=osidInstiDstcd]")).setData(json.osidInstiDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=bjobMsgDstcd]")).setData(json.bjobMsgDstcd).rendering();
debugger;
if ( !isDetail ){
getBjobPtrnDstcd(key);
}else{
$("select[name=bjobMsgDstcd]").val(jsonData['BJOBMSGDSTCD']);
$("select[name=osidInstiDstcd]").val(jsonData['OSIDINSTIDSTCD']);
getBjobPtrnDstcd(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function getBjobPtrnDstcd(key){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_SEND_RECV'
, bjobMsgDstcd : $("select[name=bjobMsgDstcd]").val()
},
success:function(json){
$("select[name=bjobPtrnDstcd]").empty();
new makeOptions("CODE","NAME").setObj($("select[name=bjobPtrnDstcd]")).setData(json.bjobPtrnDstcd).rendering();
if ( isDetail ){
//$("select[name=bjobPtrnDstcd]").val(jsonData['BJOBPTRNDSTCD']);
$("#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(jsonData[name.toUpperCase()]);
});
$("#creator").show();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key){
if (!isDetail){
return;
}
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', bJobMsgScheId : key},
success:function(json){
var data = json;
jsonData = json;
$("select[name=bjobBzwkDstcd]").val(data['BJOBBZWKDSTCD']);
getOgranFile(key);
var bjobPtrnDstcd = data['BJOBPTRNDSTCD'];
if ( bjobPtrnDstcd == 'RR'){
$("#reqForm").show();
}
//$("select[name=bjobMsgDstcd]").val(data['BJOBMSGDSTCD']);
//$("select[name=osidInstiDstcd]").val(data['OSIDINSTIDSTCD']);
//getBjobPtrnDstcd(key);
//$("select[name=bjobPtrnDstcd]").val(data['BJOBPTRNDSTCD']);
//$("input[name=bJobMsgScheId]").attr('readonly',true);
//$("#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()]);
//});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.bJobMsgScheId}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,getBjobBzwkDstcd);
$("select[name=bjobBzwkDstcd]").change(function(){
getOgranFile();
});
$("select[name=bjobMsgDstcd]").change(function(){
getBjobPtrnDstcd();
});
$("#btn_modify").click(function(){
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"});
postData.push({ name: "bjobMsgScheID" , value:key});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_operate").click(function(){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"TRANSACTION"});
postData.push({ name: "standYmd" , value: $("input[name=standYmd]").val()});
$.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로 이동
});
//$("input[name=sndrcvStartHMS],input[name=sndrcvEndHMS]").mask("00:00");
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">스케쥴 <span class="tooltip">일괄전송 파일 송수신 스케쥴을 추가합니다</span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr style="display:none"><td><input name="bJobMsgScheId" ></td></tr>
<tr>
<th style="width:180px;">BATCH작업거래구분코드 *<br>(일괄타입구분코드)</th>
<td><div class="select-style"><select name="bjobBzwkDstcd">
</select></div></td>
<th>BATCH작업메시지구분코드 *</th>
<td><div class="select-style"><select name="bjobMsgDstcd">
</select></div></td>
</tr>
<tr>
<th>대외기관코드 *</th>
<td><div class="select-style"><select name="osidInstiDstcd">
</select></div></td>
<th>송수신구분 *</th>
<td><div class="select-style"><select name="bjobPtrnDstcd">
</select></div></td>
</tr>
<tr>
<th>송수신시작시각 *</th><td><input type="text" name="sndrcvStartHMS" maxlength=5 size="5"/></td>
<th>송수신종료시각 *</th><td><input type="text" name="sndrcvEndHMS" maxlength=5 size="5"/></td>
</tr>
<tr>
<th>송수신시작 지연일수 *</th><td><input type="text" name="startDlayNoday"/></td>
<th>송수신종료 지연일수 *</th><td><input type="text" name="endDlayNoday"/></td>
</tr>
<tr>
<th>요구송수신재시도수 *</th><td><input type="text" name="rqstRecvReTralCnt"/></td>
<th>요구송수신재시도사용여부 *</td>
<td>
<div class="select-style"><select name="rqstRecvReTralUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
<tr>
<th>요구송수신재시도간격(초)</th><td><input type="text" name="rqstRecvReTralIntvalTtm"/></td>
<th>반복여부 *</td>
<td>
<div class="select-style"><select name="rpttYn">
<option value="0">사용안함</option>
<option value="1">사용</option>
</select></div>
</td>
</tr>
<tr>
<th>공휴일처리유형 *</td>
<td>
<div class="select-style"><select name="holdyPrcssDstcd">
<option value="0">해당없음</option>
<option value="1">영업일만처리(토요일처리안함)</option>
<option value="2">영업일만처리(토요일처리)</option>
</select></div>
</td>
<th>당메시지 사용여부 *</td>
<td>
<div class="select-style"><select name="thisMsgUseYn">
<option value="1">사용</option>
<option value="0">사용안함</option>
</select></div>
</td>
</tr>
<tr id="creator" style="display:none">
<th>최초 등록 일시</th><td><input type="text" name="scheFrstRegiHMS" readonly="readonly" /></td>
<th>최초 등록자 ID</th><td><input type="text" name="msgSndrID" readonly="readonly"/></td>
</tr>
</table>
</form>
<form id="reqForm" hidden="hidden">
<table class="table_row" cellspacing="0">
<caption>[선택 수신 작업 요청]</caption>
<tr>
<th style="width:180px;">기준일자</th>
<td><input type="text" name="standYmd" maxlength=10 size="10" style="width:calc(100% - 70px);" /> <img id="btn_operate" src="<c:url value="/img/btn_pop_operate.png"/>" class="btn_img"></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,384 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
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>
function init(){
$.ajax({
type: "POST",
url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />',
dataType: "json",
data: {cmd: "LIST_INIT_COMBO"},
success: function(json){
new makeOptions("CODE","NAME").setObj($("select[name=searchBjobBzwkDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.bjobBzwkDstcd).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchOsidInstiDstcd]")).setNoValueInclude(true).setNoValue('','전체').setData(json.osidInstiDstcd).rendering();
putSelectFromParam();
if (typeof callback === 'function') {
callback(url,"");
}
setSearchable("searchBjobBzwkDstcd");
setSearchable("searchOsidInstiDstcd");
},
error: function(e){
alert(e.responseText);
}
});
}
function trimFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
var str = $.trim(cellvalue);
str = str.slice(0, 2) + ":" + str.slice(2, 4)
return str;
}
}
function thisMsgUseYnFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
if(cellvalue == "1"){
return "사용함";
} else {
return "사용안함";
}
}
}
function fileTrsmtHmsFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
var str = $.trim(cellvalue);
str = str.slice(0, 4) + "-" + str.slice(4, 6) + "-" + str.slice(6, 8) + " " + str.slice(8, 10) + ":" + str.slice(10, 12) + ":" + str.slice(12, 14)
return str;
}
}
function thisStgePrcssRsultCdFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
if(cellvalue == "L"){
return "지연";
} else if(cellvalue == "F"){
return "미도래";
} else if(cellvalue == "Q"){
return "큐대기";
} else if(cellvalue == "S"){
return "진행중";
} else if(cellvalue == "T"){
return "정상종료";
} else if(cellvalue == "E"){
return "비정상종료";
} else if(cellvalue == "C"){
return "사용자중지";
} else if(cellvalue == "N"){
return "파일없음";
}
}
}
function list(){
var gridPostData = getSearchForJqgrid("cmd", "LIST");
gridPostData["searchBjobDmndMsgID"] = '${param.searchBjobDmndMsgID}';
gridPostData["searchBjobDmndSubMsgID"] = '${param.searchBjobDmndSubMsgID}';
gridPostData["searchBjobBzwkDstcd"] = '${param.searchBjobBzwkDstcd}';
gridPostData["searchBjobMsgDstcd"] = '${param.searchBjobMsgDstcd}';
gridPostData["searchBjobTranDstcdName"] = '${param.searchBjobTranDstcdName}';
gridPostData["searchSndrcvFileName"] = '${param.searchSndrcvFileName}';
gridPostData["searchOsidInstiDstcd"] = '${param.searchOsidInstiDstcd}';
gridPostData["searchThisMsgUseYn"] = '${param.searchThisMsgUseYn}';
gridPostData["searchThisStgePrcssRsultCd"] = '${param.searchThisStgePrcssRsultCd}';
gridPostData["searchInclude"] = '${param.searchInclude}';
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"") + $("input[name=searchEndHHMM]").val().replace(":","");
gridPostData["searchStartTime"] = start + "000";
gridPostData["searchEndTime"] = end + "000";
$("#grid").jqGrid({
datatype: 'json',
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />',
postData: gridPostData,
colNames: [
"UUID",
"SUBUUID",
"분류코드",
"분류명",
"대외일괄업무코드",
"대외일괄업무명",
"인터페이스ID",
"파일코드",
"사용여부",
"거래시간내 실행횟수",
"최근거래시작시간",
"최근거래종료시간",
"최근전송상태",
"파일크기",
"파일명"
],
colModel: [
{ name: "BJOBDMNDMSGID", align: "center", hidden: true },
{ name: "BJOBDMNDSUBMSGID", align: "center", hidden: true },
{ name: "BJOBBZWKDSTCD", align: "center", hidden: true },
{ name: "BJOBBZWKNAME", align: "center", width: 100 },
{ name: "OSIDINSTIDSTCD", align: "center", hidden: true },
{ name: "OSIDINSTINAME", align: "center", width: 150 },
{ name: "BJOBMSGDSTCD", align: "center", width: 80 },
{ name: "BJOBTRANDSTCDNAME", align: "center", width: 100 },
{ name: "THISMSGUSEYN", align: "center", width: 50, formatter: thisMsgUseYnFormatter },
{ name: "RUNCOUNT", align: "center", width: 80 },
{ name: "FILETRSMTSTARTHMS", align: "center", width: 80, formatter: fileTrsmtHmsFormatter },
{ name: "FILETRSMTENDHMS", align: "center", hidden: true, formatter: fileTrsmtHmsFormatter },
{ name: "THISSTGEPRCSSRSULTCD", align: "center", width: 70, formatter: thisStgePrcssRsultCdFormatter },
{ name: "SNDRCVFILESIZE", align: "center", width: 50 },
{ name: "SNDRCVFILENAME", align: "center", width: 150 }
],
jsonReader: {
repeatitems: false
},
pager: $("#pager"),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autowidth: true,
autoheight: true,
height: $("#container").height(),
viewrecords: true,
multiselect: false,
multiboxonly: false,
rowList: eval('[${rmsDefaultRowList}]'),
gridComplete: function(){
var colModel = $(this).getGridParam("colModel");
for(let i=0; i < colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
ondblClickRow: function(rowId){
var rowData = $(this).getRowData(rowId);
var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'];
var bjobBzwkName = rowData['BJOBBZWKNAME'];
var osidInstiDstcd = rowData['OSIDINSTIDSTCD'];
var osidInstiName = rowData['OSIDINSTINAME'];
var bjobMsgDstcd = rowData['BJOBMSGDSTCD'];
var bjobTranDstcdName = rowData['BJOBTRANDSTCDNAME'];
var thisMsgUseYn = rowData['THISMSGUSEYN'];
var url2 = '<c:url value="/bap/admin/schedule/scheduleMonitorMan.view" />';
url2= url2 + "?cmd=DETAIL";
url2= url2 + '&menuId=' + '${param.menuId}';
url2= url2 + '&page=' + $(this).getGridParam("page");
url2= url2 + '&returnUrl=' + getReturnUrl();
url2= url2 + '&bjobBzwkDstcd=' + bjobBzwkDstcd;
url2= url2 + '&bjobBzwkName=' + bjobBzwkName;
url2= url2 + '&osidInstiDstcd=' + osidInstiDstcd;
url2= url2 + '&osidInstiName=' + osidInstiName;
url2= url2 + '&bjobMsgDstcd=' + bjobMsgDstcd;
url2= url2 + '&bjobTranDstcdName=' + bjobTranDstcdName;
url2= url2 + '&thisMsgUseYn=' + thisMsgUseYn;
url2= url2 + '&' + getSearchUrl();
goNav(url2);
},
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 400) {
alert(jqXHR.responseText);
}
if(jqXHR.status == 401) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
}
$(document).ready(function(){
$("#startDatepicker").datepicker();
$("#endDatepicker").datepicker();
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if(searchStartYYYYMMDD == null || searchStartYYYYMMDD == ''){
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if(searchEndYYYYMMDD == null || searchEndYYYYMMDD == ''){
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if(searchStartHHMM == null || searchStartHHMM == ''){
$("input[name=searchStartHHMM]").val('000000');
}
if(searchEndHHMM == null || searchEndHHMM == ''){
$("input[name=searchEndHHMM]").val('235959');
}
$("input[name=searchStartYYYYMMDD]").on("change", function(){
$("input[name=searchEndYYYYMMDD]").val($("input[name=searchStartYYYYMMDD]").val());
});
$("input[name=searchEndYYYYMMDD]").on("change", function(){
$("input[name=searchStartYYYYMMDD]").val($("input[name=searchEndYYYYMMDD]").val());
});
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST");
var start = $("input[name=searchStartYYYYMMDD]").val().replace(/-/gi,"")+$("input[name=searchStartHHMM]").val().replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"")+$("input[name=searchEndHHMM]").val().replace(":","");
postData["searchStartTime"] = start + "000";
postData["searchEndTime"] = end + "000";
$("#grid").setGridParam({url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />', postData: postData, page: "1" }).trigger("reloadGrid");
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
init();
list();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li> <a href="#">${rmsMenuPath}</a> </li>
</ul>
</div>
<div class="content_middle">
<div class="search_wrap">
<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R" />
</div>
<div class="title">파일 송수신 모니터링</div>
<table class="search_condition" cellspacing=0>
<tr>
<th style="width: 150px;">UUID</th>
<td> <input name="searchBjobDmndMsgID" type="text" value="${param.searchBjobDmndMsgID}" /> </td>
<th style="width: 150px;">SUBUUID</th>
<td> <input name="searchBjobDmndSubMsgID" type="text" value="${param.searchBjobDmndSubMsgID}" /> </td>
<th style="width: 150px;">거래시간</th>
<td colspan="3" style="width: 300px;">
<input id="startDatepicker" name="searchStartYYYYMMDD" type="text" value="${param.searchStartYYYYMMDD}" maxlength="10" size="10" style="width: 20%;" readonly />
<input name="searchStartHHMM" type="text" value="${param.searchStartHHMM}" maxlength="8" size="8" style="width: 20%;" readonly />
~
<input id="endDatepicker" name="searchEndYYYYMMDD" type="text" value="${param.searchEndYYYYMMDD}" maxlength="10" size="10" style="width: 20%;" readonly />
<input name="searchEndHHMM" type="text" value="${param.searchEndHHMM}" maxlength="8" size="8" style="width: 20%;" readonly />
<input type="hidden" name="searchStartTime" value="20230518000000" />
<input type="hidden" name="searchEndTime" value="20230518235959" />
</td>
</tr>
<tr>
<th style="width: 150px;">분류</th>
<td>
<select name="searchBjobBzwkDstcd" value="${param.searchBjobBzwkDstcd}"></select>
</td>
<th style="width: 150px;">대외일괄업무</th>
<td>
<select name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}" style="width: 100%;"></select>
</td>
<th style="width: 150px;">최근전송상태</th>
<td>
<select name="searchThisStgePrcssRsultCd" value="${param.searchThisStgePrcssRsultCd}" style="width: 100%;">
<option value="">전체</option>
<option value="L">지연</option>
<option value="F">미도래</option>
<option value="Q">큐대기</option>
<option value="S">진행중</option>
<option value="T">정상종료</option>
<option value="E">비정상종료</option>
<option value="C">사용자중지</option>
<option value="N">파일없음</option>
</select>
</td>
<th style="width: 150px;">거래여부</th>
<td>
<select name="searchInclude" value="${param.searchInclude}" style="width: 100%;">
<option value="">전체</option>
<option value="1">있음</option>
<option value="0">없음</option>
</select>
</td>
</tr>
<tr>
<th style="width: 150px;">인터페이스ID</th>
<td> <input name="searchBjobMsgDstcd" type="text" value="${param.searchBjobMsgDstcd}" /> </td>
<th style="width: 150px;">파일코드</th>
<td> <input name="searchBjobTranDstcdName" type="text" value="${param.searchBjobTranDstcdName}" /> </td>
<th style="width: 150px;">파일명</th>
<td> <input name="searchSndrcvFileName" type="text" value="${param.searchSndrcvFileName}" /> </td>
<th style="width: 150px;">사용여부</th>
<td>
<select name="searchThisMsgUseYn" value="${param.searchThisMsgUseYn}" style="width: 100%;">
<option value="">전체</option>
<option value="1">사용함</option>
<option value="0">사용안함</option>
</select>
</td>
</tr>
</table>
<table id="grid"></table>
<div id="pager"></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,244 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
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>
function fileTrsmtHmsFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
var str = $.trim(cellvalue);
str = str.slice(0, 4) + "-" + str.slice(4, 6) + "-" + str.slice(6, 8) + " " + str.slice(8, 10) + ":" + str.slice(10, 12) + ":" + str.slice(12, 14)
return str;
}
}
function thisStgePrcssRsultCdFormatter(cellvalue, options, rowObject){
if (cellvalue == null || cellvalue == undefined || cellvalue == ""){
return "";
} else {
if(cellvalue == "L"){
return "지연";
} else if(cellvalue == "F"){
return "미도래";
} else if(cellvalue == "Q"){
return "큐대기";
} else if(cellvalue == "S"){
return "진행중";
} else if(cellvalue == "T"){
return "정상종료";
} else if(cellvalue == "E"){
return "비정상종료";
} else if(cellvalue == "C"){
return "사용자중지";
} else if(cellvalue == "N"){
return "파일없음";
}
}
}
function list(){
var gridPostData = getSearchForJqgrid("cmd", "LIST");
gridPostData["searchIsDetail"] = 'Y';
gridPostData["searchBjobMsgDstcd"] = '${param.bjobMsgDstcd}';
var start = '${param.searchStartYYYYMMDD}'.replace(/-/gi,"") + '${param.searchStartHHMM}'.replace(":","");
var end = $("input[name=searchEndYYYYMMDD]").val().replace(/-/gi,"")+$("input[name=searchEndHHMM]").val().replace(":","");
gridPostData["searchStartTime"] = start + "000";
gridPostData["searchEndTime"] = end + "000";
$("#grid").jqGrid({
datatype: 'json',
mtype: 'POST',
url: '<c:url value="/bap/admin/schedule/scheduleMonitorMan.json" />',
postData: gridPostData,
colNames: [
"UUID",
"SUBUUID",
"파일크기",
"파일명",
"전송상태",
"거래시작시간",
"거래종료시간"
],
colModel: [
{ name: "BJOBDMNDMSGID", align: "center" },
{ name: "BJOBDMNDSUBMSGID", align: "center" },
{ name: "SNDRCVFILESIZE", align: "center" },
{ name: "SNDRCVFILENAME", align: "center" },
{ name: "THISSTGEPRCSSRSULTCD", align: "center", formatter: thisStgePrcssRsultCdFormatter },
{ name: "FILETRSMTSTARTHMS", align: "center", formatter: fileTrsmtHmsFormatter },
{ name: "FILETRSMTENDHMS", align: "center", formatter: fileTrsmtHmsFormatter }
],
jsonReader: {
repeatitems: false
},
pager: $("#pager"),
page: '1',
rowNum: '${rmsDefaultRowNum}',
autowidth: true,
autoheight: true,
height: $("#container").height(),
viewrecords: true,
multiselect: false,
multiboxonly: false,
rowList: eval('[${rmsDefaultRowList}]'),
gridComplete: function(){
var colModel = $(this).getGridParam("colModel");
for(let i=0; i < colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
ondblClickRow: function(rowId){
var rowData = $(this).getRowData(rowId);
var args = new Object();
args['check'] = "";
var url2 = '<c:url value="/bap/transaction/transactionStatusMan.view" />';
url2= url2 + "?cmd=DETAIL";
url2= url2 + '&popup='+true;
url2= url2 + '&menuId=' + '${param.menuId}';
url2= url2 + '&page='+$(this).getGridParam("page");
url2= url2 + "&bjobDmndMsgID=" + rowData['BJOBDMNDMSGID'];
url2= url2 + "&bjobDmndSubMsgID=" + rowData['BJOBDMNDSUBMSGID'];
var ret = showModal2(url2, args, 1300, 760, function(arg){
var args = null;
if(arg == null || arg == undefined ) { //chrome
args = this.dialogArguments;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
}, "scroll:yes;");
},
loadError: function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 400) {
alert(jqXHR.responseText);
}
if(jqXHR.status == 401) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
}
});
}
$(document).ready(function(){
var returnUrl = getReturnUrlForReturn();
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
$("input[name=searchStartHHMM],input[name=searchEndHHMM]").inputmask("hh:mm:ss",{'autoUnmask':true});
var searchStartYYYYMMDD = "${param.searchStartYYYYMMDD}";
var searchEndYYYYMMDD = "${param.searchEndYYYYMMDD}";
var searchStartHHMM = "${param.searchStartHHMM}";
var searchEndHHMM = "${param.searchEndHHMM}";
if(searchStartYYYYMMDD == null || searchStartYYYYMMDD == ''){
$("input[name=searchStartYYYYMMDD]").val(getToday());
}
if(searchEndYYYYMMDD == null || searchEndYYYYMMDD == ''){
$("input[name=searchEndYYYYMMDD]").val(getToday());
}
if(searchStartHHMM == null || searchStartHHMM == ''){
$("input[name=searchStartHHMM]").val('000000');
}
if(searchEndHHMM == null || searchEndHHMM == ''){
$("input[name=searchEndHHMM]").val('235959');
}
$("#btn_previous").click(function(){
goNav(returnUrl);
});
list();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li> <a href="#">${rmsMenuPath}</a> </li>
</ul>
</div>
<div class="content_middle">
<div class="search_wrap">
<img id="btn_previous" src="<c:url value="/img/btn_previous.png"/>" level="R" />
</div>
<div class="title">
파일 송수신 모니터링 상세
<span class="tooltip">
일괄 전송 스케쥴을 기준으로 거래 로그를 확인할 수 있습니다. <br/>
해당 로그와 관련된 모든 정보를 확인할 수 있습니다.
</span>
</div>
<table class="search_condition" cellspacing=0>
<tr>
<th style="width: 150px;">분류명</th>
<td style="width: 150px;"> <input name="bjobBzwkName" type="text" value="${param.bjobBzwkName}" readonly /> </td>
<th style="width: 150px;">대외일괄업무명</th>
<td style="width: 150px;"> <input name="osidInstiName" type="text" value="${param.osidInstiName}" readonly /> </td>
<th style="width: 150px;">거래시간</th>
<td style="width: 300px;">
<input name="searchStartYYYYMMDD" type="text" value="${param.searchStartYYYYMMDD}" readonly style="width: 20%;" />
<input name="searchStartHHMM" type="text" value="${param.searchStartHHMM}" readonly style="width: 20%;" />
~
<input name="searchEndYYYYMMDD" type="text" value="${param.searchEndYYYYMMDD}" readonly style="width: 20%;" />
<input name="searchEndHHMM" type="text" value="${param.searchEndHHMM}" readonly style="width: 20%;" />
</td>
</tr>
<tr>
<th style="width: 150px;">인터페이스ID</th>
<td style="width: 150px;"> <input name="bjobMsgDstcd" type="text" value="${param.bjobMsgDstcd}" readonly /> </td>
<th style="width: 150px;">파일코드</th>
<td> <input name="bjobTranDstcdName" type="text" value="${param.bjobTranDstcdName}" readonly /> </td>
<th style="width: 150px;">사용여부</th>
<td> <input name="thisMsgUseYn" type="text" value="${param.thisMsgUseYn}" readonly /> </td>
</tr>
</table>
<table id="grid"></table>
<div id="pager"></div>
</div>
</div>
</body>
</html>
+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>