You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
858 lines
52 KiB
858 lines
52 KiB
|
|
<% |
|
/************************************************************@@ |
|
* Program Name : doc_regist.jsp |
|
* Description : /집계자/자료 등록 |
|
* Author : 기현테크 |
|
* Create Date : 2010.11.18 |
|
* History : |
|
@@************************************************************/ |
|
%> |
|
|
|
<%@ page contentType="text/html; charset=UTF-8" |
|
import="java.net.URLEncoder" |
|
import="java.net.URLDecoder" |
|
import="kr.co.kihyun.beans.user.HttpSSOLogin" |
|
import="java.util.Calendar" |
|
import="java.text.SimpleDateFormat" |
|
import="java.util.*" |
|
import="kr.co.kihyun.lang.Encoder" |
|
import="kr.co.kihyun.lang.MString" |
|
import="kr.co.kihyun.lang.MInteger" |
|
import="kr.co.kihyun.lang.MLong" |
|
import="kr.co.kihyun.text.html.ServletUtil" |
|
import="kr.co.kihyun.moumi.MoumiConfig" |
|
import="kr.co.kihyun.moumi.doc.MDoc" |
|
import="kr.co.kihyun.util.MDate" |
|
import="kr.co.kihyun.text.excel.Excel" |
|
import="kr.co.kihyun.text.html.TagFilter" |
|
import="kr.co.kihyun.text.html.HtmlUtil" |
|
import="kr.co.kihyun.lang.StringConverter" |
|
import="kr.co.kihyun.text.html.CallbackHandler" |
|
import="java.util.ResourceBundle" |
|
import="kr.co.kihyun.beans.entity.*" |
|
import="javax.jdo.PersistenceManager" |
|
import="javax.jdo.Transaction" |
|
import="kr.co.kihyun.beans.entity.util.*" |
|
import="org.slf4j.Logger" |
|
import="org.slf4j.LoggerFactory" |
|
%> |
|
|
|
<%@ include file="/totsys/common/inc/sec/secure.inc.jsp"%> |
|
|
|
<% |
|
Logger LOG = LoggerFactory.getLogger(this.getClass()); |
|
|
|
PersistenceManager pm = new MPersistenceManager(PMF.get().getPersistenceManager()); |
|
Transaction tx = pm.currentTransaction(); |
|
try{ |
|
/********** session내의 userId **********/ |
|
String usID = HttpSSOLogin.getLoginID(request); |
|
int sysAuth = HttpSSOLogin.getSysAuth(request); |
|
|
|
if(sysAuth == MoumiConfig.SUB_TOTPER && MoumiConfig.isMonitor()){ |
|
String connURL="history.go(-1);"; |
|
out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.submit")+MoumiConfig.getMessageBundle().getString("moumi.message.popup.doc_regist_jsp_AuthCheck"))); |
|
out.println(ServletUtil.getJavaScript(connURL)); |
|
return; |
|
} |
|
|
|
/************ Parameter values ************/ |
|
String docID = clearXSS(request.getParameter("docID"),""); |
|
String choice = clearXSS(request.getParameter("choice"),""); |
|
String deptIDs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("deptIDs")), "UTF-8"),""); |
|
String execNum = clearXSS(request.getParameter("execNum"),""); |
|
String execDate = clearXSS(request.getParameter("execDate"), ""); |
|
String userIDs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("userIDs")), "UTF-8"),""); |
|
String userNames = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("userNames")), "UTF-8"),""); |
|
String deptTypes = clearXSS(MString.checkNull(request.getParameter("deptTypes")),""); |
|
String deptNames = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("deptNames")), "UTF-8"),""); |
|
String handyName = clearXSS(Encoder.toJava(request.getParameter("handyName")),""); |
|
String totRange = clearXSS(MString.checkNull(request.getParameter("totRange")),""); |
|
String appendType = clearXSS(MString.checkNull(request.getParameter("appendType")),TotDocAppendType.SYSTEM.toString()); |
|
String docName = clearXSS(Encoder.toJava(MString.checkNull(request.getParameter("docName"))),""); |
|
String usrFilenames = clearXSS(Encoder.toJava(MString.checkNull(request.getParameter("usrFilenames"))),""); |
|
String svrFilenames = clearXSS(Encoder.toJava(MString.checkNull(request.getParameter("svrFilenames"))),""); |
|
String[] usrFileNameList = usrFilenames.split(";"); |
|
String[] svrFileNameList = svrFilenames.split(";"); |
|
String accAuth = clearXSS(request.getParameter("accAuth"),"1"); |
|
String repDocID = clearXSS(request.getParameter("repDocID"),""); |
|
String docGroupID = clearXSS(request.getParameter("docGroupID"),""); |
|
String isFromFormBox = clearXSS(request.getParameter("isFromFormBox"),""); |
|
String tableCount = clearXSS(request.getParameter("tableCount"),""); |
|
String isDynaTable = clearXSS(request.getParameter("isDynaTable"),""); |
|
String mode = clearXSS(request.getParameter("mode"),""); |
|
String notify = Encoder.toJava(MString.checkNull(request.getParameter("notify"))); |
|
String tableDefines = MString.checkNull(request.getParameter("tableDefines")); |
|
String itemNames = MString.checkNull(Encoder.toJava(request.getParameter("itemNames"))); |
|
String tableNums = MString.checkNull(Encoder.toJava(request.getParameter("tableNums"))); |
|
String colNums = MString.checkNull(Encoder.toJava(request.getParameter("colNums"))); |
|
String rowNums = MString.checkNull(Encoder.toJava(request.getParameter("rowNums"))); |
|
String itemSizes = MString.checkNull(Encoder.toJava(request.getParameter("itemSizes"))); |
|
String itemDescs = MString.checkNull(Encoder.toJava(request.getParameter("itemDescs"))); |
|
|
|
|
|
String itemExprs = MString.checkNull(Encoder.toJava(request.getParameter("itemExprs"))); |
|
String itemTypes = MString.checkNull(Encoder.toJava(request.getParameter("itemTypes"))); |
|
String docForm = MString.checkNull(Encoder.toJava(request.getParameter("docForm"))); |
|
String backDash = MString.checkNull(Encoder.toJava(request.getParameter("backDash"))); |
|
String step = MString.checkNull(request.getParameter("step")); |
|
String startMethod = clearXSS(request.getParameter("startMethod"),"0"); |
|
String endMethod = clearXSS(request.getParameter("endMethod"),LimitByDeadlineStrategy.class.getSimpleName().toString()); |
|
|
|
if("1".equals(step)){ |
|
session.removeAttribute("docForm"); |
|
session.removeAttribute("notify"); |
|
} |
|
|
|
if(backDash.equals("back")){ |
|
if((String)session.getAttribute("docForm")=="" || (String)session.getAttribute("docForm")==null){ |
|
} |
|
else{ |
|
docForm=(String)session.getAttribute("docForm"); |
|
} |
|
} |
|
|
|
/**************** 추가 끝 **************/ |
|
Long reuseDocID = MLong.parseLong(request.getParameter("reuseDocID"),null); |
|
//String reuseDocName = Encoder.toJava(clearXSS(request.getParameter("reuseDocName"),"")); |
|
|
|
//LJH |
|
//String reuseDocName = clearXSS(URLDecoder.decode(request.getParameter("reuseDocName"), "UTF-8"),""); |
|
String reuseDocName = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("reuseDocName")), "UTF-8"),""); |
|
|
|
//String isFromFormBox = request.getParameter("isFromFormBox"); |
|
String totType = clearXSS(request.getParameter("totType"),""); |
|
if(MString.isNull(totType)) totType = "1step"; |
|
|
|
/*********** doc value *****************/ |
|
String repDocForm = ""; |
|
|
|
if(reuseDocID != null){ |
|
TotDoc totDoc = null; |
|
totDoc = reuseDocID == null ? null : pm.getObjectById(TotDoc.class, reuseDocID); |
|
repDocForm = totDoc.getForm(); |
|
repDocForm = TagFilter.convertSingle(repDocForm); |
|
repDocForm = StringConverter.toOneLine(repDocForm); |
|
} |
|
|
|
/********** 현재 년, 월, 일 **********/ |
|
int ONE_DAY = 1000 * 60 * 60 * 24; |
|
Long today = new Date().getTime(); |
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
SimpleDateFormat timeFormat = new SimpleDateFormat("HH"); |
|
|
|
String deptCount="0"; |
|
String userCount="0"; |
|
if(!deptIDs.equals("")){ |
|
String[] dtcount = deptIDs.split(","); |
|
deptCount=Integer.toString(dtcount.length); |
|
} |
|
if(!userIDs.equals("")){ |
|
String[] uscount = userIDs.split(","); |
|
userCount=Integer.toString(uscount.length); |
|
} |
|
|
|
%> |
|
|
|
<!DOCTYPE html> |
|
<html lang="ko"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<title><%=MoumiConfig.getTitle()%></title> |
|
<link rel="stylesheet" href="/totsys/common/css/text.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/kecttep.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/SquareButtons.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/contentStyle.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/basic.css" type="text/css"> |
|
<script src="/totsys/common/js/rollover.js"></script> |
|
<script src="/totsys/common/js/util.js"></script> |
|
<script src="/totsys/common/js/calendar.js"></script> |
|
<script src="/totsys/common/js/drag.js"></script> |
|
<script src="/totsys/common/js/date.js"></script> |
|
<script src="/totsys/common/js/checkNum.js"></script> |
|
<script src='/totsys/common/js/editor.js'></script> |
|
<script src='/totsys/common/js/encode.js'></script> |
|
<script src='/totsys/common/js/mouse.js'></script> |
|
<script src="/totsys/common/js/jquery-1.12.4.min.js"></script> |
|
<script> |
|
|
|
var isEdited=false; |
|
<% |
|
if (backDash.equals("back")) { |
|
if (!MString.isNull((String) session.getAttribute("docForm"))) { |
|
%> |
|
isEdited = true; |
|
<% |
|
} |
|
} |
|
%> |
|
|
|
$(document).ready(function() { |
|
$("#ifrm_EditCtrl").on("focus",function(){ |
|
if(isEdited==false) EditCtrl.document.body.innerHTML = ""; |
|
isEdited=true; |
|
}); |
|
|
|
if(navigator.userAgent.indexOf("Chrome") != -1){ |
|
$(".overlay").show(); |
|
$(".overlay").click(function(){ |
|
if(isEdited==false) EditCtrl.document.body.innerHTML = ""; |
|
$(".overlay").hide(); |
|
$('#ifrm_EditCtrl').focus(); |
|
isEdited=true; |
|
}); |
|
} |
|
|
|
//파일집계시 입력 부분 숨김 |
|
$('[name=appendType]').change(function(){ |
|
if(this.value=='FILE'){ |
|
$('#ifrm_EditCtrl').css('visibility','hidden'); |
|
}else{ |
|
EditCtrl.document.body.innerHTML = '<center>아래한글,엑셀,워드등에서 작성한 조사서식을 복사하여 붙여넣는 창 입니다.<br>* 엑셀이나 한글에서 작성한 수식(계산식)은 적용되지 않습니다. *</center>' |
|
+'<br><center>[주의]붙여넣기 한 서식안에 예시를 작성하는 경우, 예시란에는 빈칸(공백)이 없어야 합니다.</center>'; |
|
$('#ifrm_EditCtrl').css('visibility',''); |
|
} |
|
}); |
|
// disabled 용법 수정 |
|
if(isEdited){ |
|
//$(EditCtrl.document.body).attr('disabled','true'); |
|
} |
|
init(); |
|
setValue(); |
|
dform.docName.focus(); |
|
fromFormBox('<%= reuseDocID %>', '<%= reuseDocName %>'); |
|
fn_resizeEditCtrl(); |
|
//html 인코딩된 주석제거,포커스 문제 해결 |
|
try{ |
|
EditCtrl.document.body.onpaste=function(){ |
|
console.log('붙여넣기'); |
|
setTimeout(function(){ |
|
var html=EditCtrl.document.body.innerHTML; |
|
if(html.search(/\<!--[\s\S]*?--\>/g,'')>-1){ |
|
html=html.replace(/\<!--[\s\S]*?--\>/g,''); |
|
$(EditCtrl.document.body).html(html); |
|
} |
|
if(html.search("table")>-1){ |
|
html=html.replace(border="0",border="1"); //table 테두리 보이게 수정 |
|
$(EditCtrl.document.body).html(html); |
|
} |
|
$(EditCtrl.document.body).append('<br/>'); |
|
EditCtrl.document.body.focus(); |
|
},0); |
|
}; |
|
}catch(e){} |
|
|
|
}); |
|
|
|
$(window).resize(function() { |
|
fn_resizeEditCtrl(); |
|
}); |
|
|
|
function setValue(){ |
|
if ("<%= docName %>" != "") { |
|
dform.docName.value="<%= docName %>"; |
|
dform.deptIDs.value="<%= deptIDs %>"; |
|
dform.deptCount.value="<%= deptCount %>"; |
|
dform.deptTypes.value="<%= deptTypes %>"; |
|
dform.deptNames.value="<%= deptNames %>"; |
|
dform.userIDs.value="<%= userIDs %>"; |
|
dform.userNames.value="<%= userNames %>"; |
|
dform.userCount.value="<%= userCount %>"; |
|
//dform.handyName.value="<%= handyName %>"; |
|
//dform.notify.value="<%--= notify --%>"; |
|
dform.accAuth["<%= accAuth %>"].checked = true; |
|
//dform.totRange["<%= totRange %>"].checked = true; |
|
dform.usrFilenames.value="<%= usrFilenames %>"; |
|
dform.svrFilenames.value = "<%= svrFilenames %>"; |
|
} else { |
|
init(); |
|
//EditCtrl.document.body.innerHTML = '<center><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.formCopy")%></center>'; |
|
EditCtrl.document.body.innerHTML = '<center>아래한글,엑셀,워드등에서 작성한 조사서식을 복사하여 붙여넣는 창 입니다.<br>* 엑셀이나 한글에서 작성한 수식(계산식)은 적용되지 않습니다. *</center>' |
|
+'<br><center>[주의]붙여넣기 한 서식안에 예시를 작성하는 경우, 예시란에는 빈칸(공백)이 없어야 합니다.</center>'; |
|
|
|
} |
|
} |
|
|
|
function viewNote(){ |
|
var width = 600; |
|
var height = 410; |
|
var leftpos = (screen.width - width) / 2; |
|
var toppos = (screen.height - height) / 2; |
|
window.open("/totsys/common/web/note/popup_manual.jsp","","width="+width+", height="+height+", toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left= "+ leftpos +" ,top= "+ toppos); |
|
} |
|
|
|
function openWin(theURL,features) { //v2.0 |
|
var farwindow = null; |
|
farwindow = window.open(theURL,'farwindow',features); |
|
farwindow.focus(); |
|
} |
|
|
|
function browseFile() { //v2.0 |
|
document.write('<input type="file" name = "upFile" >'); |
|
} |
|
|
|
function browseOld() { //v2.0 |
|
document.write('<input type="file" name = "upFile" >'); |
|
} |
|
|
|
function formSubmit(){ |
|
|
|
//var fn = dform.formFileName.value; |
|
//ban lower case var ext = fn.substring(fn.indexOf('.')+1,fn.length).toLowerCase(); |
|
//td 안닫힌 태그 닫기 |
|
var temp=$('<div>'+EditCtrl.document.body.innerHTML+'</div>'); |
|
temp.find('td').each(function(i,o){ |
|
try{ |
|
if(o.outerHTML.toLowerCase().indexOf('</td>')==-1){ |
|
o.outerHTML+='</td>'; |
|
} |
|
}catch(e){} |
|
|
|
}); |
|
//dform.copyForm.value = EditCtrl.document.body.innerHTML; |
|
dform.copyForm.value = temp.html(); |
|
var dformData = dform.copyForm.value; |
|
var formMaxSize = 307200; |
|
var formCurrentSize = dformData.length; |
|
var array_table = dformData.split("<TABLE "); |
|
|
|
//ie10,11 호환성 문제 수정 |
|
if(array_table.length==1){ |
|
array_table = dformData.split("<table "); |
|
} |
|
|
|
if(array_table.length == 1 && dformData.indexOf("\"DataInput\"") == -1){ |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.formCheck")%>"); |
|
return; |
|
}else if (array_table.length > 16){ |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.totalCount15")%>"); |
|
return; |
|
}else if (dform.docName.value == '') { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataNameCheck")%>"); |
|
dform.docName.focus(); |
|
return; |
|
//}else if (containsChars(dform.docName,'₩/?"<>|!,*&^%$#@~;')) { |
|
}else if (containsChars(dform.docName,'\'\\')) { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataNameSymboleCheck")%>"); |
|
dform.docName.focus(); |
|
return; |
|
}else if (containsChars(dform.docName,'\`\\') || containsChars(dform.docName,'\%\\') || containsChars(dform.docName,'\&\\')) { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataNameSymboleCheck")%>"); |
|
dform.docName.focus(); |
|
return; |
|
}else if (containsChars(dform.docName,'?') || containsChars(dform.docName,'*') || containsChars(dform.docName,'<') || containsChars(dform.docName,'>')) { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataNameSymboleCheck")%>"); |
|
dform.docName.focus(); |
|
return; |
|
}else if (containsChars(dform.docName,'/')) { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataNameSymboleCheck")%>"); |
|
dform.docName.focus(); |
|
return; |
|
}else if (containsChars(dform.docName,'\"\\')) { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataNameSymboleCheck")%>"); |
|
dform.docName.focus(); |
|
return; |
|
}else if (dform.accAuth[0].checked == false && dform.accAuth[1].checked == false && dform.accAuth[2].checked == false && dform.accAuth[3].checked == false) { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.publicCheck")%>"); |
|
return; |
|
}else if (dform.deptIDs.value.length == '') { |
|
alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.submitDevisionCheck")%>"); |
|
//2014.09.15 Update by KWON,HAN |
|
//deptSelect(); |
|
deptSelect2(); |
|
return; |
|
} else if (getByteSize(dform.docName.value) >= 200) { |
|
// 자료명의 데이터 길이수 체크. 2014.12.01 by YOUNGJUN,CHO |
|
// 200 byte 가 넘지 않도록 자료명의 길이를 제한한다. |
|
alert("자료명의 길이는 한글기준 66자 이내여야 합니다."); |
|
dform.docName.focus(); |
|
return; |
|
} else if (formCurrentSize > formMaxSize) { |
|
// 복사한 서식의 크기 체크. 2015.05.11 by JS KIM |
|
// 300 Kbyte 가 넘지 않도록 복사한 서식의 크기를 제한한다. |
|
alert("생성한 서식의 전체 크기는 300K 이내여야 합니다. \n\n" + "현재 크기는 약" + Math.round(dformData.length/1024) + "K 입니다"); |
|
return; |
|
} |
|
|
|
//++++++++++++++++++++++++++++++++++++++++ Begin +++++++++++++++++++++++++++++++++++++++++++ |
|
// 문서생성시 셀내에 내용이 긴 경우(500 byte가 초과하는 경우)에 저장시 에러가 발생한다. |
|
// 에러 원인을 사용자에게 노티하기 위해 셀 내의 내용의 길이를 체크하도록 추가함. Add by YOUNGJUN,CHO 2014.12.03 |
|
|
|
// 파일집계가 아닌 경우에 체크. |
|
if (dformData.indexOf("\"DataInput\"") == -1) { |
|
|
|
// moumi_tot_item 'des' 의 length 제한에 유효한지 여부.(true:유효함(이하), false:유효하지않음(초과)) |
|
var isAvailDes = true; |
|
|
|
// moumi_tot_item 'des' 의 length. |
|
var totItemDesMaxLength = 2000; // 테이블의 컬럼 길이를 수정하는 경우 변경필요.(기존 500 byte -> 변경 2,000 byte) |
|
var desByteSize = 0; // 오버플로우된 내용의 byte size. (알림용) |
|
var desText; // 오버플로우된 내용의 text. (알림용) |
|
|
|
// 에디터에 작성된 html 을 pastedHtml 변수에 저장. |
|
//alert(EditCtrl.document.body.innerHTML); |
|
var pastedHtml = EditCtrl.document.body.innerHTML; |
|
//alert($(pastedHtml).find("td").length); |
|
|
|
// 모든 td 태그를 탐색. |
|
$.each( $(pastedHtml).find("td"), function(index) { |
|
|
|
// td 태그내 html tag 를 제외한 text 의 byte size 를 계산.(한글 3 byte) |
|
desByteSize = getByteSize($(this).text()); |
|
|
|
// 입력된 내용의 byte size 가 테이블 컬럼의 길이를 초과하는 경우, 유효하지 않은 des 가 있는 것임. (isAvailDes = false 으로 세팅.) |
|
if ( desByteSize > totItemDesMaxLength ) { |
|
isAvailDes = false; |
|
|
|
//alert($(EditCtrl.document.body).find("td:eq("+index+")").html()); |
|
|
|
// 에디터 영역의 td 태그에 input, textarea 처럼 focus 또는 select 이벤트를 발생시킬 수 없다. |
|
//$(EditCtrl.document.body).find("td:eq("+index+")").select(); |
|
|
|
// 오버플로우되는 내용을 desText 변수에 저장. (알림용) |
|
desText = $(EditCtrl.document.body).find("td:eq("+index+")").text(); |
|
|
|
// 알림용 desText 의 텍스트 길이가 긴 경우 생략처리. (임의로 100글자까지로 정함) |
|
if (desText.length > 100) { |
|
desText = desText.substring(0, 100) + "\n\r..생략.."; |
|
} |
|
|
|
return false; // for문의 break와 동일. |
|
} |
|
}); |
|
|
|
// 오버플로우가 발생된 경우, alert 으로 문제원인과 안내 메세지를 출력하고 return 으로 submit 되지 않게 함. |
|
if (isAvailDes === false) { |
|
alert("셀안의 내용이 너무 깁니다. (입력된 내용 : " + desByteSize + " byte)" |
|
+ "\n\r하나의 셀에는 최대 " + totItemDesMaxLength + " byte 까지의 데이터만 입력가능 합니다." |
|
+ "\n\n한글기준 166자, 영문/숫자 " + totItemDesMaxLength + "자 이내로 입력해주세요." |
|
+ "\r\r**************** 셀 내용 일부 ****************" |
|
+ "\n\r" + desText); |
|
return; |
|
} |
|
} |
|
//++++++++++++++++++++++++++++++++++++++++ End +++++++++++++++++++++++++++++++++++++++++++ |
|
|
|
dform.submit(); |
|
} |
|
|
|
function containsChars(input,chars) { |
|
for (var inx = 0; inx < input.value.length; inx++) { |
|
if (chars.indexOf(input.value.charAt(inx)) != -1) |
|
return true; |
|
} |
|
return false; |
|
} |
|
|
|
function AllDataRemove(){ |
|
dform.deptIDs.value=''; |
|
} |
|
|
|
function ShowDocPool(accAuth){ |
|
isEdited=true; |
|
//document.all.type1.style.display="none"; |
|
//document.all.type2.style.display="inline"; |
|
//document.all.type3.style.display="none"; |
|
document.dform.isFromFormBox.value="true"; |
|
window.open('./popup_form_list.jsp?accAuth='+accAuth,'makepoll','width=800,height=480,scrollbars=yes,resizable=yes'); |
|
} |
|
|
|
function ShowFile(){ |
|
//document.all.type3.style.display="none"; |
|
//document.all.type2.style.display="none"; |
|
//document.all.type1.style.display="inline"; |
|
document.dform.isFromFormBox.value="false"; |
|
} |
|
|
|
function FileCopy(){ |
|
//document.all.type3.style.display="none"; |
|
//document.all.type2.style.display="none"; |
|
//document.all.type1.style.display="inline"; |
|
EditCtrl.document.body.innerHTML = '"DataInput"'; |
|
// disabled 용법 수정 |
|
//$(EditCtrl.document.body).attr('disabled','true'); |
|
isEdited = true; |
|
} |
|
|
|
function ShowCopy(){ |
|
//document.all.type1.style.display="none"; |
|
//document.all.type2.style.display="none"; |
|
//document.all.type3.style.display="inline"; |
|
document.dform.isFromFormBox.value="false"; |
|
// disabled 용법 수정 |
|
//$(EditCtrl.document.body).removeAttr('disabled'); |
|
|
|
// EditCtrl.document.body.innerHTML = '<center>아래한글,엑셀,워드등에서 작성한 조사서식을 복사하여 붙여넣는 창 입니다.</center>'; |
|
EditCtrl.document.body.innerHTML = '<center>아래한글,엑셀,워드등에서 작성한 조사서식을 복사하여 붙여넣는 창 입니다.<br>* 엑셀이나 한글에서 작성한 수식(계산식)은 적용되지 않습니다. *</center>' |
|
+'<br><center>[주의]붙여넣기 한 서식안에 예시를 작성하는 경우, 예시란에는 빈칸(공백)이 없어야 합니다.</center>'; |
|
isEdited = false; |
|
//window.open('./popup_copy_form.jsp','makecopy','width=950,height=595,scrollbars=no,resizable=no'); |
|
} |
|
|
|
function inputText(){ |
|
window.open('./popup_input_form.jsp','makepoll','width=870,height=550,scrollbars=yes,resizable=yes'); |
|
} |
|
|
|
function deptSelect() { |
|
/* |
|
var urlname = "/totsys/common/web/report_dept/new_dept_list.jsp?formName=dform§ion=1&deptIDs="+dform.deptIDs.value+"&deptTypes="+dform.deptTypes.value; |
|
var height = screen.height; |
|
var width = screen.width; |
|
var leftpos = width / 2 - 350; |
|
var toppos = height / 2 - 350; |
|
post= window.open(urlname, "post","width=713, height=475, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left=" + leftpos + ",top=" + toppos); |
|
post.focus(); |
|
*/ |
|
etc.deptIDs.value=dform.deptIDs.value; |
|
etc.deptTypes.value=dform.deptTypes.value; |
|
//etc.deptNames.value=dform.deptNames.value; |
|
etc2.deptNames.value = encodeURL(dform.deptNames.value); |
|
|
|
var height = screen.height; |
|
var width = screen.width; |
|
var leftpos = width / 2 - 350; |
|
var toppos = height / 2 - 350; |
|
//post= window.open("", "post","width=713, height=475, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left=" + leftpos + ",top=" + toppos); |
|
post= window.open("","post","width=900,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left="+leftpos+",top="+toppos); |
|
etc.target="post"; |
|
etc.submit(); |
|
} |
|
|
|
function deptSelect2() { |
|
//2014.11.07 : Delete, Add by KWON,HAN |
|
//etc2.deptIDs.value=dform.deptIDs.value; |
|
//etc2.deptTypes.value=dform.deptTypes.value; |
|
////etc2.deptNames.value=dform.deptNames.value; |
|
//etc2.deptNames.value = encodeURL(dform.deptNames.value); |
|
etc2.deptCount.value = dform.deptCount.value; |
|
//=============================== |
|
|
|
var height = screen.height; |
|
var width = screen.width; |
|
var leftpos = width / 2 - 350; |
|
var toppos = height / 2 - 350; |
|
post2= window.open("","post2","width=900,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left="+leftpos+",top="+toppos); |
|
etc2.target="post2"; |
|
etc2.submit(); |
|
} |
|
|
|
function fromFormBox(reuseDocID, reuseDocName) { |
|
if (reuseDocID != 'null') { |
|
|
|
EditCtrl.document.body.focus(); |
|
|
|
if(confirm(reuseDocName+"<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.dataReuse")%>")){ |
|
//document.all.type1.style.display="none"; |
|
//document.all.type2.style.display="inline"; |
|
//document.all.type3.style.display="none"; |
|
|
|
dform.docName.value = reuseDocName; |
|
dform.reuseDocID.value = reuseDocID; |
|
//dform.oldFormName.value = reuseDocName; |
|
//dform.appendType[3].checked = true; //서식함 활용 체크되게 |
|
document.getElementById("rd<%= TotDocAppendType.REUSE%>").checked = true; //서식함 활용 체크되게 |
|
//window.open('./popup_copy_form.jsp?reuseDocID=','makecopy','width=950,height=595,scrollbars=no,resizable=no'); |
|
|
|
EditCtrl.document.body.innerHTML = '<%= repDocForm %>'; |
|
} else { |
|
history.go(-1); |
|
} |
|
} else { |
|
<%if(!docForm.equals("") && docForm !=null){%> |
|
<% if(TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE) {%> |
|
init(); |
|
EditCtrl.document.body.innerHTML = '"DataInput"'; |
|
// disabled 용법 수정 |
|
//$(EditCtrl.document.body).attr('disabled',true); |
|
<% } else {%> |
|
init(); |
|
//init2(); |
|
EditCtrl.document.body.innerHTML = '<%=StringConverter.toOneLine(TagFilter.convertSingle(docForm))%>'; |
|
//EditCtrl2.document.body.innerHTML = '<%--=StringConverter.toOneLine(TagFilter.convertSingle(notify))--%>'; |
|
<%}%> |
|
<%}%> |
|
} |
|
} |
|
|
|
function pageInit() { |
|
setValue(); |
|
dform.docName.focus(); |
|
} |
|
|
|
// Add by YOUNGJUN,CHO 2014.11.13 : 에디터 영역의 height 을 브라우저 창 크기에 맞게 동적으로 변경되도록 처리하는 함수.(expression 은 되도록 쓰지않아야 한다.) |
|
function fn_resizeEditCtrl() { |
|
var ifrm_EditCtrl = document.getElementById("ifrm_EditCtrl"); |
|
ifrm_EditCtrl.style.height = document.body.clientHeight - 190; |
|
} |
|
</script> |
|
</HEAD> |
|
|
|
<!--<body BGCOLOR="#FFFFFF" onload="init();setValue();dform.docName.focus();fromFormBox('<%--= reuseDocID --%>', '<%--= reuseDocName --%>');fn_resizeEditCtrl();" onresize="fn_resizeEditCtrl()">--> |
|
<body> |
|
<span id="SetWin" style="position: absolute; z-index: 10; visibility: hidden; background: silver; border: 1px solid rgb(51, 51, 51); line-height: 1.4em; padding: 3px; top: 63px; left: 1080px; width: auto; height: auto;"></span> |
|
<table> |
|
<jsp:include page="/totsys/common/inc/totper/top/top.jsp" flush="true" /> |
|
<tr> |
|
<td></td> |
|
<td> |
|
<table> |
|
<jsp:include page="/totsys/common/inc/title/title.jsp" flush="true" /> |
|
<tr> |
|
<!-- 내용--> |
|
<td> |
|
<form name="etc" method="post" action="/totsys/common/web/report_dept/new_dept_list.jsp"> |
|
<input type="hidden" name="formName" value="dform"> |
|
<input type="hidden" name="section" value="1"> |
|
<input type="hidden" name="deptTypes"> |
|
<input type="hidden" name="deptNames"> |
|
<input type="hidden" name="deptIDs"> |
|
</form> |
|
<form name="etc2" method="post" action="/totsys/common/web/report_dept/new_dept_list2.jsp"> |
|
<input type="hidden" name="formName" value="dform"> |
|
<input type="hidden" name="section" value="1"> |
|
<input type="hidden" name="deptTypes"> |
|
<input type="hidden" name="deptNames"> |
|
<input type="hidden" name="deptIDs"> |
|
<input type="hidden" name="deptCount"> |
|
</form> |
|
<form name="dform" action="/servlet/kr.co.kihyun.beans.totsys.doc.HttpFormReader" method="post" enctype="multipart/form-data"> |
|
<input type="hidden" name="docGroupID" value="<%=MDoc.TOT_DOC%>"> |
|
<input type="hidden" name="isFromFormBox" value="<%=isFromFormBox%>"> |
|
<input type="hidden" name="totType" value="<%=totType%>"> |
|
<input type="hidden" name="copyForm"> |
|
<input type="hidden" name="deptIDs"> |
|
<input type="hidden" name="deptTypes"> |
|
<input type="hidden" name="deptNames"> |
|
<input type="hidden" name="deptCount"> |
|
<input type="hidden" name="userIDs"> |
|
<input type="hidden" name="userNames"> |
|
<input type="hidden" name="userCount"> |
|
<input type="hidden" name="userID" value="usID"> |
|
<input type="hidden" name="reuseDocID" value="<%=reuseDocID%>"> |
|
<INPUT type="hidden" name="fileCount" value="<%=MString.isNull(usrFileNameList[0]) == true ? 0 : usrFileNameList.length%>"> |
|
<INPUT type="hidden" name="usrFilenames" value="<%=usrFilenames%>"> |
|
<INPUT type="hidden" name="svrFilenames" value="<%=svrFilenames%>"> |
|
<INPUT type="hidden" name="fileInfos"> |
|
<INPUT type="hidden" name="notify"> |
|
<!-- 새로 추가된 부분 --> |
|
<INPUT type="hidden" name="choice" value="<%=choice%>"> |
|
<INPUT type="hidden" name="isDynaTable" value="<%=isDynaTable%>"> |
|
<INPUT type="hidden" name="mode" value="<%=mode%>"> |
|
<INPUT type="hidden" name="tableDefines" value="<%=tableDefines%>"> |
|
<INPUT type="hidden" name="tableCount" value="<%=tableCount%>"> |
|
<INPUT type="hidden" name="itemNames" value="<%=itemNames%>"> |
|
<INPUT type="hidden" name="tableNums" value="<%=tableNums%>"> |
|
<INPUT type="hidden" name="colNums" value="<%=colNums%>"> |
|
<INPUT type="hidden" name="rowNums" value="<%=rowNums%>"> |
|
<INPUT type="hidden" name="itemSizes" value="<%=itemSizes%>"> |
|
<INPUT type="hidden" name="itemDescs" value="<%=itemDescs%>"> |
|
<INPUT type="hidden" name="itemExprs" value="<%=itemExprs%>"> |
|
<INPUT type="hidden" name="itemTypes" value="<%=itemTypes%>"> |
|
<INPUT type="hidden" name="backDash" value="<%=backDash%>"> |
|
<INPUT type="hidden" name="totRange" value="1"> |
|
<table> |
|
<tr> |
|
<td> |
|
<table class="kecttep_list_table"> |
|
<tr> |
|
<!-- Begin : 자료명 //--> |
|
<td class="kecttep_tdmenu" nowrap style="width: 110px; padding-left: 20px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.doc")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.name")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 10px; padding-right: 10px; width: 30%" nowrap> |
|
<input name="docName" type="text" class="inputtxt" value="<%=reuseDocName%>" size="55" style="ime-mode: active;" /> |
|
</td><!-- End : 자료명 //--> |
|
|
|
<!-- Begin : 시행번호 //--> |
|
<td class="kecttep_tdmenu" nowrap style="width: 110px; padding-left: 20px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.executionCode")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 10px;" nowrap> |
|
<%= HttpSSOLogin.getDeptName(request)%> |
|
<!-- <input name="execNum" type="text" class="inputtxt" style="width: 50px" value="<%=execNum%>"> |
|
(<input name="execDate" type="text" size="10" value="<%=execDate%>" readonly onclick="showSetWin('dform.execDate');" |
|
style="cursor: hand;" class="inputtxt"><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.day")%> |
|
<a href="#" onclick="showSetWin('dform.execDate');"> |
|
<img src="/totsys/common/images/date.gif" align="middle"></a>)--> |
|
</td><!-- End : 시행번호 //--> |
|
</tr> |
|
<tr> |
|
<!-- Begin : 서식형태 //--> |
|
<td class="kecttep_tdmenu" nowrap style="padding-left: 20px;"> |
|
<%= TotDocType.FORM_DOC%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.form")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 7px;" nowrap> |
|
|
|
<label for="" onmouseover="balloon_on('한글이나 엑셀에서 작성한 파일을 붙여넣기 하여 서식을 생성한 후 취합하는 방법(서식 입력만 가능)',this,5,0)" onmouseout="balloon_off()"> |
|
<input type="radio" name="appendType" value="<%= TotDocAppendType.SYSTEM%>" onclick="ShowCopy();" |
|
<%= TotDocAppendType.valueOf(appendType) == TotDocAppendType.SYSTEM ? " checked" : ""%>> |
|
<%= TotDocType.FORM_DOC%>집계 |
|
</label> |
|
<label for="" onmouseover="balloon_on('첨부파일로 제출된 자료를 취합(압축저장)하는 방법',this,5,0)" onmouseout="balloon_off()"> |
|
<input type="radio" name="appendType" value="<%= TotDocAppendType.FILE%>" onclick="FileCopy();" |
|
<%-- <%= reuseDocID == null && TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE ? " checked" : "" %>> --%> |
|
<%= TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE ? " checked" : ""%>> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.file")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.tot_doc")%> |
|
</label> |
|
<label for="" onmouseover="balloon_on('한글이나 엑셀에서 작성한 파일을 붙여넣기 하여 서식을 생성한 후 취합하는 방법(서식외 첨부파일 제출 가능)',this,5,0)" onmouseout="balloon_off()"> |
|
<input type="radio" name="appendType" value="<%= TotDocAppendType.COPY%>" onclick="ShowCopy();" |
|
<%= TotDocAppendType.valueOf(appendType) == TotDocAppendType.COPY ? " checked" : ""%>> |
|
<%= TotDocType.FORM_DOC%>+<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.file")%> |
|
</label> |
|
|
|
<label for="" onmouseover="balloon_on('이전에 집계한 서식을 다시 재사용하여 문서를 생성하는 방법',this,5,0)" onmouseout="balloon_off()"> |
|
<input id="rd<%= TotDocAppendType.REUSE%>" type="radio" name="appendType" value="<%= TotDocAppendType.REUSE%>" onclick="ShowDocPool('<%= MoumiConfig.PER%>');" |
|
<%-- <%= reuseDocID != null && TotDocAppendType.valueOf(appendType) == TotDocAppendType.REUSE ? " checked" : ""%>> --%> |
|
<%= TotDocAppendType.valueOf(appendType) == TotDocAppendType.REUSE ? " checked" : ""%>> |
|
<%= TotDocType.FORM_DOC%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.box")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.upTake")%> |
|
</label> |
|
</td><!-- End : 서식형태 //--> |
|
|
|
<!-- Begin : 서식공유범위 //--> |
|
<td class="kecttep_tdmenu" nowrap style="padding-left: 20px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.doc")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.type.share")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 7px;" nowrap> |
|
<label for="" onmouseover="balloon_on('문서를 생성한 담당자만 취합자료 관리',this,5,0)" onmouseout="balloon_off()"> |
|
<input name="accAuth" value="0" type="radio"<%= "0".equals(accAuth) ? " checked" : ""%>><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.personal")%> |
|
</label> |
|
|
|
<label for="" onmouseover="balloon_on('문서를 생성한 담당자와 동일 부서 사용자에게 취합자료 공유',this,5,0)" onmouseout="balloon_off()"> |
|
<input name="accAuth" value="1" type="radio"<%= "1".equals(accAuth) ? " checked" : ""%>><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.devision")%> |
|
</label> |
|
|
|
<label for="" onmouseover="balloon_on('본사소속 사용자에게 취합자료 공유',this,5,0)" onmouseout="balloon_off()"> |
|
<input name="accAuth" value="2" type="radio"<%= "2".equals(accAuth) ? " checked" : ""%>><%=MoumiConfig.getMessageBundle().getString("moumi.message.foundation.head")%> |
|
</label> |
|
|
|
<!-- <label for="" onmouseover="balloon_on('전체 기관 사용자에게 취합 자료 공유(학교사용자 제외)',this,5,0)" onmouseout="balloon_off()"> |
|
<input name="accAuth" value="3" type="radio"<%= "3".equals(accAuth) ? " checked" : ""%>><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.all")%> |
|
</label>--> |
|
</td><!-- End : 서식공유범위 //--> |
|
</tr> |
|
<tr> |
|
<td class="kecttep_tdmenu_middle" style="padding-left: 20px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.dataInputDevision")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 10px;"> |
|
<!-- Begin : 제출기관지정 버튼 //--> |
|
<a href="#" onClick="javascript:deptSelect2();"> |
|
<span style="width: 99px; cursor: pointer;"> |
|
<!--<img src="/totsys/common/images/person.png" height="12"> <%//=MoumiConfig.getMessageBundle().getString("moumi.message.button_large.submitDept")%>--> |
|
<img src="/totsys/common/images/bt_dept_select2.gif" height="24" alt="<%=MoumiConfig.getMessageBundle().getString("moumi.message.button_large.submitDept")%>" /> |
|
</span> |
|
</a> |
|
<!--// End : 제출기관지정 버튼 --> |
|
|
|
<!-- Begin : 제출기관지정 결과 //--> |
|
<%if (deptCount.equals("0")) {%> |
|
<input name="deptCountText" type="text" |
|
style="width: 200px; border: 0; color: black; padding-top: 3px;" |
|
value=" <%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.submitDevision")%>" readonly> |
|
<%} else {%> |
|
<input name="deptCountText" type="text" |
|
style="width: 200px; border: 0; color: black; padding-top: 3px;" |
|
value=" <%=deptCount%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.devisionSelect")%>" |
|
align="middle"> |
|
<%}%> |
|
<!--// End : 제출기관지정 결과 --> |
|
</td> |
|
|
|
<!-- Begin : 입력요령 //--> |
|
<td class="kecttep_tdmenu" nowrap style="padding-left: 20px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.input")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.trick")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 10px;" nowrap> |
|
<a href="#" onClick="javascript:inputText();"> |
|
<span> |
|
<!--<img src="/totsys/common/images/regist2.png"> <%//=MoumiConfig.getMessageBundle().getString("moumi.message.button_large.inputWrite")%>--> |
|
<img src="/totsys/common/images/bt_psd.gif" alt="<%=MoumiConfig.getMessageBundle().getString("moumi.message.button_large.inputWrite")%>" /> |
|
</span> |
|
</a> |
|
</td> |
|
<!--// End : 입력요령 --> |
|
</tr> |
|
<tr> |
|
<td colspan="4" nowrap></td> |
|
</tr> |
|
<tr> |
|
<td colspan="4"> |
|
<table width="100%" border=0 cellpadding=0 cellspacing=0 > |
|
<tr> |
|
<td></td> |
|
</tr> |
|
<!----- 내용 -----> |
|
<tr> |
|
<td class="editMain" style="border:1px solid #dedcec;"> |
|
<div> |
|
<iframe name='EditCtrl' id="ifrm_EditCtrl" class="contentFrame" onblur='nowkong.SaveSelection();'> |
|
</iframe> |
|
<div class="overlay hide"></div> |
|
<iframe class="iframeHidden" id='i_fontcolor'></iframe> |
|
<iframe class="iframeHidden" id='i_backcolor'></iframe> |
|
<iframe class="iframeHidden" id='i_image'></iframe> |
|
<iframe class="iframeHidden" id='i_link'></iframe> |
|
<iframe class="iframeHidden" id='i_emoticon'></iframe> |
|
<div id='editctrl' style='display: block; width: auto; height: auto;'> |
|
|
|
<!-- |
|
Update by YOUNGJUN,CHO 2014.11.13 |
|
expression 을 사용해서 브라우저 창 사이즈 조절시 에디터 영역의 height 을 동적으로 변경하려고 사용한듯 한데, |
|
expression 사용은 지양해야 한다. 브라우저에서 expression 을 계속 실행하기 때문에 깜빡임 현상이 발생할 수 있다. |
|
(거의 ms 마다 실행되고 IE8 부터는 expression 을 지원하지 않는 것으로 알고 있음.) |
|
|
|
body onload, onresize 에 에디터 영역의 height 을 동적으로 조절하도록 자바스크립트 함수를 추가하여 처리함. |
|
--> |
|
<!--<iframe name='EditCtrl' style="width:100%;height:expression(document.body.clientHeight-190)" scrolling='YES'--> |
|
|
|
</div> |
|
</div> |
|
</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td></td> |
|
</tr> |
|
|
|
<tr> |
|
<td class="center"><!-- 이전, 다음단계 --> |
|
<a href="javascript:void(0);" onclick="formSubmit();"> |
|
<span> |
|
<!--<img src="/totsys/common/images/next3.png" /> <%//=MoumiConfig.getMessageBundle().getString("moumi.message.button_large.next")%>--> |
|
<img src="/totsys/common/images/bt_nextb.gif" alt="<%=MoumiConfig.getMessageBundle().getString("moumi.message.button_large.next")%>" /> |
|
</span> |
|
</a> |
|
</td> |
|
</tr> |
|
</table> |
|
</form> |
|
</td> |
|
</tr> |
|
</table> |
|
</td> |
|
<td></td> |
|
</tr> |
|
|
|
|
|
</table> |
|
</body> |
|
</html> |
|
<% |
|
}catch(Exception ex){ |
|
ex.printStackTrace(); |
|
out.println(kr.co.kihyun.text.html.ServletUtil.getJavaScript("location='/servlet/kr.co.kihyun.beans.user.HttpSSOLogin?mode=logout';")); |
|
}finally{ |
|
/********** session내의 doc info reset **********/ |
|
MDoc.initSession(session); |
|
if (tx.isActive()) { |
|
tx.rollback(); |
|
} |
|
pm.close(); |
|
} |
|
%>
|
|
|