5系统功能实现 5.1系统用户登录功能的实现 paper51.com
系统登录页面使用了用户信息表(PSLogins),并引用这个表的ID,LoginID,Password字段对用户身份进行鉴别。 copyright paper51.com 用户通过表单提供登录信息,系统根据用户提供的信息对用户进行查询鉴别, 如果用户提供的信息与系统数据库用户信息不匹配,则记录用户登录次数,并提示用户“你还有几次机会,请重试”;如果用户登录次数大于Application对象的NumAttempts的值指定的次数,则停止该用户的登录;如果身份合法,则将用户导向系统主页,如图5-1所示。页面上有3个主要链接,分别指向办公系统的3个主要功能模块,即员工信息管理模块,财务信息管理模块和员工信息交流模块。 copyright paper51.com
在系统主页面里,设计了一个导航条,详细列出了用户在系统里的位置,当前用户名称,其它相应页面的链接以及系统提供给用户的提示信息或者反馈信息。 内容来自论文无忧网 www.paper51.com
http://www.paper51.com 图5.1系统主页面 内容来自论文无忧网 www.paper51.com 5.2员工信息管理模块的实现 内容来自www.paper51.com 员工信息管理模块在整个系统中占有重要地位,本文实现的主要是查询、添加、删除和修改,也是本论文的一个突出点,所以要详细介绍。 paper51.com
功能描述:员工可以通过选择不同的单选按纽,进行相应的员工信息查询或管理功能。 paper51.com
功能实现:用户先进入员工信息管理页面,再根据用户提交表单时一并提交的表单元素Sendto参数进行相应的员工信息查询或管理。以全体员工信息查询为例,其它查询功能的实现类同。如果Sendto的值为“AllEmployeeInformation”,表示用户希望查询所有员工的信息。然后从用户数据库PSLogins表里查询所有记录,根据表单元素AllOrder的值进行排序,并将结果储存到临时记录集RSEnquiryResult里,同时设置相应的字符串变量TheMessage作为系统反馈提示信息,查询结果如图5-2所示。关键代码如下: http://www.paper51.com if Request.Form("SendTo") ="AllEmployeeInformation" then http://www.paper51.com Set RSEnquiryResult = conn.Execute_ 内容来自论文无忧网 www.paper51.com ("select * from PSLogins order by " &Request.Form("AllOrder")) http://www.paper51.com TheMessage = "全体员工信息按" & Request.Form("AllOrder") & "排序如下" 内容来自论文无忧网 www.paper51.com 内容来自www.paper51.com 图5.2全体员工信息查询 内容来自论文无忧网 www.paper51.com 上述是查询功能的实现,如果用户提交表单时表单元素Sendto的值为“ModifyPersonalInformation”, 表示用户希望修改自己的基本资料。但是用户所能修改的个人信息字段是有限的,对重要字段(部门、职位、是否系统管理员等)的修改,用户必须具备系统管理员身份,并通过SystemManager.asp和ModifyUserInformation.asp来进行。 内容来自论文无忧网 www.paper51.com 如果Sendto的值为“SystemManager”表示用户希望进入管理员页面。此时要对用户的身份进行判断。判断的方法是对会话对象Session的IsSystemManager字段进行判断。如果字段值为Ture,则具有系统管理员身份,可以进入管理员页面,同时提供一个参数SystemOrder,即进入页面后所有员工信息的排序方式。全体员工的信息将以用户需要的排序方式显示在页面上,页面上有“删除此用户信息”、“修改此用户信息”、“添加新用户信息”三个按纽,用户通过单击按纽可以完成相应的功能,以下着重介绍添加功能。 copyright paper51.com
用户通过单击“添加新用户信息” 按纽,进入添加新用户页面,如图5-3所示。本页面使用了用户信息表,部门信息表和职位信息表。在填写用户信息时要保证登录名,姓名和密码等必填字段不能为空。校验通过,则将新用户信息插入数据库中。关键代码如下: 内容来自www.paper51.com
if len(ThePassword)=0 or len(TheName)=0 orlen(TheLoginID)=0 then http://www.paper51.com TheMessage="登录名,姓名,密码不能为空,无法添加新用户" http://www.paper51.com else http://www.paper51.com conn.Execute " insert into PSLogins (LoginID, Name, Password, EmailAddress," _ http://www.paper51.com & "Department, Position, Birthday, HomePhone, QQ,HomeAddress," 内容来自www.paper51.com & "InternalPhone, MobilePhone) values (" _ paper51.com & "'" & TheLoginID &"', " _ 内容来自论文无忧网 www.paper51.com & "'" & TheName &"', " _ http://www.paper51.com & "'" & ThePassword &"', " _ copyright paper51.com
& "'" & TheEmailAddress &"', " _ copyright paper51.com & "'" & TheDepartment &"', " _ 内容来自论文无忧网 www.paper51.com & "'" & ThePosition &"', " _ copyright paper51.com
& "'" & TheBirthday &"', " _ paper51.com & "'" & TheHomePhone &"', " _ 内容来自www.paper51.com & "'" & TheQQ &"', " _ 内容来自www.paper51.com
& "'" & TheHomeAddress &"', " _ paper51.com
& "'" & TheInternalPhone &"', " _ 内容来自论文无忧网 www.paper51.com &"'" & TheMobilePhone & "') " paper51.com TheMessage="新用户添加成功" 内容来自www.paper51.com end if http://www.paper51.com copyright paper51.com 图5.3添加新用户 内容来自www.paper51.com
5.3财务信息管理模块的实现 copyright paper51.com 对于一个公司或企业而言,财务管理必须拥有明确的权限规定,以下是不同职位的员工可以执行的功能: copyright paper51.com
1.只有财务管理人员才可以进入添加财务信息记录模块,并添加新财务记录。 http://www.paper51.com
2.所有系统用户都可以进入生成财务报表模块,但生成报表的权限不仅相同。 http://www.paper51.com
3.只有财务管理人员才可以进入修改财务记录模块,并修改财务记录。 内容来自论文无忧网 www.paper51.com 具体实现:通过对Session对象的IsFinancialManager字段进行判断,来辨别用户身份,从而可以确认用户是否可以进入添加财务记录页面以及修改财务记录页面。添加和修改功能在前面已经介绍过,实现方法基本相同,这里不就在叙述。 内容来自论文无忧网 www.paper51.com
如果用户选择输出总流水报表,则需要对用户身份进行验证,因为只有经理或者财务部主管才可以浏览此类报表。如果验证通过,则查询数据库生成一个记录集RSAllFinancialRecord来储存财务记录以备输出,这样在HTML部分输出的时候,只要对这个记录集输出即可,同时将页面状态设置为报表状态,输出结果如图5-4所示。其余报表生成过程与此类似,这里不在叙述。关键代码如下: http://www.paper51.com
if Request.Form("FinancialReportType") ="AllFinancialRecord" then 内容来自www.paper51.com
if Session("Position")="经理" or(Session("Department")="财务部" and _ 内容来自论文无忧网 www.paper51.com Session("Position")="主管") then paper51.com
SqlString="select * from FinancialRecord where AddDate >=#" &StartDate _ http://www.paper51.com
& "# and AddDate<=#" & EndDate &"# order by " & Request.Form("ReportOrder") copyright paper51.com
Set RSAllFinancialRecord = conn.Execute(SqlString) 内容来自论文无忧网 www.paper51.com
TheMessage = TheTimeLimit & "总流水帐报表按-" & TheOrder & "-排序如下" 内容来自论文无忧网 www.paper51.com
label=true http://www.paper51.com ReportLabel=True paper51.com else http://www.paper51.com
TheMessage="您不是[经理/财务部主管],无权生成总流水帐报表" paper51.com Warning=true 内容来自www.paper51.com end if 内容来自www.paper51.com paper51.com 图5.4总流水财务报表 copyright paper51.com |