• 1.62 MB
  • 2022-05-17 13:18:18 发布

人力资源管理系统考勤管理子系统的设计与实现

  • 55页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
北京邮电大学硕士学位论文人力资源管理系统考勤管理子系统的设计与实现姓名:周少鹏申请学位级别:硕士专业:电路与系统指导教师:周利清20070227 人力资源管理系统考勤管理子系统的设计与实现摘要人力资源管理系统是将信息技术引入人力资源管理之中,利用计算机对人力资源进行管理的一种信息管理系统,它是企业信息化中的一个重要组成部分。本篇论文将重点放在人力资源管理系统的一个子系统——考勤管理系统上,通过对实际工作中遇到的一个项目情况的描述,从一个侧面反映出了企业信息化对企业发展所起的重要的作用。本文对项目的一些相应的技术背景和软硬件环境都做了简要的描述,重点在于考勤接口软件的设计及其实现。不同于一般软件项目的设计说明,本文在软件设计的说明部分着重描述了几个在本项目中具有代表性的解决方案:l临时数据库的设计、INI配置文件的使用以及ActiveX控件的使用等。此外对于软件的界面设计和一些相应的代码实现也做了必要的说明。本文还介绍了人力资源管理系统中考勤系统的工作流程。考勤接口软件和人力资源管理系统的结合使用,最终使得从读取员工的考勤信息、当日考勤结果整理直到当月考勤结果统计的一系列操作能够顺利的完成。对比老式的考勤统计方法,可以看到它对提高企业工作效率有着重要的贡献。关键词:人力资源管理系统考勤管理企业信息化临时数据库 THEDESIGNANDACmEVEMENToFATTENDANCEMANAGEMENTSUBSYSTEMoFHUMANRESoURCESM认NAGEM哐NTSY锄MThehumanresourcesmanagementsystemisaninformationmanagementsystem,whichusescomputerstoapplyinformationtechnologytomanagehumanresources.111issystemisoneofthemostimportantpartsofenterpriseinformatization.T1ledissertationiStOfoellsontheattendancemanagemeritsubsystem.Fromthediscussionofoneprojectmetinwork.itCarlbeseenthatinformatizationisveryimportantforthedevelopmentofacorporation.Firstly,thedissertationdescribessomerelatedtechnologybackgroundandtheconditionofsoftwareandhardwareoftheprojectinbriefandthenemphasizeontwoaspects,whichoneisthesoftwaredesignintheattendancemanagementsubsystem,andtheotherishowmakeitcometrue.T11eexplanationofthissoftwaredesignisdi仃erentfromthatofcommonsoftwareproject.Itintroducesseveralrepresentativemethodsindetail,whicharethedesignoftemporarydatabase,theuseofINIconfigurationfilesandActireXcontr01.Moreover,it西vessomenecessaryexplanationsonthedesignsofthesoftware’Sinterfaceandtheaehievementsofsomecorrespondingcodes.Furthermore.thepaDeralSOintroducestheprocesshowtheattendancemanagementsubsystemworks.Theintegrationoftheattendanceinterfacesoftwareandthehumanresourcesmanagementsystemcanmakeaseriesofoperationsachievedsuccessfully,forexample,selectingandreadingtheattendanceinformationofstaff,thefiledresultsofattendancedailyandtilestatisticalresultsofattendancemonthlyandSOon.Comparedwithsomeconventionaltoolsofattendancemanagement.thenewattendancemanagementsubsysteminhumanresol/rcesmanagementsystemmakesacontributiontotheimprovementofacorporation’sWOrkefficiency.KEYWORDS:humanresourcesmanagementsystem,attendancemanagement,enterpriseinformatization,temporarydatabase 独创性(或创新性)声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切相关责任。本人签名:3型生丝日期:塑2:!:j关于论文使用授权的说明学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。(保密的学位论文在解密后遵守此规定) 人力资源管理系统考勤管理子系统的设计与实现1.1相关概念第一章绪论1.1.1人力资源管理人力资源是指那些可以获得的、对创造和实现机构的使命、远景和目标做出贡献的人所具有的才能和活力。人力资源管理是指组织为了实现既定目标,运用现代管理措施和手段,对人力资源的取得、开发、保持和运用等方面进行管理的一系列活动的综合。人力资源管理是现代管理中的核心内容之一。人力资源管理对于所有公司的成功,不管是大企业还是小企业,不管是什么行业的企业,都是至关重要的。你对人力资源管理的越有效,你的企业就越能获得成功。从根本上说,人力资源管理的主要任务就是以人为中心,以人力资源投资为主线,研究人与人、人与组织、人与事的相互关系,掌握其基本理念和管理的内在规律,充分开发、利用人力资源,促进企业效益的不断提高。企业需要使人力资源的管理活动适应它的具体情况,这就需要有协调一致的人力资源管理工作。人力资源管理的复杂性意味着没有一个人可以单独的处理这个任务,相反,企业内的部f1经理、专业人力资源工作人员和所有的员工必须共同参与这项工作。1.1.2企业信息化信息化是指加快现代信息技术的发展和产业化,提高现代信息技术和产品在经济和社会各个领域的推广应用水平,进而推进经济和社会发展进步的过程。它以信息产业在国民经济中的比重、信息技术和产品在社会各领域中的应用程度和国家信息基础设施建设水平为主要标志。信息化包括信息技术与信息技术产品和信息技术与信息技术产品应用两大方面。企业信息化,就是指应用现代信息技术支持企业实现先进的管理理念和先进的产品设计、生产作业等过程,其根本目的在于提高企业经济效益和企业核心竞争力。企业信息化的基本内容包括有:生产自动化;产品设计自动化和产品智能化:构建辅助管理、辅助决策系统;信息管理与传播网络化;商务活动电子化。1.1.3管理信息系统系统就是指由互相作用和互相依赖的若干部分组成的具有特定功能的有机 人力资源管理系统考勤管理予系统的设计与实现整体。其组成部分如果符合系统的定义,则可称为该系统的子系统(Subsystem)。信息系统(InformationSystem,IS)是指具有信息处理功能的一类专门系统,它通常是一个为组织或企业的各级领导管理决策提供服务的系统。管理信息系统(ManagementInformationSystem,MIS)指由人、计算机等组成的能进行信息的收集、传递、储存、加工、维护和使用的系统。它常常包含事务处理系统、办公自动化系统,以及在此基础上发展起来的决策支持系统。管理信息系统的基本结构模型如图1—1所示。具体业务信息图1一l信息管理系统的基本结构模型1.1.4人力资源管理系统传统的失事、劳资工作往往与程序化的事务处理联系在一起,代表了一种自上而下的等级关系,反映了以人为基础的数据记录。而人力资源管理则围绕一个单元进行,小到一个部门,大到一个集团,主要侧重招聘、录用、面试、薪资设计及绩效考核、员工增值服务等。企业管理信息化的实施对人事、劳资管理工作提出了更多的新要求,集中表现在两方面:一方面是一些必要的常规的程序流程化、标准化,管理实现全面的无纸化,并与企业的其他系统集成;另一方面是不仅反映以人为单位的数据记录,而且更多的考虑如何挖掘人的潜能,激发和调动2 人力资源管理系统考勤管理子系统的设计与实现职工的主观能动性。将信息技术引入人力资源管理,使信息技术与人力资源战略、方法相融合,就产生了人力资源管理系统(HumanResourcesManagementSystem,HRMS)。信息技术在人力资源管理中的主要作用是作为工具来应用,它可以用来处理所有的定量的问题,比如员工考勤、工资计算等。较之手工管理,信息技术的应用将大大降低例行性工作占用人力资源管理人员时间的比例,这无疑极大的提高了人力资源管理部门的工作效率,从而可以使他们有更多的时间思考战略层次的问题。提高工作效率,是许多企业引入HRMS的首要目的。好的人力资源管理软件产品应该是管理技术与信息技术、西方管理思想与东方文化之间的完美融合,在消化吸收先进的人力资源管理的理念的基础上,可以在软件中诠释人力资源管理的全部内容与业务流程,从而使得删S可以被用来定义人力资源部门的工作内容,优化和规范其业务流程,使其成为企业人力资源部门信息化、职业化、个性化的管理平台。一套合理而完善的HRMS软件还将为人力资源管理者带来另外一个好处:由于数据库完整的记录了企业所有员工的人事、考勤、考核、培训、薪资、福利等各方面信息,系统将能快捷、方便的获得各种统计分析结果。为企业战略目标的实现提供人力资源要素的决策支持。人力资源管理系统的基本功能树如图l一2所示。由于企业环境、经营理念、管理手段的差异,不同企业对人力资源管理系统功能的需求可能会有差异。人力资源管理系统系统管理档案信息管理劳动关系管理福利保险管理薪酬考勤管理工作分析绩效考核管理人才招聘管理员工培训管理人才管理图1—2人力资源管理系统基本功能树人力资源规划报表由心贝工自助人力资源管理系统应着眼于机关、事业、企业单位的管理特色和实际需要,建立以员工(人事)管理为基础,以绩效、薪酬为核心,集组织结构管理、员工(人事)信息、考勤管理、绩效管理、薪酬福利管理、招聘管理、合同管理、培训管理、事务提醒、员工自助等模块于一体的人力资源管理体系,为人力资源管 人力资源管理系统考勤管理子系统的设计与实现理提供高效的决策支持。人力资源管理的数据流程图如图1—3所示。1.2项目背景图1—3人力资源管理系统数据流程图1.2.1博惠思华HRMS简介博惠思华公司的SophiaHRMS解决方案通过借鉴发达国家先进的企业人力资源管理经验,结合中国的人事政策法规环境,针对在华独资、合资及国内大中型现代企业设计开发。它以国际间通行的人力资源管理方法以及中国的有关法律为基础,符合现代人力资源管理理念,既可作为在华独资、合资及国内大中型企业现代方便、快捷、完善的人力资源管理工具,也可作为引导建立现代企业人力资源管理模式的基本方法论。SophiaHRMS解决方案是对人力资源管理的所有领域提供最佳支持的系统,这些领域涵盖了HR部门对员工在企业的全生命周期的管理,从人力资源计划、人才招聘到人事管理(包括人事信息管理、合同管理、考勤管理、休假管理、绩4 人力资源管理系统考勤管理子系统的设计与实现效考核、离职管理)、薪资/福利管理以及员工的培训与发展管理等各个方面,并提供各种查询统计功能与报表输出功能,能动态直观地反映企业人力资源的状况,为人力资源管理提供高效的决策支持。SophiaHRMS解决方案包括的主要功能如下:●人力资源计划(HRPlanning)●招聘管理(Recruitment)●人事信息管理(PersonnelInformation)●合同管理(ContractManagement)●考勤管理(AttendanceManagement)●休假管理(HolidayManagement)●绩效考核(PerformanceAppraisal)●培训与发展管理(Training)●薪资/福利管理(Payroll/Benefits)●离职管理(LeaveManagement)●员工自助服务(EmployeeSelf-Service)1.2.2NFCP项目简述南京富士通计算机设备有限公司(NanjingFujitsuComputerProductsCO.,LTD,NFCP)作为客户方决定和博惠思华合作,在NFCP实施SohipaHRMS项目。在实施的过程中,NFCP方面提出了将其已有的考勤系统和办公自动化系统(OA系统)与SohipaHRMS进行整合的意向。在SohipaHRMS中的考勤部分的设计功能比较完整,它包括了设置工作日和节假日、设置上下班的时间、员工请假出差的信息管理、员工每日考勤信息的管理及最终的考勤统计功能等。而NFCP已经在自己的公司中实施了一套OA系统,员工的请假出差、加班信息等都在OA系统中有了记录。同时NFCP也有自己的考勤打卡统计系统,能够记录员工每日的打卡考勤情况。为了增强考勤专员的工作效率,同时也为了使公司内部的信息能够做到一个共享共用,提高不同部门之问的信息联系,NFCP希望将其已有的考勤软硬件系统以及OA系统的数据与HRMS的数据信息进行整合,能将员工的考勤信息以及假事加班信息导入到HRMS中,充分运用HRMS的统计功能,为每月的薪酬计算及员工的绩效考核提供有效的数据参考,从而使得企业的信息化能够更加简便和有效。为了完成NFCP的上述需求,因此需要设计一个能完成其已有考勤系统的功能,同时又能使得考勤系统以及OA系统能和HRMS进行数据交流及控制的中间辅助软件。 人力资源管理系统考勤管理子系统的设计与实现1.3本论文的主要内容本文写作的主要内容是考勤接口软件的设计及其实现过程。为了便于读者的理解,本文会对一些基本的知识背景作简单的描述,介绍一些相关的概念和项目的软硬件环境情况。在软件的设计说明中,本文对于软件的功能的叙述不会太多,主要着眼点放在软件开发过程中遇到的一些技术难点和解决方法上。同时为了更好的说明HRMS的作用,加深读者对企业信息化作用的理解,本文还将对在NFCP实施的HRMS中的考勤系统的工作流程进行完整的介绍。最终完成的软件产品得到了用户的使用和肯定,项目也得以顺利完成。6 人力资源管理系统考勤管理子系统的设计与实现第二章软硬件环境概述2.1考勤机硬件设备说明NFCP采用的是深圳市俊思电子有限公司生产的JS2000智能考勤机,采用的打卡形式是非接触感应IC卡打卡。2.1.1产品简述JS2000智能考勤机的外形如图2一l所示。图2—1JS2000智能考勤机的正面和背面其产品的主要功能特点有:●非接触IC卡打卡。●大容量、高可靠信息存储。●具有在线提示。●语音提示。●背光照明。·内置后备电源。●大屏幕液晶。●提供系统信息、打卡信息和卡片信息查询。●密码保护。●闹钟功能。●可单机/多机工作(自带RS232和RS422接口)。●可发布短消息到液晶显示器上滚动显示。 人力资源管理系统考勤管理子系统的设计与实现●提供门禁接口信号和电铃接口信号。2.1。2两种接口规格说明(1)RS232接口接口物理规格:DB9/Female,接口的各引脚信号如表2--1所示。表2—1JS2000RS232接口信号引脚代号功能使用情况lDCD数据载波检测2RXD数据发送使用3TxD数据接收使用4DTR数据终端准备好5GND信号地使用6DSR数据设备准备好7RTS请求发送8CTS清除发送9RI振铃(2)RS422/RS485接口接口物理规格:双RJ45,如图2—2所示。其各引脚的节点信号如表2—2中所列。图2—2JS2000RJ45接口表2—2JS20001045接口信号Rs422通讯口IRS422通讯口2JPIJP2(带功能扩展信号)l腿:不使用1腿:电铃接口信号2腿:不使用2腿:电源地3腿:Y(RS422发送+)3腿:Y(RS422发送¨4腿:A(RS422接收+、RS485+)5腿:B(RS422接收.、RS485.15腿:B(RS422接收.、RS485.)6腿:Z(RS422发送.)7腿:不使用7腿:门禁接口信号8腿:不使用8腿:电源她 人力资源管理系统考勤管理子系统的设计与实现2。1.3与电脑联机方式JS2000同时提供两种联机方式:RS232和RS422。RS232通讯距离15m,仅限于单机通讯,简单易行,不需要附加设备;RS422通讯距离1200M,可用于单机、多机通讯,长距离需要布线,需要RS232/RS422转换器。(1)通过RS232将随机配置的RS232通讯线一端插入JS2000背面的9芯RS232插座,另一端与管理电脑串行口(COMI或COM2)相连。如图2—3所示。图2—3通过RS232的联机方式(2)通过RS422连接如图2—4所示,通过JS2000考勤机的RS422口JPl或.IP2连接时,需要RS232/RS422转换器。由于长距离引起较大的信号损耗,应设置120Q的终端电阻。图2—4通过RS4222的联机方式如果需要多于一台的考勤机进行多机连接,可以采用RS422接口进行多机连接,多机互连的连接方式如图2—5所示,连接示意图如图2—6所示,多机联网是通过JPl和JP2的一进一出连接(JPl和JP2可以互换),最末端请连接120o的终端电阻。其总距离限制为1200米。由于NFCP的员工较多,因此使用了两台JS2000考勤机,员工可以在任意一台考勤机上打卡。它的联机采用的正式如图2—6所示的连接的方式,它使用了0号和1号两台考勤机互连,再将其接到考勤专员的电脑的COM串口上。9 人力资源管理系统考勤管理子系统的设计与实现R$232计算机Y激A磁AZB——绞A擞Y败YBZ图2—5通过RS4222的多机连接方式图2—6RS4222多机联机示意图2.2考勤机软件接口说明为了给使用者提供二次开发的机会,JS2000智能考勤机提供了接口AetiveX控件JS2KCOlllltl.OCX,用户通过调用它的属性、方法和事件,可以实现对JS2000考勤机的控制。其中JS2KComm.OCX调用了控件MSComm.OCX通讯控件和title.dIl动态库。AetiveX是Microsoft提出的一组使用COM(ComponentObjmModel,部件对象模型)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,AetiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序。串行通信控件MSCOmm32.OCX正是这样的一种AetiveX控件,它提供了使用RS一232来进行数据通信的所有的协议,使用事件驱动方式来处理和解决各类通讯软件的开发设计问题。它通过串行端口传输和接收数据,为应用程序提供串行通讯功能。JS2KComm.OCX则是利用MSComm.OCX作为基础,针对JS2000考勤机开发的一个AetiveX控件,从而能实现对考勤机的通讯和控制。10 人力资源管理系统考勤管理子系统的设计与实现利用JS2KComm.OCX进行二次开发的示意图如图2—7所示。型考勤机软件接口图2—7JS2000考勤机软件层次JS2KComm.OCX接口中的属性、方法及事件的说明分别见表2—3、表2—4以及表2—5。表2—3JS2KComm.OCX中的属性名称说明SN考勤机序列号Slave要操作的考勤机号(O一255)RealTimet考勤机时间CommPort设置通讯串口Infor当通讯事件发生时,Infor里为信息内容CommEvent通讯事件类型=3000由方法ReadAllReeord触发表2—4JS2KComm.OCX中的方法名称说明CardInfor使考勤机读卡,并返回卡号ReadAllReCOrd提取记录信息,命令触发事件OnCommSetSlaveSetting设置考勤机参数GetSlaveSetting读出考勤机参数SetCompanyName设置考勤机上显示公司名SetModel设置考勤机的机号SetShortMessage发布短消息Ⅵ硒te“st注册卡片DelList注销卡片SlaveReset刷新考勤机About考勤机产品信息Online返回考勤机状态,可用于实时功能表2—5JS2KComm.OCX中的事件1名称说明OnComm通讯事件,查询CommEvent可知道触发原因 人力资源管理系统考勤管理子系统的设计与实现其中一些主要的方法介绍如下:●设置公司名调用方法:PublicFunctionSetCompanyNarne(ByValInStringAsSuing)AsBoolean参数hlString:设置公司名●发布短信息调用方法:PublicFunctionSetShortMessage(ByValInStringAsString,ByValOptionStringAsS仃ing)AsBoolean参数InString:短消息内容;OptionString的格式为:模式+开始时间+结束时间模式固定为OO开始时间和结束时间格式为:年月日时分如:“0001020a00”表示2000.01-02lO:OO●读取考勤机时钟读取属性:ReadTime时间格式:年、月、日、星期、时、分,秒,各2数字(十六进制表示)如:“OlOBlC0409lE04”表示2001年11月28日星期三09:30:04●设置考勤机时钟设置属性:ReadT"tme时间格式:同上●注册卡片调用方法:PublicFunetionWriteList(ByVallistAsS嘶n曲ASBoolean参数list设置格式:标志+卡号+打卡密码+卡片类型+工号+姓名+保留typedefstruct_LIST{ucharFlag;腧记ulongCardNum;ff卡号uintPassword;蜮、卡密码ucharCardType;fi卡片类型ucharNotl31;llI号 人力资源管理系统考勤管理子系统的设计与实现ucharName[9],ucharDump[1];ueharCheckSum;}LIST;||自茔名“保留,/和效验·注销卡片调用方法:PublicFunctionDelList(sContentAsSuing)AsBoolean参数sContent设置格式:类型+数据类型数据Ol位置(hex)02卡号(hex)如:“010003”表示删除存储位置为Ox0003的记录;“020f1278a5”表示删除卡号为OxOfl278a5的记录●数据采集调用方法:PublicFunctionReadAllReeord(ByValDataTypelDAsBytelAsBoolean参数DataTypelD为数据类型:DataTypelD=1时,采集打卡记录DataTypelD=2时,采集登录List记录2.3软件开发环境简述2.3.1后台数据库说明对于一个管理信息系统来说,后台的数据库是其存在的根本,几乎所有的相关数据都是存在数据库中的,即其所管理的信息都是存在数据库中的,对于管理者来说,相对的管理工作内容实际就是对数据库中的数据进行一系列不同的操作而已。SophiaHRMS所采用的是MicrosoftSQLServer2000作为其后台数据库,而需要导入的OA中的数据则是采用的Oracle8i数据库。下面对数据库中一些常用的数据对象作个简单的介绍。●表(TABLE)表是包含数据库中所有数据的数据库对象。表定义为列的集合。与电子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而 人力资源管理系统考勤管理子系统的设计与实现每列代表记录中的一个域。●视图(VIEW)视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。●存储过程(PRoCEⅨJRE)存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。而对于数据库中的数据对象,可以执行的主要操作有查询(SELECT)、更新(UPDAlE)、插入(INSERT)、删除(DELETE)等。SQL(StructuredQueryLanguage,结构化查询语言)是关系型数据库的标准语言。SQL语言集数据查询(DataQuery)、数据操作(DataManipulation)、数据定义(DataDefinition)和数据控制(DataContr01)功能于一体,是用于对存放在计算机数据库中的数据进行组织、管理和检索的工具。2.3.2前端软件开发工具介绍SophiaHRMS采用的是传统的三层结构构建的C/S结构的体系,即客户端,服务端的模式,其连接方式采用的是Soket连接。在一台电脑上安装服务端程序,将此台电脑作为服务器,设置好后台数据库的连接后,其他安装了客户端程序的联网电脑就可以运行HRMS了。SophiaHRMS的客户端软件程序采用Delphi作为开发工具。Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是ObjectPascal语言,它才是一切的报本。ObjectPascal语言是在Pascal语14 人力舞源管理系统考勤管理子系统的设计与实现言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(ImageEditor),以及各种开发数据库的应用程序,如DesktopDataBaseExpert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(ResourseWorkshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。 人力资源管理系统考勤管理子系统的设计与实现3.1设计准备第三章考勤接口软件设计所设计的考勤接口软件要完成便OA系统和考勤机能和HRMS进行数据交换,同时能对考勤机进行操作等功能。在进行具体的设计之前需要解决的几个主要技术问题就是:考勤接E1软件分别和OA系统、考勤机以及HRMS的通信方法,OCX的调用,还有就是一些主要的数据结构的设计。3.".1考勤接口软件与数据库系统的通信方法Delphi对数据库系统提供了良好的控件支持,能方便快捷的对数据库的数据进行操作。数据库控件都具备一定的属性,程序设计人员可以在设计过程中设置控件的多种属性,也可以在程序运行过程中通过程序来设置不见的各种属性。这里选择ADO控件作为主要的数据库访问控件。ADO(ActiveXDataObjectsl就是指ActiveX数据对象,ADO是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。像Microsoft的其它系统接口一样,ADO是面向对象的,它是Microsoft全局数据访问(UDA)的一部分。Delphi中的ADO控件包括有连接(Connection)、命令(Command)和数据集(ReeordSet)等对象。为了使用简单和方便,可采用TADOQuery控件。TADOQuery控件用来在底层的ADO数据源中应用SQL语言,使用该控件可以访问多个表。使用SELECT语句从ADO数据源的数据表中读取数据。在ADO数据源的数据表或其他源数据对象中执行INSERT,DELETE、UPDATE、ALTERTABLE以及CREATETABLE等操作。TADOQuery控件的类层次结构如图3一l所示。图3一ITADOQuery控件的类层次结构图16 人力资源管理系统考勤管理子系统的设计与实现TADOQuery控件对应的主要属性和方法的说明见表3—1、表3—2。表3—1TADOQucry控件的主要属性及其说明属性说明Active确定数据集是否被激活CacheSize数据集缓存的大小Connection确定所用的ADO连接对象ConnectionString为数据源确定连接信息DataSouree确定一个数据源,该数据源的字段值可作为一个TADOQuery控件执行SQL语句时的同名参数的取值IndexFieldNames为了对数据集进行永久排序所用的字段、一一IndexName索引的名字ParametersSQL语句的参数集合Prepared确定执行命令前是否准备好RowAfiected返回最近一次执行查询操作所影响的行数SQL要执行的SQL命令内容表3—2TADOQuery控件的主要方法及其说明方法名称说明Close关闭数据集Create创建TADOQuery控件的实例Destroy析构TADOQuery控件的实例ExecSQL进行ADO查询操作而执行的SQL语句,不过SELECT语句不使用该方法,而是使用Open方法或将Active属性置为真当采用TADOQuery控件时,对HRMS的数据库支持在原有的系统中就已经配置好,因此主要就是要对OA的数据库系统进行配置,参考表3—1中所说明的ConnectionString属性,对于在程序运行过程中进行数据库连接时所需要配置的就是此属性的值,其内容包括所连接的数据库的地址,数据库的名称以及登录的用户名和密码等值,由于OA系统是另一家公司实施的,其系统的变更不属于我们所掌控的范围,因此如果在程序中对此属性进行固化,将来OA系统做出某些变更就可能会使得程序与OA数据库的连接失败。为了灵活起见,同时也为了运用简单,可采取设置配置文件的方法,这里采用INI文件格式。INI文件是一种文本文件,其内容分为若干段,每一段都包含了若干“关键字一值”对,它的每个条目都可以通过它所在的段和关键字名来识别。Windows程序和操作系统一般采用预制(INI)文件来保存程序设置以及其他的信息。其结构如下所示;;注释【小节名】 人力资源管理系统考勤管理子系统的设计与实现关键字=值INI文件允许有许多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。值的类型有三种:字符串、整型数值和布尔值。其中字符串存储在INI文件中时没有引号:布尔真值用1表示。布尔假值用0表示;注释以分号“;”开头。在Delphi中能很方便的对1NI文件进行操作,包括打开IN/文件,读取关键字的值,写入INI文件,删除关键字、小节操作等等,具体的操作方法这里就不再一一描述。采用这种方法的话,就可以在运用程序所在目录里建立一个INI文件“Reglnfo.ird”,在其中设置的OA数据库的内容如下:【Server]Name=OAUser=hrmsPassword=hrms其中“[Server]”表示该小节名称为“Server”,即该小节说明的是OA数据库的服务器信息。“Name=OA”表示OA数据库的名称为“OA”,“User=hrms”和“Password=hrms”分别表示登录数据库的用户名和密码分别为“h////$”和“hrlns”,这里都采用明码表示是为了维护和操作方便,当然也存在一定的风险。在如此设置以后,如果OA数据库的配置发生了任何改变,只要修改“Reglnfo.ini”文件中某些对应的值就可以了。3.1。2OCX在Delphi中的使用要对考勤机进行通信和控制,就得使用JS2000考勤机提供的接口ActiveX控件JS2KComm.OCX。ActiveX控件可以在任何系统(包括运行应用程序的用户或客户)中运行。在运行之前,必须在系统注册表中注册。通常,可以用RegSvr32.exe程序来进行注册,这个程序可以在各种版本的Windows系统中找到。也可以使用bin目录下的TRegSvr32.exe来注册,这是一个命令行的工具程序。要在Delphi应用程序中使用AetiveX控件,首先要把AetiveX控件加到DelphiIDE中的组件面板上。这样,组件面板上将出现该ActiveX控件的图标。把ActiveX控件加到组件面板上后,就可以像其他Delphi组件一样把它拖放到窗体上使用。要安装使用JS2KComm.OCX,可进行如下操作:从主菜单中选取ComponentllmportAetiveX命令,这将打开ImportActiveX对话框。然后点击Add按钮,在目标文件夹中选择JS2KComm.OCX,选中后再点击Install按钮即可。操作的对话框如图3—2所示。18 人力资源管理系统考勤管理子系统的设计与实现图3—2安装JS2KComm.OCX在安装的过程中,Delphi的编译系统会提示一些出错信息,这是由于原有的ActiveX控件是采用其他语言设计的,因此需要对他提示的错误地方进行部分修改,以使得控件可以正确使用,具体的修改就不再叙述。此外,JS2000考勤机每个都有一个序列号,当采用多机连接时,考勤机不同的序列号就代表着不同的机器,因此考勤机序列号是考勤机的唯一标识。由于其序列号的可选范围由0至255,为了能满足扩展性能,不能将所连接的考勤机的序列号写到程序中,而应在程序载入前就需要知道有哪几台考勤机实现了联机,所以仍然可以采取设置配置文件的方法,即建立一个考勤机号的配置文件,将所有联机的考勤机的序列号都写进此文件。使用已有的INI文件“Reglnfo.ini”,在其中加入如下的内容:【Device】0=00001=0001这就表示现在有两台考勤机联机,其序号分别为0000和0001,如果还有更多的考勤机联机,可以按这样的一个格式在文件里自由的添加。19 人力资源管理系统考勤管理予系统韵设计与实现3.1.3主要数据结构设计在与数据库系统的连接和与考勤机的连接都已完成的情况下,程序中最重要的部分就是考勤数据以及OA数据的结构设计了。在此,可以先定义一下考勤数据和OA数据的单条记录形式如下:●考勤数据记录plnData=ATInData;//日考勤数据TInData=Re圮ordEmpld:integer;,,员工IDWorkCard:string;,,员工考勤卡号Date:String;,,打卡日期Time:String;//打卡时间end;●OA数据记录pOAData=^TOAData;/,OA数据TOADam=RecordEmpld:integer;//员工IDBDate:string;//开始日期EDate:String;/,结束日期BTime:String;//开始时间ETime:string;//结束时间Sum:string;//时间总和Style:integer;//具体类型ATypc:integer;//类型:0加班,l假事SalSum:suing;//转换后的加班时间end;以上可以看到每条记录都是一系列数据的组合,要在程序中使用以上数据记录,根据传统的方法,可以定义一个链表或者数组,每当从考勤机或者从OA系统中读取一条记录时,就要向链表或者数组中插入一条记录。这样做有明显的缺陷:由于数据量比较大,比如从考勤机中读取的考勤记录一次可能有上千条,如果采用数组的话就得占用比较大的系统存储资源;同时,对数据的操作非常的不便,即使是要浏览一次所有的数据,也得对整个数组进行一次遍历,如果需要在中间插入一条数据或者删除一条数据则更为麻烦;再者,不便于数据的排序,比如要使读取的数据按打卡的日期或者打卡的时间排序,则所要采用的算法又是一个很复杂的问题了。 人力资源管理系统考勤管理子系统的设计与实现由于以上三个主要缺点:耗费系统资源、操作不便、排序困难,可以考虑将数据存储的形式改由程序外部存储,而这又有两种方式可以考虑;简单文本文件存储和复杂的数据库文件存储。如果采用简单的文本文件形式,则可解决上述三个缺点中的第一个,即可以减少耗费的系统资源,但对于后两个缺点操作不便和排序困难则没有太大的改善。如果采用数据库文件的形式则可以克服以上三个缺点,但是却对系统提出了更高的要求,即要求系统中能支持该种数据库。为此,可采取一种两者结合的方案,即同时采用文本文件和数据库文件的形式,文本文件作为数据的备份形式存在,而数据库文件则作为程序运行中的中间文件形式存在。具体来说,就是在程序开始运行时创建该数据库文件,在程序结束时则将该数据库文件删除,该文件主要是在程序运行中使用。而其中读取到的重要数据则存储到文本文件中,程序结束后文本文件仍然存在。基于以上思路,可以选择MicrosoftOmce系列中的Access数据库作为数据库文件支持。因为Office软件的使用范围比较广,大部分的办公电脑系统中都装有0fficeAccess数据库,再者它也支持关系数据库的一些基本操作,使用也比较简单。因此可以在程序开始运行时在当前文件夹下生成一个临时的Access数据库文件“Aceco.mdb”,为了对应上面所描述考勤数据记录和OA数据记录形式,在这个数据库文件中可以建立两张表:考勤记录表ATTRECORD和OA数据记录表ATTINFO,具体的字段说明见表3—3和表3—4。表3—3表ArtRECOP.m字段说明字段名数据类型说明EMPIDint员工IDA丌、DATEvarchar(20)员工打卡R期AmIMEvarchar(20)员工打卡时间EMPCARDvarchar(100)员工考勤卡号表3—4表ATTINFO字段说明字段名数据类型说明EMPIDint员工lDBEGIN—DATEvarchar(201开始日期BEGIN—TIMEvarchar(2∞丌始时间ENDDATEvarchar(20)结束日期END—TIMEvarchar(20)结束时问ArTSUMvarchar(20)时间总和陬弋一STYLEint具体类型Kn卫PEim加班还是假事数据SALSUMvarchar(20)计算薪资时间以上只是记录数据的两张表,由于要和HRMS中的数据库进行交换,因此 人力资源管理系统考勤管理子系统的设计与实现还需要从HRMS读出员工的信息和考勤设置的一些信息,因此在数据库文件中还需要创建两张表:员工信息表EMP_INFO和考勤类型表A1—-TYPE_INFO,具体的字段说明见表3—5和表3--6。字段名数据类型说明.IDimHRMS数据库中的员工ID(与其他表中的EMP_ID相对应,以确定员工身份)EMP—CODEvarchar(1oo)HRMS数据库中的员工工号EMPNAMEvarchar(100)员工姓名EMPDEPTvarchar(100)员工所在部门EMPPOSvarchar(100)员工职位EMPCARDvarchar(1oo)员工考勤卡号IDCARDvarchar(100)员工身份证号表3—6表ATl._TYPE—INFO字段说明字段名数据类型说明IDint考勤类型ID(与ATT—INFO中的A丌一STYLE字段对应)NAMEvarchar(20)类型名称STYLEvarchar(20)HRMS中的考勤分类根据几个表的说明可以看到,从HRMS中可以读出员工的信息,其中每个员工的考勤卡号以及身份证号都可以从HRMS从获得,而考勤卡号和身份证号对每个员工都是唯一的,因此可以用来识别员工身份。从考勤机里读取出来的考勤记录没有员工信息,只有考勤卡号,而从OA数据库中读出的数据记录只有身份证号,其他的信息也没有。正是通过HRMS里导出的员工信息表EMP_INFO才能将考勤打卡记录以及OA数据库中的加班和假事记录和HRMS里的员工信息一一对应,其简单示意图见图3—3。图3—3各个系统的数据对应关系 人力瓷源管理系统考勤管理子系统的设计与实现至于文本文件的使用,则可以在应用文件夹里创建一个Data文件夹,每当从考勤机从读取出一次考勤记录时,则可以生成一个记录的文本文件,把一次读取出的所有考勤记录都写入到该文本文件中,可以作为原始记录备份或者是未来查询数据所需,至于写到文本文件中的记录格式则可采取简单的形式,每条记录的格式可设计如下:员工ID,考勤卡号,打卡日期,打卡时间比如在备份的文本文件中可以有如下的数据记录:61,0005044077,2003-05—29,07:28:0018,0009360763,2003-05-29,07:28:00184,0005044157,2003-05-29,07:28:0037,0005041709,2003—05—29,07:29:0096,0009359602,2003·05·29,07:29:00569,0009345888,2003—05-29,07:29:0033,0009758817,2003—05—29,07:29:0043,0037214365,2003—05—29,07:29:00101,0037209926,2003·05-29,07:29:00572,0010143048,2003-05—29,07:30:00114,0010140545,2003—05-29,07:30:00185,00093633872003-05-29,07:30:0082,0009362825,2003—05—29,07:30:00172,0005042606,2003-05-29,07:31:00555,0037215032,2003—05—29,07:31:00这里采用“,”作为分隔符是为了在Delplli中操作简便,因为在Delphi中的Tstdngs类有直接将带有“,”的字符串自动分割成不同的子字符串的功能。在说明了如何对数据进行存储之后,还得说明一下采用临时数据库文件和文本文件这样的外部文件存储的弊端。首先就是对软件的应用增加了限制,即必须在安装有MicrosoftOfficeAccess的电脑上才能运行,其次由于数据都是在程序外部,也使得数据的安全性有所降低,因为对于这样的外部数据可以进行人为的修改,比如将上述文本文件中的某条考勤数据记录中的打卡时间进行一下修改再保存,这样的改变是无法被察觉的,因此也增加了数据出错的机会。但是因为这些考勤数据并不是公司的机密数据,对它的安全性要求并不高,而且这样做能有效的克服耗费系统资源、操作不便、排序困难等困难,因此在权衡之下采用这样的方法是比较方便有效的。当然,对于有保密要求的一些数据(比如公司的员工薪酬数据),这样的做法是有欠妥当的。 人力资源管理系统考勤管理子系统的设计与实现3.2界面设计根据软件所需要完成的功能,而且考虑到操作中的一些逻辑性,可以将整个软件分成四个功能界面:OA数据采集界面、考勤机数据采集界面、注册注销卡片界面以及考勤机设置界面。具体的实现可以采用TdxPageControl控件,它可以方便的添加和删除页面,也可以实现多个页面的切换。3.2.1OA数据采集界面该界面主要的主要功能是从OA数据库采集员工的加班和假事记录。其界面可参考图3--4。图3—4OA数据采集界面设计该界面左边是功能按钮,右侧上方是时间段的选择,右侧下方的大片区域则是OA数据的显示区域,这里的显示采用了TCM_StatGrid_Frm类,这是一种具有统计的Form类,它可以方便的将数据集的结果显示在页面上,能方便的进行排序和查找,其结果显示的形式会在后面的章节中看到。24 人力资源管理系统考勤管理子系统的设计与实现简要介绍一下几个按钮的功能:●测试连接测试与OA数据库的连接情况,只有在测试连接成功以后才能进行下面几个按钮的操作功能。●接收数据从OA数据库中接收在所选的起始日期之中的所有有效的员工加班和假事数据,存放在临时Access数据库的ATT1NFO表中,并在界面上显示出来。●导出数据将ATrINFO中所有的OA数据导入到HRMS的数据库中。●清空数据清空在页面上所看到的所有OA数据,即将临时数据库中A1厂rINFO中的所有数据都删除。3.2.2考勤机数据采集界面此页面是实现从考勤机读取员工打卡记录的功能,其实际的界面设计可以参考图3—5。图3—5考勤机数据采集界面设计 人力资源管理系统考勤管理子系统的设计与实现该界面左边是功能按钮,右侧是考勤打卡记录的显示区域,这里的显示仍是采用TCMStatGfidFrm类。在左侧的功能按钮下方有个端口选择的选项,当联机的考勤机确定以后,还需要确定电脑上的连接端口,有的电脑有一个corn口,有的电脑有两个,因此在对考勤机操作前需要在界面上设置联机的端口号,这样才能正确的从考勤机中读取数据。简要介绍一下几个按钮的功能:●测试连接测试与所有联机的考勤机的连接情况,只有在测试连接成功以后才能进行下面几个按钮的操作功能。●接收数据按联机的考勤机序列号大小顺序依次从考勤机读取数据,并在页面中显示出来。读出的数据存放在临时Access数据库的ATTRECORD表中,读取完数据后立刻生成备份文件,存放在Data文件夹中。●导出数据将临时Access数据库中的考勤记录表ATTRECORD中的员工考勤数据导入到HRMS的数据库中。●还原备份将Data文件中的备份考勤数据读入到临时Access数据库中的考勤记录表ATTRECOR来,并在页面中显示出来,以供查询和再次导出。●清空数据清空在页面上所看到的所有考勤数据,即将临时数据库中的表ATT_RECOR中的所有数据删除。3.2.3注册注销卡片界面以上的两个页面是该接口软件的主要功能,此外还需要有对考勤机进行操作的一些功能,此界面就是实现从考勤机读取员工打卡记录的功能。界面的设计见图3—6所示。该界面左边为员工目录,其采用的是TTreeView类,这是一种树形显示控件,其实际的显示形式可见后面章节。右上方为具体的员工信息显示,即在左边员工树中选中的员工的具体信息。右下方就是用来执行注册注销考勤卡的功能部分,在考勤机列表中选择要注册注销卡号的考勤机,然后在右方可以选择不同的功能,当按下采集卡号的按钮后,将新卡靠近考勤机,这时就可以将采集到的卡号信息显示在下面的空格中,这时再选择注册卡片按钮就可以将采集到的考勤卡号注册到选中的员工信息中。同样,注销卡片就是将选中的员工的考勤卡号从考勤 人力资源管理系统考勤管理于系统的设计与实现机中注销掉,这一般用于员工离职后其考勤卡作废时的操作。图3—6注册注销卡片界面设计3.2.4考勤机设置界面此界面就是实现对考勤机的一些基本设置的功能。界面的设计可见图3—7所示。该页面比较简单,左边为要操作的考勤机列表,只在右边添加了两项功能,设置考勤机公司名称和校准考勤机时间,其中考勤机公司名称设置由人工输入,输入确认后就会在考勤机上显示出所输入的公司名称。校准考勤机的时间则是由当前电脑上的时问日期为准,即将考勤机上的时问日期设嚣的和当前电脑的时间日期一致,这个功能比较重要,因为如果考勤机上的时钟不对的话会使很多正常打卡的员工显示出打卡异常的记录,比如说一名员工在7点50分打卡进公司,而这时考勤机的时钟却显示为8点10分,这样就会判断为这名员工迟到一次,这显然是需要避免的问题,因此当发现考勤机的时钟异常的时候就需要采用此功能重新设定考勤机的时钟。 人力瓷源管理系统考勤管理子系统的设计与实现3.3主要代码实现图3—7考勤机设置界面设计在界面设计好之后就需要进行编码工作了,这是整个设计工作中工作量最大的一部分,也是最容易出错的一部分,需要考虑许多算法设计、逻辑设计的问题,由于整个程序的代码太长,不能完全列出,因此在此就只对其中一些比较重要的代码实现做一些说明。3.3.1与数据库操作相关的一些代码实现与数据库相关的操作主要是对Access临时数据库以及OA数据库的一些操作,因为对于HRMS的数据库,已经在HRMS中有封装好的类来实现这一功能,而实现上述操作最主要就是用前述的TADOQuery类。●临时Access数据库的创建procedureTLoadMain_Frm.CreatDataBase;VarCreateAeeess:OleVariant; 人力瓷源管理系统考勤管理子系统的设计与实现strSql:string;qryAdo:TADOQuery;岫qryAdo:=TADOQuery.Crcate(nil);tryScreen.Cursor:=crHourGlass;tryifFileExists(FstrPath+"Aceco.mdb")thendelaefile(FstrPath+1Aceco.mdb.);一CreateAeeess:=CreateOleObject(。ADOX.Catalog");CreateAccess.Create(’Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+FstrPath+’Aceco.mdb’);qryAdo.Close;qryAdo.SQL.Clear;qryAdo.ConnectionString:2"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=’+FstrPath+’Aeeco.mdb’:qryAdo.SQL.Add(。CREATETABLEEMP_INFO(IDintNOTNULL,EMP_CODEvarchar(100),EMP_NAMEvarchar(100),EMP_DEPTvarchar(100),EMP_POSvarchar(100),EMP_CARDvarchar(100),ID_CARDvarchar(100))‘);qryAdo.ExecSQL;qryAdo.SQL.Clear;qryAdo.SQL.Add(?CREATETABLEKn3YPE_INFO(IDintNOTNULL,NAMEvarehar(20),STYLEint)’);qryAdo.ExecSQL;qryAdo.SQL.Clear,qryAdo.SQL.Add("CREATETABLEAT]"_RECORD(EMP_IDim,ATTDATEvarchar(20),肼IMEvarchar(20),EMPCARDvarchar(100))9;qryAdo.ExecSQL;qryAdo.SQL.Clear,qryAdo.SQL,Add(jCREATETABLE瑟n—INFO(EMP_IDint,BEGIN_DATEvarchar(20),BEGIN_TIMEvarchar(20),ENDDATEvarchar(20),END_TIMEvarchar(20),ATFSUMvarehar(20),ATT_STYLEint,ATT_TYPEint,SAL_SUMvarchar(20))’); 人力资源管理系统考勤管理子系统的设计与实现qryAdo.ExocSQL;qryAdo.SQL.Clear;qryAdo.Close;exceptShowMessage(’创建数据表失败!.);end;iinal|yScreen.Cursor:=crDefault;qryAdo.Free;end;简要说明:首先在应用文件夹下查找临时数据库文件“Aceco.mdb”,如果文件已存在则将其删除,然后再在应用文件夹下生成一个Access临时数据库文件“Aceco.mdb”,数据库文件生成之后再在其中创建四张表,也就是前面已经描述过的员工信息表EMPINFO、考勤类型表ArrTYPEINFO、考勤记录表A]rrRECORD和OA数据记录表ArrTINFO,每张表的字段名称以及数据类型都在相应的SQL语句中写明。●向临时数据库插入考勤记录procedureTLoadMain_Frnl.InsertData(pData:plnData);VarqryAdo:TADOQuery;strSql:string;beginqryAdo:2TADOQucry.Crcatc(nil);tryqryAdo.Close;qryAdo.SQL.Clear;qryAdo.ConneetionString:=Trovider=Microsott.Jet.OLEDB.4.0;DataSource=’+FstrPath+。Accco.mdb’:qfyAdo.Close;strSqI:="DELETEFROMATT_RECORDWHEREEMPJD=‘+IntToStr(pDataA.Empld、+’ANDATTDATE="”+pData^.Date+”’ANDATTTIME="”+pData^.Time+”‘ANDEMPC^RD=Ⅲ+pData^.Wbrl【Card+ 人力资源管理系统考勤管理子系统的设计与实现¨●’‘’qryAdo.Sql.Add(strSqO;qryAdo.ExecSQL;qryAdo.Close;qryAdo.SQL.Clear;strSqI:="INSERTINTOATTRECORD(EMPID,ATTDATE,ATTTIME,EMeCARD)VALUES(。+IntToStr(pData^.Empld)+’,”’+pData^.Date+⋯,⋯+pData^.Time+”’,”’+pData^.WorkCard+”‘)’;qryAdo.Sql.Add(strSql);qryAdo,ExecSQL;qryAdo.Close;finallyqryAdo.Free;end;’简要说明:输入参数为前面描述过的一条考勤记录的数据结构,在和I临时数据库“Aceeo.mdb”连接成功以后,将该条记录的所有字段内容写在一条INSERT的SQL语句中,再将该记录插入到考勤记录表ATT_RECORD中。●清空l临时数据库中的数据procedureTLoadMain_Frm.ClearData;varqryAdo:TADOQuery;strSql:string;beginifMessageDlg(‘确实要清除OA数据吗?’,mtInformation,【mbYes,mbNo],O)=mrNothenExit;qryAdo:=TADOQuery.Create(nil);tryScreen.Cursor:=crHourGlass;qryAdo.Close;qryAdo.SQL.Clear;qryAdo.ConnectionString:2"Provider=Microsoft.Jet.OLEDB.4.O;Data 人力资源管理系统考勤管理子系统的设计与实现Source="+FstrPath+’Aceco.mdb’:qryAdo.Close;strSql:="DELETEFROMATTINFO’;qryAdo.SQL.Add(strSql);qryAdo.ExecSQL;qryAdo.Close;ShowMessage(’清除数据成功!t);finallyScreen.Cursor:=crDefault;qryAdo.Free;end;简要说明:在和临时数据库“Aceco.mdb”连接成功后,之间将OA数据记录表ATTINFO中的所有数据删除。3.3.2与考勤机操作相关的一些代码实现这是最困难的~部分代码,因为和考勤机的硬件相关,在完成编码后还需要进行大量的调试工作,只有在考勤机上进行实际的调试后才能知道代码的完成效果如何,而这其中最为关键的部分就是从考勤机中读取考勤数据,这也是整个接口软件的核心部分。●考勤记录的读取从考勤机中直接传送出来的字符数据格式实例如下:0004鼍崾皤K030108008EDA4Dll390237C8BD“390237C8BDl204008EDA4D1204第一行四位数说明总的打卡记录数,如上所示0004就是表示总共有四条打卡记录。第二行以FAFAFA开头的这行数据表示的是日期,即后面的六位数“030108”表示的是打卡的日期。下面不以FAFAFA开头的记录就表示员工的打卡记录,其中前八位表示考勤卡号,后四位表示打卡时间,比如第三行数据“008EDA4D”表示考勤卡号,“1139”就表示打卡时间。其中所有的数据格式都是为16进制。而在所有的数据库中显示的数据都是10进制的,因此需要将日 人力资源管理系统考勤管理子系统的设计与实现期、卡号和时问都转换为lO进制的数。同时在数据库中员工的考勤卡号都是整10位的数,而日期都是采用“YYYY.mm-dd”的格式,时间都是“hh:ss”的格式,因此在转换为10进制数后还需要在不足的位前补零。因此为了实现以上功能,先要完成16进制转10进制和在空位补O这样两个函数。16进制转lO进制的函数实现如下(Instr为输入的16进制数):functionHexToInt(Instr:string):integer;vat"iLoop,iSum:integer;,ftmetionTrans(InChar:char):integer;beginresult:=0;caseInCharof’0",’1f,t2’,’3’,‘4’?5’,’6’,’7’,’8’,。9’:result:=StrToIm(InChar);’A’:result:=10;’B‘:result:=11:’C‘:result:=12;。D’:result:=13;.E’:result:=14;lF.:result:=15;end;beginiSum:=O;foriLoop:=ltoLength(Instr)doiSum:=iSum+16+Trans(Instr[iLoop]);result:=iSum;end;在输入字符串前加0的函数实现如下(Instr为输入字符串,lnNumber为输出字符串总的字符个数,不足就在前面补O):functionGetZero(Instr:string;InNurnber:integer):string;vatiLoop:integer;strTans:string; 人力资源管理系统考勤管理子系统的设计与实现beginstrTans:=Instr;foriLoop:fLength(Instr)+1toInNumberdostrTans:="0’+strTans;result:=slrTans;end;当以上的函数完成后,即可完成考勤数据转换的函数,这里只截取其中的一部分代码,其中strTemp就是在上面见到的考勤机输出的字符数据中的一行(“//”后面有具体的说明)。iflength(strTemp)=12thenbegin//如果以”FAFA开头”即是日期ifuppercase(strTemp[1】+strTemp[2】+strTemp[3】+strTemp[4])="FAFA"thenbegin//得到考勤日期FstrDate:=’20‘+GetZero(ImToStr(HexToInt(strTemp[7]+strTemp[8])),2)+’一’+GetZero(IntToStr(HexToInt(strTemp[9]+strTemp[10])),2)+’-。+GetZero(IntToStr(HexToInt(strTemp[11]+strTemp[12])),2);endelse//其它的则是打卡记录begin,/得到考勤卡号strCard:=GetZero(IntToStr(HexToInt(strTemp[1】+strTemp[2】+strTemp[3】+strTemp[4】+strTemp[5]+strTemp[6】+strTemp[7】+strTcmp[8])),10);倩到考勤时间sn"Time:=GetZero(IntToStr(HexToInt(sirTemp【9】+strTemp[10])),2)+’:’+OetZero(IntToStr(HexToInt(strTemp[11]+strTemp[12])),2);end;●考勤卡号的采集34 人力资源管理系统考勤管理子系统的设计与实现procedureTLoadMainFrm.GctCardNumber;vatstrCard:string;bFlas:boolean;beginbFlag:=True;tryScreen.Cursor:=crHourGlass;edtCard.Text:="。;FJS2KComm.Slave:=l;trysleep(15000);strCard:=FJS2KComm.Cardlnfor(30);ifstrCard<>”thenbeginedtCard.Text:=GetZero(IntToSlr(HexToInt(strCard)),10);endelsebeginhowMessage(’读取卡号失败!‘);edtCard.Text:=”;end;exceptShowMessage(读取卡号失败j’);bFlag:=False;edtCard.Text:=”;end;ifbFlagthenbeginShowMessage(’采集卡号成功!‘);end;finallyScreen.Cursor:=erDefault;end; 人力资源管理系统考勤管理子系统的设计与实现end;简要说明:sleep(15000)语句是表示等待15秒的时间,即当你把卡放到考勤机上时等待15秒的时间再读取考勤卡号,这是因为考勤机在室外,而联机的电脑在室内,当一个人进行操作时需要一定的时问差,所以才进行了这样的设定。而读取到的卡号仍然是16进制的数,所以还需要将它转换为10进制的数,读取卡号的函数Cardlnfor在第二章表2—4中已经做了说明。●考勤机公司名称设置procedureTLoadMain_Frln.SetComName;VarbFlag:boolean;beginbFlag:=Tme;ifMessageDlg(’确实要设定考勤机公司名称吗?1,mtlnformation,[mbYes,mbNo],O)=mrYcsthentryScreen.Cursor:=crHourGlass;FJS2KComm.Slave:=l;tryifFJS2KComm.SetCompanyName(edtName.Text)thenbeginend;exceptShowMessage(’考勤机操作失败!.);bFlag:=False;end;ifbF崦thenbeginShowMessage(’设定公司名称成功!-);end;finallyScreen.Cursor:=crDefault;end; 人力资源管理系统考勤管理子系统的设计与实现简要说明:此段代码比较简单,就是将在界面上输入的公司名称设置到考勤机中,采用的方法SetCompanyName也在第二章表2—4中有过说明。3.3.3与界面显示相关的一些代码实现除了和数据库的操作以及对考勤机的操作以为,其他的就是有关界面显示的一些代码,这属于软件表面的一部分工作,即使算法设计的再好,没有好的显示界面也是不成功的,因为对于一般的用户来说,能直接感受到的就是软件的界面已经操作的方便与否,因此这部分代码也需要认真对待。·考勤数据的显示procedureTLoadMain__Frm.ShowReeordO;VarqryAdo:TADOQuery;strSql:string;beginqryAdo:=TADOQuery.Create(nil);tryqryAdo.Close;qryAdo.SQL.Clear;qryAdo.ConneetionStdng:=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=。+FstrPath+’Aeeeo.mdb’:qryAdo.Close;strSql:=’SELECTa.EMP_CODEas编号,a.EMP_NAMEas姓名,a.EMP—DEPTas部门,。+Ia,EMP_POS嬲职位,a.EMP_CARDas卡号,b.ATTDATEas日期.b.ATTTIME豁打卡时间‘十IFROMEMP_INFOa,ATT_RECORDbWHEREa.ID2b.EMP_ID’:qryAdo.SQL.Clear;qryAdo.SQL.Add(strSql);qryAdo.Open;FStatGrid.ReadDataSet:=TClientDataSet(qryAdo);qryAdo.First;qryAdo.Close;finallyqryAdo.Free;end; 人力资源管理系统考勤管理子系统的设计与实现end;简要说明:这段代码是将临时数据库中的考勤记录表ATI"RECORD中的数据显示在界面上,FStatG-rid就是TCMStatGridFrm类的一个全局对象,只要将数据结果集作为参数赋予TCMStatOrid_Frm类,就能在界面上将所有结果以表格的形式显示出来,具体的效果可以见下一章的说明。●显示员工信息procedureTLoadMainFrm.tvEmpChange(Sender:TObjeet;Node:TTreeNode);beginifNode.Data<>nilthenbeginirCode.Text:=pEmpNode(Node.Dam)".Code;irName.Text:。pEmpNode(Node.Data)^.Name;irDep.Text:=pEmpNode(Node.Data)^.Dep;irPos.Text:=pEmpNode(Node.Data)^.Pos;irCard.Text:=pEmpNode(Node.Data)".Card;endelselee.inirCode.Text:="’;irName.Text:=”;irDep.Text:="。;irPos.Text:=“;irCard.Text:一‘;end;简要说明:这段代码是在注册注销卡片界面上的一段界面控制代码,其实现的功能为当用鼠标在左边的员工树上选中一名员工时,在右上方的表格中显示出该员工的基本信息。方法比较简单,只需要将所选中员工节点上附带的信息复制到右边的表格显示区中即可。38 人力资源管理系统考勤管理子系统的设计与实现第四章考勤系统工作流程4.1利用考勤接口软件进行数据读取这部分内容要对HRMS中考勤系统的工作流程进行一下简要说明。任何软件产品最终是需要使用者进行评价的,而评价的标准就在于软件的使用是否方便和有效,因此描述一下考勤系统的工作流程能更好的说明考勤接口软件的效用,并使得企业信息化的作用得到更深的理解。整个考勤系统的工作流程可以参考图4一l。J-●⋯一一一一●一一_一⋯●一●一一一一一一一一一●一●●一●一●-_●●_-●●●--^一一一一-一●--●一●_一_一-●一●一●●~~":日常操作内容;图4—1考勤系统工作流程每天考勤管理专员需要使用考勤接口软件。要考勤接口软件正常工作需要在本机上安装有博惠思华HRMS的客户端,同时为了对OA数据进行读取,需要在本机上安装有Oracle的客户端,并完成对OA数据库的服务名设冕,最后如果需要对考勤机打卡数据进行读取,还需要将考勤机进行正确连接(可以参考图2--6),并最终将考勤机与本机的COM串口相连。在以上的前提满足的条件下,就可以运行考勤接口软件了,在运行之前需要先启动博惠思华HRMS客户端的SocketServer,这是因为FIRMS客户端与HRMs服务器之间是通过SOCKET连接来进行数据传输的。在考勤接口软件启动以后,它需要生成临时数据库文件“Aceco.mdb”,并生成四张数据表,接着还要从HRMs 人力资源管理系统考勤管理子系统的设计与实现的数据库中将所有的员工信息数据和考勤类型数据从HRMS的数据库中导入到II函时数据库文件相对应的数据表中。进入后的初始状态如图#--2所示。图4—2考勤接口软件初始界面这是在考勤机数据采集的界面,此时可以进行还原备份考勤数据的操作,如果需要读取考勤机的数据,或者是要对注册注销卡片和对考勤机进行设置,则需要先测试连接,设计这一步骤的原因是为了使得所有对考勤机的操作更加安全,增加软件的容错能力,不然贸然对考勤机进行操作会由于连接有问题而导致死机。不管测试成功与否,软件都会给出提示,当测试成功以后,就可以进行接收数据的操作了,同时后面的注册注销卡片和考勤机设置的界面也都可以激活。当点击接收数据的操作以后,软件会将所有的联机的考勤机的数据都读取出来,同时立即生成一个考勤数据的备份文件,文件名是当前电脑中的时间(精确到秒钟,这样可以避免文件同名),这样做是为了保护数据的安全性,因为一旦数据从考勤机中读取出来,在而这时还没有将数据进行备份,如果此时发生停电或者死机等其他不可预知的情况,就会造成考勤数据完全丢失,从而造成无法弥补的损失,40 人力资源管理系统考勤管理子系统的设计与实现这也是在软件设计中必须考虑的一点。当数据完全读取出来后,会在界面显示出所有的有效数据(所谓有效数据就是指考勤卡号能和员工信息中的考勤卡号对应的数据),当数据量比较大的时候,这一步可能会耗时比较多,数据显示出来后,就可以对所有的数据进行排序或者查找等操作了(可以参考图4—3)。在数据接收完成以后就可以选择导出数据的操作了,这一步操作就是将临时数据库中的考勤打卡数据导入进HRMS数据库里了,这一步操作完成后,对考勤机数据读取的工作就算完成了。所有关于考勤机的操作流程可以参考图4—4。图4—3显示所有考勤打卡记录图4—4所有和考勤机相关的操作流程4l 人力瓷源管理系统考勤管理子系统的设计与实现对OA数据的操作比较类似,基本上也是采取先测试连接,然后再接收数据,最后再导出数据的操作顺序,它和考勤数据采集操作不同之处在于:它不需要进行端口选择,但是需要进行日期时间段选择,此外它也没有还原备份的操作,因为它所有的数据都来自OA的Oracle数据库,而OA的数据库已经自己做过备份。其操作界面可以参考图4—5。图4—5显示员工假事、加班记录对于注册注销卡片和考勤机设置的两样操作,由于这和日常的考勤管理流程无关,同时这两样操作也可以直接在考勤机上进行,而不一定要在软件上来执行,因此这里就不再叙述有关这两样操作的过程了。4.2在HRMS中进行考勤结果统计考勤系统的最终目的是为了薪资计算和绩效考核等方面的工作提供数据支持,比如要计算员工加班工资时需要看该员工当月总共加班的时间是多少,同时还要看是属于什么类型的加班。又比如要考察员工的工作情况,可以看该员工每个月是不是有迟到早退的情况,迟到早退的次数多不多,或者看该员工是不是总是请假等等,以往这样的工作都是通过手工来完成的,即由每个部门自己先统计 人力资源管理系统考勤管理子系统的设计与实现自己部门的情况,然后再汇总到人力资源部门,最后由人力资源部门汇总得到整个企业的统计结果。这样做的劣势的显而易见的,首先每个部门自己需要人员来进行考勤管理,这是对人力资源的极大浪费,其次,容易产生弄虚作假的行为,再者,就是手工统计的工作效率相当低下,而且也容易产生错误。这些劣势真是采用信息化手段进行计算机处理的优势所在,整个公司只需要人力资源部门的少数人员就能迅速的统计出全公司的考勤结果来,下面就简要描述一下在HRMS中是如何进行统计的。首先登录博惠思华HRMS,这需要有相应管理权限的用户名和帐号,进入HRMS后显示如图4—6所示,一般情况下只能看到有相应管理权限的模块(图4—6是采用超级用户登录的,因此能看到所有的模块),因为整个HRMS是需要由不同的人员来进行自己相应的一部分工作内容的。由于是进行考勤操作,因此选择考勤管理模块,点击考勤管理模块进入后如图4—7所示。这时可以看到有考勤制度、假事管理、考勤统计、体假计划、考勤设置和报表打印等几个模块。圈4—6博惠思华HRMS初始界面简要介绍一下几个子模块的功能:·考勤制度考勤制度模块主要是设置不同的班次情况,比如对应的早、晚班的时间或者 是正常班的时间等等,还有就是对每名员工上什么班次进行设置。●假事管理假事管理主要是对员工所有的请假、出差信息进行管理,包括新增、修改或者删除假事记录等等。●考勤统计考勤统计就是用来统计所有考勤的结果,可以统计一天的,也可以统计一个月的。●休假计划休假计划主要是对员工休年假的情况进行计划和管理,可以计算出每名员工还可以休假的天数。●考勤设置考勤设置主要是对公司的工作日和节假同进行设置,因为对于不同的企业,每周休息的时间很多都是不同的,因此需要企业能自行设置,这对于考勤统计的结果是很重要的。●报表打印就是将统计的结果做成报表再打印出来,报表的形式可以根据公司的要求自行设计。图4—7考勤管理模块 人力资源管理系统考勤管理于系统的设计与实现在进行考勤统计之前需要将企业的工作日和节假日以及每个班次的时间设定好,同时还得对每名员工的班次进行设置,这样做是因为上不同班次的员工打卡时间的判定标准是不一样的。在考勤机打卡数据和员工假事、加班数据导入到HRMS之后,就可以进入考勤统计子模块,对当日的考勤情况进行统计了,由于进行统计涉及到的规则众多,而且对于不同的员工情况还有可能不一样,而这些所有的特殊性都在HRMS的数据库中有所记录,因此,统计的时候,需要涉及到HRMS后台数据库中很多的表,这时如果将统计的过程放在HRMS客户端运行将会耗费大量的资源,同时速度也非常慢,所以就可以采用在后台数据库中使用存储过程来进行统计的办法。如第二章中的内容所说,存储过程也是一系列语句的集合,因此,整个统计结果的正确与否,能否应对众多的特殊情况就需要看存储过程的质量了。在这里只说明一下该存储过程的内容非常多,需要考虑多种不同的情况,整个存储过程已经不亚于一个完整的应用程序了,而至于具体的实现就不再叙述。进入考勤统计子模块后选择日考勤整理界面,再选择起始同期,一般情况下是一天整理一次。当然,也可以选择多日一起整理,但这时的数据量非常大,整个过程需要耗费较多的时间,同时由于数据众多也不易发现其中的错误,当结果整理出来以后就可以看到当日的考勤情况了,是否有人出差,或是有人迟到、早退等等情况都一日了然,这样的统计结果就有赖于从考勤接口软件导入的考勤打卡记录和假事、加班记录了。操作的情况可以参考图4--8。但是由于还有可能有异常的情况发生,比如有员工忘记带考勤卡了,而他又确实是准点上班的,这时候由于考勤机里没有他的打卡记录,根据规则的判定得到的统计结果就会是算他旷工一天,这样的结果显然是不大尽情理的,因此为了避免一些人为的异常,在考勤结果统计出来以后还可以对当天的结果进行修正,比如说出现像上述的那种情况,这时候就需要在了解了真实情况后由考勤专员将他的结果修正为正常,当所有的统计结果都确认无误后再将当日的结果保存,此时就可以得到当天所有员工考勤情况的统计结果了。在月末的时候可以就当月的考勤情况再作个汇总,但是需要的前提是本月每闩的考勤结果都已经统计完成。在每天的统计结果都已经完成的情况下,这样的汇总是非常容易实现的。当月度的结果统计完成以后,就可以得到当月所有员工的考勤统计信息。当要进行薪资计算时,就需要从月度考勤统计信息中调出员工加班的时间总和,请假的天数总和等等。而需要对员工的当月的绩效进行评估时,员工在该月的考勤统计信息也是非常重要的一项参考内容。此外,对于某些数据的统计,比如说总加班时间的数量是不是过大,休假的人数总和是不是太多等等数据对于公司制定下月的生产计划或者是长远的计划都有重要的作用。 人力资源管理系统考勤管理子系统的设计与实现图4—8日考勤整理结果由上述内容可以看到,由于整个HRMS中考勤系统的应用,使得原本需要耗费大量人力物力的工作可以由极少数的工作人员在短时问内就完成,这说明HRMS的确能有效的提升企业的工作效率,同时也从一个侧面反映出企业信息化带给企业的重要影响。 人力资源管理系统考勤管理子系统的设计与实现第五章结束语人力资源管理系统是一个内容繁多而复杂的系统,它能有效的提升企业的工作效率,促进企业的发展。但是需要重点指出的是,对于人力资源管理系统来说,不同的企业有着不同的需求,因此不能拿同样的模板来适应不同的企业,而应该是针对不同的企业有不同的解决方案。本篇论文所描述的考勤接口软件只适用于NFCP的项目,因为它适用的考勤机是单一的,其他的企业不可能都用同一种考勤机,因此,在实施其他的项目时就需要做出相应的改变。虽然如此,对于在本项目中所采用的一些应对方案,比如说采用INI配置文件、使用临时数据库作为中转存储方式等,由于它们使用都很方便,因此在其他很多类似的项目中也可以使用。这些方法的利弊在本文中都有所阐述,需要根据不同的情况来做出选择。计算机的应用能带给我们很多方便,但是软件是由人来编写的,因此不管是什么样的软件,都会存在一些BUG,而且对于一些突然变化的情况也无法做出有效的判断。所以需要强调的是,人力资源管理系统最终还是一个以人为主体的系统,计算机所能做的只是帮助提升我们的管理效率和计算速度,我们不能指望人力资源管理系统去帮我们招聘新员工,去评价一个员工的表现等等。所以我们必须要把握“人”这个中心,才能更好和更有效的发挥出人力资源管理系统的作用来。47 人力资源管理系统考勤管理子系统的设计与实现参考文献[1]田吉春,洪雷,周镭企业管理信息系统新编实用教程电子工业出版社2005[2]欧阳峰,傅湘玲企业信息化管理导论清华大学出版社,北京交通大学出版社[3]李剑锋,杨海辰人力资源管理经济管理出版社2004[4](美)Jaekson,S.E.,Schuler,R.S.人力资源管理:从战略合作的角度第8版范海滨译清华大学出版社2005[5]陈鑫铭企业人力资源管理信息化系统设计企业管理第28期2006[6]耿波浅议现代人力资源管理当代经理人第10期2006[7]萨师煊,王珊数据库系统概论第三版高等教育出版社2000[8]启明工作室Delphi+SQLServer数据库应用系统开发与实例人民邮电出版社2005[9]黄超,罗宏宇Delphi网络应用开发技术与实例清华大学出版社2002Elo]隆华软件工作室SQLServer2000程序设计清华大学出版社2001[11]深圳市俊思电子有限公司JS2000智能考勤机用户手册2002[12]北京博惠思华信息技术有限公司搏惠思华人力资源管理系统操作手册200248 人力资源管理系统考勤管理子系统的设计与实现致谢本论文的研究工作是在导师周利清教授的悉心指导下完成的。本文的完成凝聚了导师的智慧与辛劳。导师广博的知识、严谨的治学态度、活跃的创造性学术思想都使我受益匪浅。导师为人师表,平易近人,教书更重育人,在学业上认真严格要求学生,在生活上关心爱护学生,在为人处世方面引导教育学生。值此论文完成之际,谨向周利清教授表示衷心的谢意和诚挚的敬意!在本项目的研究过程和论文的完成过程中,得到原公司同事穆忠波、丁铃和实验室苏天功、陈欣等同学以及我的好友学舟的热情支持和帮助,在此也向一并他们表示衷心的感谢。向所有给与我支持、帮助和关心的人致以衷心的感谢。 人力资源管理系统考勤管理子系统的设计与实现作者:周少鹏学位授予单位:北京邮电大学相似文献(10条)1.学位论文赵小翠基于ERP的服装企业人力资源管理系统的研究2007本文从服装企业自身特点出发,分析了目前服装企业人力资源管理的实际情况。针对服装企业特点实施基于ERP的服装企业人力资源管理系统,通过该系统可以对服装企业人员进行合理配置,解决当前服装企业人员管理落后的现状。本文重点论述了基于ERP的服装企业人力资源管理的设计以及具体实现过程。系统使用MicFOSOftVisualStudio.NET和SOLServer2000数据库软件作为开发平台,采用C#编程语言作为系统的应用程序设计语言。通过对系统结构和数据库的优化来很好的实现修改、查询等重要功能。论文介绍了服装企业人力资源管理系统中员工信息管理、考勤管理、工资管理、人事管理四个子系统,并对四个子系统的主要功能进行了论述。员工信息管理涵盖了员工的基本信息,主要包括员工编号、姓名、性别、出生同期、职称、学历、职务、岗位等信息。员工可以查询信息,并可以对自己的个人资料进行修改。考勤管理主要是帮助人事部门与其它各部门主管便利、清楚的查询该部门员工的考勤记录,及时掌握员工的出勤情况。考勤管理产生的员工出勤数据,可配合工资管理模块,自动计算工资。工资管理是可以对员工工资信息进行实时、有效管理。计件工资模块能够统计工人生产的产品数量,与工序单价模块配合生成计件工资,可以及时统计员工的计件工资。人事管理主要管理员工的人事档案资料,可以方便、准确的查询每位员工的详细资料,对员工工作职责和内容、工作绩效进行管理,对绩效要素进行定量化,为奖惩提供依据。论文还对服装企业人力资源管理系统的具体流程和系统权限的实现过程进行了论述。对系统的程序流程图设计、子系统的设置以及功能开发等关键技术进行了深入地分析研究。2.学位论文王丽霞中粮食品营销有限公司人力资源管理系统的设计与实现2009人力资源管理系统(HRMS)是一种面向公司内部的管理系统,它要求简洁易用、美观大方、可视化效果好等。它作为日常管理(包括招聘管理、人事管理、宿舍管理、工资管理、考勤管理、行政管理等)和运营管理的信息管理系统,在公司起着核心的作用,对于规模较大的公司来说,它的作用更是不可忽略,一旦系统出现故障,整个工作流程都会瘫痪,这将会给公司带来不可估量的损失。本文分析了人力资源管理系统的背景和国内外的发展现状,简要阐述了系统实现需要解决的主要问题;对系统的目标、设计原则、系统架构及系统功能模块进行重点阐述;对在系统实现过程中的核心业务、界面设计、系统接口等部分进行了分析,并给出具体的实现技术和实现方法。本文解决的关键问题有以下几方面:第一,在分布式技术的基础上,运用组件技术,把信息系统按功能划分为表示逻辑、业务逻辑及数据管理三大块,利用JAVA的RMI技术来实现系统的三层构架和分布式应用。第二,在设计模式上,遵循JAVA的面向对象的设计理念,结合当前比较流行的三个框架(Struts+Hibernater+Spring)整合技术,运用MVC式的开发模式,在开发阶段将其分为业务逻辑层、控制层和视图层。这样便于以后的更新与维护。在功能上将其分为表示层、业务逻辑层与数据层。第三,核心业务。这一块主要考虑的是如何实现招聘管理、人事管理、宿舍管理、工资管理、考勤管理、行政管理等以及各模块间的关系等复杂的业务逻辑。第四,界面设计。界面的设计要求界面友好、简洁、可操作性强。系统采用B/S架构,客户端将以页面的形式显示,这需要对操作过程中出现的异常信息进行过滤和屏蔽。3.学位论文许文娟基于URP思想的高校人力资源管理系统的设计与实现2009随着信息技术发展,大学校园信息化建设的不断深入,信息管理系统已经涉及到教育教学的各个方面,其中高校人力资源管理的信息化是重中之重,高校人力资源管理系统可以包含教学管理、人事管理、考勤管理、工作量统计、工资管理多个部分,只有合理利用人力资源,充分发挥教职工的潜力,才能不断提高教育质量、提升办学层次。但是,在看到高校信息化可喜现状的同时,在人力资源管理的信息化方面,深入的分析,也可以发现不少问题。本文分析了目前高校人力资源管理建设的现状,研究了高校人力资源管理方面的诸多问题,借鉴和结合了清华大学的URP建设方案,提出了徐州工业职业技术学院人力资源管理系统的建设方案。并把URP思想应用在这一系统之上,设计出人力资源管理系统的开发思路,实现了基于URP思想的人力资源管理系统。该系统采用.NET平台开发,SQLServer为后台数据库,把URP思想作为一个切入点应用在系统开发中,结果证明是可行性,通过Internet或Intranet为学院提供一个全员参与、互动协同的人力资源管理工作平台,是系统的一大特色,也是一份完整开发方案。4.学位论文胡志涛人力资源管理系统研究开发2009人力资源作为一种重要而特殊的资源是人类社会财富产生的源泉。现已越来越成为人们十分关注的研究对象,企业人力资源研究是人力资源研究的一个重要内容,随着现代企业制度的建立以及社会经济的高速发展,企业人力资源也越来越成为左右企业生存发展的重要因素,企业加强人力资源的有效管理和运作是企业提高竞争力的重要手段。本文对人力资源管理系统国内外的发展情况进行了论述。对人力资源管理系统从系统分析、总体设计、详细设计、系统实现、关键技术、运行举例、不足与改进等方面进行了论述。本文提出了一个采用Delphi7相关技术实现的,基于Web的人力资源管理系统。该系统包括九个模块:人事信息管理、考勤管理、培训管理、休假管理、考核评估管理、薪资福利计算和管理、招聘管理、系统维护、报表服务。绩效考核模块是HRMS的核心,本文对该部分的进行了重点论述。该系统是针对跨地区的集团公司/企业的特点而研制的基于Web的HRMS。主要运用了B/S构架下Web服务器应用程序开发技术,并在总部人力资源部门保留了少量的C/S结构的应用程序用于处理报表打印等不适合Web方式的工作。人力资源管理系统的实施有助于企业提高工作效率,增强整体竞争实力,对企业的发展产生重要的推动作用。5.学位论文解宣梅基于UML的人力资源管理系统的研究与实现2007本文运用现代的人力资源管理理论,并结合企业的具体情况,通过分析国内外人力资源管理系统现状,提出了一个基于Internet/Intranet的人力资源管理系统的体系结构。我们首先对人力资源管理系统以及系统的设计目标进行了简要的分析,并在介绍了统一建模语言UML的基本概念和方法的基础上,利用UML的建模技术对系统进行了详细的分析与设计。本文研究的人力资源管理系统的主要内容有:组织结构与人事管理、招聘管理、考勤管理、绩效管理、薪资管理、培训管理、规章制度管理和系统管理。系统旨在将所有与人力资源有关的数据统一管理起来,形成一个集中的信息源,并能帮助企业人力资源管理人员从战略的角度进行人力资源规划和实施。6.学位论文王锋基于Web的人力资源管理系统研究与开发2004随着现代企业制度的建立以及社会经济的高速发展,企业人力资源已成为左右企业生存发展的重要因素,加强人力资源的有效管理和运作已成为企业提高竞争力的重要手段。作者在研究国内外人力资源管理系统发展和Web技术的基础上,提出了一个实用的人力资源管理系统结构以及绩效考核算法,采用Delphi7开发了基于Web的人力资源管理系统(HRMS)。系统包括九个模块:人事信息管理、考勤管理、培训管理、休假管理、绩效考核管理、薪资福利管理、招聘管理、 系统维护、报表服务。该系统是针对跨地区集团公司/企业的特点而研制的。系统主体采用B/S结构,并保留了少量的C/S结构的应用程序,以处理报表打印等的工作。本文详细论述了该系统的分析、设计、实现过程及其关键技术。7.期刊论文徐超基于Delphi的人力资源管理系统-中国科技信息2006,""(21)从编程者的角度出发,用Delphi+SQLSerer数据库开发出人力资源管理系统.该系统主要包括人事管理、考勤管理、工资管理3大子系统.同时分别对3大子系统的关键技术进行了阐述,望能对各层次的管理信息系统提供借鉴.8.学位论文黄明基于Intra-mart人力资源管理系统设计与实现2009现代企业管理逐渐从以物的管理为中心转向以人的管理为中心,人力资源是企业所有资源中最为昂贵的资源,因而,人力资源的规范化与量化管理,已经成为现代企业管理中所不可缺少的重要组成部分。在各个企业中,企业员工的考勤工作不仅工作量大,而且时效性强。过去,企业多采用签到和报表的形式进行管理,效率和透明度较差,并且也容易出错;随着企业信息化建设的进行,使用计算机管理企业考勤工作也成为大势所趋,它为企业的考勤工作节约了大量的人力和物力,也大大减轻了考勤工作人员的工作量。本课题研究是对人力资源管理系统中考勤系统进行规划设计,目的是为了满足单位日常的考勤管理的需求,扩大工作空间,使单位管理过程更加快速、安全、高效。本论文基本完成了本课题研究的主要任务——系统的分析过程。论文的系统规划设计过程是从单位的业务流程出发展开分析,从而完成系统各个功能模块的分析过程,以及完成部分功能模块的设计,实现了数据库信息的浏览、录入、查询、修改、删除等各种操作。本文以人力资源管理中的“考勤管理系统”的设计和开发为例,系统地阐述了考勤系统的设计开发的全过程。包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分。目前,该系统已经通过测试,处于试运行阶段。实践表明该系统基本达到了预期的设计目标,系统的各项运行指标基本达到了设计要求。9.学位论文刁瑜平人力资源管理系统的研究和实现2007在企业,人力资源的管理是非常重要的一项工作,它负责整个企业的同常人事安排和人力资源的调配等等。以前都是人工操作,随着企业规模扩大,人事部门的人力资源管理工作量大大加重。随着计算机应用的发展,人事工作者急切希望能够将大部分繁琐的工作交由计算机处理,以减轻人工的压力并提高工作效率。本文首先分析了我国人力资源管理系统的发展状况,然后从某公司的实际业务出发,针对该公司的人力资源管理现状,经过详细系统的调查,为该公司设计开发了一套人力资源管理信息系统。在设计开发过程中,吸取了一些优秀的商业人力资源管理系统设计开发上的理念,并根据该公司实际需求,在功能和技术上进行一定的创新,技术上利用了0LE-对象连接与嵌入技术,ADO对象,Vclskin第三方控件,MD5算法加密数据文件,动态联编技术等。最后,论文阐述了系统实现必需的硬件支持——人力资源管理系统的设计与实现,并解决了生成银行发放工资所需接口文件的问题。该系统实现了人力资源管理的档案管理、人事管理、考勤管理、薪资管理、报表管理、统计分析等主要六大功能,在人力资源管理系统的研究与开发方面有一定的借鉴作用。10.学位论文陈德强人力资源管理系统的设计与实现2006人力资源管理是企业生存与发展的重要基础。在我国,人力资源管理信息系统正逐步进入快速成长期,但国内外与之相对应的软件开发却不尽人意,存在数据繁杂、管理功能缺失、适用性差等诸多问题。论文通过针对人力资源管理的研究与分析,提出了一种人力资源管理系统的解决方案。解决方案融入先进的管理思想和理念,设计出适用于企业人力资源管理系统开发的平台,该平台以Windows2000中文版为客户端平台,Win2000server为服务器平台,采用ASP技术、Vbscript作为前端开发工具,MsSQLServer2000为数据库平台进行应用软件开发,构建了人事管理、调动管理、考勤管理、合同管理、工资管理、培训管理、绩效管理、奖惩管理、组织管理、系统管理等九大功能模块。应用新的解决方案具体设计与实现了南方公司的人力资源管理系统。系统提供了友好的用户界面和强大的查询、统计、分析等功能,特别关注到为满足企业日益增长的业务区域扩展要求及企业规模扩大而形成跨地域管理需要,采用浏览器/服务器(B/S)模式;在加强企业制度性管理保障数据安全的同时,通过SQLServer2000构造出灵活、可管理的数据库安全策略,从技术上解决了企业数据安全问题。所设计的系统体现了企业人力资源管理所关注的灵活性、开放性、安全性等特点,系统达到了预期目标:获得整合的、集中的信息源;实现了信息库的易访问、易查询;体现了公平性原则,提升了企业核心竞争力。本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1158127.aspx授权使用:上海海事大学(wflshyxy),授权号:b06dd843-c9d1-4af8-b429-9e0200dea664下载时间:2010年10月1日