当前位置:首页 > 免费毕业设计

ASP.NET公文管理系统的设计与实现(源代码+LW)

ASP.NET公文管理系统的设计与实现(源代码+LW)

  • 网站价格: 2
  • 特殊技术: asp
  • 作品类型: 免费毕设
  • 售后服务:

联系方式: 微信:biyebang QQ: 629001810

作品详情

   要

随着网络信息化的高度发展,传统的以字符为主题的信息传播形式已不再满足需要。基于Web的办公系统显得越来越必要。本系统正是为了满足这样的需求而设计开发的。程序在Visual Studio 2003平台下使用VB.NET编程语言,数据库使用SQL SERVER 2000

本公文系统实现了公文处理的自动化流转,包括公文起草、已发公文、待办公文、已办公文、公文委托、流程监控以及类别定制。系统完成了创建公文流的路径;起草的公文能按照已创建的公文流路径流转;能对其起草的公文进行统计及实时的监控;能够查看自己审批过的公文;能委托其他人代自己审批公文;能够添加、维护人员信息。

目录

 

系统设计


1.1    数据库设计与实现

3.1.1        数据库的需求分析

根据系统需求,本系统需要设计9张表。

l 人员基本信息表:公司人员信息保存在这张表中。

l 部门信息表:存放部门信息。

l 公文流转路径信息表:存放制定的公文路径。

l 公文类别表:存放公文紧急等级信息。

l 公文委托表:存放公文委托处理的相关信息。

l 公文信息表:存放公文的详细信息。

l 角色字典表:存放公文处理的各个角色。

l 公文流转环节信息表:存放公文流转的各个环节信息。

3.1.2        数据库的逻辑设计

本系统的数据库设计(Database Design)把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

设计数据库应该具备数据库的基本知识和数据库设计技术,计算机科学的基础知识和程序设计的方法和技巧及软件工程的原理和方法应用领域的知识。

根据公文管理系统系统的一般要求,通过对整个系统运行过程和数据流程分析,得出本系统的实体表:人员基本信息表(WF_User)、公文流转路径信息表(WF_FLOW)、公文类别表(WF_DocClass)、部门信息表(WF_Department)、公文紧急等级表(WF_DocGrade)、公文委托表(WF_DocTrust)、公文信息表(WF_DOCUMENT)、角色字典表(WF_Role)、公文流转环节信息表(WF_WATCHFLWO)。

根据公文管理系统的一般要求,通过对整个系统运行过程和数据流程分析,设计出实际的数据库实体,以及他们之间的关系,为后边的数据库逻辑结构设计打基础。

根据对数据项和数据结构的分析以及对实际的数据库实体的设计,使用数据库设计工具ER/Studio设计出数据表以及数据表之间的逻辑关系,如图1。

数据库设计中重要的一环首先就是概念设计,也就是说,要从实际问题出发,排除非本质的东西,抽象出现实的数据结构之客观规律——即画出数据结构图——ER图。这是数据库设计的重点,也是数据库设计的难点。

本系统使用Microsoft SQL Server 2000作为数据库开发工具,设计如下数据项和数据结构:

l 人员基本信息表

人员基本信息表(WF_User)用来存放人员信息,结构如表1所示。

表1  人员基本信息表

字段名

描述

类型

字段(B)

是否允许为空

是否主键

UserID

用户ID(唯一、自动增加)

int

4

RealUserName

用户真实姓名

nvarchar

30

UserName

用户登录名

nvarchar

20

DepID

部门ID号

int

4

PassWord

用户登录密码

nvarchar

20

l 公文流转路径信息表

公文流转路径信息表(WF_FLOW)用来记录公文的流转路径,结构如表2所示。

表2  公文流转路径信息表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

FLOWID

流转路径ID(唯一、自动增加)

int

4

FlowName

流转路径名称

nvarchar

128

FlowDetails

流转路径详细信息

nvarchar

1000

FlowType

流转路径类型

int

4

l 公文类别表

公文类别表(WF_DocClass)用来保存公文的类别,结构如表3所示。

表3  公文类别表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

ClassID

类别ID号(唯一、自动增加)

int

4

ClassName

类别名称

nvarchar

128

l 部门信息表

部门信息表(WF_Department)用来保存部门信息,结果如表4所示

表4 部门信息表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

DepID

部门ID号(唯一、自动增加)

Int

4

DepName

部门名称

nvarchar

50

l 公文紧急等级表

公文紧急等级表(WF_DocGrade)用来保存公文等级信息,结构如表5所示。

 

表5 公文紧急登记表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

DocGradeID

紧急程度ID号(唯一、自动增加)

Int

4

DocGrade

紧急程度

nvrchar

128

l 公文委托表

公文委托表(WF_DocTrust)用来保存公文的委托信息,结构如表6所示。

 

 

 

 

表6  公文委托表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

TrustID

委托事件ID号(唯一、自动增加)

int

4

TrustUser

委托人ID号

int

4

ByTrustUser

被委托人ID号

int

4

AddDate

委托日期

datetime

8

Reason

委托理由

nvrchar

1000

DocID

委托公文ID号

int

4

Type

委托类型

int

4

其中AddDate字段的默认值为“getdate()”,表示默认为当前系统日期;Type字段的默认值为0,表示当前委托还没有被执行。

l 公文信息表

公文信息表(WF_DOCUMENT)用来保存公文的相关信息,结构如表7所示。

表7 公文信息表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

DocID

公文ID号(唯一、自动增加)

int

4

DocTitle

公文标题

nvrchar

128

DocSendDep

发往的部门ID号

int

4

MainSendUnit

主动单位

nvrchar

128

DocClassID

公文类型ID号

int

4

WriteUserID

公文起草人ID号

int

4

OutWord

发文字

nvrchar

50

OutSerial

发文号

nvrchar

50

SecureClass

秘密等级

nvrchar

50

JinjiClass

紧急程度

nvrchar

50

SaveTime

保留时间

nvrchar

50

Body

正文内容

text

16

FlowID

流程ID号

int

4

Describes

备注

nvrchar

50

l 角色表

角色字典表(WF_Role)用来保存公文处理各个环节的角色,结构如表8所示。  

表8 角色表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

RoleID

角色ID号(唯一、自动增加)

int

4

RoleName

角色名称

nvrchar

128

l 公文流转环节信息表(WF_WATCHFLWO)用来保存公文流转的各个环节信息,结构如表9所示。

表9  公文流转环节信息表

字段名

描述

类型

长度(B)

是否允许为空

是否主键

WFID

环节ID(唯一、自动增加)

int

4

DocID

文档ID

int

4

UserID

处理用户ID

int

4

Role

环节角色

nvrchar

50

Type

环节类型

int

 

Updatedate

更新日期

datetime

8

BackReason

审批内容

nvrchar

400

其中Type字段为审批环节的状态,“0”表示当前状态,“1”表示已处理状态,“2”表示退回状态,“3”表示后续状态。

3.1.1        数据库存储过程

存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程有如下几个优点:

l 可维护性好。

l 存储过程在服务器端运行,执行速度快。

l 存储过程执行一次后,起执行规划就驻留在高速缓冲存储器,在以后的操作中,只需要执行高速缓冲器中已编译好的二进制代码,提高了系统性能。

l 确保数据库的安全。

l 自动完成需要预先执行的任务。

l 利用存储过程可以保持应用程序的执行效率并简化数据曾,也可以增加系统设计的灵活性。

本系统充分利用存储过程的优势,实现了很多复杂的数据访问过程。部分存储过程如表10。

表10  存储过程

存储过程

描述

WF_USERLOGIN

用户登录

WF_ADDDep

添加部门

WF_AddDoc

保存发送的公文信息

WF_ADDDocClass

添加公文类别

WF_BackDoc

退回公文

WF_DealDoc

审批公文

WF_DelDep

删除部门

WF_GetDepList

获取部门列表

WF_UpdateClassName

更新公文类别名称

1.1     系统模块分析与设计

总体任务是为公文的起草审批等公文流操作提供更便捷的方式。

l 系统登录

登录模块采用基于标准的MVC架构的开发模式。与一般的登录系统相似,主要是对登录用户的身份进行合法性验证。系统连接后台数据库对身份进行验证,如果出错系统提醒:“Error: 用户名或密码错误!”。如果没有错误系统进入系统正页面。

l 公文起草

通过公文起草模块,可以创建要流转的文件。文件按照定制好的一个或多个路径选择流转。公文起草中涉及发文字号、发送部门、发送的紧急程度的选择、发送日期、正文及附注等。起草完公文,可以按发送公文,如果格式填写不全,系统提示并且无法发送,当填写完毕后方能发送。

l 已发公文

通过已发公文模块,可以查看自己发送的公文的详细信息,包括公文现在的所处的节、公文要流转的路径以及公文具体信息。并且可以对已发公文进行删除操作。

l 待办公文

通过待办公文模块,可以查看需要自己审批的公文,并对其进行审批。审批不通过可以写上处理意见后退回公文,满意就审批通过。同样可以对公文进行进行删除操作。

l 已办公文

通过已办公文模块,可以查看自己审批过公文的详细信息,包括公文现在的所处环节、公文要流转以及公文的具体信息。同样可以对公文进行删除操作。

l 公文委托

通过公文委托模块,如果用户有其他原因不能对公文的内容进行审批,可以交以他人进行动态的公文流传递,由其他用户进行审批。委托他人要填写其他用户的部门和用户的登录名及委托原由,此方能发出。

l 流程监控

通过流转监控模块、可以查看自己所发公文的名称、创建时间以及所处的环节以及已批环节的审批内容。

l 类别定制

通过类别定制模块,可以定制公文类别、流程路径、员工角色、部门以及管理员工信息。

l 退出

所有的系统合法用户登录完成操作后退出系统都要进行“退出”操作、或者进行用户转换也需要进行“退出”操作。

1.2    界面设计

3.3.1        系统色彩规划

网站是信息的载体形式,色彩设计必须以完成网站可视性阅读功能为目的。本系统采用蓝色基调,白色,银白色,黑色为辅调。

登录界面以银白色为主,显示出强烈的科技感,给用户以耳目一新的感觉。

蓝色对视觉器官刺激较弱,它代表天空、清爽、平静、科技、理智、速度、诚实、真实、可信、人看到蓝色时情绪安宁。用它作为此平台的主色调也是最合适不过了。

白色在系统中主要作为背景色,导航栏字体颜色。白色视觉度,注目度都比较高,因为白色为全色相,所以也能满足本管理系统用户心理要求,加之与蓝色配合,使整个系统更具阅读可视性,操作易用性。整个系统看起来颇大气,富有立体感。再者,白色代表纯洁、简单、洁净。

黑色为全色相,没有纯度,它本身无刺激性,所有在本系统中的主体文字颜色都设置为黑色,这正所谓“白底黑字”,以增强阅读可视性。

当鼠标指向发送、待批和已批公文列表是,当前行的颜色变为灰色,提醒用户鼠标所指的行,防止误操作。

3.3.2        系统框架设计

总体思想是上下,下分两栏,使用框架做布局,此方法可以使整个系统更加符合信息空间的信息存储,运行速度更快,信息层次更加清晰,用户操作则更方便,更有条理。

整体界面的设计的下栏为工作区,通过点击左边导航栏的栏目,使下栏的右框架内页面显示相关栏目的内容。

1.3    系统总体功能设计

本系统分为7个功能模块,在进入每个功能模块前,首先进入系统登录页面,输入用户名和密码,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的主页以及功能;所有合法用户在处理完业务后,都需要进行退出工作,以免被他人窃取信息。退出后,将返回到登录界面。首先判断用户是否登录,如果未登录,则自动跳转到登录页面。如果已经登录,则进入相应操作页面。用户系统登入流程图如图2。

当用户密码正确就进入主页,可以进行相关公文的纂写、公文的批复等操作。本系统功能模块有公文起草、已发公文、待办公文、已发公文、公文委托、流程监控、类别定制。而类别的定制中包含了公文类别的定制,比如研发部、市场部、技术部等;角色定制,比如通知、查看、审批、归档;用户管理,流程定制,公文等级定制,部门管理的定制。本系统的功能模块如图3。

由此活动图可以看出,公文管理系统中的子模块在操作上相互是平行的,他们的内在关系通过数据库和程序来控制。

1.1    功能模块设计

在整个系统中公文的起草、审批、通知、查看、归档都需要用户来完成,而完成的顺序就是公文流顺序,本系统提供了两种方案:一种是预先设定流程;另一种是在审批过程中设定流程。

第一种:公文的整个起草、审批、通知、查看、归档都有一个预先设定好的审批流程。这个是在类别定制中的流程路径中实现的固定路径,见图4。

第二种:是审批人在审批过程中因为有其他的原因交由其他人来审批,就要确定另一个审批人。此种方法符合实际办公中的需要,也优越于市场上固有的公文系统的中的预先设定流程,大大提高了办公效率,如图5。

根据预先设定的公文审批路径或者动态的公文审批路径,就可以完成公文的起草审批以及归档工作了,在本公文管理系统的公文流转路径如图6示。

系统实现

1  功能模块具体实现

公文流管理用户可以根据数据管理中已经定义好的类别、角色、用户、流程、公文等级、部门设定进行公文的起草审批归档操作。数据管理就是对其各种类别在页面中进行的设定,不用再数据库中纂改。

1.1    公文流的实现代码

取得当前用户待批的公文,根据当前用户ID取得当前用户待批的公文列表Public FunctionGetCurUserWaitDealDocList(ByVal StrStoreParam    As String, ByVal UserID As String) AsDataSet

 

            Dim DocData As DataSet

            '调用数据库访问对象,取得数据

            With NewDataAccess.WorkFlow.DataAccess.  WorkFlowClass

                DocData =.GetCurUserWaitDealDocList

(StrStoreParam,UserID)

            End With

            If Not DocData Is Nothing Then

                '判断是否取得了数据

                If DocData.Tables(0).Rows.Count<> 0 Then

                    GetCurUserWaitDealDocList =DocData

                Else

                    GetCurUserWaitDealDocList =Nothing

 

 
 
 

                End If

 

            End If

        End Function

1.2    数据管理代码

新增用户,保存用户输入的用户信息的实现代码。Public Function AddUser(ByRefStoreParam As String, ByVal strUserName As String, ByVal strUserRealName AsString, ByVal

 

strPassWordAs String, ByVal strDepID As String) As String

            Dim OperFlag As Integer

            Dim returnValue As String

            With NewDataAccess.WorkFlow.DataAccess.Users

               '取得操作的状态值

                OperFlag = .AddUser(StoreParam,strUserName, strUserRealName, strPassWord, strDepID)

            End With

            If OperFlag <> 0 Then

                returnValue = "添加成功!"

            ElseIf OperFlag <> -1 Then

                returnValue = "对不起,该用户名已经存在!"

            Else

                returnValue = "对不起,保存用户名时出现异常,请联系管理员!"

            End If

            AddUser = returnValue

        End Function

 

源文件


 

帮我毕业网微信

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩