毕业设计(论文)-Delphi企业人事管理系统.doc_第1页
毕业设计(论文)-Delphi企业人事管理系统.doc_第2页
毕业设计(论文)-Delphi企业人事管理系统.doc_第3页
毕业设计(论文)-Delphi企业人事管理系统.doc_第4页
毕业设计(论文)-Delphi企业人事管理系统.doc_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

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

文档简介

delphi企业人事管理系统前言随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。人事管理系统是现在企业管理工作不可缺少的一部分是适应现在企业制度的要求。推动企业劳动人事走向科学化、规范化的必要条件。传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。如今,随着计算机技术的普及人们开始采用mis,它是集计算机技术、网络通信技术为一体的信息系统工程,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。mis是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。在强调管理,强调信息的现代社会中它变得越来越普及。目前国内使用和发展的mis平台模式大体分两种:客户机/服务器(c/s)模式和web浏览器/服务器(b/s)模式。本文主要介绍一个简单的基于c/s模式的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。第一章 选题背景1.1 管理信息系统概述20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。20世纪50年代,西蒙提出管理依赖于信息和决策的思想。同时期的维纳发表了控制论,他认为管理是一个控制过程。1958年,盖尔写到:“管理将以较低的成本得到及时准确的信息,做到较好的控制”。这个时期,计算机开始用于会计工作。数据处理一词已经出现。1970年,walter t.kennevan给刚刚出现的管理信息系统一词下了一个定义:“以口头或书面的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策”。在这个定义里强调了用信息支持决策,但并没有强调应用模型,没有提到计算机的应用。1985年,管理信息系统的创始人,明尼苏达大学的管理学教授gordon b.davis给了管理信息系统一个较完整的定义,即“管理信息系统是一个利用计算机软硬件资源以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。”这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了管理信息系统在当时达到的水平1.2管理信息系统的发展方向近20年间,国外大公司出现了3种变化:l 抓管理着重于建立mis系统,使管理技术走向成熟。l 信息是决策的依据,mis随时为经理们提供信息服务。l 经理通过mis使其经营计划和具体的业务活动联系在一起。由于以上的变化,mis应用得到了迅速发展。不仅大中型企业普遍建立了自己的mis,一些中小企业也不例外,普遍建立了公用数据网络,如电子邮件、电子数据交换等,尤其是近年来internet的飞速发展,intranet技术得到应用,为企业mis提供了良好的支持环境。从国际技术发展趋势看,20世纪90年代出现了几种全新的管理技术。1. bpr企业过程重组一个企业应该重视对时间、产品质量、生产成本和技术服务等几个部分的管理,把目前的机构和过程重新组合,做到功能集成化、运营过程化、机构组织扁平化。2. idds智能化决策支持系统充分考虑了企业高层人员的要求和工作特点,将把中层管理人员的服务转向为经理的决策服务。3. lean production精良生产应用准时生产(jit,just-in-time)、全面质量管理(tqc)、并行工程等技术,最大限度地缩短产品设计和生产周期、提高产品质量、降低再制品库存,并在生产中提倡团队精神,以满足客户不断变化的需求。4. agile manufacture灵捷制造一种有远见的企业管理模式,其特点是职工素质高、组织机构精简、多功能小组效率高、信息存放灵活、响应客户要求迅速。相应的mis开发技术在20世纪90年代也有了新的发展。1. 信息综合集成mis在计算机网络和分布式数据库管理系统的支持下,与企业其他的系统,如oa、cad、cam、capp、在线数据采集系统集成,形成制造业的计算机集成制造系统,或者一般企事业单位的综合信息系统(ciis,computer integrated information system),实现办公、管理、计算、设计、控制、监测,以及决策等多功能综合。2. internet/intranet因特网(internet)已经被广大用户所熟悉,而以因特网技术为基础的企业内部信息系统intranet既可以通过接入的方式成为因特网的一部分,也可以自成体系,实现企业内部的管理。它可以克服传统mis存在的系统封闭、用户界面形式不统一、多种软件版本并存、维护移植困难等问题,为新一代企业mis的开发注入了强劲的活力。3. 先进的软件开发工具为了缩短软件开发的周期,提高软件的质量和标准化水平以及软件的可维护性,越来越多的软件开发公司使用先进的软件开发工具或计算机辅助软件工程工具(case,computer-aided software engineering),如各种可视化建模工具、系统分析和设计工具、软件质量测试工具、软件文档建立和管理工具等。还有各种mis开发平台和代码生成工具,这些工具极大地方便了mis的开发。4.多媒体技术随着计算机性能的提高,mis采用越来越多的多媒体技术,用图形、图像、声音替代原来单调的字符形式,给用户提供了一个更加生动真实的应用环境。第二章 系统原理2.1 delphi开发环境本系统是在delphi7.0环境下开发的。delphi是由inprise公司(前borland公司)推出的可视化编程环境,它提供了一种方便、快捷的windows应用程序开发工具。delphi使用了microsoft windows图形用户界面的许多先进特性和设计思想,采用了可重复利用的完整的面向对象语言(object-oriented language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用delphi开发应用软件,无疑会大大提高编程效率。delphi使用“可视化”的编程方法。程序员不必自己建立对象,利用delphi所提供的可视“控件”,只要在提供的程序框架中加入完成功能的代码,如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。在这种机制下,不必编写一个大型的程序,而是建立一个由若干微小程序组成的应用程序,这些微小程序可由用户启动的事件来激发。这样就可以快速创建强大的应用程序而勿需涉及不必要的细节。2.2 c/s模式 mis在我国已有20多年的发展历程, 但真正普及应用还是近十年来的事。由于负责企业庞大而复杂的数据信息的管理,在企业生产经营管理中发挥了巨大的作用,c/s本身也是属于发展到90年代的较为先进的结构。 这种模式将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。c/s 具有强壮的数据操纵和事务处理能力,以及数据的安全性和完整性约束。c/s模式编程的优点是把数据及数据的计算按一定的方式分摊给服务器和用户端,从而保证整个网络系统整体资源的合理使用。使用c/s开发模式的优点主要有以下几个方面:通过管理信息系统加强对数据的集中控制,以维护数据的完整性,对数据分析和集中控制只需花费较少的精力;允许对整个数据库进行数据完整性的验证;更好的划分客户端与服务器端的工作,是程序结构更加合理;可以利用大多数数据库服务器提供高级数据完整性的控制功能;提供事物控制。c/s模式的优势:首先,交互性强是c/s固有的一个优点。在c/s中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。b/s虽然由javascript、vbscript提供了一定的交互能力,但与c/s的一整套客户应用相比是太有限了。其次,c/s模式提供了更安全的存取模式。由于c/s是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议(例如:nt的netbeui协议),安全性可以得到较好的保证。而b/s采用点对多点、多点对多点这种开放的结构模式,并采用tcp/ip这一类运用于internet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。现代企业需要有开放的信息环境,需要加强与外界的联系,有的还需要通过internet发展网上营销业务,这使得大多数企业将他们的内部网与internet相连。由于采用tcp/ip,他们必须采用一系列的安全措施,如构筑防火墙,来防止internet的用户对企业内部信息的窃取以及外界病毒的侵入。再次,采用c/s模式将降低网络通信量。b/s采用了逻辑上的三层结构,而在物理上的网络结构仍然是原来的以太网或环形网。这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路。而c/s只有两层结构,网络通信量只包括client与server之间的通信量。所以,c/s处理大量信息的能力是b/s所无法比拟的。最后,由于c/s在逻辑结构上比b/s少一层,对于相同的任务,c/s完成的速度总比b/s快。使得c/s更利于处理大量数据。2.3 ado技术ado的全名是activex data object(activex数据对象),是一组优化的访问数据库的专用对象集,它作用在服务器端,通过执行sql命令,ado主要包括connection,recordset和command三个对象, 它们的主要功能如下:connection对象:负责打开或连接数据库文件;dataset对象:操作来自数据库的数据;command对象:对数据库下达行动查询指令,以及执行sql server的存储过程。2.4 数据库存储过程将用sql语句编写的程序作为存储过程存储在sql server 2000中,并在应用程序中调用存储过程对数据结果进行处理。存储过程能够通过接收参数向调用者返回结果集,结果集的格式由调用者确定。这种方式有如下优点:存储过程允许标准组件式编程。存储过程在被创建以后可以在程序中被多次调用而不必重新编写该存储过程的sql语句,而且数据库专业人员可随时对存储过程进行修改但对应用程序源代码毫无影响。因为应用程序源代码只包含存储过程的调用语句从而极大地提高了程序的可移植性。存储过程能够实现较快的执行速度。如果某一操作包含大量的sql代码或分别被多次执行那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的,在首次运行一个存储过程时查询优化器对其进行分析优化并给出最终被存在系统表中的执行计划。而批处理的sql语句在每次运行时都要进行编译和优化,因此,速度相对要慢一些。存储过程能够减少网络流量。对于同一个针对数据数据库对象的操作(如查询、修改),如果这一操作所涉及到的sql语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,否则将是多条sql语句,从而大大增加了网络流量降,低网络负载。存储过程可被作为一种安全机制来充分利用。系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的限制,避免非授权用户对数据的访问,保证了数据的安全。第三章 系统设计3.1 需求分析:由于本系统的重点是对数据库的操作,综观国内各种优秀的开发工具,delphi以其良好的对数据库的操作而赢得开发者的青睐。本系统的开发选用了borland公司的delphi,在数据库方面,考虑员工信息的数据量还是比较大,故采用的是microsoft公司的sql server2000,这样对以后的系统升级也比较方便。本系统是为了更好的实现人事信息管理。主要针对查看员工的各种信息需求所设计的,可以很好的管理数据。主要功能有:数据入库、查询、修改和删除等。因此本系统的总体功能框架如图3.1所示:数据管理系统系统管理员工基本信息员工工作评价员工考勤信息员工工资管理图3.1 总体功能框架图系统开发的总任务是实现企业信息关系的系统化、规范化和自动化。系统的功能分析是在系统开发的总任务的基础上完成。我设计的企业人事信息管理系统的功能有:有关企业员工各种信息的输入,包括员工基本信息,所在部门,工作信息和工作简历等。员工各种信息的查询。 员工各种信息的修改。 考勤信息的输入等。考勤信息的查询。 考勤信息的修改。 员工工作评价信息的输入。 员工工作评价信息的修改。 员工工作评价信息的查询。 员工工资信息的输入。 员工工资信息的修改。 员工工资信息的查询。人事管理模块系统管理删除员工基本信息信息删除增加员工考勤管理增加用户修改密码退出系统信息修改查找员工考评管理修改修改增加删除查看信息查询员工工资管理修改员工工资计发员工工资员工工资查询信息添加员工工资报表员工信息报表统计报表图3.2 结构总图3.2 功能模块: 根据前面的需求分析可知,具体功能模块可有五部分。登录模块: 用户的权限管理对数据库来说,是很重要的一部分。登录模块实现的主要功能有:添加用户,修改用户密码。员工基本信息管理模块: 一般员工在进入公司前,公司都会对其新员工建立一个个人信息库,此时添加操作是最基本的功能。在工作期间,肯定会有些人事变动,部分调整,员工辞职等。辞职的员工信息就没必要再保存,删除操作在此时比不可少;人事变动时,信息库也必须做出相应的修改。企业管理人员也需要经常了解其下属情况,此时就涉及到查询操作。所以,本模块的四个基本功能包括:添加,修改,删除和查询。考勤管理模块: 该模块的功能与上一模块基本上差不多,主要是涉及到数据的添加,修改,删除和查询。工作评价管理模块: 该模块的功能与上一模块基本上差不多,主要是涉及到数据的添加,修改,删除和查询。工资管理模块: 工资管理是人事管理的一个重点,同时又是一个难点。表面上看起来就只是些添加,修改和查询等操作,但实际上涉及到许多科室,首先由一个部门将数据材料汇总财务部,之后财务部根据该员工每个月的考勤情况,工作业务,工作评价情况来计发员工工资。这样做的好处是可以激发员工的工作热情,工作积极性,真正做到多劳多得,奖罚分明。3.3 数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。另外,合理的数据库结构将非常有利于程序的实现。在设计数据库时,我考虑到用户各方面的需求,包括现有的以及将来可能增加的需求。用户的需求具体体现在各种信息的提供,保存,更新,查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据,数据结构以及数据处理的过程,组成一份详细的数据字典。仔细分析调查有关企业人事信息需求的基础上,得到如图所示的系统做处理的数据流程。 员工登记员工基本信息管理考勤信息管理员工工作评价管理员工工资管理员工当月工资基本信息录入考勤管理员工工作评价员工工资管理计发员工工资图3.3 企业人事信息管理信息管理系统数据流程图 针对一般企业人事信息管理系统的需求,通过对员工工作过程的内容的和数据流程的分析,设计如下面所示的数据项和数据结构: 1、员工基本信息:包括的数据项有:员工编号、姓名、性别、出生日期、所在部门、籍贯、学历、专业、参加工作时间、进入公司时间、起薪时间、调入部门时间、职称、档号、原身份、原职务、原工作单位、备注等。 2、员工考勤信息:包括的数据项有:员工姓名、员工所在部门、出勤时间、公休时间、旷工时间、请假时间、早退时间、迟到时间、加班时间、出差时间等。 3、员工工作评价信息:包括的数据项有:员工姓名、员工所在部门、工作业绩、工作态度、业务水平、备注等。 4、员工工资信息:包括的数据项有:员工姓名、员工所在部门、底薪、补贴、奖金、加班、住房补贴、房租、养老金、医疗保险、住房公积金、所得税、实发工资等。得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。根据上面的设计规划出的实体有:员工基本信息实体、员工考勤信息实体、员工工作评价实体、员工工资信息实体。各种信息实体具体的描述e-r图如下:员工基本信息实体员工姓名员工性别参加工作时间进入公司时间图3.3 员工的基本信息实体e-r图员工考勤信息实体员工基本信息员工出勤时间员工加班时间员工出差时间图3.4 员工考勤信息实体e-r图员工工作评价信息实体员工基本信息员工工作业绩员工工作态度员工业务水平图3.5 员工工作评价信息实体e-r图员工工资信息实体员工基本信息员工底薪员工所得税员工实发工资员工工资员 工考勤信息工作评价信息考勤管理工作评价计发工资图3.6 员工工资信息实体e-r图图3.7 实体和实体之间的关系e-r图将上面的数据库概念结构转化为sql sever 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。 企业人事信息管理系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表31 manrecord 员工的基本的信息表列名数据类型可否为空说明ygidvarcharnot null编号ygnamevarcharnot null姓名ygdeptvarcharnull部门ygsexvarcharnull性别ygbirdaydatetimenull生日ygplacevarcharnull籍贯yglevelvarcharnull学历ygspecialvarcharnull专业ygdata1datetimenull参加工作时间ygdata2datetimenull入党时间ygbusivarcharnull职称ygdata3datetimenull职称时间ygstatusvarcharnull原身份ygofficevarcharnull原工作单位ygdutyvarcharnull原职务ygdata4datetimenull进入公司时间ygdata5datetimenull起薪时间ygdata6datetimenull调入时间ygnovarcharnull档号ygremark1textnull备注表32 checkin员工考勤信息表格列名数据类型可否为空说明kqidvarcharnot null编号kqnamevarcharnot null姓名kqdatedatetimenot null日期kqdatenumericnot null本月天数kqrdaynumericnull公休假天数kqtdaynumericnull应出勤天数kqworknumericnull出勤kqabsentnumericnull矿工kqrestnumericnull年休kqleavenumericnull请假kqlatenumericnull迟到kqearlynumericnull早退kqforgetnumericnull忘记卡kqover1numericnull节假日加班kqover2numericnull其他加班kqfillnumericnull补休天数kqgonumericnull出差工地天数kqpaynumericnull加班费kqdeductnumericnull扣考核kqothernumericnull其他kqremarktextnull备注 员工工作评价信息表:表33 manappraise员工工作评价信息表列名数据结构可否为空说明pjdeptvarcharnot null部门pjnamevarcharnot null姓名pjnocharnot nullidpjidvarcharnot null编号pjdatedatetimenot null时间pjresultvarcharnull工作业绩pjpositionvarcharnull工作态度pjlevelvarcharnull业务水平pjremarktextnull备注pjother1varcharnull其他1pjother2varcharnull其他2表34 pay 员工工资信息表格:列名数据类型可否为空说明gzidvarcharnot null编号gznamevarcharnot null姓名gzbasenumericnull底薪gzallnumericnull补贴gzbonusnumericnull奖金gzpaynumericnull加班gzdeductnumericnull扣考核gzagenumericnull代扣养老金gzmedicialnumericnull代扣医疗保险gzhouselnumericnull代扣住房公积金gztotalnumericnull税前小计zgdutynumericnull所得税gzhuose2numericnull房贴gzlaboragenumericnull房租gzlaboragenumericnot null实发工资gzdatenumericnot null时间第四章 系统实现在前面的概要设计中,已将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。现在所要做的就是确定每个模块具体执行过程,也可以说是“过程设计”。4.1 后台数据库的建立 在应用程序第一次启动运行时,应用程序要进行动态创建数据库,生成一个ini文件,向文件中写入数据信息,即服务器名,用户名,密码,和数据库名称。这样可以避免每次单独在企业管理器中建立数据库,在应用程序中配置数据源,动态创建一步到位。每次启动时读取ini文件的信息,进行数据库连接。运行代码如下:/ 动态ini 文件的创建function tfrmdbcreate.initcnn(objectname,server,user,pwd,dbname:string): boolean;var f:tinifile; dirname:string;begin result:=false; dirname:=extractfiledir(application.exename); try f:=tinifile.create(dirname+db.ini); f.writestring(objectname,server,server); f.writestring(objectname,user,user); f.writestring(objectname,pwd,pwd); f.writestring(objectname,dbname,dbname); result:=true; finallyf.free;end;/向窗体中输入数据信息dirname:=extractfiledir(application.exename);n.connectionstring:=;n.provider:=sqloledb.1;n.propertiesdata source.value:=trim(edtserver.text);n.propertiesuser id.value:=trim(edtadmi.text);n.propertiespassword.value:=trim(edtpwd.text);n.propertiesinitial catalog.value:=master;n.loginprompt:=false;n.connected:=true;qrycreate:=tadoquery.create(application);qrycreate.connection:=n;/ 数据库恢复qrycreate.sql.text:=sp_attach_db+#39+personnel+#39+,+#39+dirname+dbpersonnel_data.mdf+#39+,+#39+dirname+dbpersonnel_log.ldf+#39;qrycreate.execsql;if initcnn(数据库配置,trim(edtserver.text), trim(edtadmi.text),trim(edtpwd.text),personnel)=true then begin showmessage(配置成功!); n.connected:=false; n.connectionstring:=; n.provider:=sqloledb.1; n.propertiesdata source.value: =trim(edtserver.text); n.propertiesuser id.value:=trim(edtadmi.text); n.propertiespassword.value:=trim(edtpwd.text); n.propertiesinitial catalog.value:=personnel; n.loginprompt:=false; n.connected:=true; end else showmessage(配置失败!); finallyqrycreate.free;在以后的应用程序执行过程中,就不需要进行数据库的配置,因为第一次执行时所建立的数据库就相当于在企业管理器中所建数据库一样,一旦配置好后,后面的执行就会检测到已有数据库存在,检测操作在整个工程启动时执行的,代码如下: if fileexists(extractfiledir(application.exename)+db.ini) then begin end else begin frmdbcreate:=tfrmdbcreate.create(application);/创建数据库 frmdbcreate.showmodal; end;4.2 前台应用程序的开发 前台应用程序基本上可以分为五个模块,下面将详细介绍每个模块的具体实现,包括各窗体的创建。4.2.1 登录模块 只有合法的用户才能进入系统,进入系统后才能进行下面的所有操作。登录模块的流程图如图4.1所示下:图4.1 登录模块流程图在数据库中存有全部用户的信息,每个用户都有自己唯一的用户名和密码,这就是用户的通行证,没有通行证是不能进入系统的。在登录过程中,若三次输入用户名和密码都不匹配,则认为该登录者是强行登录,不予响应,关闭应用程序。实现代码如下:sql.clear;sql.add(select * from userinfo where username= +#39+ trim(edtuser.text)+#39+ and userpwd =+#39+trim(edtpwd.text)+#39);open;if not eof thenbegin guser:=fieldbyname(id).value; modalresult:=mrok;endelsebegin showmessage(错误的用户名/密码!); edtuser.text:=; edtpwd.text:=; edtuser.setfocus; if icount=3 then application.terminate; end; end;4.2.2 基本信息管理模块员工基本信息管理模块主要实现如下功能: 添加员工基本信息修改员工基本信息删除员工基本信息查询员工基本信息在设计员工基本信息表时,就规定了员工编号,姓名和部门不能为空,因为这是员工的最基本信息,其它的字段可以为空,可以留待以后分配时再添加。也就是说,在添加员工基本信息窗体中,员工编号,姓名和部门不能为空,否则插入操作失败,提示出错原因。其流程图如下图4.2所示: 图4.1 添加员工基本信息流程图 由于添加操作之前有合法性检查,故单独将检查做为一个函数,实现代码如下:begin result:= true; if trim(edtid.text)= then begin result:=false; messagedlg(编号不能为空!,mterror,mbok,0); edtid.setfocus; exit; end; if trim(edtname.text)= then begin result:=false; messagedlg(姓名不能为空!,mterror,mbok,0); dtname.setfocus; exit; end; f trim(edtdept.text)= then begin result:=false; messagedlg(部门不能为空!,mterror,mbok,0); edtdept.setfocus; exit; end; 在进行对数据库的插入操作时,一定要注意到数据的完整性原则,在此处的策略是采用事务机制,若在插入过程中出现异常而导致非正常终止,则前面的插入操作全部回滚。下面大概提出其代码实现,详细情况请参照附录。with datpersonnel do begin cnn.begintrans; try qrymanrecord.sql.clear;qrymanrecord.sql.text:=select * from manrecord where ygid = +trim(edtid.text)+; qrymanrecord.open; qrymanrecord.edit; /插入操作qrymanrecord.post; qrymanrecord.updatebatch; messagedlg(修改数据成功!,mtinformation,mbok,0); cnn.committrans; /提交事务 result:=true; except cnn.rollbacktrans; /回滚事务 messagedlg(保存数据失败!,mterror,mbok,0); close; end; end; 修改员工基本信息其实是添加基本信息的一个子集,与添加不同的是,修改是在已有记录的基础上进行添加,是对部分字段的重新添加。基于以上原因,添加操作和修改操作可以共用一个窗体。在删除过程中,应注意两点:其一,被删除的员工信息必须存在,即不能删除一个不存在的记录;其二,员工基本信息删除后,其工资表,评价表,考勤表中的记录都应同时删除,即删除时要注意表与表之间的关联性。实现代码如下:procedure tfrmpjdel.btndelclick(sender: tobject);var strid,strdate:string;begin strid:=grdpraise.fields0.curvalue; strdate:=formatdatetime(yyyy-mm,grdpraise.fields3.curvalue); if messagedlg(确实要删除编号为+strid+的员工在+strdate+的工作评价信息吗?,mtconfirmation,mbokcancel,0)=mrok then begin datpersonnel.qrypraise.delete; datpersonnel.qrypraise.updatebatch; end; formcreate(self);end;查询操作对数据库是只读。对用户来说,若数据库数据较多,查找就不太方便,在这里可以通过设置条件来缩小查询的范围,方便用户查看所需信息。在本系统中,可以按姓名查找,可以按部门查找,可以按进入公司时间查找,还可以是三个条件中的任意组合。程序首先判断查询方式,如果没有设置查询方式将显示所有记录;然后对查询内容进行组合,组成sql语句,进行查询。查询到数据集以后,显示在表格控件中。4.2.3考勤管理模块员工考勤管理模块主要实现如下功能: 添加员工考勤信息 修改员工考勤信息 删除员工考勤信息 查询员工考勤信息考勤分为基本信息,出勤信息和其他信息。添加员工考勤信息,考虑到包括员工的基本信息即部门,姓名,编号;本月考勤信息即考勤年月,本月天数,公休天数和应出勤天数;扣考核即加班费和扣考核。员工的出勤信息包括出勤天数,矿工天数迟到次数早退次数,请假天数,忘记卡次数,节假日加班下小时数,其他加班小时数。其他信息包括补休天数出差天数年修天数和备注。为了保持界面的友好采用pagecontrol控件来显示几个页面的内容,将各种文本录入控件放在属性也页控件的各页面上,组成“基本信息”,“考勤信息”,“其他信息”。添加员工信息保存到数据库中。员工考勤信息,删除,查找员工考情信息。其基本方法与员工基本信息模块相类似。具体实现代码见附录。4.2.4工作评价管理员工工作评价管理模块主要实现如下功能: 添加员工工作评价信息 修改员工工作评价信息 删除员工工作评价信息 查询员工工作评价信息 对员工进行评价,其部门和姓名并不是从编辑框中输入的,而是从下拉列表框中选择的,这样可以避免人为的错误和误操作。 其模块的设计思路的窗体设设计,以及代码编写均与员工基本信息模块相类似。4.2.5工资管理模块员工工资信息管理模块主要实现如下功能: 计发员工工资信息 修改员工工资信息 删除员工工资信息计发员工工资信息包括包括员工信息,基本工资,代扣项目,工资总计等输入各信息自动计算出实发工资,对于员工工资的修改和删除其方法类似与员工基本信息模块各功能的实现。第五章 系统使用若程序是第一次启动,则需要进行数据库的配置,即选择服务器还是客户端,输入服务器用户名或者是ip地址,管理员的帐号和密码。选择创建按扭,及完成的数据库的创建,数据库配置界面如下图 5.1所示 图 5.1 数据库的配置 数据库创建好后,进入用户登录界面,如图5.2图5.2 用户登录界面用户名默认为administrator密码默认为user。进入系统。另外,可以修改密码、增加用户等。在登录过程中,如果用户名和密码不匹配,尝试登录3次,系统将自动终止运行。进入系统主界面可以依照选择操作,主界面如图5.3:图5.3 企业人事管理系统主界面通过主界面的菜单,用户可以选择各

温馨提示

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

最新文档

评论

0/150

提交评论