100 lines
3.7 KiB
Plaintext
100 lines
3.7 KiB
Plaintext
<%@page import="com.amarsoft.app.edoc.EDocument"%>
|
||
<%@ page contentType="text/html; charset=GBK"%>
|
||
<%@ include file="/IncludeBeginMDAJAX.jsp"%><%
|
||
/*
|
||
Author: fmwu 2008/01/02
|
||
Content: 生成电子合同
|
||
Input Param:
|
||
ObjectNo:文档编号
|
||
*/
|
||
%>
|
||
<%!
|
||
String getFullPath(String sDocNo, String sFileName, String sFileSavePath, ServletContext sc) {
|
||
java.io.File dFile = null;
|
||
String sBasePath = sFileSavePath;
|
||
if (!sFileSavePath.equals("")) {
|
||
try {
|
||
dFile = new java.io.File(sBasePath);
|
||
if (!dFile.exists()) {
|
||
dFile.mkdirs();
|
||
System.out.println("!!保存附件文件路径[" + sFileSavePath + "]创建成功!!");
|
||
}
|
||
} catch (Exception e) {
|
||
sBasePath = sc.getRealPath("/WEB-INF/Upload");
|
||
System.out.println("!!保存附件文件路径[" + sFileSavePath + "]无法创建,文件保存在缺省目录[" + sBasePath + "]!");
|
||
}
|
||
} else {
|
||
sBasePath = sc.getRealPath("/WEB-INF/Upload");
|
||
System.out.println("!!保存附件文件路径没有定义,文件保存在缺省目录[" + sBasePath + "]!");
|
||
}
|
||
|
||
String sFullPath = sBasePath + getMidPath(sDocNo);
|
||
try {
|
||
dFile = new java.io.File(sFullPath);
|
||
if (!dFile.exists()) {
|
||
dFile.mkdirs();
|
||
}
|
||
} catch (Exception e) {
|
||
System.out.println("!!保存附件文件完整路径[" + sFullPath + "]无法创建!");
|
||
}
|
||
|
||
String sFullName = sBasePath + getFilePath(sDocNo, sFileName);
|
||
return sFullName;
|
||
}
|
||
|
||
//根据相关参数得到中间部分的路径
|
||
String getMidPath(String sDocNo) {
|
||
return "/EDOC/"+sDocNo.substring(0,6);
|
||
}
|
||
|
||
//根据相关参数得到完整文件名
|
||
String getFilePath(String sDocNo, String sShortFileName) {
|
||
String sFileName;
|
||
sFileName = getMidPath(sDocNo);
|
||
sFileName = sFileName + "/" + sDocNo + "_" + sShortFileName;
|
||
return sFileName;
|
||
}
|
||
%>
|
||
<%
|
||
String sObjectNo = CurPage.getParameter("ObjectNo");
|
||
String sObjectType = CurPage.getParameter("ObjectType");
|
||
String sEDocNo = CurPage.getParameter("EDocNo");
|
||
if (sEDocNo == null || "".equals(sEDocNo)) {
|
||
String sTypeNo = Sqlca.getString("Select BusinessType from BUSINESS_CONTRACT where SerialNo='"+sObjectNo+"'");
|
||
sEDocNo = Sqlca.getString("select Attribute25 from business_type where TypeNo='"+sTypeNo+"'");
|
||
}
|
||
|
||
//得到模板文件路径
|
||
String sFileName="",sFullPathFmt="",sFullPathDef="";
|
||
ASResultSet rs = Sqlca.getResultSet("select FileNameFmt,FullPathFmt,FullPathDef from EDOC_DEFINE where EDocNo='"+sEDocNo+"'");
|
||
if(rs.next()){
|
||
sFileName = rs.getString("FileNameFmt");
|
||
sFullPathFmt = rs.getString("FullPathFmt");
|
||
sFullPathDef = rs.getString("FullPathDef");
|
||
}
|
||
rs.close();
|
||
|
||
//如果不存在记录,则新增记录
|
||
String sSerialNo = Sqlca.getString("SELECT SerialNo FROM EDOC_PRINT where ObjectNo='"+sObjectNo+"' and ObjectType='"+sObjectType+"' and EDocNo='"+sEDocNo+"'");
|
||
if (sSerialNo == null) {
|
||
sSerialNo = DBKeyHelp.getSerialNo("EDOC_PRINT","SerialNo",Sqlca);
|
||
Sqlca.executeSQL("insert into EDOC_PRINT(SerialNo,ObjectNo,ObjectType,EDocNo) values('"+sSerialNo+"','"+sObjectNo+"','"+sObjectType+"','"+sEDocNo+"')");
|
||
}
|
||
|
||
java.util.Date dateNow = new java.util.Date();
|
||
SimpleDateFormat sdfTemp = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
|
||
String sUpdateTime=sdfTemp.format(dateNow);
|
||
|
||
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
|
||
String sFullPathOut = getFullPath(sSerialNo, sFileName, sFileSavePath, application);
|
||
|
||
EDocument edoc = new EDocument(sFullPathFmt,sFullPathDef);
|
||
HashMap map = new HashMap();
|
||
map.put("SerialNo", sObjectNo);
|
||
edoc.saveDoc(sFullPathOut,map,Sqlca);
|
||
long lFileLen = new java.io.File(sFullPathOut).length();
|
||
String sSql = "Update EDOC_PRINT set FullPath='"+sFullPathOut+"',ContentType='application/msword',ContentLength='"+lFileLen+"',InputTime='"+sUpdateTime+"',InputOrg='"+CurUser.getOrgID()+"',InputUser='"+CurUser.getUserID()+"' where SerialNo='"+sSerialNo+"'";
|
||
Sqlca.executeSQL(sSql);
|
||
|
||
out.println(sSerialNo);
|
||
%><%@ include file="/IncludeEndAJAX.jsp"%> |