<%@page import="java.util.Map" pageEncoding="UTF-8"%> <% /** * **********************************************************@@ Program * Name : report_regist.jsp Description : /보고자/내문서함/임시보고함/보고자료 변경 Author : * 기현테크 Create Date : 2010-11-27 Modify Date : 2015-03-03 /제출자료/제출진행자료/자료수정 * History : * @@*********************************************************** */ %> <%@ page contentType="text/html; charset=UTF-8" import="java.net.URLEncoder" import="kr.co.kihyun.beans.user.HttpSSOLogin" import="java.net.*" import="kr.co.kihyun.util.MUtil" import="kr.co.kihyun.lang.MString" import="kr.co.kihyun.lang.Encoder" 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.report.MReport" import="kr.co.kihyun.moumi.report.MReportData" import="kr.co.kihyun.moumi.report.stat.StaticMReport" import="kr.co.kihyun.moumi.doc.table.MTable" import="kr.co.kihyun.moumi.doc.table.item.MItem" import="kr.co.kihyun.moumi.report.MReportData" import="kr.co.kihyun.beans.totsys.report.ReportModifyManager" import="kr.co.kihyun.beans.totsys.report.ReportDataSet" import="kr.co.kihyun.text.javascript.JavaScriptUtil" import="kr.co.kihyun.beans.totsys.doc.table.item.ItemList" import="kr.co.kihyun.beans.totsys.menu.MenuBean" import="kr.co.kihyun.beans.user.User" import="kr.co.kihyun.text.html.TagFilter" import="kr.co.kihyun.lang.MLong" import="javax.jdo.PersistenceManager" import="javax.jdo.Transaction" import="kr.co.kihyun.beans.entity.util.*" import="kr.co.kihyun.service.*" import="kr.co.kihyun.service.vo.*" import="kr.co.kihyun.beans.entity.*"%> <%@ page import="java.util.Map.Entry"%> <%@ page import="java.util.List"%> <%@ page import="java.sql.ResultSet"%> <%@ page import="kr.co.kihyun.db.CommonDBManager"%> <%@ include file="/totsys/common/inc/sec/secure.inc.jsp"%> <% PersistenceManager pm = new MPersistenceManager(PMF.get().getPersistenceManager()); Transaction tx = pm.currentTransaction(); try { String usID = HttpSSOLogin.getLoginID(request); String dtID = HttpSSOLogin.getDeptID(request); String dpName = HttpSSOLogin.getDeptName(request); String type = MString.checkNull(request.getParameter("type")); String reportType = MString.checkNull(request.getParameter("reportType")); String totperInfo = clearXSS(MString.checkNull(request.getParameter("totperInfo")), ""); String tmpStrMagam = clearXSS(MString.checkNull(request.getParameter("tmpStrMagam")), ""); String doctName = MString.checkNull(request.getParameter("doctName")); String tempYymmddhh = tmpStrMagam; tempYymmddhh = tempYymmddhh.replaceAll("-", ""); tempYymmddhh = tempYymmddhh.replaceAll(" ", ""); tempYymmddhh = tempYymmddhh.replaceAll(":", ""); Long reportID = MLong.parseLong(request.getParameter("reportID"), null); int rowCount = MInteger.parseInt(request.getParameter("rowCount"), -1); int delRowNum = MInteger.parseInt(request.getParameter("delRowNum"), 1); int appro = MInteger.parseInt(request.getParameter("appro"),2); String modifyMode = clearXSS(request.getParameter("modifyMode"), ""); String copyForm = URLDecoder.decode(MString.checkNull(request.getParameter("copyForm")), "UTF-8"); String tableRows = MString.checkNull(Encoder.toJava(request.getParameter("tableRows"))); String tables = MString.checkNull(Encoder.toJava(request.getParameter("tables"))); String strPage = clearXSS(request.getParameter("strPage"), ""); String findOption = clearXSS(request.getParameter("findOption"), null); String findWord = clearXSS(Encoder.toJava(request.getParameter("findWord")), null); String procMode = MString.checkNull(request.getParameter("proc_mode")); if (MString.isNull(procMode)) { tx.begin(); TotReport totReport = pm.getObjectById(TotReport.class, reportID); if(dtID==null || dtID==""){ dtID = totReport.getDept(); } rowCount = rowCount <= 0 ? totReport.getRowCount() + 1 : rowCount; if (tableRows.equals("") || tableRows == null) { String datas = JavaScriptUtil.toCRLF(totReport.getData()); int[] tableRowList = MReportData.getRowNumList(datas); for (int r = 0; r < tableRowList.length; r++) { if (r == 0) { tableRows = Integer.toString(tableRowList[r]); } else { tableRows = tableRows + "," + Integer.toString(tableRowList[r]); } } } ReportModifyManager reportModifyManager = new ReportModifyManager(request, totReport, totReport.getTotDoc(), dtID, usID, rowCount, tableRows); int tableType = reportModifyManager.getTableType(); String tableTypes = reportModifyManager.getTableTypes(); rowCount = reportModifyManager.getRowCount(); String insertForm = reportModifyManager.getInsertForm(); String baseInsertForm = reportModifyManager.getInsertForm(); String putValScript = reportModifyManager.getPutValScript(); String changeAllScript = reportModifyManager.getChangeAllScript(); String inDataJavaScript = reportModifyManager.getInDataJavaScript(); //데이터확인 if (tableTypes.indexOf("1") == -1) { tableType = MTable.STATIC; } else { tableType = MTable.DYNA; } Long repDocID = totReport.getRepTotDoc() == null ? null : totReport.getRepTotDoc().getId(); Long downDocID = totReport.getSlaveTotDoc() == null ? null : totReport.getSlaveTotDoc().getId(); String realFileName = ""; String viewFileName = ""; String attachFileSize = ""; String comment = MString.checkNull(totReport.getNote()); ////////////////////////////////// 동적표에서만 사용 ////////////////////////////////// String addJavaScript = ""; String hiddenData = ""; String insertInputCellName = ""; if (tableType == MTable.DYNA) { addJavaScript = reportModifyManager.getAddJavaScript(); hiddenData = reportModifyManager.getHiddenData(); insertInputCellName = reportModifyManager.getInsertInputCellName(); } //======================================서식정합성 체크 시 사용======================================= if (modifyMode.equals("addRow") || modifyMode.equals("delRow")) { session.setAttribute("insertInputCellName", insertInputCellName); } String insertInputCellNameFromSession = (String) session.getAttribute("insertInputCellName"); if (insertInputCellNameFromSession == null) { insertInputCellNameFromSession = insertInputCellName; } //================================================================================================== reportModifyManager = null; session.setAttribute("modifySuccTargetURI", "/totsys/repoper/mydocbox/tempbox/report_list.jsp?reportType=" + reportType); if (!copyForm.equals("")) { ReportDataSet reportDataSet = new ReportDataSet(); insertForm = reportDataSet.setForm(insertForm, copyForm); if (reportDataSet.getChange() == 0) { %> <% } else { inDataJavaScript = ""; } } /** * ********* append file name vlaues ********** */ String[] realFileNameList = realFileName.split(";"); String[] viewFileNameList = viewFileName.split(";"); String boardGroupID = Category.ID_TOT_DOC_COMMENT; String url = clearXSS(request.getParameter("url"), ""); if (url == null) { url = ""; } // 서식 형태 구분 Long docId = totReport.getTotDoc().getId(); int appType = 0; if (totReport.getTotDoc().getAppendType() == TotDocAppendType.FILE) { appType = 1; } else if (totReport.getTotDoc().getAppendType() == TotDocAppendType.SYSTEM) { appType = 3; } %> <%=MoumiConfig.getTitle()%>
<%--}--%> <%}%> <%--jsp:include page="/totsys/common/inc/memo/reReport_Contents.jsp" flush="false"> <% if (appType != 3) {%> <% } %>
<%= MoumiConfig.getMessageBundle().getString(" /> <%if (!"returndoc".equals(type)) {%> <%= MoumiConfig.getMessageBundle().getString(" /> <%}%> <%if (null != totReport.getTotDoc().getBoard().getContents()) {%> <%= MoumiConfig.getMessageBundle().getString(" /> <%}%> <%= MoumiConfig.getMessageBundle().getString(<%= MoumiConfig.getMessageBundle().getString("moumi.message.button.boardList")%>" />
말머리집계 정보
<% if (appType != 1) { %>
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.executionCode")%> <%=totReport.getTotDoc().getExecutionCode()%> 자료공람 여부 > 공람(Y)  > 비공람(N) 
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.acceptanceCode")%> <%= HttpSSOLogin.getDeptName(request)%>_ "> * <%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.acceptexplanation")%> <%="(필수입력항목은 아닙니다)"%>
<%--if (tableType == MTable.DYNA) {--%>
<%= hiddenData%>
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.numTable")%>     행추가     행삭제   액셀다운   한글다운   표복사입력   자료저장
* 행 추가를 실행하는 경우 집계자가 작성한 서식의 입력행만큼 추가됩니다.
예)기본 입력행이 3행인 경우 제출자가 1행을 추가하면 3행이 추가됩니다.
<%-- * Element Name : fileSizes * Type : hidden * Author : 2014.09.03 by youngjun cho. * Description - 자료에 첨부할 수 있는 파일들의 크기(byte)를 저장하는 hidden value. - DB 에는 저장하지 않는다. - filename 과 같은 형식으로 ";" 으로 구분한다. - 파일을 삭제하면 0 byte 로 저장한다. - 첨부파일 업로드를 핸들링하는 iframe(write_file_upload_dir.jsp) 페이지에서 참조하여 첨부파일들의 파일크기를 합계한다. - 자료에 저장할 수 있는 첨부파일들의 허용크기를 넘지않도록 validation check를 하기 위해 사용한다. - 자료입력 페이지에서 hidden element가 없다면, iframe 에서 동적(dhtml with jquery)으로 element 를 생성한다. (단, 수정페이지에서는 아래처럼 hidden element 가 미리 존재해야 한다.) --%> <% out.println(insertForm); %>
글머리 [<%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.add")%><%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.file")%>]
<%if (changeAllScript.length() > 0) {%> <%}%>
계산하기 자료저장