%
/************************************************************@@
* Program Name : doc_regist.jsp
* Description : /Áý°èÀÚ/³»¹®¼ÇÔ/µî·ÏÇÔ/¹®¼ µî·Ï
* Author : °¿øÁß
* Create Date : 2004.10.11
* History :
@@************************************************************/
%>
<%@ page contentType="text/html; charset=euc-kr"
import="java.net.URLEncoder"
import="kr.co.kihyun.beans.user.HttpSSOLogin" import="java.util.*"
import="java.net.URLDecoder" import="java.io.StringReader"
import="javax.swing.text.html.parser.ParserDelegator"
import="kr.co.kihyun.lang.MString" import="kr.co.kihyun.lang.MInteger"
import="kr.co.kihyun.lang.Encoder" import="kr.co.kihyun.util.Stopwatch"
import="kr.co.kihyun.text.html.HtmlUtil"
import="kr.co.kihyun.text.excel.CalculationForm"
import="kr.co.kihyun.text.html.TagFilter"
import="kr.co.kihyun.text.html.ServletUtil"
import="kr.co.kihyun.text.html.CallbackHandler"
import="kr.co.kihyun.lang.MLong" import="kr.co.kihyun.moumi.Moumi"
import="kr.co.kihyun.moumi.doc.MDoc"
import="kr.co.kihyun.moumi.doc.table.MTable"
import="kr.co.kihyun.moumi.doc.table.MTableType"
import="kr.co.kihyun.moumi.doc.table.TableDefine"
import="kr.co.kihyun.moumi.doc.table.TableCreation"
import="kr.co.kihyun.moumi.doc.table.item.MItem"
import="kr.co.kihyun.moumi.doc.table.item.MItemInfo"
import="kr.co.kihyun.lang.MInteger"
import="kr.co.kihyun.beans.totsys.doc.table.item.ItemList"%>
<%@ include file="/totsys/common/inc/sec/secure.inc.jsp"%>
<%
try{
/*********** ¼Ò¿ä½Ã°£ üũ ***********/
Stopwatch stopwatch = new Stopwatch();
long startTime = stopwatch.start();
/********** session³»ÀÇ userId **********/
String usID = HttpSSOLogin.getLoginID(request);
/********** parameter **********/
Long docID = MLong.parseLong(request.getParameter("docID"),null);
String docName = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("docName")), "UTF-8"),"");
String accAuth = clearXSS(request.getParameter("accAuth"),"");
String stDate = clearXSS(request.getParameter("stDate"),"");
String edDate = clearXSS(request.getParameter("edDate"),"");
String deptIDs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("deptIDs")), "UTF-8"),"");
String deptCount = clearXSS(request.getParameter("deptCount"),"");
String userIDs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("userIDs")), "UTF-8"),"");
String userCount = clearXSS(request.getParameter("userCount"),"");
String repDocID = clearXSS(request.getParameter("repDocID"),"");
String docGroupID = clearXSS(request.getParameter("docGroupID"),"");
String isFromFormBox = request.getParameter("isFromFormBox");
String choice = clearXSS(request.getParameter("choice"),"");
String deptNames = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("deptNames")), "UTF-8"),"");
String userNames = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("userNames")), "UTF-8"),"");
//String tableCount = clearXSS(request.getParameter("tableCount"),"");
String confirmDynaTable = clearXSS(request.getParameter("isDynaTable"),"");
String mode = clearXSS(request.getParameter("mode"),"");
String tableDefines = clearXSS(request.getParameter("tableDefines"),"");
String tableTypes = clearXSS(request.getParameter("tableTypes"),"");
String itemNames = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemNames")), "UTF-8"),"");
String tableNums = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("tableNums")), "UTF-8"),"");
String colNums = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("colNums")), "UTF-8"),"");
String rowNums = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("rowNums")), "UTF-8"),"");
String itemSizes = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemSizes")), "UTF-8"),"");
String itemDescs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemDescs")), "UTF-8"),"");
String itemExprs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemExprs")), "UTF-8"),"");
String itemTypes = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemTypes")), "UTF-8"),"");
String backDash = clearXSS(request.getParameter("backDash"),"");
String docForm = HtmlUtil.toLowerCase((String)session.getAttribute("docForm"));
String origTableForm = MTable.getTables(docForm); //´ë¹®ÀÚ »ì¸²
String tableForm = docForm;
tableForm = tableForm.replaceAll("
","");
/********** ÆÄ½Ì **********/
//¿Ã¸° ÆÄÀÏÀ» String Reader¸¦ ÀÌ¿ëÇØ¼ Àд´Ù.
StringReader strReader = new StringReader(origTableForm);
CallbackHandler cbHandler = new CallbackHandler();
new ParserDelegator().parse(strReader, cbHandler, true);
List> tdList = cbHandler.getTDs();
int tdCount = tdList.size();
//Ç¥°¡ Á¸Àç ÇÏÁö ¾ÊÀ»¶§..
if(tdCount < 1 ){
out.println("");
return;
}
//»ý¼ºÇÒ ¹è¿ÀÇ »çÀÌÁî °è»ê
int allRowCount = 0;
int allColCount = 0;
int rowCount = 0;
int colCount = 0;
for(int i=0; i < tdCount; i++){
rowCount = Integer.parseInt(tdList.get(i).get("row"));
colCount = Integer.parseInt(tdList.get(i).get("col"));
if(allRowCount < rowCount) allRowCount = rowCount;
if(allColCount < colCount) allColCount = colCount;
}
++ allRowCount; //¹è¿À̶ó 0ºÎÅÍ ½ÃÀÛ ÇÑ´Ù.
++ allColCount; //¹è¿À̶ó 0ºÎÅÍ ½ÃÀÛ ÇÑ´Ù.
//°¢°¢ÀÇ ¼¿¿¡ ÀÖ´Â Text ¸¦ tdTextList ¶ó´Â ¹è¿¿¡ ÀúÀåÇÑ´Ù.
boolean isDynaTable = true;
String tdName = "";
String tableNumList = "";
String tdText = "";
String tdTextList[][] = new String[allRowCount][allColCount];
StringBuffer itemValueListBuff = new StringBuffer();
MTableType tableType = new MTableType(allRowCount); //table type value
Long reuseDocID = (Long)session.getAttribute("reuseDocID");
int[] itemNumList = null;
String[] itemNameList = null;
String[] itemExprList = null;
int[] itemSizeList = null;
String[] itemDescList = null;
int[] itemTypeList = null;
int[] intTableNumList = null;
int[] rowNumList = null;
int[] colNumList = null;
if(!MString.isNull(itemTypes) && !itemTypes.equals("")) {
if(confirmDynaTable.equals("false")){
isDynaTable = false;
}else{
isDynaTable = true;
}
MItemInfo itemInfo = new MItemInfo();
itemInfo.itemInfo(itemNames, itemSizes, itemExprs, itemDescs, itemTypes, tableNums, colNums, rowNums, 10);
itemNumList = itemInfo.getItemNumList();
itemNameList = itemInfo.getItemNameList();
itemExprList = itemInfo.getItemExprList();
itemSizeList = itemInfo.getItemSizeList();
itemDescList = itemInfo.getItemDescList();
itemTypeList = itemInfo.getItemTypeList();
intTableNumList = itemInfo.getTableNumList();
rowNumList = itemInfo.getRowNumList();
colNumList = itemInfo.getColNumList();
if(backDash.equals("back")){ //make by ±¸°æ¸ð #ÀÌÀü´Ü°è·Î À̵¿½Ã ¼ö½Ä°ª º¯È¯³»¿ëÀ» À¯Áö
itemExprs = clearXSS(URLDecoder.decode(request.getParameter("itemExprs"), "UTF-8"),"");
//step 1. ¾Õ±ÛÀÚ 0: ¸¦ ¾ø¾Ø´Ù.
itemExprs = itemExprs.substring(2,itemExprs.length());
//step 2. ¹øÈ£: ¸¦ ¾ø¾Ø´Ù. (step 1,2¸¦ ÇÏ´ÂÀÌÀ¯´Â 0: °ú 100: ¿¡¼ 0:°¡ °øÅëÀ¸·Î µé¾î°¡´Â¹®Á¦°¡ Àֱ⶧¹®.)
for(int i=0; i< itemNameList.length; i++){
itemExprs = itemExprs.replaceAll(MItem.LIST_DELIM+i+":",MItem.LIST_DELIM);
}
//step 3. Ư¼ö¹®ÀÚ MItem.LIST_DELIM ±âÁØÀ¸·Î ¹è¿¿¡ ³Ö´Â´Ù. À̶§, itemTypeNameList ¹è¿À» »ç¿ëÇѴٴ°Ϳ¡ ÁÖÀÇ.
itemExprList = itemExprs.split(MItem.LIST_DELIM);
//step 4. ¸¶Áö¸· ¼ö½ÄÀû¿ëÇÑ ¹øÁö~¹è¿³¡±îÁö »çÀ̰¡ ¸ðµÎ nullÀ϶§ ¹è¿ÀÌ Áß°£¿¡ ²÷±â´ÂÇö»ó º¸¿Ï
String[] itemExprList_temp = itemExprList;
itemExprList = new String[itemNameList.length];
for(int i=0; i< itemNameList.length; i++){
if(i0 || tdText.indexOf("/>") >0 ){
itemValueListBuff.append("itemDescList["+i+"] = 'empty';\n");
}else{
itemValueListBuff.append("itemDescList["+i+"] = '"+tdText+"';\n");
}
}
//itemValueListBuff.append("itemTypeList["+i+"] = '"+MItem.getTypeName(MItem.CHAR)+"';\n");
itemValueListBuff.append("itemTypeList["+i+"] = '"+ (reuseDocID == null ? MItem.getTypeName(MItem.INT) : MItem.getTypeName(itemTypeList[i]))+"';\n");
itemValueListBuff.append("itemExprList["+i+"] = '"+ (reuseDocID == null ? "" : itemExprList[i].replaceAll("'","\\'"))+"';\n");
}
//¾ç½ÄÀÌ µ¿ÀûÀΠǥÀÎÁö Á¤ÀûÀΠǥÀÎÁö ÆÄ¾Ç
isDynaTable = tableType.isDynaTable();
}
/********** form ÇÊÅ͸µ **********/
int sumSusig = TagFilter.getSumSusig(tableForm);
int comboBox = TagFilter.getComboBox(tableForm);
if(!backDash.equals("back")){//ÀÌÀü´Ü°è µ¹¾Æ¿Â°Í ¾Æ´Ò¶§¸¸ ½ÇÇàÇÔ.
if(sumSusig != -1 ) itemValueListBuff.append(CalculationForm.getCalculationForms(tableForm));
}
if(comboBox != -1) itemValueListBuff.append(TagFilter.excelComboBoxImport(tableForm));
int tableCount = HtmlUtil.getTableCount(tableForm);
tableForm = TagFilter.tdTextToSpace(tableForm);
byte[] formBytes = docForm.getBytes();
session.setAttribute("docForm", tableForm);
TableDefine tableDefine = new TableDefine();
String strTableInfo = tableDefine.insertDiv(tableForm, tdList, cbHandler.getTRCount());
//out.print(itemValueListBuff.toString()); //ÃÖÁ¾Á¡°Ë
session.setAttribute("modifySuccTargetURI", "/totsys/sysadm/prssbox/doc_form_view.jsp");
%>
|
|
|
|
<%= TableCreation.insertChartOrNumber(strTableInfo, tableTypes) %>
|
|
|
|
<%
}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{
}
%>