本科毕业设计-人事工资信息管理系统_第1页
本科毕业设计-人事工资信息管理系统_第2页
本科毕业设计-人事工资信息管理系统_第3页
本科毕业设计-人事工资信息管理系统_第4页
本科毕业设计-人事工资信息管理系统_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE1计算机科学与技术专业(本科)毕业设计论文题目人事工资信息管理系统所在班级____________姓名________学号__________指导教师_______完成日期__________________摘要随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多公司的经营管理。甚至附近的一个小店主也可能正在用计算机来控制销售、记账以及其他活动。在一些大公司里,电子信息处理系统监测全部工作设备的操作与运行。人事工资管理系统是企业管理机制中的重要组成部分,通过对人事工资管理系统的管理机制进行调查研究,开发了此管理系统。本系统中解决了公司企业的人员,考勤及工资结算的问题以及相关统计工作。本系统中包含五个功能模块:员工管理,考勤业绩管理,工资管理,请假管理和系统管理。本系统使有Microsoft公司推出的ASP.net进行前端开发,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过ADO.net和数据库进行无缝连接,后端的开发工具是MicrosoftSqlserver2000,整个数据库都是相互关联的,使数据库具有较高的完整性,一致性和安全性。关键词:人事管理,工资管理,数据库管理系统,。AbstractWiththeprogressofscienceandtechnology,therapiddevelopmentofthecomputerindustry,improvepeople'sworkingefficiencygreatly.Theintroductionofcomputerizedinformationsystemshassharplychangedmanagementcontrolinmanycompanies.Evenaneighborhoodshopkeepermaynowusecomputerstocontrolsales,billing,andotheractivitise.Inlargecompanies,electronicdataprocessingsystemsmonitroentireprojectsandsetsofoperations.Themanagementofemployeeandsalaryistheimportantpartoftheadministrationofacompany.Investigationsthroughthemechanismofmanagementtothecompany’semployeeandsalarysystem,thissystemcontainsfivemodules,namelyemployeeinformationmanagement,attendanceandsalemoneymanagement,salarymanagement,leaveinfomanagement,andsystemset.ThissystemuseMicrosoftcarryonfrontdevelop,ASP.net.Itadoptnewtechnologiesmostwhosoftwaredesignnowadays,ithastobehightodevelopefficency,designflexible,beautifulfriendshipinterfacesoftwarethatproduce,etc.characteristic.AttheADO.netofASP.netanddatabasegoonandhaveandsewandioinshissystem,usetoaccuseofoneandtouchofftheincidentAatalargeamountof.ThedevelopinginstrumentofthebackendisSqlserver2000ofMicrosoft,thewholedatabaseisrelatedeachother,makesthedatabasehaverelativelyhighintegrality,Consistencyandsecurity.Keywords:themanagementofemployee,themanagementofsalary,DBMS,A.目录前言 1第一章系统概述 21.1国内外研究现状及发展趋势[5] 21.2研究目的、意义和范围 21.3系统技术概述 31.3.1.NETFramework概述[9][11] 31.3.2ASP.NET、ADO.NET和C#语言简介[5][13] 4第二章系统需求分析 62.1需求分析的目的 62.2项目背景 62.3需求分析 62.3.1问题定义 62.3.2可行性研究 62.3.3人事工资具体任务要求和运行过程 72.4对现有系统的分析 72.5技术方面可行性分析 72.5.1软件分析 72.5.2硬件分析 82.5.3人员分析 82.6经济方面可行性分析 82.7结论 8第三章系统总体设计 103.1数据流程分析 103.2系统总体软件结构 123.3数据库设计 133.3.1数据项和数据结构 133.3.2数据库概念设计 133.3.3数据库物理设计 15第四章系统主要功能实现 184.1Web.config文件配置 184.2页面的风格设计 184.3系统登陆模块的实现 194.4员工管理模块的实现 214.4.1添加员工信息功能的实现 214.4.2员工查询维护功能的实现 234.5考勤业绩管理模块的实现 244.5.1添加考勤信息功能的实现 244.5.2考勤信息查询功能的实现 264.5.3销售业绩信息添加功能的实现 274.5.4销售业绩信息查询功能的实现 304.6工资管理模块的实现 324.6.1员工工资自动生成功能的实现 324.6.2员工工资查询功能的实现 34第五章系统的发布 37结论 38参考文献 39致谢 40前言在现代化企业中,信息管理工作将发挥越来越重要的作用。企业信息管理工作已经渗透到企业日常工作的许多方面,无论是其自身还是所发挥的作用,都为企业的创新、发展以及经济效益,做出了显著的贡献。因此,企业必须加强自身的信息基础设施建设,通过企业基础数据的信息化、企业基本业务流程和事务处理的信息化、企业内部控制及实施控制过程的信息化、人的行为规范管理等企业基础管理信息化工程,确保企业在规模不断扩大和业务迅速发展的过程中保持坚实的管理基础和繁殖内核,促进企业的可持续发展。企业的人事工资管理是企业发展的关键环节,一个好的人事管理体制将给企业带来很可观的经济效益。无论什么公司或企业,都存在员工,需要记录员工的日常考勤信息,需要每个月给员工分配工资。手工管理这些纷繁复杂数据的方式已经不适应时代的潮流,实现数据规范化、自动化的电脑管理,是一个管理规范、动作高效的企业单位的必然要求。本系统是为企业的人事工资管理系统,专为公司企业的员工考勤工资需求而开发。系统具有员工信息管理,考勤业绩信息管理,工资生成管理,请假管理等功能,界面友好、操作简便。开发此项目,能够将所学的理论知识与实际应用相结合,并尝试应用最新流行的开发工具,以达到掌握新技术、进一步提高程序开发能力的目的。此项目在开发过程中得到了****老师的精心指导和帮助,在此对****老师表示由衷的谢意!由于时间仓促,加之水平有限,系统的缺点及不足之处在所难免,敬请读者批评指正。第一章系统概述1.1国内外研究现状及发展趋势[5]传统的人事工资信息管理方式有两种:一种是人工操作,各种信息的录入和操作都是记录到纸上,这种方式因为效率太低已不多用;另一种是基于其他计算机技术(如ASP和脚本语言),将动态网页和数据库结合,通过应用程序来处理各种信息,这是目前较为流行的做法。但是由于其他技术(如ASP技术)本身的局限性使得系统有一些不可克服的缺陷。ASP.NET不仅仅是下一版本的ASP(ActiveServerPages,动态服务器页面),而且是建立动态Web应用程序而重新打造的全新技术,其主要特色包括:●语言的独立性;●简单的开发操作,分离程序代码和网页内容;●提高了执行效率;●简化部署与组态的操作;●支持客户端类型;●支持下一代的Web服务;●增进适用性;●增进延展性;●更多的支持工具;●更佳的安全机制;●会话(Session)可以跨进程、跨机器。由于ASP.NET的众多优点,技术发展和各种客观实际的需要,该系统选用了ASP.NET来开发设计,实现了对商贸公司的产品动态管理操作,使得对各种商品的进货,销售,库存查询管理更加及时、高效,提高了工作效率。1.2研究目的、意义和范围随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中人事工资管理系统是作为一个公司企业的重要组成部分,通过它可以实现对各种员工信息,职位信息,考勤信息,工资信息,请假信息进行有效的管理,从而解决了传统人工操作的低效率性,易出错性。该系统使用ASP.NET(C#语言)和ADO.NET技术开发,实现了人事工资信息管理,使得对信息的管理更加及时、高效,提高了工作效率。该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(ManagementInformationSystem,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。1.3系统技术概述1.3.1.NETFramework概述[9][11].NETFramework是用于.NET平台的编程模型,其关键组件是公共语言运行库(CLR,CommonLanguageRuntime)和.NETFramework类库(包括ADO.NET、ASP.NET和Windows窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和XMLWebservices的内部Windows组件。.NETFramework旨在实现下列目标:◆提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的;◆提供一个将软件部署和版本控制冲突最小化的代码执行环境;◆提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;◆提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;◆使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致;◆按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。公共语言运行库是.NETFramework的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NETFramework类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创建的应用程序(如Web窗体和XMLWebServices)。1.3.2ASP.NET、ADO.NET和C#语言简介[5][13]ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,结构模型如图1-1所示:图1-1ASP.NET的结构模型

●UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户;

●业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML

WebServices和组件服务组成,其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础;

●数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。ADO.NET提供对MicrosoftSQLServer、OLEDB和XML公开的数据源的一致性访问,数据共享用户应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。ADO.NET有两个核心组件:DataSet和.NETFramework数据提供程序,后者是一组包括Connection、Command、DataReader和DataAdapter4个对象在内的组件,其组件结构如图1-2所示:图1-2ADO.NET的组件结构图示DataSet对象是ADO.NET的断开式结构的核心组件,实现独立于任何数据源的数据访问。Connection对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的惟一会话。Command对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。DataReader对象从数据源中读取只进且只读的数据流。DataAdapter对象是DataSet对象和数据源之间关联的桥梁,用数据源填充DataSet并解析更新。设计ADO.NET组件的目的是为了从“数据操作”中分解出“数据访问”。C#语言是.NET中一种崭新的语言,C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合VisualBasic的高效率和C++的强大功能。第二章系统需求分析2.1需求分析的目的尽早地对软件项目的可行性做出细致而谨慎的评估,以避免在项目开发过程中浪费大量的人力、物力、财力。2.2项目背景进入二十一世纪,信息化的进程进一步加快,向着网络化、智能化方向发展,计算机行业飞速向前发展,信息化深入到社会的各行各业。微机化管理的广泛应用,使工作效率显著提高。通过可行性分析,我决定为公司企业开发人事工资系统,经过详细调查,收集各种资料,得到以下有关情况。因为公司企业中存在不同职位的员工,每个员工的基本工资不一样,每个员工计算工资的方法不一致,随着员工数量的增加,每个月处理这里繁琐的计算过程就变得越来越困难!手工管理纷繁复杂的人事考勤工资数据已经不能满足需要,所以系统管理的规范化、自动化已经是必然的要求。2.3需求分析2.3.1问题定义问题定义阶段必须回答的关键问题是“要解决的问题是什么?”。显然,这个问题解决整个软件开发周期中起着指导性作用。软件开发应该有这样一条鲜明的线索贯穿始终,否则我们的所有工作都是盲目的。现在我们应该明确问题定义阶段的主要任务:我们要建立一个关于公司企业的人事工资管理系统,以解决每个月员工的工资发放情况,来摆脱传统的手工记账,实现管理自动化,从而提高工作效率。同时该系统应不可避免的涉及到员工信息、职位信息、考勤信息和工资信息的维护和处理及查询处理。2.3.2可行性研究这个阶段要解决的关键问题是“对上一阶段所确定的问题有无行得通的解决办法”。从而导出系统的逻辑模型,然后从系统逻辑模块出发探索若干种可供选择的系统实现方案。由于实际条件的制约,对可行性研究我们不再多说,但我们必须明确,现在我们所讨论的问题从各方面来说都行得通。在明确了这两个简单问题之后,我们的问题应该步入正题了。需求分析阶段是软件定义时期的是后一个阶段,这一阶段的中心任务是准确的回答“系统必须做什么?”这个问题。其结束的标准是通过需求分析应该得出有数据流程图、ER图、数据字典等描绘的精确的系统逻辑模型。2.3.3人事工资具体任务要求和运行过程系统的功能要求即用户对目标系统数据处理功能所提出的要求,主要考虑以下人事工资管理需求:★系统登录:输入正确的用户名和密码,方可进入系统管理界面。★员工信息管理:管理员可以添加和维护员工的信息。★考勤业绩管理:登记每个员工某个月份的考勤信息,考勤信息的维护;登记销售人员的当月销售业绩,维护员工销售业绩信息。★工资管理:根据员工考勤信息和销售业绩自动生成当月工资,工资查询。★请假管理:登记员工请假信息,查询员工请假信息。★系统管理:可以修改登陆密码信息。2.4对现有系统的分析本公司成立于2009年,自2009年下半年开始引入微机管理技术,当时的微机管理主要用于库存、财务、技术资料等工作领域,人事工资的管理还是手工记帐。登记包括人员信息,职位信息,考勤信息,工资信息,请假信息。这样的管理体制对统计和查询工作很不方便,可以说如果长时间和业务积累之后,再想查询某一具体数据,将会是一项很困难的事。随着公司人员规模的不断扩大,需要处理的员工和工资信息也越来越多,手工管理这些纷繁复杂数据的方式已经不适应公司发展的要求,实现数据规范化、自动化的电脑管理,是一个管理规范、动作高效的企业单位的必然要求。因此我们开发并应用此系统,能够适应企业发展的需要,提高了工作效率,很好地实现了信息数据的规范化管理。2.5技术方面可行性分析2.5.1软件分析1、由于Windows2000操作系统是有人机变互的友好界面,很容易掌握及操作,程序界面相对较容易实现等特点,加之目前基于Windows2000操作系统的软件开发工具也很多,易于学习、开发及应用。2、同时由于销售管理业务事务种类繁多,结合超市的实际情况,销售业务量及管理人员的素质等因素,Windows2000操作系统易学易用,而且可以满足需求,故决定采用Windows2000平台开发。3、采用MicrosoftSqlserver20000型数据库系统作为销售管理系统的后台数据库,Sqlserver2000数据库使用与Windows2000完全统一的风格,采用面向对象的方式对数据库进行管理与操作,大大简化了用户的开发与维护工作,另外小型数据库的灵活性、安全性、易用性为数据库编程提供了良好的条件。4、由于Microsoft公司的ASP.net服务器编程工具具有简单易学,同时功能强大的特点,选择它可以加速系统的完成进度。2.5.2硬件分析硬件:中央处理器(CPU):586以上的处理器硬盘:40GB内存:256M显示器:17''彩显打印机:EpsonLQ-1600K打印机2.5.3人员分析此系统操作简单,使用人员无需具有专业的计算机操作基础,因此对企业现有工作人员来说应用此系统是不成问题的。2.6经济方面可行性分析本系统开发经费并不是很多。对于规模不很大,经费有限的单位在经济上是可以接受的,并且本系统实施后可以显著提高效率,很快就可以体现经济效益。投入:除软件开发成本,一台中等电脑,现价4000元左右,完全可以良好的运行系统,完成硬件平台的要求,而且经济实用。2.7结论综上所述,无论是从技术方面还是经济方面看开发此系统均是可行的。第三章系统总体设计通过需求分析,我们大概了解到了系统需要实现的主要功能模块以及各个模块实现所涉及的数据对象,下面我们就对整个系统的做个整体的设计和构架。3.1数据流程分析数据流程分析,即把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图来实现。数据流图(DataFlowDiagram,简称DFD图)是用一些规定的图标和符号来描述数据在系统中的流动和处理情况。数据流图一般要采用自上而下逐步求精的结构化表示方法。软件系统归根结底是一个信息处理系统,其最基本的功能是感受输入信息,对输入的信息按照规定的方法归类、处理以及存储,转变为所需要的信息,最后通过输出系统向用户输出所需求的信息。其中最核心的部分就是信息(数据)处理,因此不同的数据也就决定了所需要的不同的处理方法和算法。数据流图也就是以图形的方式将系统中数据的传递、转化过程以直观的方式表述出来。数据流图由四种基本的元素组成:数据流(DataFlow)、处理(Process)、数据存储和数据源(数据终点)。(1)数据流(DataFlow):为具有名称且有流向的数据,用标有名称的箭头表示。一个数据流可以是记录、组合项或基本项。(2)处理(Process):表示对数据多进行的加工和变换,在图中用圆形表示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理的输出数据.(3)数据存储:表示用文件方式或数据库形式所存储的数据,对其进行的存取分别以指向或离开数据存储的箭头表示。外部实体处理数据存储数据流图3.1数据流图的基本图形符号(4)数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是与系统有关的外部事物或外部环境。其图形符号用平行四边形表示。符号如图3.1外部实体处理数据存储数据流图3.1数据流图的基本图形符号根据上面的分析我们可以对系统画出如图所示的顶层数据流图,如图3.2:用户端提交数据界面显示登录信息用户端提交数据界面显示登录信息错误提示输出执行结果操作请求人事工资信息管理系统Sqlserver数据库第1层数据流图是在顶层上的细分,从整体考虑通讯录信息管理系统出现的数据流动及流向,如图3.3:销售业绩管理请求管理处理数据处理结果请假管理请求管理处理工资管理请求管理处理考勤管理请求管理处理员工信息管理请求管理处理数据中心与用户端交互员工信息管理工资管理业绩管理数据处理界面显示系统管理请求管理处理系统管理销售业绩管理请求管理处理数据处理结果请假管理请求管理处理工资管理请求管理处理考勤管理请求管理处理员工信息管理请求管理处理数据中心与用户端交互员工信息管理工资管理业绩管理数据处理界面显示系统管理请求管理处理系统管理操作员提交数据操作员提交数据考勤管考勤管理请假管请假管理图3.3系统第1层数据流图图3.3系统第1层数据流图3.2系统总体软件结构通过在需求阶段对系统的总体功能的要求,我们得到了这个信息管理软件的总体功能结构,其主要功能结构图如图3-4所示,它应包括5大基本功能:(1)员工信息管理:管理员登陆系统后可以可以添加和维护公司员工的信息。(2)考勤业绩管理:管理员登陆系统后可以添加员工某个月份里的考勤信息,包括加班时间,迟到时间,早退时间,矿工时间,查询修改员工的考勤信息;登记员工当月的销售业绩,管理员工的销售业绩信息。(3)工资管理:选择某个月份,程序自动查询当月的员工考勤信息,根据员工所处职位的基本工资计算员工的实际工资信息;查询工资,根据员工编号,年份,月份,部门查询工资信息,打印工资信息。(4)请假管理:登记员工请假信息,包括请假开始时间,总时间,请假原因,批准人,根据员工编号和名称查询员工请假信息。(5)系统管理:修改管理登录密码,关于作者,系统说明。人事工资人事工资管理系统员工信息管理添加员工信息员工信息维护考勤业绩管理商品进货登记商品进货查询用户密码修改关于系统系统管理进货退货登记进货退货查询系统说明工资管理自动生成工资工资信息查询请假管理登记请假信息请假信息查询图3-4软件总体功能结构3.3数据库设计3.3.1数据项和数据结构针对一般人事工资管理信息系统的要求,通过对人事工资管理工作过程的内容和数据流程分析,设计如下面的主要数据项和数据结构:(1)员工信息:包括员工编号,员工姓名,员工性别,员工生日,教育层次,所在部门,所属职位,家庭电话,移动电话,身份证,员工Email,员工地址。(2)考勤信息:包括记录编号,员工编号,所在年份,所在月份,加班时间,迟到时间,早退时间,旷工天数。(3)销售业绩信息:包括销售编号,员工编号,销售所在年份,销售所在月份,销售业绩。(4)工资信息:包括工资编号,职工编号,年份,月份,基本工资,加班工资,销售提成,交通补助,总工资,考勤扣除,保险扣除,总扣除,实际工资,备注。(5)职位信息:包括职位编号,职位名称,基本工资,加班一个小时费用,销售提成百分比,交通补助,保险扣除,迟到一分钟扣款,早退一分钟扣款,旷工一天扣款。(6)请假信息:包括请假编号,职工编号,请假开始时间,请假天数,请假原因,批准人,编辑时间,备注。(7)管理员信息:包括管理帐号和密码。3.3.2数据库概念设计根据上面的做的数据项和数据结构和它们之间的关系,设计规划出来的实体有:员工信息实体,考勤信息实体,销售业绩信息实体,工资信息实体,职位信息实体,请假退货实体,管理员信息实体,各个实体的属性通过实体属性图表示如下面这些图所示,其中矩形代表该实体对象,它对应数据库中的一张数据表,而椭圆形里的信息代表该数据对象的属性,它对应数据表中的字段信息。性别员工信息性别员工信息员工编号姓名生日教育层次所在部门所属职位家庭电话移动电话身份证员工地址Email考勤信息记录编号员工编号所在年份考勤信息记录编号员工编号所在年份所在月份加班时间迟到时间早退时间矿工天数

图3-6考勤信息实体属性图销售业绩信息销售业绩信息销售编号员工编号所在年份销售业绩所在月份图3-7销售业绩信息实体属性图工资信息实体工资信息实体工资编号职工编号年份月份加班工资总工资销售提成交通补助考勤扣除保险扣除总扣除实际工资图3-8工资信息实体属性图职位信息职位信息职位编号职位名称基本工资加班单价提成百分比交通补助保险扣除矿工扣款迟到扣款早退扣款图3-9职位信息实体属性图请假信息请假信息请假编号职工编号开始时间请假天数请假原因批准人备注图3-10请假信息实体属性图管理员信息管理员信息管理员帐号管理员密码图3-11管理员信息实体属性图3.3.3数据库物理设计在前面,通过系统分析员和用户的了解,归纳出了系统的各个关键的实体,分析了它们的属性以及各个实体的联系,下面就是需要在一个关系数据库系统中使用二维关系表将各个实体及实体的联系物理实现。通过前面的分析,得到了本系统的8个数据实体,它们分别可以在sqlserver2000中通过8张数据信息表来实现,关于各种数据表的字段对应每个实体的对应属性信息,关于8个数据表物理设计的建表sql语句如下。(1)员工信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[employee]( [employeeId][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, [name][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [cardNumber][nchar](20)COLLATEChinese_PRC_CI_ASNULL, [nation][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [sex][nvarchar](2)COLLATEChinese_PRC_CI_ASNULL, [birthday][varchar](50)COLLATEChinese_PRC_CI_ASNULL, [graduateSchool][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [schoolRecord][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [departmentId][int]NULL, [positionId][int]NULL, [telephone][varchar](30)COLLATEChinese_PRC_CI_ASNULL, [email][nvarchar](40)COLLATEChinese_PRC_CI_ASNULL, [editTime][varchar](50)COLLATEChinese_PRC_CI_ASNULL, [memo][ntext]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

(2)考勤信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[chuqin]( [chuqinId][int]IDENTITY(1,1)NOTNULL, [employeeId][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [year][int]NULL, [month][int]NULL, [overHour][float]NULL, [chiDao][int]NULL, [zaoTui][int]NULL, [kuangGong][float]NULL)ON[PRIMARY]

(3)销售业绩信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[sell]( [sellId][int]IDENTITY(1,1)NOTNULL, [employeeId][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [sellYear][int]NULL, [sellMonth][int]NULL, [sellMoney][float]NULL)ON[PRIMARY]

(4)工资信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[salary]( [salaryId][int]IDENTITY(1,1)NOTNULL, [employeeId][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [year][int]NULL, [month][int]NULL, [basicWage][float]NULL, [overtimeWage][float]NULL, [sellMoneyGet][float]NULL, [trafficWage][float]NULL, [totalWage][float]NULL, [kaoqinReduce][float]NULL, [secureReduce][float]NULL, [totalReduce][float]NULL, [realWage][float]NULL, [editTime][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]

(5)部门信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[department]( [departmentId][int]IDENTITY(1,1)NOTNULL, [departmentName][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]

(6)请假信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[leave]( [leaveId][int]IDENTITY(1,1)NOTNULL, [employeeId][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [startTime][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [day][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [reason][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [approvePerson][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [editTime][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [memo][ntext]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

(7)职位信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[position]( [positionId][int]IDENTITY(1,1)NOTNULL, [positionName][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [basicWage][float]NULL, [overtimeHourMoney][float]NULL, [sellGetPercent][smallint]NULL, [trafficWage][float]NULL, [secureReduce][float]NULL, [chiDaoOnceMoney][float]NULL, [zaoTuiOnceMoney][float]NULL, [kuangGongOneDayMoney][float]NULL)ON[PRIMARY](8)管理员信息表的物理结构(建表sql语句如下).CREATETABLE[dbo].[admin]( [adminUserName][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, [adminPassword][varchar](32)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]第四章系统主要功能实现4.1Web.config文件配置ASP.NET应用程序的配置功能放在Web.config文件中,它包含每一个具体Web应用程序的配置信息。在程序运行时,ASP.NET使用分层虚拟目录结构的Web.config文件提供的配置信息为每个惟一的URL资源计算一组配置设置,然后缓存结果配置设置,以供所有页面对资源的请求使用。Web.config文件对于访问站点的用户来说是不可见的,而且也是不可访问的,它基于XML,每个配置文件都包含XML标记和子标记的嵌套层次结构。本系统的Web.config文件中的配置:<addname="ConnectionString"connectionString="DataSource=(local);InitialCatalog=SalaryData;UserID=sa;Password=198517"providerName="System.Data.SqlClient"/>

通过键/值对key和value配置数据库连接的相关信息,将sqlserver数据库SalaryData的登陆用户名和密码设置到配置文件中,这样在程序中就可以随时连接本数据库进行系统的各种操作了。4.2页面的风格设计为使该系统的页面美观多样,可以在设计时使用多种样式风格。为了在页面设计时方便调用,将其存储于数据库的一个风格样式表中,各窗体通过调用style.css文件来设计界面外观。CSS是CascadingStyleSheets(层叠样式表单)的简称,简称样式表,它是一种设计网页样式的技术。CSS代码的基本语句结构为:选择符{属性名:属性值},选择符可以是HTML中任何的标签或自定义标识符,比如P、DIV、IMG甚至BODY都可以作为选择符。CSS在HTML文档中有三种用法:◆一种是把CSS文档放到<head>文档中:<styletype=“text/css”>……</style>;◆另一种方法是采用<style=“”>的格式把样式写在任何html标签中的行内,这种方法比较方便灵活;◆还有一种方法是:把编辑好的CSS文档保存成“.CSS”文件,然后在<head>中定义,定义的格式为:<head><linkhref="style.css"type="text/css"rel="stylesheet">……</head>,<link>和“rel=stylesheet”指连接的元素是一个样式表文档,“href=‘style.css’”指的是需要连接的文件地址。这种方法非常适宜同时定义多个文档,能使多个文档同时使用相同的样式,从而减少了大量的冗余代码。4.3系统登陆模块的实现作为一个信息管理系统,对操作者的身份认证是必不可少的,只有通过验证的操作员才可以进入系统的操作界面,这保证了系统的安全性,在技术中,它实现的原理还是可以和在asp一样,都是通过Session对象实现的。其登陆界面设计如图4-1所示,在上面有一个输入用户名的文本框,一个输入密码的密码框,和和一个输入验证码的文本框。图4-1人事工资系统登陆界面设计程序执行流程:作为login.asp程序,它是本信息管理系统的启动页,也就是当系统运行后首先进入本页要求进行身份认证,当此web窗体首次启动时,首先要求操作员输入用户名,密码和验证码,当选择登陆后,程序首先取得用户输入的这三个参数,验证用户输入的正确性,本程序的业务逻辑流程如下。取得帐号,密码和验证码取得帐号,密码和验证码验证码正确?构造管理员信息模型传入管理员业务逻辑处理,判断管理员帐号和密码的正确性.帐号密码正确?设置管理员session信息,保存到cookie,进入管理员操作首页.提示错误,结束处理提示帐号或密码错误是否、、否、、是图4-2系统登陆模块处理流程protectedvoidBtn_Login_Click(objectsender,EventArgse){/*首先进行验证码的比对,正确的验证码在Validate.aspx的代码文件中使用Session变量已经保存*/if(String.Compare(Session["Code"].ToString(),this.Validator.Text,true)!=0){Response.Write("<script>alert('对不起,你输入的验证码不正确!');</script>");return;/*返回,不执行此后的代码*/}/*密码经过md5哈希加密后再传给业务层进行和数据库中的登陆信息比对*/Adminadmin=newAdmin();admin.setAdminUsername(this.adminUserName.Text.Trim());admin.setAdminPassword(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.adminPassword.Text.Trim(),"MD5").ToString());AdminDAOadminDAO=newAdminDAO();if(adminDAO.checkAdmin(admin))/*如果密码比对成功*/{/*将管理员帐号保存到cookie变量和session变量中然后转到操作首页main.aspx*/CreateCookie();Session["adminUserName"]=admin.getAdminUsername();Session.Timeout=10;Response.Redirect("main.aspx");}else/*否则错误信息保存在admin对象的ErrMessage属性中*/{Response.Write("<script>alert('"+adminDAO.getErrMessage()+"');</script>");}}4.4员工管理模块的实现一个公司企业中存在着多名员工,为了实现电子化管理,管理员登陆系统后可以实现员工管理操作,包括员工的添加、查询和更新操作等。4.4.1添加员工员工信息添加功能的界面设计如下图,它包括员工的各个属性的信息,有关于员工编号和员工姓名的文本框控件,关于性别和部门的下拉框控件等,其中部门控件的信息绑定到一个sqldatasource数据源控件上,该控件查询系统中所有的部门信息。图4-3添加员工信息界面设计模块功能:员工信息的添加。模块输入:员工信息各个属性,生成员工信息模型对象。模块处理流程:管理员进入本功能后填写和选择好员工的各个属性信息后,选择添加按扭,程序首先判断员工编号和姓名输入不能为空,然后将该员工的各个信息封装到员工信息模型对象中,然后再将该对象传递给员工信息业务处理逻辑进行处理。业务层执行员工添加进数据库记录中,添加失败也返回false,成功返回true。模块输出:执行成功将员工信息保存在员工信息表中并在界面上提示成功信息,失败在界面上提示失败信息。protectedvoidBtn_Add_Click(objectsender,EventArgse){if(this.EmployeeId.Text==""){Response.Write("<script>alert('请输入员工编号!');</script>");return;}if(this.Name.Text==""){Response.Write("<script>请输入员工姓名!</script>");return;}Employeeemployee=newEmployee();employee.setEmployeeId(this.EmployeeId.Text);employee.setName(this.Name.Text);employee.setDepartmentId(Int32.Parse(this.DepartmentId.SelectedValue));employee.setSex(this.Sex.SelectedValue);employee.setNation(this.Nation.Text);employee.setCardNumber(this.CardNumber.Text);employee.setBirthday(this.Birthday.Text);employee.setGraduateSchool(this.GraduateSchool.Text);employee.setSchoolRecord(this.SchoolRecord.Text);employee.setPositionId(Int32.Parse(this.PositionId.SelectedValue));employee.setTelephone(this.Telephone.Text);employee.setEmail(this.Email.Text);employee.setMemo(this.Memo.Text);EmployeeDAOemployeeDAO=newEmployeeDAO();if(employeeDAO.AddEmployee(employee))Response.Write("<script>alert('员工信息添加成功!');location.href='employeeAdd.aspx';</script>");}4.4.2管理员添加好员工的信息后,也可能还要对员工的信息进行查询和更新操作,对员工的信息进行维护。关于员工信息的维护设计界面如下,其中最上面放置用于查询条件输入信息的文本框,有选择部门的下拉框,还可以根据员工编号或员工名称查询,支持模糊查询,下面是显示查询结果的GridView控件,它绑定显示查询结果中各个对应字段的信息。图4-4员工信息维护界面设计模块功能:员工信息的查询功能。模块输入:部门,员工编号,员工姓名。模块处理流程:当管理员进入本功能页面时,由于没有选择查询按扭,系统默认查询所有的员工信息并显示出来。此时管理员可以选择要查询的部门,选择是否根据员工编号或姓名查询,输入员工编号或员工姓名关键字(支持模糊查询),然后选择查询功能,程序会将这些参数传递给业务层进行处理,业务层根据这些参数构造查询的sql语句,它会从员工信息视图中查询符合条件的员工信息,将查询结果返回给前台调用者,前台调用者再将结果绑定到gridview控件上从而实现了符合条件的员工记录信息的显示功能。模块输出:界面上的gridview控件。protectedvoidBtn_Query_Click(objectsender,EventArgse){DataSetds=(newEmployeeDAO()).QueryEmployeeInfo(this.searchZiduan.SelectedValue,this.KeyWord.Text,this.DepartmentId.SelectedValue);this.GridView1.DataSource=ds;this.GridView1.DataSourceID=null;this.GridView1.PageIndex=0;this.GridView1.DataBind();}

//按条件执行员工的查找 publicDataSetQueryEmployeeInfo(stringsearchZiduan,stringkeyword,stringdepartmentId){ //根据不同条件构造不同的sql查询字符串 stringsqlStr="select*from[employeeInfoView]where1=1"; if(searchZiduan.Equals("0")) sqlStr+="and(employeeIdlike'%"+keyword+"%'ornamelike'%"+keyword+"%')"; else sqlStr+="and"+searchZiduan+"like'%"+keyword+"%'"; if(!departmentId.Equals("0")) sqlStr+="anddepartment.departmentId="+departmentId;DataBasedb=newDataBase();returndb.GetDataSet(sqlStr); }4.5考勤业绩管理模块的实现本系统主要是处理员工每个月的工资信息,而工资信息根据员工的基本工资,员工的当月考勤信息,如果员工是销售部门的,还跟他的销售业绩提成有直接关系,所以需要对员工的考勤信息和销售业绩信息进行管理,以便为下一步生出工资信息提供根据。4.5.1添加考勤考勤信息是每个月每个员工都应当具有的,它为员工的工资生成提供数据,包括当月该员工加班时间,迟到时间,早退时间,矿工时间。其设计界面如下,管理员登录系统后需要将员工的考勤信息输入程序中,程序会将它保存到数据库。图4-5添加员工考勤信息模块功能:考勤信息的添加。模块输入:考勤信息各个属性,生成考勤信息模型对象。模块处理流程:管理员进入本功能后填写和选择好考勤的各个属性信息后,选择‘添加’按扭,程序首先将该考勤的各个信息封装到考勤信息模型对象中,然后再将该对象传递给考勤信息业务处理逻辑进行处理。业务层首先判断输的员工是否存在,如果管理员输入了不存在的员工编号是不能执行考勤信息的登记的并返回fasle,然后查询该员工当月的考勤信息是否已经登记,如果已经登记也返回false,否则执行考勤信息的添加操作,成功返回true,失败返回false。取得员工信息,构造考勤信息模型取得员工信息,构造考勤信息模型将该考勤模型传给业务层处理员工编号存在?提示错误,返回false该月考勤存在?登记考勤信息到数据库添加成功?业务处理成功,返回true提示错误,返回false处理失败,返回false否是否是否是图4-6添加考勤信息业务流程模块输出:执行成功将考勤信息保存在考勤信息表中,并在界面上提示成功信息,失败在界面上提示失败信息。4.5.2考勤信息管理员添加好员工考勤的信息后,还需要要对考勤的信息进行查询操作,了解员工的考勤情况,看看哪些员工的考勤信息还没有登记,哪些考勤信息登记错误了,需要更新什么的。关于考勤信息的查询设计界面如下,可以根据年份,月份,员工编号组合条件查询,下面是显示查询结果的GridView控件,它绑定显示查询结果中各个对应字段的信息。图4-7考勤信息查询界面设计模块功能:考勤信息的查询功能。模块输入:年份,月份,员工编号。模块处理流程:当管理员进入本功能页面时,由于没有选择查询按扭,系统默认查询所有的考勤信息并显示出来。此时管理员可以输入和选择好各个查询字段的属性,然后选择查询功能,程序会将这些参数传递给业务层进行处理,业务层根据这些参数构造查询的sql语句,它会从考勤信息视图中查询符合条件的考勤信息,将查询结果返回给前台调用者,前台调用者再将结果绑定到gridview控件上从而实现了符合条件的考勤记录信息的显示功能。模块输出:界面上的gridview控件。protectedvoidBtn_Query_Click(objectsender,EventArgse){/*取得查询参数*/stringyear=this.Year.SelectedValue;stringmonth=this.Month.SelectedValue;stringemployeeId=this.EmployeeId.Text;/*调用业务层进行处理*/ChuqinDAOchuqinDAO=newChuqinDAO();this.GridView1.DataSource=chuqinDAO.QueryChuqin(employeeId,year,month);this.GridView1.DataSourceID=null;this.GridView1.PageIndex=0;this.GridView1.DataBind();}//按条件执行考勤信息的查找 publicDataSetQueryChuqin(stringemployeeId,stringyear,stringmonth){ stringsqlStr="select*from[chuqinView]whereemployeeIdlike'%"+employeeId+"%'"; if(!year.Equals("0")) sqlStr+="andyear="+year; if(!month.Equals("0")) sqlStr+="andmonth="+month;DataBasedb=newDataBase();DataSetds=db.GetDataSet(sqlStr); returnds; }4.5.3作为销售部门的员工,他们的工资的另外一个直接影响因素就是当月的销售业绩,他们可以根据销售额进行提成,销售业绩信息添加功能的界面设计如下图,它包括员工编号的文本框,销售月份的下拉框,销售业绩的文本框,当管理员输入各个信息后选择添加按钮。图4-8添加销售业绩信息界面设计模块功能:销售业绩信息的添加。模块输入:销售业绩信息各个属性,生成销售业绩信息模型对象。模块处理流程:管理员进入本功能后填写和选择好销售信息的各个属性信息后,选择‘添加’按扭,程序首先将该销售的各个信息封装销售信息模型对象中,然后再将该对象传递给销售信息业务处理逻辑进行处理。业务层首先判断输的员工是否存在,如果管理员输入了不存在的员工编号是不能执行销售业绩信息的登记的并返回fasle,然后查询该员工当月的销售业绩信息是否已经登记,如果已经登记也返回false,否则执行销售业绩信息的添加操作,执行成功返回true。取得销售业绩信息,构造销售业绩信息模型取得销售业绩信息,构造销售业绩信息模型将该销售业绩模型传给业务层处理该员工存在?处理失败,返回false将销售业绩加入到数据表添加成功?处理成功,返回true处理失败,返回false否是否当月销售业绩已存在?处理失败,返回false否是是图4-9添加销售业绩流程模块输出:执行成功将销售业绩保存在数据表中,并在界面上提示成功信息,失败在界面上提示失败信息。protectedvoidBtn_Add_Click(objectsender,EventArgse){Sellsell=newSell();sell.setEmployeeId(this.EmployeeId.Text);sell.setSellYear(Int32.Parse(this.SellYear.SelectedValue));sell.setSellMonth(Int32.Parse(this.SellMonth.SelectedValue));sell.setSellMoney(Convert.ToSingle(this.SellMoney.Text));

温馨提示

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

评论

0/150

提交评论