📄 officeserver.asp
字号:
<%'功能:报表处理函数%>
<!--#include file="../inc/conn.asp"-->
<%
'------------------------------------------------设置参数
LoginID=trim(session("LoginID")) : if LoginID="" then LoginID=0 '当前用户ID
'------------------------------------------------
dim mFileSize
dim mFileBody
dim mFileName
dim mFileType
dim mFileDate
dim mFileID
dim mRecordID
dim mTemplate
dim mDateTime
dim mOption
dim mMarkName
dim mPassword
dim mMarkList
dim mBookmark
dim mDescript
dim mHostName
dim mMarkGuid
dim mHtmlName
dim mDirectory
dim mFilePath
dim mUserName
dim MsgObj
dim Sql
'调出文档,将文档内容保存在mFileBody里,以便进行打包
Function LoadFile()
Sql= "SELECT FileBody,FileSize FROM tbioaOffice_Document_File WHERE RecordID='" + mRecordID + "'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
if Rs.Eof then
LoadFile=False
else
LoadFile=True
mFileBody=Rs("FileBody").value
mFileSize=Rs("FileSize").value
end if
Rs.Close
Set Rs=nothing
End Function
'保存文档,如果文档存在,则覆盖,不存在,则添加
Function SaveFile()
Sql= "SELECT * FROM tbioaOffice_Document_File WHERE RecordID='" + mRecordID + "'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
if Rs.Eof then
Rs.AddNew
end if
Rs("RecordID")=mRecordID
Rs("FileName")=mFileName
Rs("FileType")=mFileType
Rs("FileSize")=mFileSize
Rs("FileDate")=mFileDate
Rs("FileBody").AppendChunk mFileBody
Rs("FilePath")=mFilePath
Rs("UserName")=mUserName
Rs("Descript")=mDescript
Rs.Update
Rs.Close
Set Rs=nothing
SaveFile=True
End Function
'调出模板文档,将模板文档内容保存在mFileBody里,以便进行打包
Function LoadTemplate()
Sql= "SELECT FileBody,FileSize From tbioaOffice_Template WHERE RecordID='" + mTemplate + "'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
if Rs.Eof then
LoadTemplate=False
else
LoadTemplate=True
mFileBody=Rs("FileBody").value
mFileSize=Rs("FileSize").value
end if
Rs.Close
Set Rs=nothing
End Function
'保存模板文档,如果模板文档存在,则覆盖,不存在,则添加
Function SaveTemplate()
Sql= "SELECT * From tbioaOffice_Template WHERE RecordID='" + mTemplate + "'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
if Rs.Eof then
Rs.AddNew
end if
Rs("RecordID")=mTemplate
Rs("FileName")=mFileName
Rs("FileType")=mFileType
Rs("FileSize")=mFileSize
Rs("FileDate")=mFileDate
Rs("FileBody").AppendChunk mFileBody
Rs("FilePath")=mFilePath
Rs("UserName")=mUserName
Rs("Descript")=mDescript
Rs.Update
Rs.Close
Set Rs=nothing
SaveTemplate=True
End Function
'列出所有版本信息
Function ListVersion()
mFileID="" & vbcrlf
mDateTime="保存时间" & vbcrlf
mUserName="用户名" & vbcrlf
mDescript="版本说明" & vbcrlf
Sql= "SELECT FileID,FileDate,UserName,Descript FROM tbioaOffice_Document_File WHERE RecordID='" + mRecordID + "'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,1
Do While Not Rs.Eof
mFileID=mFileID & CStr(Rs("FileID")) & vbcrlf '文件号列表
mDateTime=mDateTime & CDate(Rs("FileDate")) & vbcrlf '日期列表
mUserName=mUserName & Rs("UserName") & vbcrlf '用户名列表
mDescript=mDescript & Replace(Rs("Descript"),vbcrlf,">") & vbcrlf '如果说明信息里有回车,则将回车变成>符号
Rs.MoveNext
Loop
Rs.Close
Set Rs=nothing
ListVersion=True
End Function
'调入选中版本,通过文件号调用mFileID,并把文件放入mFileBody里,以便进行打包
Function LoadVersion(mFileID)
Sql= "SELECT FileBody,FileSize FROM tbioaOffice_Document_File WHERE RecordID='" + mRecordID + "' and FileID=" + mFileID
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
if Rs.Eof then
LoadVersion=False
else
LoadVersion=True
mFileBody=Rs("FileBody").value
mFileSize=Rs("FileSize").value
end if
Rs.Close
Set Rs=nothing
End Function
'保存版本,将该版本文件存盘,并将说明信息也保存起来
Function SaveVersion()
Sql= "tbioaOffice_Document_File"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
Rs.AddNew
Rs("RecordID")=mRecordID
Rs("FileName")=mFileName
Rs("FileType")=mFileType
Rs("FileSize")=mFileSize
Rs("FileDate")=mFileDate
Rs("FileBody").AppendChunk mFileBody
Rs("FilePath")=mFilePath
Rs("UserName")=mUserName
Rs("Descript")=mDescript
Rs.Update
Rs.Close
Set Rs=nothing
SaveVersion=True
End Function
Function ListBookmarks()
mBookmark=""
mDescript=""
Sql= "SELECT * from tbioaOffice_BookMarks "
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,1
Do While Not Rs.Eof
mBookmark=mBookmark & Rs("BookMarkName") & vbcrlf
mDescript=mDescript & Rs("BookMarkDesc") & vbcrlf
Rs.MoveNext
Loop
Rs.Close
Set Rs=nothing
ListBookmarks=true
End Function
Function LoadBookmarks()
Sql=" select b.BookMarkName,b.BookMarkText From tbioaOffice_Template_BookMarks a,tbioaOffice_BookMarks b where a.BookMarkname=b.BookMarkName and a.RecordID='"+ mTemplate +"'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,1
Do While Not Rs.Eof
'说明:我们测试程序把SQL语句直接写到替换标签内容
'实际使用中,这个标签内容是通过Sql语句得到的。
'生成SQL查询语句 result.getString("BookMarkText") & "条件"
'当前纪录号位 mRecordID
'BookMarkValue=生成SQL运行结果
if Rs("BookMarkText").value<>"" then
TempSql=Rs("BookMarkText").value
TempSql=TempSql+" where RecordID='"+mRecordID+"'"
Set TempRs=Server.CreateObject("ADODB.RecordSet")
TempRs.Open TempSql,oConn,1,1
if TempRs.eof then
BookMarkValue=""
else
BookMarkValue=TempRs(0)
end if
TempRs.close
set TempRs=nothing
else
BookMarkValue=""
end if
BookMarkName=Rs("BookMarkName").value
' BookMarkValue=Rs("BookMarkText").value
MsgObj.SetMsgByName BookMarkName,BookMarkValue
Rs.MoveNext
Loop
Rs.Close
Set Rs=nothing
LoadBookmarks=True
End Function
Function SaveBookMarks()
Sql = "DELETE From tbioaOffice_Template_BookMarks Where RecordID='"+ mTemplate+"'"
oConn.Execute Sql
for mIndex=6 to MsgObj.GetFieldCount -1
mBookMarkName=MsgObj.GetFieldName(mIndex)
Sql="insert into tbioaOffice_Template_BookMarks (RecordId,BookMarkName) values ('"+ mTemplate +"','"+ mBookMarkName +"')" & vbcrlf
oConn.Execute Sql
next
SaveBookMarks=True
End Function
Function LoadMarkList()
mMarkList=""
Sql= "SELECT SignatureID,MarkName,usermod From tbioaOffice_Signature where userid=0"
Set Rs=oConn.Execute(Sql)
do while not Rs.Eof
userAuth=ReturnSignatureManage(Rs("usermod"),Rs("SignatureID"),"users","tbioaOffice_Signature") '取使用权限
if userAuth then
mMarkList=mMarkList & Rs("MarkName") & vbcrlf
end if
Rs.MoveNext
loop
Rs.Close
Sql= "SELECT SignatureID,MarkName,usermod From tbioaOffice_Signature where userid="&LoginID
Set Rs=oConn.Execute(Sql)
do while not Rs.Eof
mMarkList=mMarkList & Rs("MarkName") & vbcrlf
Rs.MoveNext
loop
Rs.Close
Set Rs=nothing
LoadMarkList=true
End Function
Function LoadMarkImage(vMarkName,vPassWord)
Sql= "SELECT MarkBody,MarkType From tbioaOffice_Signature WHERE MarkName='" + vMarkName + "' and PassWord='" + vPassWord + "'"
Set Rs=oConn.Execute(Sql)
if Rs.Eof then
LoadMarkImage = FALSE
else
LoadMarkImage = TRUE
mFileBody=Rs("MarkBody").value
mFileType=Rs("MarkType").value
end if
Rs.Close
Set Rs=nothing
End Function
'保存印章,将该印章存盘,并将说明信息也保存起来
Function SaveSignature()
Sql="tbioaOffice_Document_Signature"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,3
Rs.AddNew
Rs("RecordID")=mRecordID
Rs("MarkName")=mMarkName
Rs("UserName")=mUserName
Rs("DateTime")=mDateTime
Rs("HostName")=mHostName
Rs("MarkGuid")=mMarkGuid
Rs.Update
Rs.Close
Set Rs=nothing
SaveSignature=True
End Function
'列出所有版本信息
Function LoadSignature()
mMarkName="印章名称" & vbcrlf
mUserName="签名人" & vbcrlf
mDateTime="签章时间" & vbcrlf
mHostName="客户端IP" & vbcrlf
mMarkGuid="序列号" & vbcrlf
Sql= "SELECT MarkName,UserName,DateTime,HostName,MarkGuid FROM tbioaOffice_Document_Signature WHERE RecordID='" + mRecordID + "'"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,oConn,1,1
Do While Not Rs.Eof
mMarkName=mMarkName & Rs("MarkName") & vbcrlf '文件号列表
mDateTime=mDateTime & CDate(Rs("DateTime")) & vbcrlf '日期列表
mUserName=mUserName & Rs("UserName") & vbcrlf '用户名列表
mHostName=mHostName & Rs("HostName") & vbcrlf '说明信息
mMarkGuid=mMarkGuid & Rs("MarkGuid") & vbcrlf '说明信息
Rs.MoveNext
Loop
Rs.Close
Set Rs=nothing
LoadSignature=True
End Function
'调出所对应的文本
function LoadContent()
'打开数据库
'根据 mRecordID 或 mFileName 等信息
'提取文本信息付给mContent即可。
'本演示假设取得的文本信息如下:
mContent=""
mContent=mContent+"本文的纪录号:"+mRecordID+vbcrlf
mContent=mContent+"本文的文件名:"+mFileName+vbcrlf
mContent=mContent+" 这个部分请自己加入,和你们的数据库结合起来就可以了"
LoadContent=true
end function
'保存所对应的文本
function SaveContent()
'打开数据库
'根据 mRecordID 或 mFileName 等信息
'插入文本信息 mContent里的文本到数据库中即可。
SaveContent=True
end function
mUserName=session("UserName")
mFilePath=Server.MapPath(".")
Set MsgObj=Server.CreateObject("DBstep.MsgServer2000") '创建信息包对象
if (MsgObj.GetMsgByName("DBSTEP")="DBSTEP") then '如果是合法的信息包
mOption=MsgObj.GetMsgByName("OPTION") '取得操作信息
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -