版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河北农业大学本科生毕业论文 考勤信息管理系统摘 要随着科技的突飞猛进,社会生产的规模不断扩大,随之而来的是包括生产类和服务类在内的各个部门的员工规模正在猛增。员工规模的不断增加带来了一系列管理的的问题,比如员工人数的统计,员工出勤情况的统计,员工工资的核算。如果还是按照传统的统计核算方式,必将投入更大的人力和物力去参与这个过程,这种方式正加剧了管理问题的严重性,并且统计核算的效率和结果的精确度都不能满足现代化企业部门的需求。伴随着信息时代的到来,计算机技术有了长足的进步,计算机技术的应用更加普及且越来越容易给客户带来满意的体验。网络的便捷性和计算机的可靠性,给解决各个大规模员工管理问题提供了一
2、个新的解决方案。本论文正是侧重于员工管理中的员工考勤问题进行研究,并利用计算机技术开发出了一套高效率和高可信度的员工考勤管理系统。论文所设计的系统为B/S模式系统,采用ASP技术开发,采用三层软件架构方式,数据库SQL SERVER 2008。系统主要有签到管理,每月考核以及部门,员工等基础信息的管理。关键词 考勤管理系统系统、 SQL SERVER 2008、 B/S AbstractWith advances in technology, expanding social production, followed by employee size category and class of
3、 service, including the production of various departments, including being soared. Brings a range of issues management increasing staff size, such as the number of employees in statistics, statistical staff attendance, employee payroll accounting. If you still follow the traditional statistical meth
4、od of accounting, will invest more human and material resources to participate in this process, this approach management problems are exacerbated, and the accuracy and efficiency of statistical calculation results can not meet the modern enterprise sector needs.With the advent of the information age
5、, computer technology has made great strides, the application of computer technology, more and more popular and easier to bring satisfaction to the customer experience. Convenience and reliability of the network computer, to solve various problems of large-scale staff management provides a new solut
6、ion. This paper is focused on the management of employee attendance staff study the issue and use of computer technology to develop a set of high efficiency and high reliability of employee attendance management system.Paper system designed to B / S model system using ASP technology development, sof
7、tware architecture using three methods, database SQL SERVER 2008. Attendance management system is mainly managed monthly assessment and departments, employees and other basic information.Key Words:The kindergarten shuttle system function SQL Server 2008 目 录 TOC o 1-3 h z u HYPERLINK l _Toc388969626
8、1 绪 论 PAGEREF _Toc388969626 h 1 HYPERLINK l _Toc388969627 1.1考勤信息管理系统的意义 PAGEREF _Toc388969627 h 1 HYPERLINK l _Toc388969628 1.2考勤信息管理系统的研究现状 PAGEREF _Toc388969628 h 1 HYPERLINK l _Toc388969629 1.3论文主要工作 PAGEREF _Toc388969629 h 1 HYPERLINK l _Toc388969630 2 相关技术的选用与介绍 PAGEREF _Toc388969630 h 2 HYPER
9、LINK l _Toc388969631 2.1 ASP和C#技术简介 PAGEREF _Toc388969631 h 2 HYPERLINK l _Toc388969632 2.2 三层技术的介绍 PAGEREF _Toc388969632 h 3 HYPERLINK l _Toc388969633 2.3 Session技术的介绍 PAGEREF _Toc388969633 h 4 HYPERLINK l _Toc388969634 3系统分析与总体设计 PAGEREF _Toc388969634 h 5 HYPERLINK l _Toc388969635 3.1 需求分析 PAGEREF
10、 _Toc388969635 h 5 HYPERLINK l _Toc388969636 3.2 可行性分析 PAGEREF _Toc388969636 h 5 HYPERLINK l _Toc388969637 3.3 开发环境 PAGEREF _Toc388969637 h 6 HYPERLINK l _Toc388969638 3.3 系统功能实现目标 PAGEREF _Toc388969638 h 6 3.31功能分类 HYPERLINK l _Toc388969639 7 3.32具体功能 HYPERLINK l _Toc388969640 7 3.33 HYPERLINK l _T
11、oc388969641 功能说明(可参考需求分析)7 HYPERLINK l _Toc388969642 3.4 数据库设计 PAGEREF _Toc388969642 h 7 HYPERLINK l _Toc388969643 4 系统实现 PAGEREF _Toc388969643 h 12 HYPERLINK l _Toc388969644 4.1 数据库操作模块的实现 PAGEREF _Toc388969644 h 12 HYPERLINK l _Toc388969645 4.2 登录模块的实现 PAGEREF _Toc388969645 h 13 HYPERLINK l _Toc38
12、8969646 4.3 签到,签退和请假模块的实现 PAGEREF _Toc388969646 h 14 HYPERLINK l _Toc388969647 4.4 考勤核算的实现 PAGEREF _Toc388969647 h 16 HYPERLINK l _Toc388969648 4.5 列表的实现 PAGEREF _Toc388969648 h 18 HYPERLINK l _Toc388969649 5总结 PAGEREF _Toc388969649 h 20 HYPERLINK l _Toc388969650 6致谢20 HYPERLINK l _Toc388969651 参 考
13、文 献21河北农业大学本科生毕业论文 考勤信息管理系统1 绪 论1.1考勤信息管理系统的意义企业考勤管理系统是一个企事业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。考勤管理是商业信息管理的重要部分,面对大量的商品信息
14、,采用人力处理将浪费大量的时间、人力和物力,而且统计数据麻烦。一个企业对其职工的正常上下班、延时工作及加班工作进行考勤,通过报表的形式输出,合理调整员工工作安排,用计算机对考勤数据进行统计分析处理,得到我们所需要的各种统计报表和考勤原始数据,方便了企业对员工的管理如今的企业的管理者,拥有一个良好的企业管理信息系统,可加强职工的管理,增强企业的管理,对企业的发展有着一定的促进作用。因此,开发一个合适的、高质量的企业考勤管理系统进行企业员工的考勤管理,对企业的长远发展有重大的意义。开发一个界面友好,易于操作的考勤管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。通过此考勤管理系统的
15、开发锻炼了学生的实际动手能力,对以后的学习和工作能力的培养也具有重要意义。1.2考勤信息管理系统的研究现状长期以来,我国众多的企业都是采用传统的手工方式记录企业员工每日的出勤情况。这种方式繁琐易错,准确性、透明度、实时性差,受人为因素影响过大,增加了企业的人力资源成本。同时使用传统人工记录考勤管理容易出现疏漏,甚至可能存在考勤监管人员因人情导致考勤不平等的情况,造成企业员工存在侥幸心理,无法解决代考、脱岗的问题,不利于企业的HYPERLINK /search?word=%E4%BA%BA%E5%91%98%E7%AE%A1%E7%90%86&fr=qb_search_exp&ie=utf8 t
16、 _blank人员管理。;随着信息化社会的到来,国民素质的相应提高,企业员工的信息素养普遍增强,为企业合理的运用考勤管理系统提供了有力的人员保障。从现在出现的一些企业考勤管理HYPERLINK /search?word=%E7%B3%BB%E7%BB%9F%E5%88%86%E6%9E%90&fr=qb_search_exp&ie=utf8 t _blank系统分析,我们可以把企业考勤管理系统从管理功能上大致分为两种:第一种是门禁安全系统。门禁安全管理系统主要是解决重要部门出入口实现安全防范管理的有效措施,集微机自动识别技术和现代安全管理措施为一体。它能够自动识别出入的人员身份,记录人员出入时
17、间等,但一般没有综合的考勤分析功能。第二种是综合考勤管理系统。这种考勤管理系同主要针对公司的员工的上下班考勤记录等相关情况的管理。一般为企业管理部门使用,掌握并管理企业的员工出勤动态,一般包括考勤记录和考勤分析两大总体功能。不但能够识别进入企业的职员的身份,还具备企业员工请假、休假、加班等相关出勤情况的记录和分析汇总功能。根据系统制定的考勤规则,自动分析出考勤结果。综上所述,考勤管理系统的研究开发,企业对它的引进都需要HYPERLINK /search?word=%E5%9B%A0%E5%9C%B0%E5%88%B6%E5%AE%9C&fr=qb_search_exp&ie=utf8 t _b
18、lank因地制宜。采用条码的考勤管理信息系统通过在线对职工的考勤、考勤数据统计、职工信息管理等功能。1.3论文主要工作论文从实现员工管理的高效性出发,并且针对这个方面提出了考勤管理系统的设计。该系统采用的是B/S模式进行互联,采用ASP技术进行实现,并且使用了微软公司大力推荐的分层软件架构方式,使用SQL SERVER 2008作为数据的最终存储。论文主要的研究内容如下:(1)使用ASP技术编写B/S模式的系统,系统发布后,各个客户端可以根据系统所在的地址进行访问,网站服务器会根据请求一一进行应答。多个客户端和一个服务器保证了各个客户端之间平等访问服务器的权利,同时实现了信息的统一存储,从而实
19、现了各个连锁分店之间信息的统一。(2)使用SQL SERVER 2008数据库管理系统保证了数据的安全性。因为多个客户端的存在,在进行操作时会发生偶然的的问题,比如同时对同一数据信息进行更新。在系统的设计及编写方面不能对这一类问题进行很好的处理,而数据库强大的事务处理功能可以很好的是这个问题得到解决,防止数据发生错乱,导致系统崩溃。(3)使用session技术对登录的用户进行信息存储,并在各个页面加载之前进行信息检查,防止用户越权访问页面,进行操作。同时也通过session技术实现了用户信息的识别,在分店系统中只涉及该用户所在点的信息,从而保证了系统的安全性。2 相关技术的选用与介绍项目的系统
20、采用ASP技术实现,采用分层的系统架构方式,数据库选择的是SQL SERVER 2008,编辑环境选择的是Microsoft Visual Studio 2010。本章节则主要介绍涉及到的技术问题,如c#和ASP技术,三层架构技术和session技术等,同时介绍了系统实现的物理环境和软件平台。2.1 ASP和C#技术简介ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。与以前的Web开发模型相比,ASP.NET提供了数个重要的优点。ASP.NET是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET可利用早期绑定、实时编译
21、、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。ASP.NETFramework补充了VisualStudio集成开发环境中的大量工具箱和设计器。WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员.NETFramework类库、消息处理和数据访问解决方案都可从Web无缝访问。ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。ASP.NET使执行常见任
22、务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似VisualBasic的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了ASP.NETFramework应用程序的部署。只需将必要的文件复制到服务器,即可将ASP.NET Framework
23、应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。安全性。借助内置的Windows身份验证和基于每个应用程序的配置,可以保
24、证应用程序是安全的。C#是一种安全的、稳定的、简单的、优雅的,由C和 HYPERLINK /view/824.htm t _blank C+衍生出来的 HYPERLINK /view/125370.htm t _blank 面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有 HYPERLINK /view/57.htm t _blank 宏以及不允许多重继承)。C#综合了 HYPERLINK /view/3063.htm t _blank VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向 HYPERLINK
25、 /view/379950.htm t _blank 组件编程的支持成为 HYPERLINK /view/4294.htm t _blank .NET开发的首选语言。C#是 HYPERLINK /view/125370.htm t _blank 面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的 HYPERLINK /view/74746.htm t _blank 工具和服务来最大程度地开发利用计算与通讯领域。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C
26、/C+原有的强大的功能。因为这种 HYPERLINK /view/125322.htm t _blank 继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。2.2 三层技术的介绍三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在HYPERLINK /view/930.htm t _blank客户端与数据库之间加入了一个
27、“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上。三层体系的HYPERLINK /view/330120.htm t _blank应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。各层的作用:1:HYPERLINK /view/1963466.htm t _blank数据访问层:主要是对原始数据(数据库或者文本文件等存
28、放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。具体的区分方法:1:数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个HYPERLINK /view/15061.htm t _blank函数主要完
29、成各个对数据文件的操作。而不必管其他操作。2:业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。表示层:位于最外层(最上层),最接近用户。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层:业 务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统 所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin F
30、owler在Patterns of Enterprise Application Architecture一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为HYPERLINK /view/3705331.htm t _blank领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。数据层:数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问HYPERLINK /view/7809.htm t _blank数据库系统、二进制文件、HYPERLINK /view/213527
31、3.htm t _blank文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。2.3 Session技术的介绍Session是指用户在初次浏览某个网站时,将于该网站的服务器进行连接,同时在服务器中将保存一份有浏览器信息生成的在服务器端唯一识别的信息,这份信息将一直保持到用户关闭浏览器,结束这次访问。Session涉及客户端即浏览器,同时也涉及服务器端,比并且需要不间断的访问才能保持、需要注意的是,同一主机的不同客户端(即不同的浏览器)对同意
32、服务器进行访问,在服务器中生成的Session是不同的,也就是说session生成的单位是客户端对服务器一对一的访问,而不是主机对服务器的访问。图2-1 Session技术图存储于服务器的session可以在客户端与服务器的会话中中多次使用,也就是说客户端可以从服务器得到一些有用的信息,也可将一些信息存进Session,供客户端后期访问。Session的这一特性,可以帮助B/S系统实现诸多技术上的问题。比如用户是否登录的判3系统分析与总体设计本章节对项目进行了详细的需求分析,并且实现了系统的概要设计,关键的功能绘制活动图,包括需要实现的功能和权限分配等问题,并且介绍了详细设计中各个模块中关键功
33、能的实现代码分析。3.1 需求分析人事考勤管理信息一直采用手工管理方式,但随着企业员工人数的增多,对员工信息及考勤信息的需求也越来越大,对信息处理的要求也越来越高,手工管理的弊端日益显示出来。不同部门之间的数据不能共享,存在大量的重复劳动;员工的添加、修改、删除、查询等工作效率太低、浪费严重等等。解决这些问题最好的办法是实现人事考勤信息管理的自动化,用计算机处理来代替手工管理。利用计算机中最为友好、最为方便的WINDOWS界面进入系统,用键盘轻松地完成数据的录入、查询和统计的操作。通过调查,要求系统需要有以下功能: = 1 * GB2 由于操作人员的计算机知识普遍较差,要求有良好的人机界面 =
34、 2 * GB2 由于该系统的使用对象多,要求有较好的权限管理 = 3 * GB2 原始数据修改简单方便,支持多条件修改 = 4 * GB2 方便的数据查询,支持多条件查询 = 5 * GB2 在相应的权限下,删除数据方便简单,数据稳定性好 = 6 * GB2 数据计算自动完成,尽量减少人工干预3.2 可行性分析技术可行性人事考勤管理系统在技术上日趋成熟,利用Visual Basic可以对其中的各种信息进行分析。在技术上具有可行性。操作可行性本系统没有复杂且不可理解的过程,所有的过程均采用简单的键盘录入和鼠标操作。每一个过程、每一个功能、每一个选项均有相应的辅助信息,通俗易懂。如果对计算机有一
35、定了解,只要经过简单的软件培训就可以实现系统的操作。因此,具有操作可行性。理论可行性计算机可以代替人工进行许多繁杂的劳动计算机可以节省许多资源,计算机可以大大的提高人们的工作效率,因此,具有理论可行性。经济可行性 在开发本系统之前,需要准备Visual Basic 6.0和Access2000数据库软盘。还要收集一些数据资料,查阅国外同等系统的开发技术,这些都可在图书馆里或书店查阅,不需要花费。在设计完成以后,系统运行不需要特殊的系统环境和外部设备。所以说在开发始终都不需大量的人力、物力和财力,因此,系统具有经济可行性。法律可行性在系统的分析与设计过程中,部分引用的代码是共享的,并不存在任何侵
36、权问题,因此,具有法律可行性。因此,本系统具有技术可行性、操作可行性、理论可行性、经济可行性和法律可行性。3.3 开发环境系统开发环境的需求见下表: 表3-1 系统开发环境表开发环境配置需求清单内存1GB以上系统Windows 7开发语言C#开发工具VS2010数据库SQL SERVER 2008架构方式三层架构服务器IIS调试浏览器猎豹浏览器3.3 系统功能实现目标管理员子系统功能: 该系统主要模块包括每日签到情况的查看和每月考勤表的生成,还包括了一些基本资料模块,如部门管理,员工管理,作息时间以及考勤日期管理等。具体功能设计如下表:表3-2具体功能表功能分类功能概况具体功能功能说明(可参考
37、需求分析)主要操作考勤管理每日签到所有员工当日的签到情况,可以根据员工号以及时间段等信息进行查询,并且支持删除,和部分信息更改等功能。每月考核所有员工各个月份的考核情况,可以更具员工号和年份以及月份进行精确查询,支持删除操作。同时提供了生成考核表的功能,根据签到情况进行还未考核月份的统计。基本资料员工管理添加员工需输入新增员工编号,姓名,入职时间,所属部门,职位,登录密码,工资等信息。不允许存在相同编号的员工。员工列表显示所有员工部分信息,支持员工编号为关键字的查询功能。具有详细功能,可以查看对应员工的所有详细信息;具有修改功能,可以修改除员工ID以外的所有信息。部门管理添加部门需输入新增部门
38、编号,名称,职能信息。不允许存在相同编号的员工。部门列表显示所有部门信息,支持部门编号为关键字的查询功能。具有修改功能,可以修改除部门ID以外的所有信息。公司规定管理更改作息时间更改公司每日上班时间和下班时间,精确到分钟。修改后立即生效。更改考核日期更改公司的各月出勤考核时间,修改后立即生效。管理员管理增加管理员需输入新增管理员编号,姓名,密码信息。不允许存在相同编号的管理员。管理员列表显示所有管理员信息,支持管理员编号为关键字的查询功能。具有修改功能,可以修改除管理员ID以外的所有信息。员工子系统功能: 该系统主要包括签到,签退,请假。具体功能设计如下表:表3-3员工子系统功能表功能分类具体
39、功能功能说明(可参考需求分析)考核管理签到员工上班的时候签到,签到信息可以被管理员浏览签退员工下班的时候签退,签退信息可以被管理员浏览请假请假和旷工不同,请假有信息记录,可被管理员浏览信息显示签到列表显示此员工所有的签到信息考核列表显示此员工所有的考核信息3.4 数据库设计数据库E/R图设计:图3-4 E/R图数据库关系图:图3-5 数据库关系图数据库表结构:表3-6 Users表列名属性是否主键完整性约束说明Users_idchar(10)是not nullIDpwchar(10)否not null密码Users_namechar(10)否not null姓名表3-7 SignInRecor
40、d表列名属性是否主键完整性约束说明signInrcd_idchar(15)是not nullIDele_idchar(15)否references员工IDtoday_timedatetime否无日期signInrcd_morning_timdatetime否无早上签到时间signInrcd_evening_timdatetime否无晚上签退时间corp_morining_timedatetime否无销售价格corp_evening_timedatetime否无最终价格表3-8 Employee表列名属性是否主键完整性约束说明attrcd_idchar(15)是not nullIDele_idc
41、har(15)否无员工姓名ele_datedatetime否无入职时间attrcd_idchar(15)否references签到号ele_pwdchar(20)否无密码department_idchar(15)否无部门ele_phone_numberchar(15)否无联系方式ele_positionchar(15)否无职位ele_sexchar(1)否男or女性别monthly_wagesint否无工资表3-9 AttendanceRecord表列名属性是否主键完整性约束说明attrcd_idchar(15)是not nullIDele_idchar(15)否references员工编号a
42、ttrcd_timedatetime否无年月late_daysint否无迟到或早退absent_daysint否无旷工天数normal_daysint否无正常天数leave_daysint否无请假天数all_work_hoursint否无总出勤天数表3-10 Department表列名属性是否主键完整性约束说明department_idchar(15)是not nullIDdepartment_namechar(10)否无部门名称department_functionchar(20)否无部门功能department_bosschar(10)否无部门主管表3-11 CorpRule表列名属性是否
43、主键完整性约束说明corprule_idchar(15)是not nullIDcorp_morining_timedatetime否无规定上班时间corp_evening_timedatetime否无规定下班时间corpcheck_timedatetime否无考核日期4 系统实现本章详细介绍了各主要模块的实现原理,在介绍过程中详细分析了实现的实现代码。4.1 数据库操作模块的实现本系统采用三层架构模式开发,分为界面层,逻辑层与数据层。系统在操作过程中需要频繁查询或者更改信息,所以系统的实现过程中需要多次对数据库进行操作,而在对数据库进行操作之前必须进行数据库连接。如果每一部分都单独编写数据库连
44、接代码,将造成代码的冗余,同时降低了系统的可维护性。为此本系统将数据库连接参数写进配置文件Web.config,并为数据库的连接和基本语句的执行单独写作一个类DbHelperSQL。具体如下所示:配置文件:SaleManageWebWeb.configDbHelperSQL类的实现:SaleManageDBUtilityDbHelperSQL.cspublic abstract class DbHelperSQL/在配置文件Web.config中取得连接参数。PubConstant的代码在本类代码之下 public static string connectionString = PubCon
45、stant.ConnectionString; /执行sql语句,返回datasetpublic static DataSet Query(string SQLString) /与数据建立连接 using (SqlConnection connection = new SqlConnection(connectionString) DataSet ds = new DataSet();声明用于装载查询结果的对象 try connection.Open(); /打开会话 SqlDataAdapter command = new SqlDataAdapter(SQLString, connecti
46、on); /执行SQL语句字符串 command.Fill(ds, ds); /装载数据库 catch (System.Data.SqlClient.SqlException ex) 如果发生异常怎么处理 throw new Exception(ex.Message);/抛出异常 return ds; /执行带参数语句,返回受影响行数public static int ExecuteSql(string SQLString, params SqlParameter cmdParms) /详细代码略去,具体实现可参见源代码 /执行带参数的sal语句,返回datasetpublic static
47、DataSet Query(string SQLString, params SqlParameter cmdParms) /详细代码略去,具体实现可参见源代码PubConstant类的实现:SaleManageDBUtilityPubConstant.cspublic class PubConstant / 获取连接字符串 public static string ConnectionString /详细请见代码 4.2 登录模块的实现登录过程中由Web层将用户名和密码传给BLL层,BLL层根据得到的信息调用DAL层的GetModel()方法,并得到返回的User对象,然后将此对象再返回给W
48、eb层。最后Web层根据User类是否为空,密码是否正确,判断能不能成功登录。由于本系统涉及管理员子系统和员工子系统,在登录检验成功后,将根据系统取得的登录人员信息,进行不同页面的跳转,并将用户的信息存入session,向系统后期的操作提供信息。图4-1 用户登录界面登录的实现代码如下:SaleManageWebLogin.aspx.csprivate void btnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e) string id = this.txtid.Text.Trim(); string pw = th
49、is.txtpw.Text.Trim(); string msg = ; if (ddsf.SelectedValue = 1) /员工 BLL.Employee bll = new BLL.Employee(); Model.Employee user = new Model.Employee(); if (bll.Login(id, pw, out msg, out user) SessionuserEmployee = user; Response.Redirect(EmployeeMain.aspx); else /lblMsg.Text = msg; else /管理员 BLL.Us
50、ers bll = new BLL.Users(); Model.Users user = new Model.Users(); if (bll.Login(id, pw, out msg, out user) SessionuserAdmin = user; Response.Redirect(UserMain.aspx); else /lblMsg.Text = msg; 4.3 签到,签退和请假模块的实现签到,签退和请假主要是员工子系统的功能。图4-2 前台界面图签到模块:public bool SignIn(string ele_id) string year = DateTime.N
51、ow.Year.ToString(); string month = ; if (DateTime.Now.Month 9) month = DateTime.Now.Month.ToString(); else month = 0 + DateTime.Now.Month.ToString(); string day = ; if (DateTime.Now.Day 9) day = DateTime.Now.Day.ToString(); else if (dal.Add(signinrecord) BLL.Employee bllempl = new BLL.Employee(); if
52、 (bllempl.Update(modelempl) return true; else return false; else return false; 签退模块:public bool SignOut(string ele_id) string signInrcd_id = employee.attrcd_id; Model.SignInRecord model = dal.GetModel(signInrcd_id); model.signInrcd_evening_time = DateTime.Now; if (dal.Update(model) return true; else
53、 return false; 请假模块:public bool QingJia(string ele_id) string year = DateTime.Now.Year.ToString(); string month = ; if (DateTime.Now.Month 9) month = DateTime.Now.Month.ToString(); else month = 0 + DateTime.Now.Month.ToString(); string day = ; if (DateTime.Now.Day 9) day = DateTime.Now.Day.ToString(
54、); else day = 0 + DateTime.Now.Day.ToString(); signinrecord.signInrcd_evening_time = signinrecord.signInrcd_morning_time; if (dal.Add(signinrecord) modelempl.attrcd_id = signinrecord.signInrcd_id; if (bllempl.Update(modelempl) return true; else return false; else return false; 4.4考勤核算的实现考勤核算是管理员具有的功
55、能。考勤核算会会根据系统设定的核算日期进行查看,找出可以核算而为核算的月份。然后根据签到表的数据,再以员工和月份为单位进行相关数据的统计,包括核算日期,正常工作天数,迟到天数,旷工天数,请假天数以及此月的总工作时间,最后将考勤表存入数据库。图4-3 考勤核算图public bool GenerateAttendanceRecord() List list = GenerateMonthList(); /得到待生成的列表 if (list.Count = 0) /没有直接返回 return true; foreach( Model.YearAndMonth yearandmonth in lis
56、t )/逐月生成考勤表 List eleIDList = GetEleIDForMonthList(yearandmonth.year,yearandmonth.month); foreach (string eleID in eleIDList) /各个员工某月的表 int absent_days = 0; /旷工 int leave_days = 0;/请假 int late_days = 0; /迟到 int normal_days = 0; /正常 int all_work_hours = 0;/总工作小时数 DAL.SignInRecord dalsign = new DAL.Sig
57、nInRecord(); for (int day = 1; day corpmorningtime.Hour) | (recdmorningtime.Hour = corpmorningtime.Hour & recdmorningtime.Minute corpmorningtime.Minute)| (recdeveningtime.Hour corpeveningtime.Hour) | (recdeveningtime.Hour = corpeveningtime.Hour & recdeveningtime.Minute 9) month = DateTime.Now.Month.
58、ToString(); else month = 0 + DateTime.Now.Month.ToString(); string rand = new Random().Next(1000, 9999).ToString(); /填写信息 if (yearandmonth.month = 12) model.attrcd_time = DateTime.Now.AddYears(yearandmonth.year + 1) - DateTime.Now.Year).AddMonths(1 - DateTime.Now.Month).AddDays(15 - DateTime.Now.Day
59、); else model.attrcd_time = DateTime.Now.AddYears(yearandmonth.year - DateTime.Now.Year).AddMonths(yearandmonth.month + 1) - DateTime.Now.Month).AddDays(15 - DateTime.Now.Day); /存储 Add(model); return true; 4.5列表的实现系统中关于列表的显示都采用了相同的方式。Web层使用GridView控件,然后在控件中添加列BoundField,并使用DataField属性指定调用BLL层的GetList方法取得的DataSet中列名相匹配的字段,根据不同的SQL语句的到不同列表。BLL层调用DAL层的GetList方法,返回DataSet对象。使用GirdView显示DataSet类型传过来的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 走廊墙面异行处理方案
- 砂石储备料施工方案
- 炼油培训计划方案表格
- 2024-2027年中国智能建筑能源管理系统行业发展监测及投资战略研究报告
- 2025年度钢筋需求与供应合同2篇
- 2025年度货物铁路运输委托与智能仓储管理合同2篇
- 2025年数字经济时代人力资源数字化转型合同3篇
- 2025年度船舶租赁与船舶租赁风险评估合同3篇
- 2025年广西北海市海城区创建全国文明城市工作指挥部办公室招聘2人历年高频重点提升(共500题)附带答案详解
- 2025-2030年(全新版)中国塑料助剂行业运营状况规划研究报告
- 《国有控股上市公司高管薪酬的管控研究》
- 餐饮业环境保护管理方案
- 人教版【初中数学】知识点总结-全面+九年级上册数学全册教案
- 食品安全分享
- 矿山机械设备安全管理制度
- 计算机等级考试二级WPS Office高级应用与设计试题及答案指导(2025年)
- 造价框架协议合同范例
- 糖尿病肢端坏疽
- 心衰患者的个案护理
- 医护人员礼仪培训
- 无人机飞行安全协议书
评论
0/150
提交评论