公文管理系统.docx
- 文档编号:8140186
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:12
- 大小:23.18KB
公文管理系统.docx
《公文管理系统.docx》由会员分享,可在线阅读,更多相关《公文管理系统.docx(12页珍藏版)》请在冰豆网上搜索。
公文管理系统
公文管理系统
·1、系统概述
公文管理系统是应用ASP.NET技术开发的一个简化系统.该系统综合运用了数据库解决方案、封装、用户控件、文件上传及高级控件等,实现基于Web的公文发布、接收、浏览、查询和维护功能。
系统由多个网站模块组成。
每个模块由一组页面及相关程序组成,完成相对独立的任务,如公文浏览、发文处理和收文处理等.模块涉及与用户的交互过程,包含的文件数目和类型较多,并需要访问数据库。
因此,设计好页面内容,规划好页面之间传递的数据及对数据库的访问,对于系统的设计和实现非常重要,同时也能够为今后系统的维护和升级带来方便.
·2、系统设计
2。
1系统功能分析
开发应用系统的首要工作是进行需求分析,根据应用需求,设计系统功能。
公文管理系统需要对公文进行收发文处理、收发文查阅和查询,据此系统由发文浏览、收文浏览、文件查询、发文处理、收文处理、系统维护和用户登录6个模块组成.
(1)用户登录。
为了保证系统使用的安全性,进入系统首先要登录。
按照对系统功能的授权,将用户权限划分为六类:
1—发文浏览,2—收文浏览,3—文件查询,4—发文处理,5—收文处理,6—系统维护。
用户成功登录系统后,系统使用Session变量记录其操作权限,以后在该用户执行各功能之前都先进行权限检查,只有具备执行权限时才可使用相应的功能。
(2)发文浏览。
以分页方式列出所有发文的编号和时间,用户单击编号查看详细内容,并可发表阅文回执。
(3)收文浏览。
其功能与发文浏览十分相似,也以分页方式列出所有收
文编码和时间,用户单击编号查看详细内容,并可发表阅文回执。
(4)发文处理.用于签发公文。
用户填写文件标题、编号、有效期及办理建议,选择文件名后提交,即可发布文件。
(5)收文处理.用于签收公文。
用户选择文件标题后,即可显示该文件的编号、发文日期、有效期及发文单位,并可查阅文件内容。
用户可填写办理建议后执行签收功能.
(6)系统维护。
由部门维护、用户及权限维护、公文(字)维护三部分组成。
部门维护包括添加新部门、修改现有部门信息;用户及权限维护包括添加新用户、修改现有用户的权限;公文(字)维护包括添加新“字"和修改现有“字”信息。
系统的主界面和主要功能模块界面均采用框架(Frame)结构设计,系统的各项功能以用户控件形式加载,位于页面上部,页面的右下部是主显示区,用于显示文件或维护信息。
2.2数据库设计
本系统选用Access数据库,所使用的数据库名为oadata.mdb,包括5个数据表,分别是:
(1)userpass:
用户信息表.
(2)wdlx:
文件类型表。
(3)wddata:
文件信息表。
(4)part:
部门信息表。
(5)readlog:
文件签阅意见表。
各个表的结构如下:
·userpass表结构:
字段名
数据类型
可否为空
说明
Userid
文本
否
用户编号,主键
Partid
文本
否
该用户所属部门编号
Userkey
文本
否
用户权限
Username
文本
可
用户姓名
Password
文本
否
用户密码
•wdlx表结构:
字段名
数据类型
可否为空
说明
Id
数值
否
自动编号(记录号)
lx
文本
否
文档类型
zh
文本
否
文档字号
•wddata表结构:
字段名
数据类型
可否为空
说明
Id
数值
否
自动编号(作为文件编号)
zh
文本
否
文档字号
lx
文本
否
文档类型
Username
文本
否
用户姓名
Partid
文本
否
用户所属部门编号
SendDate
日期/时间
否
签发时间
ExpireDate
日期/时间
否
过期时间
Title
文本
否
文件标题
Docfile
文本
否
文件名
Other
备注
可
文件说明
•part表结构:
字段名
数据类型
可否为空
说明
Id
数值
否
自动编号(记录号)
Partid
文本
否
部门编号
Partname
文本
否
部门名称
•readlog表结构:
字段名
数据类型
可否为空
说明
Id
数值
否
自动编号(记录号)
Username
文本
否
用户姓名
Readdate
日期/时间
可
签阅日期
Memo
备注
可
签阅意见
Wdid
文本
否
文件编号
2.3各子系统设计与实现
(1)用户控件的设计与实现
为在各功能模块之间方便地切换,将系统的主要功能设计为一个用户控件。
这样在需要的页面中只要加载该用户控件即可,而不必在每个页面中都进行设计。
该用户控件界面如图所示。
文件名为oamenu.ascx,内容如下:
〈ScriptLanguage=”VB”Runat=”Server”〉
SubLBtnHome_Click(ByValsenderAsSystem。
Object,ByValeAsSystem.EventArgs)
Response.Redirect("Webmain.aspx")'首页
EndSub
SubLBtnSend_Click(ByValsenderAsSystem。
Object,ByValeAsSystem.EventArgs)
IfSession("userid”)<>NothingAndInStr(Session("userkey"),"4”)<>0Then
Response.Redirect("Send。
aspx")'发文处理
Else
Response。
Redirect(”Webmain.aspx”)’尚未登录,需先到首页登录
EndIf
EndSub
SubLBtnReceive_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)’收文处理
IfSession("userid”)〈>NothingAndInStr(Session(”userkey"),”5”)〈〉0ThenResponse.Redirect(”Receiver.aspx")
Else
Response。
Redirect("Webmain.aspx")’尚未登录,需先到首页登录
EndIf
EndSub
SubLBtnQuery_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)'文件查询
IfSession("userid”)<>NothingAndInStr(Session(”userkey"),"3")<〉0ThenResponse.Redirect(”Query。
aspx")
Else
Response.Redirect(”Webmain。
aspx”)’尚未登录,需先到首页登录
EndIf
EndSub
SubLBtnMgr_Click(ByValsenderAsSystem。
Object,ByValeAsSystem.EventArgs)’系统维护
IfSession("userid”)<〉NothingAndInStr(Session("userkey"),"6”)〈〉0ThenResponse.Redirect("Mgr。
aspx”)
Else
Response.Redirect(”Webmain.aspx")'尚未登录,需先到首页登录
EndIf
EndSub
SubLBtnSBrowse_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)’发文浏览
IfSession("userid”)〈>NothingAndInStr(Session(”userkey"),”1")〈>0ThenResponse。
Redirect("SBrowse。
aspx”)
Else
Response.Redirect(”Webmain。
aspx”)’尚未登录,需先到首页登录
EndIf
EndSub
SubLBtnRBrowse_Click(ByValsenderAsSystem.Object,ByValeAsSystem。
EventArgs)’收文浏览
IfSession("userid")〈>NothingAndInStr(Session("userkey"),"2”)〈〉0ThenResponse。
Redirect(”RBrowse.aspx”)
Else
Response.Redirect(”Webmain.aspx")'尚未登录,需先到首页登录
EndIf
EndSub
777px;POSITION: relative;HEIGHT: 32px; BACKGROUND—COLOR: #ccccff"ms_positioning=”GridLayout”> 〈DIVstyle="DISPLAY: inline;FONT-SIZE: 16pt;Z-INDEX: 101;LEFT: 8px; WIDTH: 168px;COLOR: #ff0066;FONT—STYLE: italic;FONT—FAMILY: 楷体;POSITION: absolute;TOP: 8px;HEIGHT: 24px; FONT—VARIANT: normal"ms_positioning="FlowLayout">OA公文管理系统
〈asp:
LinkButtonid="LBtnHome"style="Z-INDEX:
102;LEFT:
256px;
POSITION:
absolute;TOP:
8px”runat=”server"
Width=”48px"OnClick=”LBtnHome_Click"〉首页〈/asp:
LinkButton〉
LinkButtonid="LBtnSend"style="Z-INDEX: 103;LEFT: 544px;POSITION: absolute; TOP: 8px”runat="server"Width=”72px"OnClick="LBtnSend_Click"〉 发文处理 LinkButton> LinkButtonid=”LBtnReceive"style="Z-INDEX: 104;LEFT: 616px; POSITION: absolute;TOP: 8px"runat=”server" Width=”72px”OnClick=”LBtnReceive_Click”>收文处理
LinkButton〉
〈asp:
LinkButtonid="LBtnMgr”style="Z—INDEX:
105;LEFT:
688px;POSITION:
absolute;
TOP:
8px"runat=”server"Width=”88px"OnClick=”LBtnMgr_Click”>
系统维护〈/asp:
LinkButton>
〈asp:
LinkButtonid="LBtnSBrowse"style="Z-INDEX:
106;LEFT:
320px;
POSITION:
absolute;TOP:
8px"Width=”72px”runat=”server”
OnClick=”LBtnSBrowse_Click”>发文浏览〈/asp:
LinkButton〉
LinkButtonid=”LBtnRBrowse”style=”Z—INDEX: 107;LEFT: 392px; POSITION: absolute;TOP: 8px”Width=”72px”runat="server” OnClick="LBtnRBrowse_Click”〉收文浏览〈/asp: LinkButton〉 〈asp: LinkButtonid=”LBtnQUery”style=”Z-INDEX: 108;LEFT: 472px; POSITION: absolute;TOP: 8px”runat="server”Width=”72px” OnClick="LBtnQuerye_Click”>文件查询〈/asp: LinkButton>〈/DIV> (2)数据库操作文件 –由于多个功能模块都要执行数据库操作,因此将数据库操作功能设计为一个共享文件Db。 inc,其内容如下: 〈%@ImportNamespace=”System.Data”%〉 〈%@ImportNamespace="System。 Data。 OleDb"%> 〈ScriptLanguate="VB”Runat=”Server”> ’创建数据集对象,strSQL为SQL语句,FileName为数据库文件名 ‘TableName为数据表名称 FunctionCreateDataSet(strSQLAsString,FileNameAsString,TableNameAsString)AsDataSet DimconnAsNewOleDbConnection() DimcmdAsNewOleDbCommand() conn.ConnectionString="Provider=Microsoft.Jet.OLEDB。 4。 0;DataSource="&Server.MapPath(FileName) conn。 Open() cmd.Connection=conn cmd.CommandText=strSQL DimobjAdptAsNewOleDbDataAdapter(cmd) DimDSAsNewDataSet() objAdpt.Fill(DS,TableName) CreateDataSet=DS conn.Close() EndFunction 〈/Script〉 (3)首页 首页提供用户登录界面。 当用户成功登录后,用Session变量记录其用户信息,包括用户名、使用权限等。 文件名为Webmain。 aspx.其中,以下声明为引用用户空间oamenu: <%@RegisterTagPrefix="uc1”TagName="oamenu”Src=”oamenu。 ascx”%> 首页中还包含一个标识为“iframeMain”的框架,它的src属性为Login。 aspx,即在该框架中加载Login.aspx用户登录页面。 文件Webmain.aspx <%@RegisterTagPrefix=”uc1"TagName="oamenu”Src=”oamenu.ascx”%〉 〈Html>〈Head〉
〈Style〉A:
link{COLOR:
#0066cc;TEXT-DECORATION:
none}
A:
hover{COLOR:
#cc0000;TEXT—DECORATION:
none}
A:
visited{COLOR:
#3333cc;TEXT-DECORATION:
none}
〈/Style〉〈/Head〉
104;LEFT: 72px;WIDTH: 624px; POSITION: absolute;TOP: 64px;HEIGHT: 338px”name=”iframeMain"align=”middle” src="Login.aspx”frameBorder=”no”scrolling="auto”runat=”server”> oamenuid="Oamenu1”runat=”server”〉〈/uc1: oamenu〉 〈/Body>〈/Html〉 Login。 aspx内容: 〈! -—#includeFile="Db.inc"--> SubIBtnLogin_Click(ByValsenderAsSystem。 Object,ByValeAsSystem。 Web。 UI。 ImageClickEventArgs) DimconnAsNewSystem.Data.OleDb.OleDbConnection DimcmdAsNewSystem。 Data.OleDb.OleDbCommand conn。 ConnectionString="Provider=Microsoft.Jet.OLEDB。 4.0;DataSource="&Server。 MapPath(”oadata。 MDB") cmd.Connection=conn cmd。 CommandText=”select*fromuserpasswhereuserid='”&Trim(TxtID.Text)&”’andpassword=’"&Trim(TxtPass.Text)&”'" conn。 Open() DimreaderAsOleDb。 OleDbDataReader=cmd.ExecuteReader Ifreader.Read()Then Session("userid")=Trim(reader(”userid")) Session(”username")=Trim(reader(”username”)) Session(”userkey")=Trim(reader("userkey”)) Session("partid”)=Trim(reader("partid")) Response。 Redirect(”LoginSuccess。 aspx”) Else Session(”userid")=Nothing Session("username")=Nothing Session("userkey")=Nothing Session("partid")=Nothing EndIf conn.Close() EndSub 〈/Script〉 〈Html>〈Head>〈Title>Login〈/Title〉 gif”> inline;Z—INDEX: 101;LEFT: 176px;WIDTH: 64px;POSITION: absolute;TOP: 96px;HEIGHT: 24px”ms_positioning="FlowLayout"〉用户名
〈Asp:
TextBoxid="TxtID”style=”Z-INDEX:
102;LEFT:
248px;POSITION:
absolute;TOP:
96px"runat="server"Width=”104px">〈/asp:
TextBox〉
〈Divstyle="DISPLAY:
inline;Z-INDEX:
103;LEFT:
176px;WIDTH:
64px;POSITION:
absolute;TOP:
144px;HEIGHT:
24px"ms_positioning=”FlowLayout”〉密&nbsp;码
〈asp:
TextBoxid=”TxtPass"style="Z-INDEX:
104;LEFT:
248px;POSITION:
absolute;TOP:
144px"runat="server"Width="104px”TextMode=”Password”>
TextBox〉
ImageButtonid="IBtnLogin”style=”Z—INDEX: 105;LEFT: 240px;POSITION: absolute;TOP: 184px”runat=”server"Width=”64px”Height=”24px”ImageUrl=”img\an.gif"OnClick="IBtnLogin_Click”〉
ImageButton>
〈Imgstyle="Z-INDEX:
107;LEFT:
64px;WIDTH:
424px;POSITION:
absolute;TOP:
216px;HEIGHT:
32px”height="32”alt=""src=”img\flw_h。
gif"width=”424”>
108;LEFT: 400px;WIDTH: 48px;POSITION: absolute;TOP: 128px;HEIGHT: 48px”height="48”alt=”"src=”img\Funface。 gif”width="48">〈/Form〉〈/Body〉