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.
 
 
 
 
 
 

802 lines
51 KiB

<%
/************************************************************@@
* Program Name : doc_regist.jsp
* Description : /집계자/자료 등록
* Author : 기현테크
* Create Date : 2010.11.18
* History :
@@************************************************************/
%>
<%@ page contentType="text/html; charset=euc-kr"
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"),"0");
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);
}
%>
<HTML>
<HEAD>
<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">
<!--<script defer="defer"src="/totsys/common/js/rollover.js"></script>
<script defer="defer" src="/totsys/common/js/util.js"></script>
<script defer="defer" src="/totsys/common/js/calendar.js"></script>
<script defer="defer" src="/totsys/common/js/drag.js"></script>
<script defer="defer" src="/totsys/common/js/date.js"></script>
<script defer="defer" src="/totsys/common/js/checkNum.js"></script>
<SCRIPT defer="defer" src='/totsys/common/js/editor.js'></SCRIPT>
<SCRIPT defer="defer" src='/totsys/common/js/encode.js'></SCRIPT>-->
<script type="text/javascript" src="/totsys/common/js/rollover.js"></script>
<script type="text/javascript" src="/totsys/common/js/util.js"></script>
<script type="text/javascript" src="/totsys/common/js/calendar.js"></script>
<script type="text/javascript" src="/totsys/common/js/drag.js"></script>
<script type="text/javascript" src="/totsys/common/js/date.js"></script>
<script type="text/javascript" src="/totsys/common/js/checkNum.js"></script>
<script type="text/javascript" src='/totsys/common/js/editor.js'></script>
<script type="text/javascript" src='/totsys/common/js/encode.js'></script>
<script type="text/javascript" src='/totsys/common/js/mouse.js'></script>
<script type="text/javascript" src='/totsys/common/js/jquery-1.6.2.min.js'></script>
<!--<script defer="defer" language="javascript">-->
<script type="text/javascript">
var isEdited=false;
<%
if (backDash.equals("back")) {
if (!MString.isNull((String) session.getAttribute("docForm"))) {
%>
isEdited = true;
<%
}
}
%>
$(document).ready(function() {
EditCtrl.document.body.disabled = isEdited;
init();
setValue();
dform.docName.focus();
fromFormBox('<%= reuseDocID %>', '<%= reuseDocName %>');
fn_resizeEditCtrl();
});
$(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>';
}
}
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();
dform.copyForm.value = EditCtrl.document.body.innerHTML;
var dformData = dform.copyForm.value;
var 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,'\"\\')) {
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;
}
//++++++++++++++++++++++++++++++++++++++++ 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"';
EditCtrl.document.body.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";
EditCtrl.document.body.disabled = false;
//EditCtrl.document.body.innerHTML = '<center><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.formCopy")%></center>';
EditCtrl.document.body.innerHTML = '<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&section=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"';
EditCtrl.document.body.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 BGCOLOR="#FFFFFF">
<span id="SetWin" style="position: absolute; z-index: 10; Visibility: hidden; background: silver; border: 1px #333333 solid; line-height: 1.4em; padding: 3px 3px"></span>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<jsp:include page="/totsys/common/inc/totper/top/top.jsp" flush="true" />
<tr>
<td nowrap width="0"></td>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<jsp:include page="/totsys/common/inc/title/title.jsp" flush="true" />
<tr>
<!---- 내용---->
<td height="5" valign="top">
<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="post2" 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 width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">
<table width="100%" border="0" class="kecttep_list_table" cellpadding="0" cellspacing="0">
<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")%>&nbsp;
<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")%>&nbsp;
</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")%>&nbsp;
</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")%>&nbsp;
</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")%>&nbsp;&nbsp;
</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")%>&nbsp;&nbsp;
</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")%>&nbsp;&nbsp;
</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")%>&nbsp;
</label>-->
</td><!-- End : 서식공유범위 //-->
</tr>
<tr>
<td class="kecttep_tdmenu" nowrap style="padding-left: 20px;">
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.dataInputDevision")%>
</td>
<td class="kecttep_last_graytd" style="padding-left: 10px;" nowrap>
<table border=0 cellpadding=0 cellspacing=0>
<tr valign="middle">
<!-- Begin : 제출기관지정 버튼 //-->
<td>
<a href="#" onClick="javascript:deptSelect2();">
<span style="width: 99px; cursor: pointer;">
<!--<img src="/totsys/common/images/person.png" height="12">&nbsp;<%//=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>
</td><!--// End : 제출기관지정 버튼 -->
<!-- Begin : 제출기관지정 결과 //-->
<td>
<%if (deptCount.equals("0")) {%>
<input name="deptCountText" type="text"
style="width: 200px; border: 0; color: black; padding-top: 3px;"
value="&nbsp;<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.submitDevision")%>" align="middle">
<%} else {%>
<input name="deptCountText" type="text"
style="width: 200px; border: 0; color: black; padding-top: 3px;"
value="&nbsp;<%=deptCount%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.devisionSelect")%>"
align="middle">
<%}%>
</td><!--// End : 제출기관지정 결과 -->
</tr>
</table>
</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">&nbsp;<%//=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 style="border:1px solid #dedcec;">
<iframe
id='i_fontcolor' style='background-color: #ffffff; border: 1px double #BFBFBF; cursor: hand; position: absolute; visibility: hidden;'
scrolling=no frameborder=1 height=60></iframe>
<iframe
id='i_backcolor'
style='background-color: #ffffff; border: 1px double #BFBFBF; cursor: hand; position: absolute; visibility: hidden;'
scrolling=no frameborder=1 height=60></iframe>
<iframe
id='i_image'
style='color: #000000; background-color: #efefef; border: 1px double #BFBFBF; cursor: default; position: absolute; visibility: hidden;'
scrolling=no frameborder=1 height=85></iframe>
<iframe
id='i_link'
style='color: #000000; background-color: #efefef; border: 1px double #BFBFBF; cursor: default; position: absolute; visibility: hidden;'
scrolling=no frameborder=1 height=70></iframe>
<iframe
id='i_emoticon'
style='background-color: #efefef; border: 1px double #BFBFBF; cursor: hand; position: absolute; visibility: hidden;'
scrolling=no frameborder=1 height=125></iframe>
<div id='editctrl' style='display: show; 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'-->
<iframe name='EditCtrl' id="ifrm_EditCtrl" style="width:100%;" scrolling='YES'
onfocus='if(isEdited==false) EditCtrl.document.body.innerHTML = ""; isEdited=true;' onblur='nowkong.SaveSelection();' frameborder="0">
</iframe>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td align="center" valign="top"><!---- 이전, 다음단계 ---->
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<a href="javascript:void(0);" onclick="formSubmit();">
<span>
<!--<img src="/totsys/common/images/next3.png" />&nbsp;<%//=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>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</td>
<td nowrap width="10"></td>
</tr>
<!------------------------------- top menu start ------------------------------->
<%@ include file="/totsys/common/inc/buttom/buttom.jsp"%>
<!------------------------------- top menu end ------------------------------->
</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();
}
%>