📄 officeserver.jsp
字号:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.io.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="oracle.sql.BLOB" %>
<%@ page import="oracle.jdbc.*" %>
<%@ page import="oa.bean.iDBManager2000" %>
<%@ page import="oa.bean.iMsgServer2000" %>
<%!
private byte[] mFileBody;
private String mFileName;
private String mFileType;
private String mFileDate;
private String mFileID;
private int mFileSize;
private int mTemplateId;
private String mRecordID;
private String mTemplate;
private String mDateTime;
private String mOption;
private String mMarkName;
private String mPassword;
private String mMarkList;
private String mBookmark;
private String mDescript;
private String mHostName;
private String mMarkGuid;
private String mHtmlName;
private String mDirectory;
private String mFilePath;
private String mUserName;
private String mCommand;
private String mContent;
private oa.bean.iMsgServer2000 MsgObj = new oa.bean.iMsgServer2000();
private oa.bean.iDBManager2000 DbaObj = new oa.bean.iDBManager2000();
private void PutAtBlob(BLOB vField,int vSize) throws IOException
{
try
{
OutputStream outstream=vField.getBinaryOutputStream();
outstream.write(mFileBody,0, vSize);
outstream.close();
}
catch(SQLException e)
{
}
}
private void GetAtBlob(BLOB vField,int vSize) throws IOException
{
try
{
mFileBody = new byte[vSize];
InputStream instream=vField.getBinaryStream();
instream.read(mFileBody,0,vSize);
instream.close();
}
catch(SQLException e)
{
}
}
//调出文档,将文档内容保存在mFileBody里,以便进行打包
private boolean LoadFile()
{
boolean mResult=false;
String Sql= "SELECT FileBody,FileSize FROM Document_File WHERE RecordID='" + mRecordID + "'";
if (DbaObj.OpenConnection())
{
try
{
ResultSet result=DbaObj.ExecuteQuery(Sql);
if (result.next())
{
mResult=true;
mFileSize=result.getInt("FileSize");
//mFileBody=result.getBytes("FileBody");
GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//保存文档,如果文档存在,则覆盖,不存在,则添加
private boolean SaveFile()
{
boolean mResult=false;
int iFileId=0;
String Sql= "SELECT * FROM Document_File WHERE RecordID='" + mRecordID + "'";
if (DbaObj.OpenConnection())
{
try
{
ResultSet result=DbaObj.ExecuteQuery(Sql);
if (result.next())
{
Sql="update Document_File set FileID=?,RecordID=?,FileName=?,FileType=?,FileSize=?,FileDate=?,FileBody=?,FilePath=?,UserName=?,Descript=? WHERE RecordID='" + mRecordID + "'";
iFileId=result.getInt("FileId");
}
else
{
Sql="insert into Document_File (FileID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,?,?,?,? )";
iFileId=DbaObj.GetMaxID("Document_File","FileId");
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
java.sql.PreparedStatement prestmt=null;
try
{
DbaObj.Conn.setAutoCommit(false) ;
prestmt =DbaObj.Conn.prepareStatement(Sql);
prestmt.setInt(1,iFileId);
prestmt.setString(2, mRecordID);
prestmt.setString(3, mFileName);
prestmt.setString(4, mFileType);
prestmt.setInt(5, mFileSize);
//prestmt.setString (5 ,mFileDate);
//prestmt.setBytes(6, mFileBody);
prestmt.setDate(6 ,DbaObj.GetDate());
prestmt.setBlob(7 ,oracle.sql.BLOB.empty_lob());
prestmt.setString(8, mFilePath);
prestmt.setString(9, mUserName);
prestmt.setString(10, mDescript); //"通用版本"
prestmt.execute();
prestmt.close();
Statement stmt=null;
stmt = DbaObj.Conn.createStatement();
OracleResultSet update=(OracleResultSet)stmt.executeQuery("select * from Document_File where Fileid=" + String.valueOf(iFileId));
if (update.next()){
mFileSize=mFileBody.length;
PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
}
update.close();
stmt.close();
DbaObj.Conn.commit();
mFileBody=null;
mResult=true;
}
catch(IOException io)
{
System.out.println(io.toString());
}
catch(SQLException e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//---------模板管理
//调出模板文档,将模板文档内容保存在mFileBody里,以便进行打包
private boolean LoadTemplate()
{
boolean mResult=false;
String Sql= "SELECT FileBody,FileSize FROM Template WHERE RecordID='" + mTemplate + "'";
if (DbaObj.OpenConnection())
{
try
{
ResultSet result=DbaObj.ExecuteQuery(Sql);
if (result.next())
{
mResult=true;
//mFileBody=result.getBytes("FileBody");
mFileSize=result.getInt("FileSize");
GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//保存模板文档,如果模板文档存在,则覆盖,不存在,则添加
private boolean SaveTemplate()
{
boolean mResult=false;
String Sql= "SELECT * FROM Template WHERE RecordID='" + mTemplate + "'";
if (DbaObj.OpenConnection())
{
try
{
ResultSet result=DbaObj.ExecuteQuery(Sql);
if (result.next())
{
Sql="update Template set TemplateID=?,RecordID=?,FileName=?,FileType=?,FileSize=?,FileDate=?,FileBody=?,FilePath=?,UserName=?,Descript=? WHERE RecordID='" + mTemplate + "'";
mTemplateId=result.getInt("TemplateId");
}
else
{
Sql="insert into Template (TemplateID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,?,?,?,? )";
mTemplateId=DbaObj.GetMaxID("Template","TemplateId");
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
java.sql.PreparedStatement prestmt=null;
try
{
DbaObj.Conn.setAutoCommit(false) ;
prestmt =DbaObj.Conn.prepareStatement(Sql);
prestmt.setInt(1,mTemplateId);
prestmt.setString(2, mTemplate);
prestmt.setString(3, mFileName);
prestmt.setString(4, mFileType);
prestmt.setInt(5, mFileSize);
//prestmt.setString (5 ,mFileDate);
//prestmt.setBytes(6, mFileBody);
prestmt.setDate(6 ,DbaObj.GetDate());
prestmt.setBlob(7 ,oracle.sql.BLOB.empty_lob());
prestmt.setString(8, mFilePath);
prestmt.setString(9, mUserName);
prestmt.setString(10, mDescript); //"通用版本"
prestmt.execute();
prestmt.close();
Statement stmt=null;
stmt = DbaObj.Conn.createStatement();
OracleResultSet update=(OracleResultSet)stmt.executeQuery("select * from Template where Templateid=" + Integer.toString(mTemplateId));
if (update.next()){
mFileSize=mFileBody.length;
PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
}
update.close();
stmt.close();
DbaObj.Conn.commit();
mFileBody=null;
mResult=true;
}
catch(IOException io)
{
System.out.println(io.toString());
mResult=false;
}
catch(SQLException e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//列出所有版本信息
private boolean ListVersion()
{
boolean mResult=false;
String mDesc="";
String Sql= "SELECT FileID,FileDate,UserName,Descript FROM Document_File WHERE RecordID='" + mRecordID + "'";
mFileID="\r\n";
mDateTime="保存时间\r\n";
mUserName="用户名\r\n";
mDescript="版本说明\r\n";
if (DbaObj.OpenConnection())
{
try
{
mResult=true;
ResultSet result=DbaObj.ExecuteQuery(Sql);
while (result.next())
{
mFileID+=String.valueOf(result.getInt("FileID"))+"\r\n"; //文件号列表
mDateTime+=result.getString("FileDate")+"\r\n"; //日期列表
mUserName+=result.getString("UserName")+"\r\n"; //用户名列表
mDesc=result.getString("Descript"); //如果说明信息里有回车,则将回车变成>符号
mDesc=mDesc.replace('\r','>');
mDesc=mDesc.replace('\n','>');
mDescript+=mDesc +"\r\n";
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//调入选中版本,通过文件号调用mFileID,并把文件放入mFileBody里,以便进行打包
private boolean LoadVersion(String mFileID)
{
boolean mResult=false;
String Sql= "SELECT FileBody,FileSize FROM Document_File WHERE RecordID='" + mRecordID + "' and FileID=" + mFileID;
if (DbaObj.OpenConnection())
{
try
{
ResultSet result=DbaObj.ExecuteQuery(Sql);
if (result.next())
{
mResult=true;
mFileBody=result.getBytes("FileBody");
mFileSize=result.getInt("FileSize");
GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//保存版本,将该版本文件存盘,并将说明信息也保存起来
private boolean SaveVersion()
{
boolean mResult=false;
int iFileId;
String Sql="insert into Document_File (FileID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,?,?,?,? )";
iFileId=DbaObj.GetMaxID("Document_File","FileId");
if (DbaObj.OpenConnection())
{
java.sql.PreparedStatement prestmt=null;
try
{
DbaObj.Conn.setAutoCommit(false) ;
prestmt =DbaObj.Conn.prepareStatement(Sql);
prestmt.setInt(1,iFileId);
prestmt.setString(2, mRecordID);
prestmt.setString(3, mFileName);
prestmt.setString(4, mFileType);
prestmt.setInt(5, mFileSize);
//prestmt.setString (5 ,mFileDate);
//prestmt.setBytes(6, mFileBody);
prestmt.setDate(6 ,DbaObj.GetDate());
prestmt.setBlob(7 ,oracle.sql.BLOB.empty_lob());
prestmt.setString(8, mFilePath);
prestmt.setString(9, mUserName);
prestmt.setString(10, mDescript); //"通用版本"
prestmt.execute();
prestmt.close();
Statement stmt=null;
stmt = DbaObj.Conn.createStatement();
OracleResultSet update=(OracleResultSet)stmt.executeQuery("select * from Document_File where FileId=" + String.valueOf(iFileId));
if (update.next()){
mFileSize=mFileBody.length;
PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
}
update.close();
stmt.close();
DbaObj.Conn.commit();
mFileBody=null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -