您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第25章基于Web的综合档案管理系统(C#从入门到精通)
第25章基于Web的综合档案管理系统本章综合第19、20、21、和22章中的模块,以一个真实的Web项目—综合档案管理系统的开发实战,详细介绍了使用实体类的三层体系结构的应用程序开发过程,介绍了需求及功能分析、数据库和实体类设计、数据访问层、业务逻辑层和表示层的设计过程。第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.1开发背景资产管理、文档、图书和资料管理是每个公司、企事业单位或部门必不可少的重要工作之一,特别是资产的管理是各个管理者都非常重视的。随着计算机技术的迅速发展和广泛应用,电子文件和电子档案在国内外公司和企业已普遍存在,这些档案资料的数字化、光盘存储、利用计算机进行管理和是资产管理、文档资料管理发展的必然趋势。本项目—“综合档案管理系统”正是从这个需求出发,深入资产、文档、图书资料管理工作的实际,了解资产、文档、图书资料管理的业务流程,结合各部门、各行业与企业文件管理的方法,开发出的一套可适用于不同部门、管理资产多而复杂的系统。本软件采用的三层架构、应用面向对象思想进行设计与开发,项目来源于真实的需求,在实际应用中起到了较好的管理作用。第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.2需求及功能分析经过调研,得出“综合档案管理系统”提供的功能如下。1.系统设置,实现对用户(操作员和系统管理员)、角色权限分配和资产属性进行设置和修改等功能。资产、文档和图书资料等资产属性通过字典类型和字典代码统一管理。2.资产管理,实现固定资产和非固定资产信息的录入、资产借用、资产停用管理等功能。3.文档管理,实现文档信息录入、文档借用和文档停用等管理功能。4.图书管理,实现图书资料信息录入、图书借用等管理功能。5.数据导出,可根据不同时间段导出Excel格式的资产、文档信息。6.综合查询功能,提供资产、文档、图书的多条件查询和模糊查询。本系统的总体架构采用三层架构模型,分为表示层、业务逻辑层、数据访问层,三层之间使用实体类对象进行通信。在系统中,表示层、业务逻辑层、数据访问层分别用WebSite、Business、SqlServer三个项目实现,Model项目用来组织系统中的实体类,DBUtility是数据库通用类,实现数据库的基本操作。本系统三层架构和项目如图所示。第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.3数据库设计为了有效的进行各种资产、档案的信息存储和管理,系统共设计有以下18个数据库表格:TDictCodeType,字典类型表;TDictCode,字典代码表;TPerAssetInfo,固定资产信息表;TNonPerAssetInfo,非固定资产信息表;TNonPerAssetUseInfo,非固定资产(易耗品)领用登记表;TPerAssetUseInfo,固定资产(物品)领用登记表;TDocInfo,文档信息表;TOthDocInfo,其它文档信息表;TDocUseInfo,文档借阅表;TBookInfo,图书信息表;TBorrowBooks,图书借阅表;TOperator,操作员验证表;TActionInfo,菜单表;TUserRole,角色表;TPurviewInfo,角色权限表;TUserUserRole,用户角色权限表;TDocProject,项目文档类别表;TOthDocUseInfo其他文档借阅表。其中大部分表在第19~22章中做了介绍,下面介绍前面章节没有用到的表的设计,所有表的详细信息参见源代码中的数据库文件SIAS_ASMS。菜单表TActionInfo,用来存放系统中进行导航和操作的所有菜单项的信息。其中FLink值“连接url”表示点击菜单后所指向的页面,FType类型值为“action”代表最底层菜单。列名描述数据类型(精度范围)空/非空FId菜单编码IntNotnullFOid菜单序号IntNotnullFPID父编码IntNotnullFName菜单名称Varchar(30)FLink连接urlVarchar(300)FType类型Varchar(30)固定资产信息表TperAssetInfo,用于存放固定资产信息的表,其中资产状态可分为空闲、借出、损耗和作废四种,分别用1、2、3、4作为字典代码。表结构如下。列名描述数据类型(精度范围)空/非空FIDIDIntNotnullFAssetID固定资产编号Varchar(50)NotnullFAssetName固定资产名称Varhcar(60)NotnullFAssetCate固定资产类别intFSpeci固定资产规格Varhcar(50)FModel固定资产型号Varhcar(50)FUnit固定资单位产intFMoney固定资产金额decaimalFStoreTime固定资产入库时间datetime非固定资产信息表TNonPerAssetInfo,用于存放非固定资产信息的表,其中非固定资产名称,固定都用下列列表实现。具体名称在字典代码表里添加,总数代表每箱多少个。非固定资产状态可分为正常和作废,分别用1、2作为字典代码来表示,默认为1。表结构如下。列名描述数据类型(精度范围)FID非固定资产IDIntFAssetName非固定资产名称SmallintFSpeci非固定资产规格Varchar(50)FModel非固定资产型号Varchar(50)FUnit非固定资产单位intFAmount非固定资产数量IntFTotal非固定资产总数IntFMoney非固定资产金额decaimalFStoreTime入库时间datetimeFNoAssetState非固定资产状态Smallint非固定资产(易耗品)领用登记表,用来存放非固定资产的领用信息。其中非固定资产名称即类别,在字典代码表里实现。领用人联系方式与用户表里联系方式不同。非固定资产领用状态:为1代表正常,2代表作废。表结构如下。表名TnonPerAssetUseInfo列名描述数据类型(精度范围)空/非空FIDIDIntFNonPerAssetName非固定资产名称SmallintNotnullFNonPerAssetSum非固定资产数量IntFUseWay备注(用途)Varchar(500)FUserID领用人编号IntFLendTime领用时间DatetimeFNoAssetUseState非固定资产领用状态Smallint固定资产(物品)领用登记表TPerAssetUseInfo,用来存放固定资产的领用信息。其中借用类型用1代表普通借用,2代表贵重物品借用;状态:1表示启用,2表示不启用,3表示丢失或者损坏,4代表作废,默认为1。表结构如下。列名描述数据类型(精度范围)空/非空FIDIDIntNotnullID固定资产编号intNotnullFUseType借用类型IntNotnullFUseWay备注(用途)Varchar(500)FUserID借用人编号IntFLendTime借用时间DatetimeFBackTime归还时间DatetimeFPerAssetStatus状态Int文档信息表TDocInfo,用来存放项目开发文档资料及其相关信息。其中,文档密级为:1表示公开,2表示保密,3表示绝密;文档保存期限默认为20年;文档状态:1表示在档,2表示借出,3表示丢失,4表示该记录作废,5表示归档。表结构如下。列名描述数据类型(精度范围)空/非空FIDIDIntFDocID文档编号Varchar(100)NotnullFDocName文档名称Varchar(200)NotnullFDocSecGrade文档秘级IntNotnullFDocVersion文档版本Varchar(50)FDocScib文档简介Varchar(500)FDocAuthor文档作者Varchar(50)FDocExistTime文档保存期限intFDocFinTime文档完成日期DatetimeFDocParID文档父编号IntFDocStatus文档状态IntFGdReason归档原因Varchar(500)FCheckTime录入时间Datetime文档借阅表TDocUseInfo,用来存放文档的借阅记录。其中借阅状态:1表示启用,2表示不启用,3表示丢失,4表示作废;文档已归还标示为不启用;借阅次数默认为0,每续借一次加1。列名描述数据类型(精度范围)空/非空FIDIDintFDocID文档编号Varchar(100)NotnullFOperatorID借阅者编号intFLendTime借阅时间DatetimeFBackTime归还时间DatetimeFDocStatus借阅状态IntFDocUseTimes借阅次数short第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.4实体类设计三层架构搭建好之后,可以使用实体类在三层之间传递数据。实体类通常与数据库中的表相对应,将表中的字段定义成实体类属性,将这些属性封装成一个“类”,就是实体类。为了便于实体类的编写,可以采用代码生成工具来快速生产,如CodeSmith和Codematic都可以根据数据库设计自动生成实体类。本章采用动软.Net代码生成器Codematic来生成实体类,在第19章中已经提到。新建实体类类库项目,项目名为Model。分别创建系统所需的实体类,设计好的实体类在【解决方案资源管理器】中显示如下图所示。下面代码是TActionInfo菜单表对应的实体类TActionInfo(代码25-1-1.txt)。第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.5数据访问层设计新建数据访问层类库项目,项目名为SqlServer。添加一个类,类名为TOperator,实现对表的操作,添加对数据库通用类DBUtility和实体层Model的引用。对TActionInfo菜单表操作的数据访问层代码如下,其他代码参见源程序。1.得到一个对象实体的GetModel方法(代码25-2-1.txt)。2.添加表格菜单记录的addTAction方法(代码25-2-2.txt)。3.其他方法源代码详见源程序。第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.6业务逻辑层设计新建类库项目,项目名为Business。分别添加对应于数据访问层中的类,以完成对数据访问层中方法的调用。需要添加对数据访问层SqlServer和实体层Model的引用。以TActionInfo菜单操作业务逻辑层代码如下(代码25-3-1.txt)。第25章基于Web的综合档案管理系统开发背景需求及功能分析数据库设计实体类设计数据访问层设计业务逻辑层设计表示层设计运行系统25.7表示层设计建立表示层网站项目,项目名称是WebSite。为便于管理,分别建立多个文件夹实现不同的功能,采用AJAX技术进行部分刷新和异步操作。AssetMngWeb文件夹中是资产管理模块的前台操作界面;BookMngWeb文件夹中是图书资料管理模块的前台操作界面DocMngWeb文件夹中是文档管理模块的前台操作界面;Login文件夹中是系统登录用到的页面;MasterPages文件
本文标题:第25章基于Web的综合档案管理系统(C#从入门到精通)
链接地址:https://www.777doc.com/doc-3361672 .html