officeserver.asp

来自「OFFICE办公自动化」· ASP 代码 · 共 739 行 · 第 1/2 页

ASP
739
字号
  select case mOption
    case "LOADFILE"						'打开服务器数据库里的文件
	 mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         'mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         'mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
	 MsgObj.MsgTextClear					'清除文本信息
         if (LoadFile()) then					'调入文档
           MsgObj.MsgFileBody=mFileBody				'将文件信息打包
           'MsgObj.MsgFileSize=mFileSize
           MsgObj.SetMsgByName "STATUS","打开成功!"          	'设置状态信息
           MsgObj.MsgError=""		                	'清除错误信息
         else
           MsgObj.MsgError="打开失败!"				'设置错误信息
	 end if

    case "SAVEFILE"						'保存文件在服务器的数据库里
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
         mFileSize=MsgObj.MsgFileSize				'取得文档大小
         mFileDate=now()                      			'取得文档时间
         mFileBody=MsgObj.MsgFileBody				'取得文档内容
         mFilePath=""                                         	'如果保存为文件,则填写文件路径
         mUserName=mUserName                                  	'取得保存用户名称
         mDescript="通用版本"                                 	'版本说明
	 MsgObj.MsgTextClear					'清除文本信息
         if (SaveFile()) then					'保存文档内容
           MsgObj.SetMsgByName "STATUS", "保存成功!"	        '设置状态信息
           MsgObj.MsgError=""					'清除错误信息
         else
           MsgObj.MsgError="保存失败!"				'设置错误信息
	 end if
         MsgObj.MsgFileClear					'清除文档内容
    case "LOADTEMPLATE"						'打开服务器数据库里的文件
         mTemplate=MsgObj.GetMsgByName("TEMPLATE")		'取得模板文档类型
 	  '本段处理是否调用文档时打开模版,
	  '还是套用模版时打开模版。
	  mCommand=MsgObj.GetMsgByName("COMMAND")
	  if (mCommand="INSERTFILE") then
             mFilePath=Server.MapPath(".")
 	     MsgObj.MsgTextClear
 	     if (MsgObj.MsgFileLoad(mFilePath+"\Document\"+mTemplate)) then	'调入模板文档
		MsgObj.SetMsgByName "STATUS","打开模板成功!"	'设置状态信息
		MsgObj.MsgError=""		                '清除错误信息
	     else
		MsgObj.MsgError="打开模板失败!"			'设置错误信息
             end if
         else
  	   MsgObj.MsgTextClear					'清除文本信息
	   if LoadTemplate() then					'调入模板文档
	     MsgObj.MsgFileBody=mFileBody				'将文件信息打包
	     MsgObj.SetMsgByName "STATUS","打开模板成功!"		'设置状态信息
	     MsgObj.MsgError=""					'清除错误信息
	   else
	     MsgObj.MsgError="打开模板失败!"			'设置错误信息
	   end if
         end if
    case "SAVETEMPLATE"						'保存文件在服务器的数据库里
         mTemplate=MsgObj.GetMsgByName("TEMPLATE")		'取得文档编号
         mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
         mFileSize=MsgObj.MsgFileSize				'取得文档大小
         mFileDate=now()		                      	'取得文档时间
         mFileBody=MsgObj.MsgFileBody				'取得文档内容
         mFilePath=""                                         	'如果保存为文件,则填写文件路径
         mUserName=mUserName                                  	'取得保存用户名称
         mDescript="通用版本"					'取得文档大小
	 MsgObj.MsgTextClear					'清除文本信息
	 if SaveTemplate() then				'保存文档内容
	    MsgObj.SetMsgByName "STATUS", "保存模板成功!"	'设置状态信息
	    MsgObj.MsgError=""					'清除错误信息
	 else
	    MsgObj.MsgError="保存模板失败!"			'设置错误信息
	 end if
	 MsgObj.MsgFileClear					'清除文档内容
    case "LISTVERSION"						'打开版本列表
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
	 MsgObj.MsgTextClear					'清除文本信息
         if ListVersion() then					'生成版本列表
           MsgObj.SetMsgByName "FILEID",mFileID			'将文档号列表打包
           MsgObj.SetMsgByName "DATETIME",mDateTime		'将日期时间列表打包
           MsgObj.SetMsgByName "USERNAME",mUserName		'将用户名列表打包
           MsgObj.SetMsgByName "DESCRIPT",mDescript		'将说明信息列表打包
	   MsgObj.SetMsgByName "STATUS","版本列表成功!"		'设置状态信息
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="版本列表失败!"			'设置错误信息
	 end if
    case "LOADVERSION"						'打开版本文档
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         mFileID=MsgObj.GetMsgByName("FILEID")			'取得版本文档号
	 MsgObj.MsgTextClear					'清除文本信息
	 if LoadVersion(mFileID) then				'调入该版本文档
	   MsgObj.MsgFileBody=mFileBody				'将文档信息打包
	   MsgObj.SetMsgByName "STATUS","打开版本成功!"		'设置状态信息
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="打开版本失败!"			'设置错误信息
	 end if
    case "SAVEVERSION"						'保存版本文档
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
         mFileSize=MsgObj.MsgFileSize				'取得文档大小
         mFileDate=now()                       			'取得文档时间
         mFileBody=MsgObj.MsgFileBody				'取得文档内容
         mFilePath=""                                         	'如果保存为文件,则填写文件路径
         mUserName=mUserName                                  	'取得保存用户名称
         mDescript=MsgObj.GetMsgByName("DESCRIPT")		'取得文档大小
 	 MsgObj.MsgTextClear					'清除文本信息
	 if SaveVersion() then					'保存版本文档
	   MsgObj.SetMsgByName "STATUS", "保存版本成功!"	'设置状态信息
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="保存版本失败!"			'设置错误信息
	 end if
	 MsgObj.MsgFileClear					'清除文档内容

    case "LOADBOOKMARKS"					'取得标签文档内容
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         mTemplate=MsgObj.GetMsgByName("TEMPLATE")		'取得模板编号
         mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         mFileType=MsgObj.GetMsgByName("FILETYPE")
	 MsgObj.MsgTextClear
         if LoadBookMarks() then
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="装入标签信息失败!"			'设置错误信息
	 end if
    case "SAVEBOOKMARKS"					'取得标签文档内容
         mTemplate=MsgObj.GetMsgByName("TEMPLATE")		'取得模板编号
         if SaveBookMarks() then
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="保存标签信息失败!"		 	'设置错误信息
	 end if
	 MsgObj.MsgTextClear					'清除文本信息
    case "LISTBOOKMARKS"					'取得标签文档内容
	 MsgObj.MsgTextClear					'清除文本信息
	 if ListBookmarks() then
           MsgObj.SetMsgByName "BOOKMARK",mBookMark		'将用户名列表打包
           MsgObj.SetMsgByName "DESCRIPT",mDescript		'将说明信息列表打包
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="调入标签失败!"			'设置错误信息
	 end if
    case "LOADMARKLIST"
         '下面的代码为创建印章列表
         Session("Point")=MsgObj.GetMsgByName("POINT") '取得印章位置
	 MsgObj.MsgTextClear					'清除文本信息
	 if LoadMarkList() then
	   MsgObj.SetMsgByName "POSITION",Session("Point")      '该段为新增部分
           MsgObj.SetMsgByName "MARKLIST",mMarkList
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="创建印章列表失败!"
         end if
    case "LOADMARKIMAGE"
	 '下面的代码为打开印章文件
         mMarkName=MsgObj.GetMsgByName("IMAGENAME")		'取得文档名
         mUserName=MsgObj.GetMsgByName("USERNAME")		'取得文档名
	 mPassword=MsgObj.GetMsgByName("PASSWORD")		'取得文档类型
	 MsgObj.MsgTextClear					'清除文本信息

	 if LoadMarkImage(mMarkName,mPassword) then		'调入文档
	   MsgObj.SetMsgByName "POSITION",Session("Point")      '该段为新增部分
	   MsgObj.SetMsgByName "IMAGETYPE",mFileType
	   MsgObj.MsgFileBody = mFileBody			'将文件信息打包
	   MsgObj.SetMsgByName "STATUS","打开印章成功!"		'设置状态信息
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="签名或密码错误!"			'设置错误信息
	 end if
    case "SAVESIGNATURE"
	 mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         mFileName=MsgObj.GetMsgByName("FILENAME")		'取得标签文档内容
         mMarkName=MsgObj.GetMsgByName("MARKNAME")		'取得标签文档内容
         mUserName=MsgObj.GetMsgByName("USERNAME")		'取得标签文档内容
         mDateTime=MsgObj.GetMsgByName("DATETIME")		'取得标签文档内容
         mHostName=Request.ServerVariables("REMOTE_ADDR")
         mMarkGuid=MsgObj.GetMsgByName("MARKGUID")
	 MsgObj.MsgTextClear					'清除文本信息
	 if SaveSignature() then
	   MsgObj.SetMsgByName "STATUS","保存印章成功!"		'设置状态信息
	   MsgObj.MsgError=""					'清除错误信息
	 else
	   MsgObj.MsgError="保存印章失败!"			'设置错误信息
	 end if
    case "LOADSIGNATURE"
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
	 MsgObj.MsgTextClear					'清除文本信息
         if LoadSignature() then
           MsgObj.SetMsgByName "MARKNAME",mMarkName		'将用户名列表打包
           MsgObj.SetMsgByName "USERNAME",mUserName		'将用户名列表打包
           MsgObj.SetMsgByName "DATETIME",mDateTime		'将用户名列表打包
           MsgObj.SetMsgByName "HOSTNAME",mHostName		'将说明信息列表打包
	   MsgObj.SetMsgByName "MARKGUID",mMarkGuid
	   MsgObj.MsgError=""					'清除错误信息
	   MsgObj.SetMsgByName "STATUS","调入印章成功!"		'设置状态信息
	 else
	   MsgObj.MsgError="调入印章失败!"			'设置错误信息
	 end if
    case "SAVEASHTML"
             mFileName=MsgObj.GetMsgByName("HTMLNAME")		'取得标签文档内容
             mDirectory=MsgObj.GetMsgByName("DIRECTORY")	'取得标签文档内容
   	     MsgObj.MsgTextClear				'清除文本信息

             if Trim(mDirectory)="" then
                mFilePath=Server.MapPath(".") & "\Html"
             else
                mFilePath=Server.MapPath(".") & "\Html\" & mDirectory
             end if

             MsgObj.MakeDirectory mFilePath

	     if MsgObj.MsgFileSave(mFilePath+"\"+mFileName) then
	       MsgObj.MsgError=""				'清除错误信息
	       MsgObj.SetMsgByName "STATUS","保存HTML成功!"	'设置状态信息
	     else
	       MsgObj.MsgError="保存HTML失败!"			'设置错误信息
	     end if
	     MsgObj.MsgFileClear				'清除文档内容

    case "INSERTFILE"
	 mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         'mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         'mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
	 MsgObj.MsgTextClear					'清除文本信息
         if (LoadFile()) then					'调入文档
           MsgObj.MsgFileBody=mFileBody				'将文件信息打包
           'MsgObj.MsgFileSize=mFileSize
	   MsgObj.SetMsgByName "POSITION","Content"		'设置插入的位置[书签]
           MsgObj.SetMsgByName "STATUS","打开成功!"          	'设置状态信息
           MsgObj.MsgError=""		                	'清除错误信息
         else
           MsgObj.MsgError="打开失败!"				'设置错误信息
	 end if
    case "UPDATEFILE"
         mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
         mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
         mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
         mFileSize=MsgObj.MsgFileSize				'取得文档大小
         mFileDate=now()                      			'取得文档时间
         mFileBody=MsgObj.MsgFileBody				'取得文档内容
         mFilePath=""                                         	'如果保存为文件,则填写文件路径
         mUserName=mUserName                                  	'取得保存用户名称
         mDescript="定稿版本"                                 	'版本说明
	 MsgObj.MsgTextClear					'清除文本信息
         if (SaveFile()) then					'保存文档内容
           MsgObj.SetMsgByName "STATUS", "保存成功!"	        '设置状态信息
           MsgObj.MsgError=""					'清除错误信息
         else
           MsgObj.MsgError="保存失败!"				'设置错误信息
	 end if
         MsgObj.MsgFileClear					'清除文档内容
     case "SENDMESSAGE"					        'Web页面请求信息
          mRecordID=MsgObj.GetMsgByName("RECORDID")		'取得文档编号
          mFileName=MsgObj.GetMsgByName("FILENAME")		'取得文档名称
          mFileType=MsgObj.GetMsgByName("FILETYPE")		'取得文档类型
          mCommand=MsgObj.GetMsgByName("COMMAND")		'取得操作类型 InportText or ExportText
          mContent=MsgObj.GetMsgByName("CONTENT")		'取得文本信息 Content
          MsgObj.MsgTextClear
          MsgObj.MsgFileClear
	  if (mCommand="INPORTTEXT") then
             if (LoadContent()) then
                MsgObj.SetMsgByName "CONTENT",mContent
                MsgObj.SetMsgByName "STATUS", "导入成功!"	'设置状态信息
                MsgObj.MsgError=""				'清除错误信息
             else
                MsgObj.MsgError="导入失败!"			'设置错误信息
             end if
          elseif (mCommand="EXPORTTEXT") then
             if (SaveContent()) then
                MsgObj.SetMsgByName "STATUS", "导出成功!"	'设置状态信息
                MsgObj.MsgError=""				'清除错误信息
             else
                MsgObj.MsgError="导出失败!"			'设置错误信息
             end if
	  else
            MsgObj.MsgError="客户端Web发送数据包命令没有合适的处理函数!["+mCommand+"]"
            MsgObj.MsgTextClear
            MsgObj.MsgFileClear
          end if
  end select

else
  MsgObj.MsgError="客户端发送数据包错误!"
  MsgObj.MsgTextClear
  MsgObj.MsgFileClear
end If

Response.BinaryWrite MsgObj.MsgVariant
Set MsgObj=nothing

%>

<%'释放对象变量
<!--#include file="../inc/conn_close.asp"-->
%>

<%''''''''''''''''''''''返回当前用户是否有操作权限'''''''''''''''''''''
Function ReturnSignatureManage(managemod,ArchivesID,SField,STable)
''''''''''''''''''''''列表类型,id号,查找字段,查找表名
'返回用户是否有管理/查看权限
dim i
if ArchivesID<>"" and IsNumeric(ArchivesID) then
	select case managemod		'管理/查看列表类型  0:所有用户 1:部门2:职务
		case "0"
			ReturnSignatureManage=true
		case "1"
			TmpSQL="select "&SField&" from " & STable & " where SignatureID="&ArchivesID	'取得管理/查看权限
			set TmpRS=Server.CreateObject("ADODB.RecordSet")
			TmpRS.open TmpSQL,oconn,1,1
			if TmpRS.eof then
				TmpRS=close
				set TmpRS=nothing
				ReturnSignatureManage=false
			else
				ManageStr=TmpRS(SField)
				TmpRS.close
				set TmpRS = nothing
				if len(ManageStr)>0 then
					if Instr(1,","&ManageStr&",",","&session("DepID")&",", 1)>0 then '判断管理/查看权限中是否包含有当前用户部门ID
						ReturnSignatureManage=true
					else
						ReturnSignatureManage=false
					end if
				else
					ReturnSignatureManage=false
				end if
			end if
		case "2"
			TmpSQL="select "&SField&" from " & STable & " where SignatureID="&ArchivesID	'取得管理/查看权限
			set TmpRS=Server.CreateObject("ADODB.RecordSet")
			TmpRS.open TmpSQL,oconn,1,1
			if TmpRS.eof then
				ReturnSignatureManage=false
			else
				ManageStr=TmpRS(SField)
				TmpRS=close
				TmpSQL="select roleID from tbioaUser where id="&session("LoginID")	'取得当前用户职务
				set TmpRS=Server.CreateObject("ADODB.RecordSet")
				TmpRS.open TmpSQL,oconn,1,1
				if TmpRS.eof then
					TmpRS.close
					set TmpRS=nothing
					ReturnSignatureManage=false
				else
					RoleArr=split(TmpRS("RoleID"),",")
					TmpRS.close
					set TmpRS=nothing
					ReturnManageR=false
					for i=0 to UBound(RoleArr)
						if instr(1,","&ManageStr&",",","&RoleArr(i)&",")>0 then	'判断管理/查看权限中是否包含有当前用户职务
							ReturnManageR=true
						end if
					next
					ReturnSignatureManage=ReturnManageR
				end if
			end if
		case else
			ReturnSignatureManage=false
	end select
else
	ReturnSignatureManage=false
end if
end Function
'-----------------------------------------------------------
%> 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?