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.
1334 lines
67 KiB
1334 lines
67 KiB
|
|
<%@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) { |
|
%> |
|
<script>alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.formError")%>')</script> |
|
<% |
|
} 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; |
|
} |
|
%> |
|
|
|
<!DOCTYPE html> |
|
<html lang="ko"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<title><%=MoumiConfig.getTitle()%></title> |
|
<link rel="stylesheet" href="/totsys/common/css/contentStyle.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/basic.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/text.css" type="text/css"> |
|
<link rel="stylesheet" href="/totsys/common/css/tabs.css" type="text/css"> |
|
<script src="/totsys/common/js/rollover.js"></script> |
|
<script src="/totsys/common/js/util.js"></script> |
|
<script src="/totsys/common/js/calendar.js"></script> |
|
<script src="/totsys/common/js/drag.js"></script> |
|
<script src="/totsys/common/js/popup.js"></script> |
|
<script src="/totsys/common/js/jquery-1.12.4.min.js"></script> |
|
<script src="/totsys/common/js/jquery.fixFormTable.js"></script> |
|
<script src="/totsys/common/js/jquery.custom.indicator.js"></script> |
|
<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> |
|
num = <%= viewFileNameList.length%>; |
|
usrFilenames = "<%= viewFileName%>"; |
|
svrFilenames = "<%= realFileName%>"; |
|
fileInfos = ""; |
|
userFilePath = ""; |
|
//======================================서식정합성체크 시 사용======================================= |
|
var cellNames = "<%=insertInputCellNameFromSession%>"; |
|
var validDate = /^(19|20)\d{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[0-1])$/; |
|
var validNum = /^[-]?\d+(?:[.]\d+)?$/; |
|
var validCharZero = /.*\..*0$/; |
|
//================================================================================================== |
|
function nextblur(type) { |
|
var items = "<%=insertInputCellName%>"; |
|
var count = 0; |
|
splitItems = items.split(","); |
|
|
|
for (i = 0; i < splitItems.length; i++) { |
|
if (splitItems[i] == type) |
|
break; |
|
count++; |
|
} |
|
if (splitItems.length <= count + 1) |
|
dform[type].blur(); |
|
else |
|
dform[splitItems[count + 1]].focus(); |
|
} |
|
|
|
function checkFile(Filename, Filename2) { |
|
mkFileList(Filename, Filename2, 'add'); |
|
num++; |
|
} |
|
|
|
function mkFileList(Filename, Filename2, size, mode) { |
|
var tmpSvrFilenames = ""; |
|
var tmpUsrFilenames = ""; |
|
var tmpFileInfos = ""; |
|
|
|
if (!mode) { |
|
mode = "add"; |
|
} |
|
|
|
subFilename = Filename; |
|
subFilename2 = cut_str(1, Filename2, "/"); |
|
subinfo = size; |
|
|
|
usrFilenameList = usrFilenames.split(";", num); |
|
svrFilenameList = svrFilenames.split(";", num); |
|
fileInfoList = fileInfos.split(";", num); |
|
|
|
if (mode == "add") { |
|
if (svrFilenames && usrFilenames) { |
|
for (i = 0; i < num; i++) { |
|
tmpSvrFilenames += svrFilenameList[i] + ";"; |
|
tmpUsrFilenames += usrFilenameList[i] + ";"; |
|
tmpFileInfos += fileInfoList[i] + ";"; |
|
} |
|
tmpSvrFilenames += subFilename; |
|
tmpUsrFilenames += subFilename2; |
|
tmpFileInfos += subinfo; |
|
} else { |
|
tmpSvrFilenames = subFilename; |
|
tmpUsrFilenames = subFilename2; |
|
tmpFileInfos = subinfo; |
|
} |
|
} else { |
|
for (i = 0; i < num; i++) { |
|
if (subFilename == svrFilenameList[i]) |
|
continue; |
|
else { |
|
tmpSvrFilenames += svrFilenameList[i] + ";"; |
|
tmpUsrFilenames += usrFilenameList[i] + ";"; |
|
tmpFileInfos += fileInfoList[i] + ";"; |
|
} |
|
} |
|
} |
|
|
|
usrFilenames = tmpUsrFilenames; |
|
svrFilenames = tmpSvrFilenames; |
|
fileInfos = tmpFileInfos; |
|
} |
|
|
|
function cut_str(state, value, separator) { |
|
if (!separator) { |
|
separator = "."; |
|
} |
|
|
|
if (state == 0) { |
|
return value.substring(0, value.lastIndexOf(separator)); |
|
} |
|
|
|
if (state == 1) { |
|
return value.substring(value.lastIndexOf(separator) + 1, value.length); |
|
} |
|
} |
|
/* |
|
function delFrm() { |
|
var list = document.subUpload.delFrm.fileList; |
|
var a = list.options[list.selectedIndex].value; |
|
var no = -1; |
|
|
|
usrFilenameList = usrFilenames.split(";", num); |
|
svrFilenameList = svrFilenames.split(";", num); |
|
|
|
for (i = 0; i < num; i++) { |
|
if (a == svrFilenameList[i]) { |
|
no = i; |
|
mkFileList(svrFilenameList[i], usrFilenameList[i], 0, "delete"); |
|
} |
|
} |
|
|
|
if (no != -1) { |
|
if (num > 0) { |
|
num--; |
|
} |
|
|
|
document.subUpload.delFrm.submit(); |
|
} |
|
} |
|
*/ |
|
<%= putValScript%> |
|
function changeAll() { |
|
<%= changeAllScript%> |
|
} |
|
|
|
|
|
/********** userfile list와 serverfile list를 배열로 저장 **********/ |
|
function viewFrm(num) { |
|
name = "fileUp" + num; |
|
eval(name + ".style.visibility = \"visible\";"); |
|
eval(name + ".style.display = \"block\";"); |
|
} |
|
|
|
function deptCheck() { |
|
if (<%=appType%> != 1) { |
|
if (!fn_CellValueCheck()) { |
|
return false; |
|
} |
|
} |
|
<%if (changeAllScript.length() > 0) {%> |
|
changeAll(); |
|
<%}%> |
|
|
|
changeAll(); |
|
|
|
|
|
if (document.dform.svrFilenames.value.length != 0) |
|
dform.upFile.value = "1"; |
|
|
|
if (<%=appType%> == 1) { |
|
if (subUpload.num <= 0) { |
|
if (!confirm("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.notRelationDocAdd")%>")) |
|
return; |
|
} |
|
|
|
} |
|
|
|
// 접수번호가 저장되도록 수정. 2014.12.01 by YOUNGJUN,CHO |
|
|
|
dform.acptNum.value = document.getElementById("acptNumForUI").value; |
|
reportShare(); |
|
dform.target = "hiddenFrame"; |
|
|
|
dform.submit(); |
|
|
|
} |
|
|
|
function reportShare(){ |
|
var appro = $(":input:radio[name=appro]:checked"); |
|
dform.appro.value = appro.val(); |
|
if(<%=appType%> != 1){ |
|
modifyForm.appro.value = appro.val(); |
|
} |
|
} |
|
|
|
function totApply() { |
|
totApplyForm.submit(); |
|
} |
|
|
|
function ShowCopy() { |
|
var appro = $(":input:radio[name=appro]:checked").val(); |
|
window.open('../tempbox/popup_copy_form.jsp?reportType=<%=reportType%>&appro='+appro, 'makecopy', 'width=950,height=770,scrollbars=no,resizable=no'); |
|
} |
|
|
|
|
|
/* |
|
* 담당변경을 처리하는 함수 |
|
*/ |
|
function fn_changeDamDang(p_reportID) { |
|
|
|
try { |
|
$.ajax({ |
|
url: "/servlet/kr.co.kihyun.service.servlet.AjaxProcessServlet", |
|
type: "POST", |
|
dataType: "json", |
|
async: true, |
|
data: { |
|
proc_type: "send_neis_recog", |
|
report_id: p_reportID |
|
}, |
|
success: function(data) { |
|
fn_callBackForSuccessDamDang(data); |
|
}, |
|
error: function(e) { |
|
alert("error=" + e); |
|
} |
|
}); |
|
} catch (e) { |
|
alert(e.message); |
|
} |
|
} |
|
|
|
function fn_callBackForSuccessDamDang(data) { |
|
var unModifiableCount = 0 |
|
|
|
if (data != null) { |
|
for (var i = 0; i < data.length; i++) { |
|
unModifiableCount = data[i].unModifiableCount; |
|
} |
|
} |
|
|
|
if (unModifiableCount > 0) { |
|
alert('제출자료의 정보를 수정할 수 없습니다. 제출된 자료가 결재대기중 또는 결재완료된 상태에 있습니다.'); |
|
return false; |
|
} |
|
|
|
var height = screen.height; |
|
var width = screen.width; |
|
var leftpos = width / 2 - 350; |
|
var toppos = height / 2 - 350; |
|
frm = document.damdangForm; |
|
frm.rptDocID.value = ""; |
|
frm.reportID.value =<%=reportID%>; |
|
// frm.reportID.value =<%=reportID%>; |
|
frm.reportType.value = "<%=reportType%>"; |
|
frm.action = "/totsys/repoper/mydocbox/returnbox/popup_rep_transfer11.jsp"; |
|
frm.target = 'damdangForm'; |
|
frm.method = 'post'; |
|
win = window.open('', "damdangForm", "width=572, height=725, toolbar=no, directories=no, status=no, menubar=no, resizable=no,left=" + leftpos + ",top=" + toppos); |
|
win.focus(); |
|
frm.submit(); |
|
} |
|
|
|
|
|
//초기화 : 동적 표에서만 사용 |
|
function prssForm(p_reportID) { |
|
try { |
|
$.ajax({ |
|
url: "/servlet/kr.co.kihyun.service.servlet.AjaxProcessServlet", |
|
type: "POST", |
|
dataType: "json", |
|
async: true, |
|
data: { |
|
proc_type: "send_neis_recog", |
|
report_id: p_reportID |
|
}, |
|
success: function(data) { |
|
fn_callBackForSuccess(data); |
|
}, |
|
error: function(e) { |
|
alert("error=" + e); |
|
} |
|
//, |
|
//beforeSend:function() { |
|
// $.customIndicator.show(window.self); |
|
//}, |
|
//complete:function() { |
|
// $.customIndicator.hide(window.self); |
|
//} |
|
}); |
|
} catch (e) { |
|
alert(e.message); |
|
} |
|
} |
|
|
|
function fn_callBackForSuccess(data) { |
|
var unModifiableCount = 0 |
|
|
|
if (data != null) { |
|
for (var i = 0; i < data.length; i++) { |
|
unModifiableCount = data[i].unModifiableCount; |
|
} |
|
} |
|
|
|
if (unModifiableCount > 0) { |
|
alert('제출자료의 정보를 수정할 수 없습니다. 제출된 자료가 결재대기중 또는 결재완료된 상태에 있습니다.'); |
|
return false; |
|
} |
|
|
|
if (confirm("<%= MoumiConfig.getMessageBundle().getString("moumi.message.popup.collectInit")%>")) { |
|
prssChange.submit(); |
|
} |
|
} |
|
|
|
|
|
function insertData() { |
|
<%= inDataJavaScript%> |
|
//SelectBox에 표복사입력 시 등록된 값을 설정 |
|
$("select").each(function() { |
|
var selected_val = $(this).attr("selected_val"); |
|
if (selected_val != null) { |
|
$(this).val(selected_val); |
|
} |
|
}); |
|
fn_CellValueCheck(); |
|
//콤보박스 초기값을 처음 값으로 |
|
$('form[name=dform] select').each(function(){ |
|
if(this.selectedIndex==-1){ |
|
this.selectedIndex=0; |
|
} |
|
}); |
|
} |
|
|
|
//================================서식정합성체크 시 사용==============================================// |
|
var $formCells = new Array(); |
|
var isFile=<%=appType==1%>; |
|
var rownums=[]; |
|
$(document).ready(function() { |
|
var arrCells = cellNames.split(","); |
|
|
|
for (var i = 0; i < arrCells.length; i++) { |
|
$formCells[i] = $('input[type="text"][name="' + arrCells[i] + '"]'); |
|
} |
|
//ie10,11 호환성보기 수정 - 테두리 없어지는 문제 수정 |
|
if(!isFile){ |
|
$('form[name=dform] table:first').attr({'border':'1','bo':'true'}).css('border','1px solid #000') |
|
.find('td').each(function(i,o){ |
|
if($(o).closest('table').attr('bo')=='true'){ |
|
$(this).css('border','1px solid #000'); |
|
} |
|
}); |
|
$('form[name=dform] table:first > tbody > tr > td').css('border','1px solid #000'); |
|
$('#formDiv span').css('line-height','2'); |
|
//수식 배경색 |
|
$('[iseval=true]').css({'background-color':'#cbddfb'}); |
|
// 행번호 표번호 |
|
// setTimeout(setRowNum,500); |
|
|
|
} |
|
}); |
|
function setRowNum(){ |
|
// 행번호 표번호 |
|
$('[name=dform]').css({'position':'relative'}); |
|
$('[name=dform] > table').css('margin-left','20px').each(function(tblidx){ |
|
rownums[tblidx]=0; |
|
$(this).prepend('<caption style="text-align:left;font-size:12px;font-weight:bold;">'+(tblidx+1)+' 번 표</caption>'); |
|
$(this).find('tr').each(function(tridx,tr){ |
|
if($(tr).find('input').length>0||$(tr).find('select').length>0){ |
|
rownums[tblidx]++; |
|
var pos=$(tr).position(); |
|
var top=pos.top; |
|
var left=pos.left; |
|
var trnum=$('<div class="trnum" style="position:absolute;height:'+$(tr).outerHeight()+'px;line-height:'+$(tr).outerHeight()+'px">'+rownums[tblidx]+'.</div>') |
|
.appendTo('[name=dform]'); |
|
if(document.documentMode<10){ |
|
top-=5; |
|
left+=5; |
|
}else{ |
|
left-=trnum.width()+3; |
|
} |
|
trnum.css({'left':left+'px','top':top+'px'}); |
|
} |
|
}); |
|
}); |
|
} |
|
function fn_CellValueCheck() { |
|
var v_html = ""; |
|
var arrCells = cellNames.split(","); |
|
for (var i = 0; i < arrCells.length; i++) { |
|
if ($formCells[i].attr("value") != null || $formCells[i].attr("itemType") != null) { |
|
//애트리뷰트의 값이 아닌 입력값을 가져와야함 |
|
//var val = $formCells[i].attr("value"); |
|
var val = $formCells[i].val(); |
|
var v_itemType = $formCells[i].attr("itemType"); |
|
} else { |
|
var val = ""; |
|
var v_itemType = ""; |
|
} |
|
if (v_itemType.search("2") != -1) { |
|
if (isNaN(val) || !validNum.test(val)) { |
|
v_html += "<li id='cell_" + arrCells[i] + "'><a href='javascript:void(0);' onclick='document.dform." + arrCells[i] + ".focus();document.dform." + arrCells[i] + ".select(); return false;'>" + arrCells[i] + "은 숫자이어야 합니다.</a></li>"; |
|
} |
|
} |
|
else if (v_itemType.search("3") != -1) { |
|
if ($.trim(val) != "") { |
|
if (!validDate.test(val)) { |
|
v_html += "<li id='cell_" + arrCells[i] + "'><a href='javascript:void(0);' onclick='document.dform." + arrCells[i] + ".focus();document.dform." + arrCells[i] + ".select(); return false;'>" + arrCells[i] + "은 날짜형식(YYYY-MM-DD)이어야 합니다.</a></li>"; |
|
} |
|
} |
|
} else if(v_itemType.search("1") != -1) { |
|
if( $.trim(val) != "") { |
|
if( validCharZero.test(val) /*|| validCharZeroSt.test(val)*/) { |
|
|
|
//if( v_html != "" ) v_html += "<br>"; |
|
//v_html += "<a href='#' id='cell_"+arrCells[i]+"' onclick='document.dform."+arrCells[i]+".focus();document.dform."+arrCells[i]+".select(); return false;'>" + arrCells[i] + "은 날짜형식(YYYY-MM-DD)이어야 합니다.</a>"; |
|
v_html += "<li id='cell_"+arrCells[i]+"'><a href='javascript:void(0);' onclick='document.dform."+arrCells[i]+".focus();document.dform."+arrCells[i]+".select(); return false;'>" + arrCells[i] + "은 데이타를 수정하여야 합니다.</a></li>"; |
|
} |
|
// }else{ |
|
} |
|
} |
|
} |
|
$('#div_error').html(""); |
|
if (v_html != "") { |
|
v_html = "<div class='div_error_title'>에 러 목 록</div><ul class='ul_error_list'>" + v_html + "</ul>"; |
|
$('#div_error').html(v_html); |
|
$('#div_error').fadeIn(); |
|
return false; |
|
} else { |
|
return true; |
|
} |
|
} |
|
|
|
function fn_checkValue(obj, valueType) { |
|
if (valueType == '2') { |
|
$selectedCell = $('#cell_' + obj.name); |
|
if ($selectedCell) { |
|
var val = obj.value; |
|
if (!isNaN(val)) { |
|
$selectedCell.animate({"margin-left": "-=100%"}, 600, function() { |
|
// $(this).remove() |
|
$selectedCell.remove(); |
|
}); |
|
} |
|
} |
|
}else if(valueType == '1'){ |
|
$selectedCell = $('#cell_' + obj.name); |
|
if($selectedCell){ |
|
var val = obj.value; |
|
if(!validCharZero.test(val) /*|| !validCharZeroSt.test(val)*/){ |
|
$selectedCell.animate({"margin-left": "-=100%"}, 600, function() { |
|
$selectedCell.remove(); |
|
|
|
}); |
|
} |
|
} |
|
} |
|
} |
|
|
|
function fn_CalSetValue(obj, value) { |
|
$selectedCell = $('#cell_' + obj.name); |
|
if ($selectedCell) { |
|
var val = obj.value; |
|
if (validDate.test(val)) { |
|
$selectedCell.animate({"margin-left": "-=100%"}, 600, function() { |
|
$(this).remove() |
|
}); |
|
} |
|
} |
|
} |
|
|
|
//================================================================================================// |
|
|
|
function lineAdd() { |
|
<%= addJavaScript%> |
|
modifyForm.rowCount.value = '<%= (rowCount + 2)%>'; |
|
modifyForm.modifyMode.value = 'addRow'; |
|
modifyForm.submit(); |
|
} |
|
|
|
function lineAddNum() { |
|
try { |
|
|
|
var tmp = document.modifyForm.addRowNum.value; |
|
var tr = document.modifyForm.tableRows.value; |
|
var st = document.modifyForm.tables.value; |
|
var appro = $(":input:radio[name=appro]:checked"); |
|
if (tmp == '') { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.addLine")%>'); |
|
modifyForm.addRowNum.focus(); |
|
return; |
|
} else if (isNaN(tmp)) { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.inputNumber")%>'); |
|
document.modifyForm.addRowNum.value = ''; |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} else if (1 > parseInt(tmp)) { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.oneMore")%>'); |
|
document.modifyForm.addRowNum.value = ''; |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} |
|
$.customIndicator.show(window.self); |
|
var trlist = tr.split(","); |
|
trlist[parseInt(st) - 1] = parseInt(tmp) + parseInt(trlist[parseInt(st) - 1]); |
|
|
|
for (i = 0; i < trlist.length; i++) { |
|
if (i == 0) |
|
tr = trlist[i]; |
|
else |
|
tr = tr + "," + trlist[i]; |
|
} |
|
|
|
var num = parseInt(tmp) + parseInt('<%= (rowCount)%>'); |
|
|
|
<%= addJavaScript%> |
|
modifyForm.rowCount.value = num; |
|
modifyForm.modifyMode.value = 'addRow'; |
|
modifyForm.tableRows.value = tr; |
|
modifyForm.tmpStrMagam.value = "<%=tmpStrMagam%>"; |
|
modifyForm.appro.value = appro.val(); |
|
modifyForm.submit(); |
|
} catch (e) { |
|
alert(e); |
|
} |
|
} |
|
|
|
function lineDel() { |
|
var tmp = document.modifyForm.delRowNum.value; |
|
var tr = document.modifyForm.tableRows.value; |
|
var st = document.modifyForm.tables.value; |
|
var trlist = tr.split(","); |
|
|
|
if (tmp == '') { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.deleteLine")%>'); |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} else if (isNaN(tmp)) { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.inputNumber")%>'); |
|
document.modifyForm.delRowNum.value = ''; |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} else if (1 > parseInt(tmp)) { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.oneMore")%>'); |
|
document.modifyForm.delRowNum.value = ''; |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} else if (parseInt(tmp) > parseInt(trlist[parseInt(st) - 1])) { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.lessLine")%>'); |
|
document.modifyForm.delRowNum.value = ''; |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} else if ("<%=rowCount%>" <= 1) { |
|
alert('<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.notDeleteLine")%>'); |
|
document.modifyForm.delRowNum.value = ''; |
|
modifyForm.delRowNum.focus(); |
|
return; |
|
} |
|
|
|
trlist[parseInt(st) - 1] = parseInt(trlist[parseInt(st) - 1]) - 1; |
|
//테이블 모든행 삭제 안되게 |
|
if(trlist[parseInt(st) - 1]==0){ |
|
alert('표에는 1개 이상의 행이 존재해야 합니다.'); |
|
return; |
|
} |
|
for (i = 0; i < trlist.length; i++) { |
|
if (i == 0) |
|
tr = trlist[i]; |
|
else |
|
tr = tr + "," + trlist[i]; |
|
} |
|
|
|
<%= addJavaScript%> |
|
modifyForm.rowCount.value = '<%= (rowCount - 1)%>'; |
|
modifyForm.modifyMode.value = 'delRow'; |
|
modifyForm.tableRows.value = tr; |
|
modifyForm.appro.value = $(":input:radio[name=appro]:checked").val(); |
|
modifyForm.submit(); |
|
} |
|
|
|
function checkReport() { |
|
if (1 > dform.rowCount.value) { |
|
alert('<%= MoumiConfig.getMessageBundle().getString("moumi.message.popup.notSubmitDoc")%>'); |
|
return; |
|
} |
|
openPopup('./popup_dept_check.jsp?deptID=<%= dtID%>&deptName=<%= dpName%>', '350', '290', 'no'); |
|
} |
|
|
|
|
|
/* |
|
* 자료입력 테이블 input element 뒤에 font, span 등의 불필요한 element 를 삭제처리. 시작 |
|
* 2014.08.21 by YoungJun Cho. |
|
*/ |
|
$(document).ready(function() { |
|
$.fixRegistFormTable($("#formDiv").find("table"), {}); |
|
}); |
|
/* 자료입력 테이블 input element 뒤에 font, span 등의 불필요한 element 를 삭제처리. 끝 */ |
|
|
|
/* |
|
* 목록페이지로 이동처리하는 함수 |
|
*/ |
|
function fn_goToList() { |
|
document.listForm.submit(); |
|
} |
|
|
|
/* |
|
* 자료수정Tab으로 이동처리하는 함수 |
|
*/ |
|
function fn_goToViewTab() { |
|
document.viewForm.submit(); |
|
} |
|
|
|
/* |
|
* 입력한 데이타의 크기를 체크하여 기본 크기 이상인 경우 저장을 제한함 |
|
* 2015.05.18 by jskim. |
|
*/ |
|
function inDataSizeCheck() { |
|
var inData = document.dform.inForm.value; |
|
var inDataSize = inData.length; |
|
var baseDataSize = 5123840; |
|
if (inDataSize > baseDataSize) { |
|
alert("현재 입력된 data 크기가 약" + Math.round(inDataSize / 1024) + "K 입니다. \n저장할 수 있는 data크기는 " + Math.round(baseDataSize / 1024) + "K로 제한되어 저장할 수 없습니다" |
|
+ "\n첨부파일로 제출하셔야 합니다."); |
|
return; |
|
} |
|
deptCheck(); |
|
} |
|
|
|
function getIframeFileList(){ |
|
var ifrm = document.getElementById('subfileList'); |
|
ifrm.src="/totsys/common/inc/board/doc/write_file_list.jsp?reportID=<%=reportID%>&docID=<%=docId%>&dtID=<%=dtID%>"; |
|
} |
|
|
|
<!-- 현재 보이는 그대로 엑셀다운 --> |
|
var outhtml='',clone; |
|
function downExl(ishan){ |
|
var clone=$('[name=dform]').clone(); |
|
clone.find(' > input').remove(); |
|
clone.find(' > table td').each(function(i,td){ |
|
td=$(td); |
|
if(td.find('input,textarea').length>0){ |
|
td.html(td.find('input,textarea').val()); |
|
}else if(td.find('option').length>0){ |
|
var sname=td.find('option:selected').parent().attr('name'); |
|
var val=$('[name=dform] select[name='+sname+'] option:selected').val(); |
|
td.html(val); |
|
}else{ |
|
td.html(td.text()); |
|
} |
|
}); |
|
clone.find('hr:last').remove(); |
|
outhtml=clone.html().replace(/<!--[\s\S]*?-->/g,''); |
|
//alert(outhtml);return; |
|
$('#downexl').remove(); |
|
var form='<form id="downexl" style="display:none;" method="post" target="downexl" action="/totsys/common/inc/documents/report/report_view_excel2.jsp">'; |
|
//컨트롤키 누르고 클릭시 utf-8 로 다운로드 |
|
try{ |
|
if(event.ctrlKey){ |
|
if(confirm("인코딩을 UTF-8로 저장하시겠습니까?")){ |
|
form+='<input type="hidden" name="enc" value="utf-8"/>'; |
|
}else{ |
|
return; |
|
} |
|
} |
|
}catch(e){} |
|
form+='<input type="hidden" name="downexl" value="true"/>'; |
|
form+='<input type="hidden" name="outhtml" value=""/>'; |
|
if(ishan)form+='<input type="hidden" name="ishan" value="true"/>'; |
|
form+='<iframe style="display:none;" name="downexl"></iframe>'; |
|
form+='</form>'; |
|
form=$(form).appendTo('body'); |
|
outhtml=encodeURIComponent(outhtml); |
|
form.find('[name=outhtml]').val(outhtml); |
|
form.submit(); |
|
} |
|
</script> |
|
</HEAD> |
|
|
|
<body style="padding: 0; margin: 0;" onload="insertData();"> |
|
<div id="header"> |
|
<!-- 레이아웃 틀어짐 수정 --> |
|
<ul id="primary" style="top: -10px; height: 27px; overflow: hidden;"> |
|
<!-- ie10,11 에서 호환성 보기 문제 수정 a,span 태그에 스타일 추가 --> |
|
<%if (!"returndoc".equals(type)) {%> |
|
<li> |
|
<a style="padding: 0px; line-height: 25px;" href="javascript:fn_goToViewTab();"> |
|
<%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.doc")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.submit")%> |
|
</a> |
|
</li> |
|
<%} else {%> |
|
<%}%> |
|
<li><span style="padding: 0px; line-height: 25px;" class="kecttep_menu_focous"><%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.doc")%><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.modify")%></span></li> |
|
</ul> |
|
|
|
<form name="listForm" method="post" action="/totsys/repoper/mydocbox/tempbox/report_list.jsp"> |
|
<input type="hidden" name="strPage" value="<%= strPage%>"> |
|
<input type="hidden" name="findOption" value="<%=MString.checkNull(findOption)%>"> |
|
<input type="hidden" name="findWord" value="<%=MString.checkNull(findWord)%>"> |
|
<input type="hidden" name="reportType" value="<%=reportType%>"> |
|
</form> |
|
<form name="viewForm" method="post" action="./report_view.jsp"> |
|
<input type="hidden" name="strPage" value="<%= strPage%>"> |
|
<input type="hidden" name="findOption" value="<%=MString.checkNull(findOption)%>"> |
|
<input type="hidden" name="findWord" value="<%=MString.checkNull(findWord)%>"> |
|
<input type="hidden" name="reportType" value="<%=reportType%>"> |
|
<input type="hidden" name="reportID" value="<%= reportID%>"> |
|
<input type="hidden" name="reportType" value="<%= reportType%>"> |
|
<input type="hidden" name="totperInfo" value="<%= totperInfo%>"> |
|
<input type="hidden" name="tmpStrMagam" value="<%= tmpStrMagam%>"> |
|
</form> |
|
<form name="inputExcel" method="post" action="./temp_report_modify.jsp"> |
|
<input type="hidden" name="strPage" value="<%= strPage%>"> |
|
<input type="hidden" name="findOption" value="<%=MString.checkNull(findOption)%>"> |
|
<input type="hidden" name="findWord" value="<%=MString.checkNull(findWord)%>"> |
|
<input type="hidden" name="comment" value="<%= comment%>"> |
|
<input type="hidden" name="reportID" value="<%= reportID%>"> |
|
<input type="hidden" name="rowCount" value="<%= rowCount%>"> |
|
<input type="hidden" name="reportType" value="<%= reportType%>"> |
|
<input type="hidden" name="copyForm" value=""> |
|
<input type="hidden" name="tables" value="1"> |
|
<input type="hidden" name="doctName" value="<%= doctName%>"> |
|
<input type="hidden" name="tableRows" value="<%= tableRows%>"> <%= hiddenData%> |
|
<input type="hidden" name="appro" value=""> |
|
</form> |
|
<form name="damdangForm" method="post" > |
|
<input type="hidden" name="docReportType" value="R"> |
|
<input type="hidden" name="exeFlag" value="form"> |
|
<input type="hidden" name="docID" value=""> |
|
<input type="hidden" name="rptDocID" value=""> |
|
<input type="hidden" name="reportID" value="<%=reportID%>"> |
|
<input type="hidden" name="rptReportID" value=""> |
|
<input type="hidden" name="reportType" value="<%=reportType%>"> |
|
<input type="hidden" name="boxName" value="returnbox"> |
|
<input type="hidden" name="hideUser" value="false"> |
|
<input type="hidden" name="callbackFunc" value="fn_goToList();"> |
|
</form> |
|
<form name="prssChange" method="post"> |
|
<input type="hidden" name="proc_mode" value="initial"> |
|
<input type="hidden" name="reportID" value="<%=reportID%>"> |
|
<input type="hidden" name="prss" value="<%=MReport.ACCEPT_LIST%>"> |
|
<input type="hidden" name="totRange" value="<%=totReport.getTotDoc().getTotRange().ordinal()%>"> |
|
<input type="hidden" name="repDocID" value=""> |
|
<input type="hidden" name="userID" value=""> |
|
<input type="hidden" name="strPage" value="<%= strPage%>"> |
|
<input type="hidden" name="findOption" value="<%=MString.checkNull(findOption)%>"> |
|
<input type="hidden" name="findWord" value="<%=MString.checkNull(findWord)%>"> |
|
<input type="hidden" name="reportType" value="<%=reportType%>"> |
|
</form> |
|
</div> |
|
<!-- topbar 버튼 끝--> |
|
<div id="main"> |
|
<div id="contents"> |
|
<table style="width: 100%;"> |
|
<tr style="vertical-align: middle;" class="toolbar"> |
|
<td style="text-align: left;"> |
|
<table> |
|
<tr> |
|
<td class="kecttep_button_td"> |
|
<!-- 담당변경 --> |
|
<a href="javascript:void(0);" onclick="fn_changeDamDang('<%=reportID%>');"> |
|
<img src="/totsys/common/images/bt_damdang.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_small.trans")%>" /> |
|
</a> |
|
<!-- 초기화 --> |
|
<%if (!"returndoc".equals(type)) {%> |
|
<a href="javascript:void(0)" onclick="javascript:prssForm('<%=reportID%>');"> |
|
<img src="/totsys/common/images/bt_remove.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_small.initialization")%>" /> |
|
</a> |
|
<%}%> |
|
<!-- 입력요령 --> |
|
<%if (null != totReport.getTotDoc().getBoard().getContents()) {%> |
|
<a href="javascript:void(0)" onclick="totperInfo('<%= totReport.getTotDoc().getBoard().getId()%>', '<%= boardGroupID%>');"> |
|
<img src="/totsys/common/images/bt_info_modify.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_small.totperInfo")%>" /> |
|
</a> |
|
<%}%> |
|
<!-- 목록 --> |
|
<a href="#" onclick="fn_goToList();"> |
|
<img src="/totsys/common/images/bt_doc_list.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.doc")%><%= MoumiConfig.getMessageBundle().getString("moumi.message.button.boardList")%>" /> |
|
</a> |
|
</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td style="height: 10px;"></td> |
|
</tr> |
|
<tr> |
|
<!-- 내용--> |
|
<td style="vertical-align: top;"> |
|
<table> |
|
<!-- 집계자 정보 시작 --> |
|
<jsp:include page="/totsys/common/inc/totper/totper.jsp" flush="true"> |
|
<jsp:param name="docID" value='<%= docId%>' /> |
|
<jsp:param name="tmpMagam" value='<%= tmpStrMagam%>' /> |
|
</jsp:include> |
|
<!-- 집계자 정보 끝 --> |
|
<tr style="height: 10px;"> |
|
<td style="width: 149px; height: 10px;"></td> |
|
<td style="height: 10px;"></td> |
|
<td style="width: 149px; height: 10px;"></td> |
|
<td style="height: 10px;"></td> |
|
</tr> |
|
</table> |
|
</td> |
|
<tr> |
|
<td> |
|
<table> |
|
<tr> |
|
<td class="kecttep_title"><img alt="말머리" src="/totsys/common/images/ico_3.gif">집계 정보</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td> |
|
<table class="kecttep_list_table"> |
|
<tr> |
|
<td class="kecttep_tdmenu_middle" style="padding-left: 20px; width: 150px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.executionCode")%> |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 15px; width: 300px;"> |
|
<%=totReport.getTotDoc().getExecutionCode()%> |
|
</td> |
|
<td class="kecttep_tdmenu_middle" style="padding-left: 20px; width: 150px;"> |
|
자료공람 여부 |
|
</td> |
|
<td class="kecttep_last_graytd" style="padding-left: 15px; padding-top: 4px;" > |
|
<input id="appro" name="appro" type="radio" value=1 onclick="reportShare()" <%= appro == 2 ? totReport.getAppro() == 1 ? "checked" : "" : appro == 1 ? "checked" : ""%>> 공람(Y) |
|
<input id="appro" name="appro" type="radio" value=0 onclick="reportShare()" <%= appro == 2 ? totReport.getAppro() == 0 ? "checked" : "" : appro == 0 ? "checked" : ""%>> 비공람(N) |
|
</td> |
|
</tr> |
|
<tr> |
|
<td class="kecttep_tdmenu" style="padding-left: 20px;"> |
|
<%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.acceptanceCode")%> |
|
</td> |
|
<td colspan="3" class="kecttep_last_graytd_bottom" style="padding-left: 15px;"> |
|
<%= HttpSSOLogin.getDeptName(request)%>_ |
|
<input id="acptNumForUI" name="acptNumForUI" type="text" class="inputtxt" style="width: 70px;" value="<%= totReport.getAcceptanceCode() == null || totReport.getAcceptanceCode().getNumber() == null ? "" : MString.checkNull(totReport.getAcceptanceCode().getNumber().toString())%>"> |
|
<span class="ml_5">* <%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.acceptexplanation")%></span> |
|
<span style="color: red;"><%="(필수입력항목은 아닙니다)"%></span> |
|
</td> |
|
</tr> |
|
<tr style="height: 10px;"> |
|
<td colspan="4" style="width: 150px; height: 10px;"></td> |
|
</tr> |
|
<% if (appType != 1) { %> |
|
<tr> |
|
<td colspan="4" style="padding-top: 10px; vertical-align: top;"> |
|
<%--if (tableType == MTable.DYNA) {--%> |
|
<form name="modifyForm" method="post" action="./temp_report_modify.jsp"> |
|
<input type="hidden" name="strPage" value="<%= strPage%>"> |
|
<input type="hidden" name="findOption" value="<%=MString.checkNull(findOption)%>"> |
|
<input type="hidden" name="findWord" value="<%=MString.checkNull(findWord)%>"> |
|
<input type="hidden" name="reportType" value="<%= reportType%>"> |
|
<input type="hidden" name="type" value="<%= type%>"> |
|
<input type="hidden" name="comment" value="<%= comment%>"> |
|
<input type="hidden" name="reportID" value="<%= reportID%>"> |
|
<input type="hidden" name="rowCount" value="<%= rowCount%>"> |
|
<input type="hidden" name="reportType" value="<%= reportType%>"> |
|
<input type="hidden" name="inForm" value='<%= URLEncoder.encode(baseInsertForm, "UTF-8")%>'> |
|
<input type="hidden" name="tableType" value="<%= tableType%>"> |
|
<input type="hidden" name="modifyMode" value="addRow"> |
|
<input type="hidden" name="tableRows" value="<%= tableRows%>"> <%= hiddenData%> |
|
<input type="hidden" name="tmpStrMagam" value="<%= tmpStrMagam%>"> |
|
<input type="hidden" name="doctName" value="<%= doctName%>"> |
|
<input type="hidden" name="appro" value=""> |
|
<table> |
|
<tr> |
|
<td style="width: 80px; text-align: reight; vertical-align: middle;"> |
|
<select name="tables"> |
|
<% |
|
String[] tableDiv = tableTypes.split(","); |
|
for (int i = 0; i < tableDiv.length; i++) { |
|
if (tableDiv[i].equals("1")) { |
|
%> |
|
<option value="<%=i + 1%>"><%=i + 1%></option> |
|
<%} |
|
} |
|
%> |
|
</select><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.numTable")%> |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<td style="background:url('/totsys/common/images/bt_line_addbg.png') 0 2px no-repeat; width: 62px; text-align: right; vertical-align: middle;"> |
|
<input name="addRowNum" type="text" size="3" maxlength="3" class="inputtxt" > |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<td style="width: 56px; vertical-align: middle;"> |
|
<img alt="행추가" onclick="lineAddNum();" style="cursor: pointer; width: 56px; height: 24px;" src="/totsys/common/images/bt_line_add_out.gif"/> |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<td style="width: 62px; text-align: right; vertical-align: middle; background:url('/totsys/common/images/bt_line_delbg.png') 0 2px no-repeat;"> |
|
<input name="delRowNum" type="text" size="3" maxlength="3" class="inputtxt" /> |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<td style="width: 85px; vertical-align: middle;"> |
|
<img alt="행삭제" onclick="lineDel();" style="cursor: pointer; width: 85px; height: 24px;" src="/totsys/common/images/bt_line_del_out.gif"> |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<td style="width: 93px;"> |
|
<!-- |
|
<a href="/totsys/common/inc/documents/report/report_view_excel2.jsp?reportID=<%=reportID%>&docId=<%=docId%>" target="_parent"> |
|
<img src="/totsys/common/images/bt_excel.gif" alt="액셀다운(원본)" /> |
|
</a> |
|
--> |
|
<img src="/totsys/common/images/bt_excel.gif" alt="액셀다운" style="cursor: pointer;" onclick="downExl()"/> |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<!-- 한글저장 --> |
|
<td style="width: 83px;"> |
|
<img src="/totsys/common/images/bt_hwp_save.gif" alt="한글다운" style="cursor: pointer;" onclick="downExl(true)" width="83" height="20"/> |
|
</td> |
|
|
|
|
|
<td style="width: 5px;"> </td> |
|
<td style="width: 93px;"> |
|
<a href="#" onClick='ShowCopy();'> |
|
<img src="/totsys/common/images/bt_copytable.gif" alt="표복사입력" /> |
|
</a> |
|
</td> |
|
<td style="width: 5px;"> </td> |
|
<td> |
|
<a href="#" |
|
onClick="changeAll(); |
|
changeAll(); |
|
changeAll(); |
|
changeAll(); |
|
return inDataSizeCheck(0);"> <!--changeAll();changeAll();changeAll(); 3개 함수 제외 --> |
|
<img alt="자료저장" src="/totsys/common/images/bt_reportsend2.gif"> |
|
</a> |
|
</td> |
|
</tr> |
|
</table> |
|
</form> |
|
<!-- 행추가, 행삭제 끝--> |
|
<div class="pl_20 mt_5" style="color: red;">* 행 추가를 실행하는 경우 집계자가 작성한 서식의 입력행만큼 추가됩니다.</div> |
|
<div class="pl_30 mb_5" style="color: red;">예)기본 입력행이 3행인 경우 제출자가 1행을 추가하면 3행이 추가됩니다.</div> |
|
</table> |
|
</td> |
|
</tr> |
|
<%--}--%> |
|
<tr> |
|
<td style="height: 2px;"></td> |
|
</tr> |
|
<%}%> |
|
<%--jsp:include page="/totsys/common/inc/memo/reReport_Contents.jsp" flush="false"> |
|
<jsp:param name="reportID" value="<%= reportID%>" /> |
|
<jsp:param name="groupID" value="555" /> |
|
<jsp:param name="prss" value="<%=MReport.RETURN%>" /> |
|
</jsp:include--%> |
|
<tr> |
|
<td style="padding-top: 5px; padding-bottom: 25px; vertical-align: top;"> |
|
<div id="formDiv" style="overflow-x: auto;"> |
|
<form name="dform" method="post" action="/servlet/kr.co.kihyun.beans.totsys.report.HttpReportModifyer" enctype="multipart/form-data"> |
|
<input type="hidden" name="reportID" value="<%= reportID%>"> |
|
<input type="hidden" name="rowCount" value="<%= rowCount%>"> |
|
<input type="hidden" name="inForm" value='<%= URLEncoder.encode(baseInsertForm, "UTF-8")%>'> |
|
<input type="hidden" name="tableType" value="<%= tableType%>"> |
|
<input type="hidden" name="oldRealFileName" value="<%--=realFileName--%>"> |
|
<input type="hidden" name="oldViewFileName" value="<%--=viewFileName--%>"> |
|
<input type="hidden" name="repDocID" value="<%=repDocID%>"> |
|
<input type="hidden" name="tableTypes" value="<%= tableTypes%>"> |
|
<input type="hidden" name="tableRows" value="<%= tableRows%>"> |
|
<input type="hidden" name="downDocID" value="<%=downDocID%>"> |
|
<input type="hidden" name="modify" value="modify"> |
|
<input type="hidden" name="name" value=""> |
|
<input type="hidden" name="tel" value=""> |
|
<INPUT type="hidden" name="usrFilenames" value="<%= viewFileName%>"> |
|
<INPUT type="hidden" name="svrFilenames" value="<%= realFileName%>"> |
|
<INPUT type="hidden" name="sumFileSize" value="0"> |
|
<input type="hidden" name="callbackFunc" value="parent.fn_goToList();"> |
|
<input type="hidden" name="acptNum" value=""> |
|
<input type="hidden" name="comment" value="<%= comment%>"> |
|
<input type="hidden" name="docId" value="<%= docId%>"> |
|
<%-- |
|
* 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 가 미리 존재해야 한다.) |
|
--%> |
|
<INPUT type="hidden" name="fileSizes" value="<%= attachFileSize%>"> |
|
<INPUT type="hidden" name="fileCount" value="<%=MString.isNull(realFileNameList[0]) == true ? 0 : realFileNameList.length%>"> |
|
<INPUT type="hidden" name="fileInfos"> |
|
<input type="hidden" name="isRecog" value="temp"> |
|
<input type="hidden" name="appro" value=""> |
|
<!-- 보고 폼 시작 --> |
|
<% out.println(insertForm); %> |
|
<!-- 보고 폼 끝 --> |
|
<input type=hidden name="upFile"> |
|
</form> |
|
</div> |
|
<div id="div_error"> |
|
</div> |
|
</td> |
|
</tr> |
|
|
|
<% if (appType != 3) {%> |
|
<tr> |
|
<td> |
|
<table> |
|
<tr> |
|
<td style="width: 14px;"> |
|
<img alt="글머리" src="/totsys/common/images/ico_1.gif"></td> |
|
<td class="kecttep_list_title" style="padding-left: 5px; text-align: left;">[<%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.add")%><%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.file")%>]</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
|
|
<tr> |
|
<td><span id="repopermemo"> |
|
<table> |
|
<tr> |
|
<td><!--20170811 첨부파일을 가져오기 위한 iframe추가 by wonseok Lee--> |
|
<iframe class="blind" |
|
src="" |
|
id="subfileList" name="subfileList" width="720" frameborder="0" scrolling="no" |
|
marginheight="0" marginwidth="3" height="75"></iframe></td> |
|
</tr> |
|
<tr> |
|
<td><!--20170814 추가 by wonseok Lee.--> |
|
<iframe |
|
src="/totsys/common/inc/board/doc/write_file_upload_dir.jsp?pageFlag=2&boardGroupID=<%= boardGroupID%>&execMode=init&mode=repoper&reportID=<%=reportID%>&docID=<%=docId%>&dtID=<%=dtID%>&maxSize=1" |
|
id="subUpload" name="subUpload" |
|
width="720" |
|
frameborder=0 |
|
scrolling=no |
|
marginheight=0 |
|
marginwidth=2 |
|
height="75"> |
|
</iframe> |
|
</td> |
|
</tr> |
|
</table> |
|
</span></td> |
|
</tr> |
|
<% } %> |
|
<tr> |
|
<td style="height: 37px; text-align: left;"> |
|
<table> |
|
<tr> |
|
<td style="width: 3px;"></td> |
|
<%if (changeAllScript.length() > 0) {%> |
|
<td> |
|
<a href="javascript:void(0);" title="계산하기" |
|
onClick='changeAll(); |
|
changeAll(); |
|
changeAll(); |
|
changeAll();'> |
|
<img src="/totsys/common/images/bt_cal.gif" alt="계산하기" /> |
|
</a></td> |
|
<td style="width: 3px;"></td> |
|
<%}%> |
|
<td> |
|
<a href="javascript:void(0);" title="자료저장" |
|
onClick="changeAll(); |
|
changeAll(); |
|
changeAll(); |
|
changeAll(); |
|
return inDataSizeCheck();"> |
|
<img src="/totsys/common/images/bt_reportsend2.gif" alt="자료저장" /> |
|
</a> |
|
</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
</table> |
|
</div> |
|
</div> |
|
<div id="SetWin" |
|
style="position: absolute; Visibility: hidden; width: 100px; height: 100px; background: silver; border: 1px #333333 solid; line-height: 1.4em; padding: 3px 3px"></div> |
|
<iframe name="hiddenFrame" frameborder="0" width="0" height="0" src="" style="display: none" /> |
|
</BODY> |
|
</HTML> |
|
<% |
|
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(); |
|
%> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<title></title> |
|
<script> |
|
/* |
|
* 접수자료 상세페이지로 이동처리하는 함수 |
|
*/ |
|
function fn_goToAcceptPage() { |
|
document.rsForm.submit(); |
|
} |
|
|
|
window.onload = fn_goToAcceptPage; |
|
</script> |
|
</head> |
|
<body> |
|
<form name="rsForm" method="post" action="/totsys/repoper/mydocbox/tempbox/report_regist.jsp"> |
|
<input type="hidden" name="reportID" value="<%= reportID%>"> |
|
<input type="hidden" name="type" value="returndoc"> |
|
<input type="hidden" name="totperInfo" value="true"> |
|
</form> |
|
</body> |
|
</html> |
|
<% |
|
} |
|
|
|
} catch (Exception ex) { |
|
//if (tx.isActive()) { |
|
// tx.rollback(); |
|
//} |
|
ex.printStackTrace(); |
|
out.println(kr.co.kihyun.text.html.ServletUtil.getJavaScript("location='/servlet/kr.co.kihyun.beans.user.HttpSSOLogin?mode=logout';")); |
|
} finally { |
|
if (tx.isActive()) { |
|
tx.rollback(); |
|
} |
|
pm.close(); |
|
} |
|
%>
|
|
|