<% /************************************************************@@ * 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{ } %>