📄 officeserver.jsp
字号:
//保存版本,将该版本文件存盘,并将说明信息也保存起来
private boolean SaveVersion()
{
boolean mResult = false;
int iFileId = -1;
String Sql="insert into Version_File (FileID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,EMPTY_BLOB(),?,?,? )";
if (mFileID.equalsIgnoreCase("")){
iFileId=DbaObj.GetMaxID("Version_File","FileId");
}
else
{
iFileId = Integer.getInteger(mFileID.toString()).intValue();
}
try {
if (DbaObj.OpenConnection()) {
java.sql.PreparedStatement prestmt=null;
try {
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.setDate(6 ,DbaObj.GetDate());
prestmt.setString(7, mFilePath);
prestmt.setString(8, mUserName);
prestmt.setString(9, mDescript); //"通用版本"
DbaObj.Conn.setAutoCommit(true) ;
prestmt.execute();
DbaObj.Conn.commit();
prestmt.close();
Statement stmt=null;
DbaObj.Conn.setAutoCommit(false) ;
stmt = DbaObj.Conn.createStatement();
OracleResultSet update=(OracleResultSet)stmt.executeQuery("select FileBody from Version_File where Fileid=" + String.valueOf(iFileId)+ " for update");
if (update.next()){
try
{
PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
}
catch (IOException e) {
System.out.println(e.toString());
mResult = false;
}
}
update.close();
stmt.close();
DbaObj.Conn.commit();
mFileBody=null;
mResult=true;
}
catch (SQLException e) {
System.out.println(e.toString());
mResult = false;
}
}
}
finally {
DbaObj.CloseConnection();
}
return (mResult);
}
// ************* 版本管理代码 结束 *******************************
//************ 标签管理代码 开始 *******************************
//取得书签列表
private boolean ListBookmarks()
{
boolean mResult=false;
String Sql= "SELECT * FROM Bookmarks ";
mBookmark="";
mDescript="";
try {
if (DbaObj.OpenConnection()) {
try {
ResultSet result = DbaObj.ExecuteQuery(Sql);
while (result.next()) {
try {
mBookmark+=result.getString("BookMarkName")+"\r\n"; //用户名列表
mDescript+=result.getString("BookMarkDesc")+"\r\n"; //如果说明信息里有回车,则将回车变成>符号
}
catch (Exception ex) {
System.out.println(ex.toString());
}
}
result.close();
mResult=true;
}
catch (SQLException e) {
System.out.println(e.getMessage());
mResult = false;
}
}
}
finally {
DbaObj.CloseConnection();
}
return (mResult);
}
//装入书签
private boolean LoadBookMarks()
{
boolean mResult=false;
String Sql=" select b.BookMarkName,b.BookMarkText from Template_BookMarks a,BookMarks b where a.BookMarkname=b.BookMarkName and a.RecordID='"+ mTemplate +"'";
try {
if (DbaObj.OpenConnection()) {
try {
ResultSet result = DbaObj.ExecuteQuery(Sql);
while (result.next()) {
try {
//说明:我们测试程序把SQL语句直接写到替换标签内容
//实际使用中,这个标签内容是通过Sql语句得到的。
//生成SQL查询语句 result.getString("BookMarkText") & "条件"
//当前纪录号位 mRecordID
//BookMarkValue=生成SQL运行结果
String mBookMarkName=result.getString("BookMarkName");
String mBookMarkValue=result.getString("BookMarkText");
MsgObj.SetMsgByName(mBookMarkName,mBookMarkValue);
}
catch (Exception ex) {
System.out.println(ex.toString());
}
}
result.close();
mResult=true;
}
catch (SQLException e) {
System.out.println(e.getMessage());
mResult = false;
}
}
}
finally {
DbaObj.CloseConnection();
}
return (mResult);
}
//保存书签
private boolean SaveBookMarks()
{
boolean mResult=false;
String mBookMarkName;
int mBookMarkId;
int mIndex;
try {
if (DbaObj.OpenConnection()) {
try {
java.sql.PreparedStatement prestmt=null;
String Sql = "DELETE FROM Template_BookMarks Where RecordID='"+ mTemplate+"'";
prestmt =DbaObj.Conn.prepareStatement(Sql);
DbaObj.Conn.setAutoCommit(true) ;
prestmt.execute();
DbaObj.Conn.commit();
prestmt.close();
for (mIndex=7;mIndex<=MsgObj.GetFieldCount()-1;mIndex++)
{
java.sql.PreparedStatement prestmtx=null;
mBookMarkName=MsgObj.GetFieldName(mIndex);
mBookMarkId=DbaObj.GetMaxID("Template_BookMarks","BookMarkId");
Sql="insert into Template_BookMarks (BookMarkId,RecordId,BookMarkName) values ('" + String.valueOf(mBookMarkId)+ "','"+ mTemplate +"','"+ mBookMarkName +"')";
prestmtx =DbaObj.Conn.prepareStatement(Sql);
DbaObj.Conn.setAutoCommit(true) ;
prestmtx.execute();
DbaObj.Conn.commit();
prestmtx.close();
}
mResult=true;
}
catch (SQLException e) {
System.out.println(e.toString());
mResult = false;
}
}
}
finally {
DbaObj.CloseConnection();
}
return(mResult);
}
//************ 标签管理代码 结束 *******************************
//************ 签章管理代码 开始 *******************************
//取得签名列表
private boolean LoadMarkList()
{
String Sql= "SELECT MarkName FROM Signature";
mMarkList="";
boolean mResult=false;
try {
if (DbaObj.OpenConnection()) {
try {
ResultSet result = DbaObj.ExecuteQuery(Sql);
while (result.next()) {
try {
mMarkList+=result.getString("MarkName")+"\r\n";
}
catch (Exception ex) {
System.out.println(ex.toString());
}
}
result.close();
mResult=true;
}
catch (SQLException e) {
System.out.println(e.getMessage());
mResult = false;
}
}
}
finally {
DbaObj.CloseConnection();
}
return (mResult);
}
//调入签名纪录
private boolean LoadMarkImage(String vMarkName,String vPassWord)
{
String Sql= "SELECT MarkBody,MarkType,MarkSize FROM Signature WHERE MarkName='" + vMarkName + "' and PassWord='" + vPassWord + "'";
boolean mResult=false;
try {
if (DbaObj.OpenConnection()) {
try {
ResultSet result = DbaObj.ExecuteQuery(Sql);
if (result.next()) {
try {
mFileSize=result.getInt("MarkSize");
GetAtBlob(((OracleResultSet)result).getBLOB("MarkBody"),mFileSize);
mFileType=result.getString("MarkType");
mResult=true;
}
catch (Exception ex) {
System.out.println(ex.toString());
}
}
result.close();
}
catch (SQLException e) {
System.out.println(e.getMessage());
mResult = false;
}
}
}
finally {
DbaObj.CloseConnection();
}
return (mResult);
}
//保存签名
private boolean SaveSignature()
{
boolean mResult=false;
int iSignatureID;
String Sql="insert into Document_Signature (SignatureID,RecordID,MarkName,UserName,DateTime,HostName,MarkGuid) values (?,?,?,?,to_date('"+mDateTime+"','yyyy-mm-dd hh24:mi:ss'),?,? ) ";
iSignatureID=DbaObj.GetMaxID("Document_Signature","SignatureID");
if (DbaObj.OpenConnection())
{
java.sql.PreparedStatement prestmt=null;
try
{
prestmt =DbaObj.Conn.prepareStatement(Sql);
prestmt.setInt(1, iSignatureID);
prestmt.setString(2, mRecordID);
prestmt.setString(3, mMarkName);
prestmt.setString(4, mUserName);
prestmt.setString(5, mHostName);
prestmt.setString(6, mMarkGuid);
DbaObj.Conn.setAutoCommit(true);
prestmt.execute();
DbaObj.Conn.commit();
prestmt.close();
mResult=true;
}
catch(SQLException e)
{
System.out.println(e.toString()+Sql);
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//列出所有签名
private boolean LoadSignature()
{
boolean mResult=false;
String Sql= "SELECT MarkName,UserName,DateTime,HostName,MarkGuid FROM Document_Signature WHERE RecordID='" + mRecordID + "'";
mMarkName="印章名称\r\n";
mUserName="签名人\r\n";
mDateTime="签章时间\r\n";
mHostName="客户端IP\r\n";
mMarkGuid="序列号\r\n";
if (DbaObj.OpenConnection())
{
try
{
mResult=true;
ResultSet result=DbaObj.ExecuteQuery(Sql);
while (result.next())
{
mMarkName+=result.getString("MarkName")+"\r\n"; //文件号列表
mUserName+=result.getString("UserName")+"\r\n"; //日期列表
mDateTime+=FormatDate(result.getString("DateTime"),"yyyy-MM-dd HH:mm:ss")+"\r\n";
mHostName+=result.getString("HostName")+"\r\n";
mMarkGuid+=result.getString("MarkGuid")+"\r\n";
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
// ************ 签章管理代码 结束 *******************************
//************ 扩展功能代码 开始 *******************************
//调出所对应的文本
private boolean LoadContent()
{
boolean mResult=false;
//打开数据库
//根据 mRecordID 或 mFileName 等信息
//提取文本信息付给mContent即可。
//本演示假设取得的文本信息如下:
mContent="";
mContent+="本文的纪录号:"+mRecordID+"\n";
mContent+="本文的文件名:"+mFileName+"\n";
mContent+=" 这个部分请自己加入,和你们的数据库结合起来就可以了\n";
mResult=true;
return (mResult);
}
//保存所对应的文本
private boolean SaveContent()
{
boolean mResult=false;
//打开数据库
//根据 mRecordID 或 mFileName 等信息
//插入文本信息 mContent里的文本到数据库中即可。
mResult=true;
return (mResult);
}
//增加行并填充表格内容
private boolean GetWordTable()
{
int i,n;
String strI,strN;
boolean mResult;
mColumns=3; mCells=8;
MsgObj.MsgTextClear();
MsgObj.SetMsgByName("COLUMNS",String.valueOf(mColumns)); //设置表格行
MsgObj.SetMsgByName("CELLS",String.valueOf(mCells)); //设置表格列
//该部分内容可以从数据库中读取
try{
for (i=1;i<=mColumns;i++)
{
strI = String.valueOf(i);
for (n=1;n<=mCells;n++)
{
MsgObj.SetMsgByName( String.valueOf(i)+String.valueOf(n),"内容" + DbaObj.GetDateTime());
}
}
mResult=true;
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
return (mResult);
}
//************ 扩展功能代码 结束 *******************************
%>
<%
mOption="";
mRecordID="";
mTemplate="";
mFileBody=null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -