企业内部文档管理系统毕业论文_第1页
企业内部文档管理系统毕业论文_第2页
企业内部文档管理系统毕业论文_第3页
企业内部文档管理系统毕业论文_第4页
企业内部文档管理系统毕业论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) I 摘要摘要 随着社会的发展,信息化成为时代的主题,企事业内部文档管理系统是企业管理中 一个较重要的环节,是从业人员日常工作和个人信息的一项基本资料的保留,也是信息 保密及防止资料外泄的重要手段,实现文档管理的电子化是现在的发展要求。企业内部 文档管理系统有效的解决了纸质手工处理时效率低下和文件易丢失的问题,使得资料保 留更完整查询更方便快捷。由此本课题进行企事业内部文档管理系统的研究是具有深刻 意义的。 经过详细的需求分析和系统设计之后,系统选择以 A 动态网页技术、SQL server 2000 数据库开发工具等为开发工具,在此基础上基于 B/S(浏览器/服务器)系统模 式,实现数据库的连接并完成企事业内部文档管理系统的功能,以更好地满足各单位的 需求。 经过详细设计后将系统主要分为以下的功能模块:目录管理模块、用户登录模块、 文件管理模块、文件检索模块、系统管理模块,完成了用户信息管理及查询等方面的基 本功能,更有效的提高系统处理的效率以适应人员的工作需求。 本文简单的介绍了系统的需求分析、总体设计,对数据库设计、详细设计以及系统 实现的技术和方法进行了详细的说明。 社会在发展。一切都应该进步否则都将会逐步被淘汰,只有不断完善不断进取才可 以更好适应于社会,生存与社会,发展于社会,才可以更好的服务于社会。 关键字关键字:信息化、文档管理系统、A 、B/S 系统模式 毕业设计(论文) II 目录目录 摘要摘要.1 目录目录.2 第第 1 章章 引言引言.4 1.1 概述.4 1.2 课题背景.4 1.3 主要工作内容.5 第第 2 章章 需求分析需求分析.6 2.1 系统需求及功能需求.6 第第 3 章章 总体设计总体设计.7 3.1 系统层次模块图.7 3.2 文档管理系统总体框架.7 3.3 各个功能模块设计.8 3.3.1 密码修改模块 .8 3.3.2 系统管理模块 .9 3.3.3 回收站管理模块 .9 第第 4 章章 数据库设计数据库设计.10 4.1 表结构的实现 .10 4.2 数据库连接.12 4.3 数据库关系图.14 4.4 创建存储过程.15 第第 5 章章 详细设计详细设计.17 5.1 用户登录模块.17 5.1.1 用户登录界面设计 .17 5.1.2 用户登录模块主要代码 .17 5.2 主操作页面效果.18 5.2.1 主操作界面设计 .18 5.2.2 主操作模块主要代码 .19 5.3 系统管理模块.19 5.3.1 系统管理界面设计 .20 5.3.2 系统管理模块主要代码 .21 5.4 回收站管理模块.22 5.4.1 回收站界面设计 .22 5.4.2 回收站管理主要代码 .23 5.5 密码修改模块.23 毕业设计(论文) III 5.5.1 密码修改界面设计 .24 5.5.2 密码修改主要代码 .24 第第 6 章章 系统维护和改进系统维护和改进.25 6.1 运行维护.25 6.2 系统的改进与提高.25 结结 论论.26 致谢致谢.27 参考文献参考文献.28 毕业设计(论文) 4 第第 1 章章 引言引言 1.1 概述概述 社会的发展是多元的,由此在丰富了我们生活的同时也使得管理更繁冗,更沉重。应 运而生的企事业内部文档管理系统,是利用计算机对公司内部人员和文档资料进行的信 息管理,它可以对企业中的工作人员进行管理和查询,也可以对文档进行合理的处理如 添加、删除、附加等等。文档管理信息化避免了以往手工录入的种种弊端,提高了信息 管理的效率,节省了工作的时间和管理人员的劳力。而且它通过数据库的统一管理减少 了数据处理的诸多错误,保证了系统管理的统一性,也增加了保密性。另外,文档信息 是公司进行其它管理的前提,所以说内部文档管理系统是企业管理中一项重要的组成部 分。采用文档管理的信息化不仅可以很好的避免以往的信息处理的弊端,还可以拓宽出 更多的功能应用,比如说文件的权限设置,在系统中可以对重要的文件进行安全设置保 证它的访问权限,增强文件的安全性。企业信息管理信息化在现在的发展中具有不可忽 视的优势,也是未来企业管理不可缺少的,也是社会发展进步所必需,是进行一切行为 的根本。 1.2 课题背景课题背景 文档管理是企业日常管理的一部分,对于工作的日常运行来说是很重要的。然而现 在许多机关、企事业单位的文档管理仍停留在基于纸介质的手工处理阶段,手工处理文 档有许多缺点,比如说文档堆积多、重复劳动的工作多、分类管理困难、查询困难、利 用率低、纸张浪费严重等问题,同时,另一个较严重的问题就是纸介质的文档,保存的 时候容易受环境因素的影响,保存期限很受限制,而且纸质文档对森林的破坏也是较严 重的。在企事业单位信息化建设中,文档管理的电子化是一项比较基本和典型的要求。 企事业文档管理的电子化,有助于文档的长期保存、方便使用者的查询、也节省纸张开 支。此外,电子文档的集中管理可以保证数据的统一性,也可对数据库的管理进行权限 的设置,这就有助于保障文档的安全性和保密性。 针对这个方面国外发展相对较迅速,国外很多国家地方已配备了十分先进的管理信 息系统,而且由许多国外开发的带有图形化界面的文档管理信息系统,以其高质量和高 安全性一直享有相当好的口碑,但是这一类软件结构复杂,由于语言的障碍等诸多原因, 不便于我们某些企业的迅速掌握,其次我们也可能很难接受相对高昂的价格,所以我们 应该开发出拥有自主知识产权的高水平软件产品,为管理做好强大的支撑平台。现在, 建立在计算机网络基础之上的企事业内部文档管理系统的应用和概念正逐渐的进入人们 的生活,向文档管理信息化管理更进了一步。 在当前信息产业的强烈影响下企业的发展都在发生着变化,主要一个方面就发生在 管理信息系统上。企业内部管理等多方面的需要,使现在的企业不得不建设管理信息系 毕业设计(论文) 5 统,虽说现在已经有很多成型的税务 MIS 系统,但是多数是基于 C/S 结构开发的。针对 这种系统的缺点是用户界面不够友好、不利于部门间的交流、数据冗余度大、效率不高、 而且安全性方面也存在诸多隐患,所以现在系统模式由 C/S 向 B/S 转型已迫在眉睫。据 调查国内很多中小城市由于各方面原因,暂时还不能够配备数据库管理系统,经过需求 分析得知,他们没有配备数据库管理系统的主要原因有两方面,一是经费问题,二是目 前在一些管理工作人员计算机水平相对较低,不能进行较复杂的操作。所以如果能够开 发一套价格便宜,操作又相对简单的企事业内部文档管理系统,对国内这些小城市的发 展来说是具有重要意义的。 在 Internet 飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道, 它在人们政治、经济、生活等各个方面发挥着重要的作用。因此网站建设在 Internet 应用 上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分。而在网 络的背景下,文档管理系统有了更好的平台,基于 B/S(浏览器/服务器)的开发模式, 通过 Internet/Intranet 访问后台数据库的三层模式,与文档管理的其他环节以及模块间进 行连接,实现了文档管理的方便快捷,极大的提高了管理人员的工作效率。 1.3 具体工作具体工作安排安排 进行本系统主要进行以下几项工作: 1、对项目进行需求分析调研,确定系统的需求和目的。 2、对系统的功能模块进行详细的划分,对系统所需实现的功能进行详细分析和总体 设计,设计具体的单元模块并将各个功能模块进行设计。 3、使用 ASP.NET 进行页面设计, 使用 C#.NET 编程环境对每个功能模块编写相应代 码并实现相应功能,使用 ADO.NET 技术连接后台数据库完成前后台的处理。 4、进行系统测试,修改系统错误并完善系统的其它功能。 毕业设计(论文) 6 第第 2 章章 需求分析需求分析 2.1 系统需求系统需求 本课题系统面向的研究方向为企业内部文档管理,是有利于提高公司管理人员的管 理效率、保障信息的安全性等各方面的。利用 SQL server2000 数据库访问技术设计可与 数据库交互的网站,这些交互功能,如:查询、插入、修改等是 ASP.NET 所支持的。本 系统还采用 B/S 模式进行系统地设计与实现,通过这些系统,可以对信息进行规范管理、 科学的统计和信息的快速查询,从而减少管理的工作量。有效的管理企业、员工、文件 信息相关的信息。这就是企事业内部文档管理系统应该完成的功能,也是我们设计所达 到的要求,更是我们完成设计的目的。 本课题系统实现应该改满足: 1、更方便、更快捷、更实用; 2、文件的完备,对不同的文件进行管理,保障文件的统一管理,是文件更完整,更 齐备; 3、对于系统的不同用户应该有不同的使用权限,将用户分为普通用户和系统管理员, 方便系统管理,也增加文件的保密性; 4、可将企业的文档进行分类,按照树形结构进行目录管理;更利于检测查询; 5、根据目录划分将文件存放在合适的位置,并以附件的形式存储相关文件; 6、对目录和文件进行权限管理,保障文档的安全性; 7、提供回收站机制,文档或文件夹删除后先存放在回收站,对于回收站内的文件或 文件夹可进行还原或彻底删除操作。具有系统管理权限的用户可以进行回收站管理; 8、提供包含文件检索在内的多种文件检索方式,更便于检索; 9、具有系统管理权限的用户可以进行系统维护。系统维护功能包括组维护、用户维 护等; 毕业设计(论文) 7 第第 3 章章 总体设计总体设计 3.1 系统层次模块图系统层次模块图 文档管理系统主要分为 11 个子模块。对普通用户有用户登录、信息查询、密码修改、 文档检索、文档操作的模块。对系统管理员有管理员登录、权限管理、组维护、用户维 护、回收站管理、文档检索等模块。见图 3-1 所示。 图 3-1 系统层次模块图 3.2 文档管理系统总体框架文档管理系统总体框架 在整个企事业内部文档管理系统包括的基本模块中,我主要负责系统管理和回收站 设计,主要分为 4 个模块: 1、用户登录: 用户根据用户名和密码进行系统的登录,系统登录用户分为普通用户和系统管理员 用户,系统根据他们的数据库信息进行相应的验证,他们的操作权限也有所不同,在其 它的模块中分别进行了相应的设置。 用户登录 文档管理系统 普通用户 管理员 信息查询 密码修改 文档检索 文档操作 管理员登录 权限管理 mima 设置 组维护 用户维护 回收站管理 文档检索 毕业设计(论文) 8 2、系统管理: 对目录、文件及用户赋予不同的权限,权限的分类主要分为查看权限、改写权限、 管理权限,除了进行相关的权限管理,系统管理员还可以通过本模块维护组信息、用户 信息,比如说对用户进行分组管理,用户的信息进行权限管理以及用户资料分类等。 3、回收站管理: 回收站管理是只有系统管理员才能进行的操作,其功能是防止文件或文件夹的误操 作。用户在目录管理或文件管理模块中删除的文件都会进入回收站,通过回收站管理, 执行这些文件的还原或被彻底删除操作。 4、修改密码: 用户根据用户登录模块登录后通过本模块修改个人密码,用来保障自己信息的安全 性。 3.3 各个功能模块设计各个功能模块设计 系统的建立需要进行基本的需求分析,根据本课题模块的基本分析建立系统功能模 块,将本小系统主要归结为三大部分:密码修改模块、系统管理模块、回收站管理模块。 整个系统架构图如图 3-2 所示: 登录 图 3-2 系统整体架构图 3.3.1 密码修改模块密码修改模块 相同于其它的信息管理系统,系统的登录都需要用到用户名及密码,在登陆前需要 选择用户的类型。 登陆成功后对密码进行更改,若用户进行了密码的修改则重新更新数 据库的数据,否则,继续使用原密码。用户登录及密码修改模块的流程图见图 3-3: 登录 是 否 用户 密码 修改 密码修改管理 密码修改 返回管理页 密码修改 系统管理 回收站管理 用户文档管理系统 毕业设计(论文) 9 图 3-3 密码修改模块流程图 3.3.2 系统管理模块系统管理模块 对目录、文件及用户赋予不同的权限,并进行相关的权限管理;其中权限管理主要 分为三种操作:查看权限、改写权限和管理权限。系统管理员可以通过本模块维护组信 息、用户信息等。组信息的管理包括每个组的成员、组成员个人的访问权限,用户信息 的管理包括个人信息的添加、删除、修改等操作。 在配置文件中没有注明需要的权限,默认情况下则不需要任何权限都可以访问。 可以看出,当一个用户进入系统后,其所能看见的菜单项取决于 3个要素: 在菜单配 置文件中描述的系统所有菜单项; 在菜单访问权限配置文件中描述的每个菜单的访问 权限;用户自身所具有的角色。 将用户界面进行授权的过程可以理解为根据菜单访问权限配置信息和用户角色对系统菜 单全集进行筛选以得出系统菜单一个子集的过程。因此,整个解决方案的处理过程可以 分解为 2个子过程: (1)读取系统菜单全集过程:该过程通过 XmlMenuParser,其中 “根据 c及其子节点 创建一个 PopMenu对象 pm”是一个递归调用方法,该方法的原型为:public static PopMenu LoadFromXmlElement(XmlElement e) ,该方法可以将一个 PopMenu节点及其子 节点封装为一个 PopMenu对象。 (2)根据用户角色和菜单配置信息生成一个角色筛选菜单子集过程,ma是一个菜单授权 对象,userMenu是一个菜单对象(刚开始其没有任何孩子节点),该对象就是最后需要 得到的筛选菜单。 ma对象在创建了一个空菜单后,向登录用户询问登录者角色 (GetRoles()方法),返回的 roles对象是一个集合,该集合就是登录者所具有的全 部权限。然后 ma对象读取菜单访问权限配置文件中的每一个配置项(it: = ReadMenuAuthorizaionItem(),在得到当前配置项 it后,调用 CanAcces(it,roles)方法来询问当前配置项所描述的菜单项对于角色集合 roles是否 可以被访问,如果方法返回 true,则可以通过菜单项 Id来获取该菜单对象,然后将获 取到的菜单项对象 mc加入到结果菜单对象 userMenu中。 在根据登录用户的角色集合 roles得到该登录用户可以访问的菜单 userMenu后,下一个 需要解决的问题是如何去在用户界面上去生成菜单视图。在 AUBR解决方案中采用了 Accordion AJAX控件,可以在页面的左侧生成漂亮的类似与 QQ菜单的效果,为了防止用 户通过某些非常规手段来越权访问页面,还需要定义页面的访问权限。在 AUBR中通过另 外一个 XML配置文件来描述此项功能,该配置文件的内容大致如下: 上述配置文件描述了,对于 URL为 BillFirstCencor.Aspx的请求,必须具有财务或者领 导角色的用户才可以访问。对于 URL为 Query.Aspx的请求,具有游客角色的用户不能访 问。在应用程序启动时,AUBR读取该配置文件,然后通过 http拦截器机制根据登录用户 的角色集和请求 url来判断请求是否合法。 毕业设计(论文) 11 第第 4 章章 数据库设计数据库设计 虽然数据库的应用程序访问的数据库不同,需要实现的功能也不同,但其数据库的 开发流程就主要分为以下几个步骤: 1、利用 Microsoft SQL Server 2000 创建数据库。 2、使用 Connection 对象创建到数据库的链接。 3、使用 Command 对象对数据源执行 SQL 命令并返回数据。 4、利用 DataReader 和 DataSet 对象读取和处理数据源的数据。 4.1 表结构的实现表结构的实现 根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库,可以列出一 下的数据项和数据结构。 1、登录信息表,表名称标识 asp_User,用于统计用户登录信息的。见表 4-1 表表 4-1 登录信息表登录信息表 名称字段名称类型长度允许空 用户编号UserIDint4no 用户名UserNamevarchar20no 用户密码Passwordvarchar50no 2、目录信息表,表名称标识 OA_DBTYPE,存放关于目录的所有信息。见表 4-2 表表 4-2 目录信息表目录信息表 名称字段名称类型长度允许空 目录 IDDBTYPEIDint4no 目录编号DBTYPENOvarchar50no 目录名称DBTYPENamevarchar50no 目录父节点DBTYPEParentIDint4yes 目录创建人MakerIDint4no 创建日期MakeDatedatetime8no 目录删除人DelerIDint4yes 删除日期DelDatedatetime8yes 可用标志IUsedint4no 注:表中的“目录 ID”字段是在系统操作时自动生成,而“目录编号”是在数据库建立时, 对目录进行整理的一个编码。 4、用户信息表,表名称标识 person,主要存放用户的个人信息。见表 4-4 表表 4-4 用户信息表用户信息表 毕业设计(论文) 12 名称字段名称类型长度允许空 人员编号PersonIDint4no 人员名称PersonNamevarchar50no 用户密码Passwordvarchar50yes 用户编号UserIDint4no 婚姻状况IsMarriedint4yes 身份证号DCardCodevarchar50yes 办公电话TelBizvarchar50yes 电子邮件Mailvarchar50yes 进公司时间JoinWorkDatedatetime8yes 出生日期Birthdaydatetime8yes 住宅电话TelHomevarchar50yes 学历Graduationvarchar50yes 座右铭Mottovarchar50yes 个人爱好Interestvarchar50yes 性别Sexint4yes 手机号码Mobilevarchar50yes 籍贯NativePlacevarchar50yes 可用标记IsUsedBit1no 注:以上的“可用标记”IsUsed 是在系统进行回收站管理时的标识,若系统对文件进行了删 除操作则此标识为 0,表示文件已经不可再用;反之,则标识为 1。 5、权限管理表,表名称标识 OA_DBTYPEPerm,主要存放对用户权限进行管理的信息。 见表 4-5 表表 4-5 文件信息表文件信息表 名称字段名称类型长度允许空 参照人 IDPermIDint4no 目录 IDDBTYPEIDint4no 编辑权限人员NamesEditvarchar50no 编辑权限及 IDNameAndIDsEditvarchar50yes 查看权限人员NamesViewvarchar4no 查看权限及 IDNameAndIDsVie w varchar50no 子目录影响IsIncludeint4no 注:表中的参照人 ID 是在系统设计时对某些用户进行的编号处理,在进行权限选择时可 以对用户进行更方便的选择或删除。 毕业设计(论文) 13 4.2 数据库连接数据库连接 数据库建立完成后,就可以进行数据库的连接。要完成数据库的连接需要在 ASP.NET 的 Web.Config 文件中写入数据库的连接字符串,代码如下: 完成数据库的连接以后,用户就可以访问数据库中的数据,并可以对数据进行相应 的处理,比如说系统中首要的任务用户登录。在用户登陆时,系统将用户输入烦人 信息与数据库中信息进行验证,并在验证之后决定数据的登录是否成功。实现的代码如 下: public partial class Login : System.Web.UI.Page bUsers user_b = new bUsers(); Users user_m = new Users(); protected void LoginBtn_Click(object sender, ImageClickEventArgs e) bool resault = user_b.selectUser(LoginCodeTxt.Text.Trim(), PwdTxt.Text.Trim(); int UserID = user_b.getUserID(LoginCodeTxt.Text.Trim(); Session“UserID“ = UserID.ToString(); if (!resault) ErrorMessageLab.Text = “用户名或密码出错“; return; else Session“UserName“ = this.LoginCodeTxt.Text; Session“Password“ = this.PwdTxt.Text; Response.Redirect(“Default.aspx“); protected void ResetBtn_Click(object sender, ImageClickEventArgs e) this.LoginCodeTxt.Text = “; this.PwdTxt.Text = “; 毕业设计(论文) 14 4.3 创建存储过程创建存储过程 为了方便数据在系统中的使用,在数据库中创建存储过程,这些存储过程与信息的 加、更新、删除有关。这次设计中用到的存储过程,具体的实现如下所示: 1、BS_spMenuTree 存储过程 该存储过程用于系统整个界面的设计,使系统应该具有的操作都在系统特定的位置 上显示出来。 代码如下: CREATE PROC BS_spMenuTree ( UserID INT ) AS DECLARE SQL VARCHAR(4000) SET SQL = SELECT A.TreeCode,A.TreeName,A.ParentCode FROM BS_vwMenuTree A WHERE A.FuncID IN(SELECT DISTINCT FuncID FROM BS_vwUserID2FuncID WHERE PersonID = + CAST(UserID AS VARCHAR) + )ORDER BY A.TreeCode print SQL EXEC(SQL) GO 2、OA_spPersonInfo 存储过程 此过程主要是获取用户个人信息的,系统管理包括组信息和用户信息,而用户的信 息就在此过程调用后显示出来,实现代码如下: CREATE PROCEDURE OA_spPersonInfo (PersonID INT ) AS SELECT PersonID,PersonName,IsMarried,DCardCode,TelBiz,Mail,JoinWorkDate ,Birthday,TelHome,Graduation,Motto,Interest,Sex,Mobile,NativePlace FROM Person WHERE PersonID=PersonID GO 3、OA_spPersonAdd 存储过程 此存储过程主要用于用户的添加操作,在进行系统用户管理时可以通过该过程完成 用户的添加。实现代码如下: CREATE PROCEDURE OA_spPersonAdd ( PersonName VARCHAR(100) ,IsMarried INT ,DCardCode VARCHAR(100) 毕业设计(论文) 15 ,TelBiz VARCHAR(100) ,Mail VARCHAR(100) ,JoinWorkDate DATETIME ,Birthday DATETIME ,TelHome VARCHAR(100) ,Graduation VARCHAR(100) ,Motto VARCHAR(100) ,Interest VARCHAR(100) ,Sex INT ,Mobile VARCHAR(100) ,NativePlace VARCHAR(100) ,DepID INT) AS INSERT INTO Person (PersonName,IsMarried,DCardCode,TelBiz,Mail,JoinWorkDate,Birthday ,TelHome,Graduation,Motto,Interest,Sex,Mobile,NativePlace,DepID ) VALUES (PersonName,IsMarried,DCardCode,TelBiz,Mail,JoinWorkDate ,Birthday,TelHome,Graduation,Motto,Interest,Sex,Mobile ,NativePlace,DepID ) GO 4、OA_spDBTypeInfo 存储过程 此存储过程返回数据库中关于每个目录的信息,主要有目录 ID、目录编号、目录名 称、目录创建人、创建日期、删除日期。实现代码如下: CREATE PROCEDURE OA_spDBTypeInfo (DBTypeID INT ) AS SELECT A.DBTYPEID,A.DBTYPEName,A.MakerID,A.MakeDate,B.NamesView, B.NameAndIDsView,B.NamesEdit,B.NameAndIDsEdit,A.DBTYPENO,A.DBTYPEParent ID FROM OA_DBTYPE A INNER JOIN OA_DBTYPEPerm B ON A.DBTYPEID=B.DBTYPEID WHERE A.DBTYPEID=DBTypeID GO 5、OA_spDBTYPEDelete 存储过程 本存储过程主要是对目录进行删除操作,在用户对目录进行删除操作时别调用,实 现代码如下: CREATE PROCEDURE OA_spDBTYPEDelete 毕业设计(论文) 16 (DBTypeID INT ,DelerID INT ,DelDate DATETIME ,DBBillType BIT ) AS UPDATE OA_DBTYPE SET IUsed=0,DelerID=DelerID, DelDate=DelDateWHERE DBTypeID=DBTypeID INSERT INTO OA_DBRecy(DBBillID,DelerID,DelDate,DBBillType) VALUES(DBTypeID,DelerID,DelDate,DBBillType) GO 6、OA_spDBRecyFileDelete 存储过程 此过程用于对回收站内容进行删除,在回收站的列表中将不需要的数据进行彻底的 删除,具体实现代码如下: CREATE PROCEDURE OA_spDBRecyFileDelete (DBBillID INT ) AS DELETE FROM OA_DBRecy WHERE DBBillID=DBBillID DELETE FROM OA_DBFile WHERE DBFileID=DBBillID GO 7、OA_spDBRecyFileReset 存储过程 此存储过程为回收站管理中另一种数据管理文件还原,将回收站中的数据还原 到原来的位置。实现代码如下所示: CREATE PROCEDURE OA_spDBRecyFileReset (DBBillID INT ) AS DELETE FROM OA_DBRecy WHERE DBBillID=DBBillID UPDATE OA_DBFile SET IUsed=1 GO 8、OA_spDBRecyTypeDelete 存储过程 此存储过程用于对回收站中的目录型文件进行删除,实现代码如下: CREATE PROCEDURE OA_spDBRecyTypeDelete (DBBillID INT) AS DELETE FROM OA_DBRecy 毕业设计(论文) 17 WHERE DBBillID=DBBillID DELETE FROM OA_DBType WHERE DBTypeID=DBBillID DELETE FROM OA_DBFile WHERE DBTypeID=DBBillID GO 毕业设计(论文) 18 第第 5 章章 详细设计详细设计 根据系统的需求分析和总体设计,我们在此基础上进行系统详细设计和实现,本系 统主要是处理工作人员、企业内部文档、文档权限之间的关系。在设计使用时将用户进 行了权限的管理,对普通用户来说可以用本系统进行自己个人信息的查询,对文件进行 浏览、添加、删除等操作,对管理员来说就是对用户和文件进行管理,比如说,回收站 管理、用户维护等。为此,以下进行系统的详细设计和实现。 5.1 用户登录模块用户登录模块 5.1.1 用户登录界面权限设计用户登录界面权限设计 用户登录模块主要的功能:获得 Login.aspx 页面传来的数据,获取后再与数据库中信 息表进行比较。如果用户名或密码输入不正确,输出错误信息,提示用户和密码错误, 请用户重新登录。若用户登陆成功,则进入主操作页面,并可继续下步操作,查询文件 和信息。 为了防止用户通过某些非常规手段来越权访问页面,还需要定义页面的访问权限。在 AUBR中通过另外一个 XML配置文件来描述此项功能,该配置文件的内容大致如下: 上述配置文件描述了,对于 URL为 BillFirstCencor.Aspx的请求,必须具有财务或者领 导角色的用户才可以访问。对于 URL为 Query.Aspx的请求,具有游客角色的用户不能访 问。在应用程序启动时,AUBR读取该配置文件,然后通过 http拦截器机制根据登录用户 的角色集和请求 url来判断请求是否合法。 5.1.2 用户登录模块主要代码用户登录模块主要代码 页面设计使用了两个 TextBox 控件,用来输入用户名和密码。两个 Button 控件,一 个用于验证登录,另一个用于用户的重新登录。一个 Label 控件,显示系统的名称。用户 登录模块实现的代码如下: 说明:LoginBtn_Click 对应登录按钮,ResetBtn_Click 对应登录重新登录模块。 protected void LoginBtn_Click(object sender, ImageClickEventArgs e) bool resault = user_b.selectUser(LoginCodeTxt.Text.Trim(), PwdTxt.Text.Trim(); int UserID = user_b.getUserID(LoginCodeTxt.Text.Trim(); Session“UserID“ = UserID.ToString(); 毕业设计(论文) 19 if (!resault) ErrorMessageLab.Text = “用户名或密码出错“; return; else Session“UserName“ = this.LoginCodeTxt.Text; Session“Password“ = this.PwdTxt.Text; Response.Redirect(“Default.aspx“); protected void ResetBtn_Click(object sender, ImageClickEventArgs e) this.LoginCodeTxt.Text = “; this.PwdTxt.Text = “; 5.2 主操作页面效果主操作页面效果 5.2.1 主操作界面设计主操作界面设计 系统主菜单界面:此页面用于用户登录后,在用户填写自己的用户名和密码后,如 核实正确则登陆。用户在成功登陆后,此页面既可以使用。此界面主要将系统的主要操 作以链接式菜单列表的形式显示出来,以便用户进行统一的操作管理,更清晰明了的检 索查询。 5.2.2 主操作模块主要代码主操作模块主要代码 页面经过数据库与系统的连接后,将数据库中功能模块的数据表反映在系统的主操 作界面上,代码中主要的部分就是以树形的结构将表中信息显示。主要实现代码如下: protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) if (Session“UserName“.ToString() = “admin“) DataSet ds = new DataSet(); DataSet cds = new DataSet(); SqlConnection conn = new SqlConnection(strConn); using (conn) SqlDataAdapter parentMenu = new SqlDataAdapter(“select MenuId,MenuName from Menu where ParentId IS NULL“, conn); parentMenu.Fill(ds, “pmenu“); TreeNode pMenu; TreeNode cMenu; foreach (DataRow pMenu_row in ds.Tables“pmenu“.Rows) pMenu = new TreeNode(); pMenu.Text = pMenu_row“MenuName“.ToString(); pMenu.Value = pMenu_row“MenuId“.ToString(); 毕业设计(论文) 20 pMenu.SelectAction = TreeNodeSelectAction.None; MenuTree.Nodes.Add(pMenu); SqlDataAdapter childMenu = new SqlDataAdapter(“select MenuId,MenuName,Url from Menu where ParentId=“ + pMenu.Value, conn); childMenu.Fill(cds, “cmenu“); if (cds.Tables0.Rows.Count 0) foreach (DataRow cMenu_row in cds.Tables“cmenu“.Rows) cMenu = new TreeNode(); cMenu.Text = cMenu_row“MenuName“.ToString(); cMenu.Value = cMenu_row“Url“.ToString(); cMenu.NavigateUrl = “javascript:Test(“ + cMenu_row“Url“.ToString() + “);“; cMenu.Target = “_self“; pMenu.ChildNodes.Add(cMenu); cds.Tables0.Clear(); childMenu.Dispose(); parentMenu.Dispose(); else DataSet ds = new DataSet(); DataSet cds = new DataSet(); SqlConnection conn = new SqlConnection(strConn); using (conn) SqlDataAdapter parentMenu = new SqlDataAdapter(“select MenuId,MenuName from Menu where ParentId IS NULL and MenuId!=2“, conn); parentMenu.Fill(ds, “pmenu“); TreeNode pMenu; TreeNode cMenu; foreach (DataRow pMenu_row in ds.Tables“pmenu“.Rows) pMenu = new TreeNode(); pMenu.Text = pMenu_row“MenuName“.ToString(); pMenu.Value = pMenu_row“MenuId“.ToString(); pMenu.SelectAction = TreeNodeSelectAction.None; MenuTree.Nodes.Add(pMenu); SqlDataAdapter childMenu = new SqlDataAdapter(“select MenuId,MenuName,Url from Menu where ParentId=“ + pMenu.Value, conn); childMenu.Fill(cds, “cmenu“); if (cds.Tables0.Rows.Count 0) foreach (DataRow cMenu_row in cds.Tables“cmenu“.Rows) cMenu = new TreeNode(); 毕业设计(论文) 21 cMenu.Text = cMenu_row“MenuName“.ToString(); cMenu.Value = cMenu_row“Url“.ToString(); cMenu.NavigateUrl = “javascript:Test(“ + cMenu_row“Url“.ToString() + “);“; cMenu.Target = “_self“; pMenu.ChildNodes.Add(cMenu); cds.Tables0.Clear(); childMenu.Dispose(); parentMenu.Dispose() 5.3 系统管理模块系统管理模块 5.3.1 系统管理界面设计系统管理界面设计 根据系统的要求在系统管理中系统管理员进行组信息的维护和用户信息的维护,在 组维护中可以进行用户组的分配,也可对组内部人员进行信息的修改。在用户信息维护 时,对对应的用户列表进行添加操作。 5.3.2 系统管理模块主要代码系统管理模块主要代码及具体原理及具体原理 在 AUBR中,先要定义一个关于系统菜单的 XML配置文件,下面以上述发票报销的案 例来说明该 XML文件的配置方法: 文章编号:1672-7800(2009)07013502 上述配置文件描述了发票报销的 3个环节,PopMenu用来对菜单项进行分类,而 MenuItem描述了一个菜单项的详细信息,TargetUrl属性表示单击该菜单项的时候跳转的 地址。还需要定义另外的一个菜单访问权限配置文件来描述该菜单的访问权限问题,定 义如下: 毕业设计(论文) 22 上述 XML配置文件表明对于 Id为 BillFirstCencor的菜单项,具有财务角色的用户才可 以访问,对于 Id为 BillLastCencor的菜单项,具有领导角色的用户才可以访问,而对 于 ID为 BillApply的菜单项,由于在配置文件中没有注明需要的权限,默认情况下则不 需要任何权限都可以访问。 可以看出,当一个用户进入系统后,其所能看见的菜单项取决于 3个要素: 在菜单配 置文件中描述的系统所有菜单项; 在菜单访问权限配置文件中描述的每个菜单的访问 权限;用户自身所具有的角色。 将用户界面进行授权的过程可以理解为根据菜单访问权限配置信息和用户角色对系统菜 单全集进行筛选以得出系统菜单一个子集的过程。因此,整个解决方案的处理过程可以 分解为 2个子过程: 如上图所示,此界面使用了较多的 Label 控件和 TextBox 控件,主要用来获取用户添 加数据的信息,在输入信息后进行用户登录帐号的验证。在页面设计中使用了日期型数 据,用于设置“用户进入公司时间”,“生日”两个选项。在“婚否”,“性别”选项上使用了选 择菜单。实现代码如下所示: 说明: Calendar1_SelectionChanged、Calendar2_SelectionChanged 为日期的设计代码, BtnSave_Click 为用户添加代码。 protected void BtnSave_Click(object sender, EventArgs e) bUsers User_b = new bUsers(); PersonInfo pInfo = new PersonInfo(); pInfo.PersonName = PersonName.Text; pInfo.IsMarried =int.Parse(Ismarried.SelectedValue); pInfo.DCardCode = DCardCode.Text; pInfo.TelBiz = TelBiz.Text; pInfo.Mail = Mail.Text; pInfo.JoinWorkDate =DateTime.Parse(JoinWorkDate.Text); pInfo.Birthday = DateTime.Parse(BirthDay.Text); pInfo.TelHome = TelHome.Text; pInfo.Graduation = Graduation.Text; pInfo.Motto = Motto.Text; pInfo.Interest = Interest.Text; pInfo.Sex = int.Parse(sex.SelectedValue); pInfo.Mobile = Mobile.Text; pInfo.NativePlace = NativePlace.Text; bool resault =User_b.addPersonInfo(pInfo); if (!resault) Response.Write(“alert(增加用户信息出错!) “); Response.Write(“if 毕业设计(论文) 23 (window.opener)window.opener.location.reload(); “); return; else Response.Write(“alert(增加用户信息成功!) “); protected void Button1_Click(object sender, EventArgs e) this.Calendar1.Visible = true; protected void Calendar1_Selection

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论