%@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()%>
<%
tx.rollback();
} else {
tx.begin();
/*부서초기화 시 기관코드로 업데이트 17.06.20 by jskim*/
//제출문서 수정화면에서 초기화시 첨부파일 삭제 기능 추가(docId Elements로 추가함) by wonseok Lee 20170919
TotReport totReport = pm.getObjectById(TotReport.class, reportID);
if(dtID==null || dtID==""){
dtID = totReport.getDept();
}
MDept mDept = pm.getObjectById(MDept.class, dtID);
String grade = mDept.getGrade().toString();
MDept organId = mDept.getOrgan(pm);
Long docId = totReport.getTotDoc().getId();
TotReportService reportService = new TotReportService(pm);
if (procMode.equals("initial") && grade.equals("")) {
reportService.procInitialForReport(reportID, organId,docId);
}else{
reportService.procInitialForReport(reportID,docId);
}
tx.commit();
%>