当前位置:文档之家› 公文管理系统

公文管理系统

公文管理系统·1、系统概述公文管理系统是应用技术开发的一个简化系统。

该系统综合运用了数据库解决方案、封装、用户控件、文件上传及高级控件等,实现基于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表结构:•w dlx表结构:•w ddata表结构:•p art表结构:•readlog表结构:Readdate 日期/时间可签阅日期Memo 备注可签阅意见Wdid 文本否文件编号2.3各子系统设计与实现(1)用户控件的设计与实现为在各功能模块之间方便地切换,将系统的主要功能设计为一个用户控件。

这样在需要的页面中只要加载该用户控件即可,而不必在每个页面中都进行设计。

该用户控件界面如图所示。

文件名为oamenu.ascx,内容如下:<Script Language="VB" Runat="Server">Sub LBtnHome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Response.Redirect("Webmain.aspx") '首页End SubSub LBtnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)If Session("userid") <> Nothing And InStr(Session("userkey"), "4") <> 0 Then Response.Redirect("Send.aspx") '发文处理ElseResponse.Redirect("Webmain.aspx") '尚未登录,需先到首页登录End IfEnd SubSub LBtnReceive_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) '收文处理If Session("userid") <> Nothing And InStr(Session("userkey"), "5") <> 0 Then Response.Redirect("Receiver.aspx")ElseResponse.Redirect("Webmain.aspx") '尚未登录,需先到首页登录End IfEnd SubSub LBtnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) '文件查询If Session("userid") <> Nothing And InStr(Session("userkey"), "3") <> 0 Then Response.Redirect("Query.aspx")ElseResponse.Redirect("Webmain.aspx") '尚未登录,需先到首页登录End IfEnd SubSub LBtnMgr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) '系统维护If Session("userid") <> Nothing And InStr(Session("userkey"), "6") <> 0 Then Response.Redirect("Mgr.aspx")ElseResponse.Redirect("Webmain.aspx") '尚未登录,需先到首页登录End IfEnd SubSub LBtnSBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) '发文浏览If Session("userid") <> Nothing And InStr(Session("userkey"), "1") <> 0 Then Response.Redirect("SBrowse.aspx")ElseResponse.Redirect("Webmain.aspx") '尚未登录,需先到首页登录End IfEnd SubSub LBtnRBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) '收文浏览If Session("userid") <> Nothing And InStr(Session("userkey"), "2") <> 0 Then Response.Redirect("RBrowse.aspx")ElseResponse.Redirect("Webmain.aspx") '尚未登录,需先到首页登录End IfEnd Sub</Script><DIV style="WIDTH: 777px; POSITION: relative; HEIGHT: 32px; BACKGROUND-COLOR: #ccccff" ms_positioning="GridLayout"><DIV style="DISPLAY: inline; FONT-SIZE: 16pt; Z-INDEX: 101; LEFT: 8px; WIDTH: 168px; COLOR: #ff0066; FONT-STYLE: italic; FONT-FAMILY:楷体_GB2312; POSITION: absolute; TOP: 8px; HEIGHT: 24px;FONT-V ARIANT: normal" ms_positioning="FlowLayout">OA 公文管理系统</DIV><asp:LinkButton id="LBtnHome" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 8px" runat="server"Width="48px" OnClick="LBtnHome_Click">首页</asp:LinkButton><asp:LinkButton id="LBtnSend" style="Z-INDEX: 103; LEFT: 544px; POSITION: absolute;TOP: 8px" runat="server" Width="72px" OnClick="LBtnSend_Click">发文处理</asp:LinkButton><asp:LinkButton id="LBtnReceive" style="Z-INDEX: 104; LEFT: 616px; POSITION: absolute; TOP: 8px" runat="server"Width="72px" OnClick="LBtnReceive_Click">收文处理</asp:LinkButton><asp:LinkButton id="LBtnMgr" style="Z-INDEX: 105; LEFT: 688px;POSITION: absolute;TOP: 8px" runat="server" Width="88px" OnClick="LBtnMgr_Click">系统维护</asp:LinkButton><asp:LinkButton id="LBtnSBrowse" style="Z-INDEX: 106; LEFT: 320px; POSITION: absolute; TOP: 8px" Width="72px" runat="server"OnClick="LBtnSBrowse_Click">发文浏览</asp:LinkButton><asp:LinkButton id="LBtnRBrowse" style="Z-INDEX: 107; LEFT: 392px; POSITION: absolute; TOP: 8px" Width="72px" runat="server"OnClick="LBtnRBrowse_Click">收文浏览</asp:LinkButton><asp:LinkButton id="LBtnQUery" style="Z-INDEX: 108; LEFT: 472px; POSITION: absolute; TOP: 8px" runat="server" Width="72px"OnClick="LBtnQuerye_Click">文件查询</asp:LinkButton></DIV> (2)数据库操作文件–由于多个功能模块都要执行数据库操作,因此将数据库操作功能设计为一个共享文件Db.inc,其内容如下:<%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.OleDb" %><Script Languate="VB" Runat="Server">'创建数据集对象,strSQL为SQL语句,FileName为数据库文件名‘TableName为数据表名称Function CreateDataSet(strSQL As String, FileName As String, TableName As String) As DataSetDim conn As New OleDbConnection()Dim cmd As New OleDbCommand()conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath (FileName)conn.Open()cmd.Connection = connmandText = strSQLDim objAdpt As New OleDbDataAdapter(cmd)Dim DS As New DataSet()objAdpt.Fill(DS, TableName)CreateDataSet = DSconn.Close()End Function</Script>(3)首页首页提供用户登录界面。

相关主题