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,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>