📄 officeserver.jsp
字号:
mResult=true;
}
catch(IOException io)
{
System.out.println(io.toString());
}
catch(SQLException e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//取得书签列表
private boolean ListBookmarks()
{
String Sql= "SELECT * FROM Bookmarks ";
boolean mResult=false;
mBookmark="";
mDescript="";
if (DbaObj.OpenConnection())
{
try
{
mResult=true;
ResultSet result=DbaObj.ExecuteQuery(Sql);
while (result.next())
{
mBookmark+=result.getString("BookMarkName")+"\r\n"; //用户名列表
mDescript+=result.getString("BookMarkDesc")+"\r\n"; //如果说明信息里有回车,则将回车变成>符号
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//装入书签
private boolean LoadBookMarks()
{
String Sql=" select b.BookMarkName,b.BookMarkText from Template_BookMarks a,BookMarks b where a.BookMarkname=b.BookMarkName and a.RecordID='"+ mTemplate +"'";
boolean mResult=false;
if (DbaObj.OpenConnection())
{
try
{
mResult=true;
ResultSet result=DbaObj.ExecuteQuery(Sql);
while (result.next())
{
//说明:我们测试程序把SQL语句直接写到替换标签内容
//实际使用中,这个标签内容是通过Sql语句得到的。
//生成SQL查询语句 result.getString("BookMarkText") & "条件"
//当前纪录号位 mRecordID
//BookMarkValue=生成SQL运行结果
String mBookMarkName=result.getString("BookMarkName");
String mBookMarkValue=result.getString("BookMarkText");
MsgObj.SetMsgByName(mBookMarkName,mBookMarkValue);
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//保存书签
private boolean SaveBookMarks()
{
boolean mResult=false;
String mBookMarkName;
int mBookMarkId;
int mIndex;
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();
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
mResult=true;
}
else
{
mResult=false;
}
DbaObj.CloseConnection();
return(mResult);
}
//取得签名列表
private boolean LoadMarkList()
{
String Sql= "SELECT MarkName FROM Signature";
mMarkList="";
boolean mResult=false;
if (DbaObj.OpenConnection())
{
try
{
mResult=true;
ResultSet result=DbaObj.ExecuteQuery(Sql);
while (result.next())
{
mMarkList+=result.getString("MarkName")+"\r\n";
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
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;
if (DbaObj.OpenConnection())
{
try
{
ResultSet result=DbaObj.ExecuteQuery(Sql);
if (result.next())
{
mResult=true;
//mFileBody=result.getBytes("MarkBody");
mFileSize=result.getInt("MarkSize");
GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);
mFileType=result.getString("MarkType");
}
result.close();
}
catch(Exception e)
{
System.out.println(e.toString());
mResult=false;
}
DbaObj.CloseConnection();
}
return (mResult);
}
//保存签名
private boolean SaveSignature()
{
boolean mResult=false;
String Sql="insert into Document_Signature (RecordID,MarkName,UserName,DateTime,HostName,MarkGuid) values (?,?,?,?,?,? ) ";
if (DbaObj.OpenConnection())
{
java.sql.PreparedStatement prestmt=null;
try
{
prestmt =DbaObj.Conn.prepareStatement(Sql);
prestmt.setString(1, mRecordID);
prestmt.setString(2, mMarkName);
prestmt.setString(3, mUserName);
prestmt.setString(4, mDateTime);
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;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
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+=formatter.format(result.getTimestamp("DateTime"))+"\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 byte[] ReadPackage(HttpServletRequest request)
{
byte mStream[]=null;
int totalRead = 0;
int readBytes = 0;
int totalBytes = 0;
try
{
totalBytes = request.getContentLength();
mStream = new byte[totalBytes];
while(totalRead < totalBytes)
{
request.getInputStream();
readBytes = request.getInputStream().read(mStream, totalRead, totalBytes - totalRead);
totalRead += readBytes;
continue;
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
return (mStream);
}
//发送处理后的数据包
private void SendPackage(HttpServletResponse response)
{
try
{
ServletOutputStream OutBinarry=response.getOutputStream() ;
OutBinarry.write(MsgObj.MsgVariant()) ;
OutBinarry.flush();
OutBinarry.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
%>
<%
mOption="";
mRecordID="";
mTemplate="";
mFileBody=null;
mFileName="";
mFileType="";
mFileSize=0;
mFileID="";
mDateTime="";
mMarkName="";
mPassword="";
mMarkList="";
mBookmark="";
mMarkGuid="";
mDescript="";
mCommand="";
mContent="";
mUserName=session.getAttribute("UserName").toString();
mFilePath=application.getRealPath("") ;
oa.bean.iDBManager2000 DbaObj=new oa.bean.iDBManager2000();
MsgObj=new oa.bean.iMsgServer2000();
// System.out.println("ReadPackage") ;
try
{
if (request.getMethod().equalsIgnoreCase("POST"))
{
MsgObj.MsgVariant(ReadPackage(request));
// System.out.println("=="+MsgObj.GetMsgByName("OPTION"));
// System.out.println("=="+MsgObj.GetMsgByName("RECORDID"));
// System.out.println("=="+MsgObj.GetMsgByName("TEMPLATE"));
// System.out.println("=="+MsgObj.GetMsgByName("FILENAME"));
// System.out.println("=="+MsgObj.GetMsgByName("FILETYPE"));
/*
//调试时使用
MsgObj.SetMsgByName("DBSTEP","DBSTEP") ;
MsgObj.SetMsgByName("OPTION","LOADFILE") ;
MsgObj.SetMsgByName("NAME","4865054761951") ;
MsgObj.SetMsgByName("TYPE",".doc") ;*/
if (MsgObj.GetMsgByName("DBSTEP").equalsIgnoreCase("DBSTEP"))
{
mOption=MsgObj.GetMsgByName("OPTION") ;
//System.out.println("mOption="+mOption);
if(mOption.equalsIgnoreCase("LOADFILE")) //请求调用文档
{
mRecordID=MsgObj.GetMsgByName("NAME"); //取得文档编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得文档名称
mFileType=MsgObj.GetMsgByName("TYPE"); //取得文档类型
// System.out.println("mRecordID=="+mRecordID);
// System.out.println("mFileName=="+mFileName);
// System.out.println("mFileType=="+mFileType);
MsgObj.MsgTextClear();
if (LoadFile()) //调入文档
{
MsgObj.MsgFileBody(mFileBody); //将文件信息打包
MsgObj.MsgFileSize(mFileSize);
MsgObj.SetMsgByName("USERNAME",mUserName) ;
MsgObj.SetMsgByName("STATUS","打开成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("打开失败!"); //设置错误信息
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -