版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业人事信息管理系统集美大学诚毅学院信息工程系计算机科学与技术专业2016届蔡雅莹201241051045摘要随着时代的进步,当代企业的管理也逐渐变得繁琐。然而如何有效地管理企业人事信息,已经成为企业中的一个大问题。管理是企业的核心,员工是一个企业的形象,管理好员工是一个企业的基础,企业的发展是靠员工来辅助的,开发一个企业人事信息管理系统则显得十分重要。该企业人事信息管理系统是一个简洁实用的网站,并且为管理企业人事信息提供了良好的平台。该系统的前台选用了PHP作为主要的编程语言,而后台就选用了MySQL来作为数据库服务器。并且利用了PHP动态的网页技术来实现前后台的数据交互。本系统实现了以下功能:系统登录、部门信息管理、员工基本信息管理、工资信息管理、考勤信息管理五大功能模块。系统登录分为普通用户登录、管理员登录。普通用户只限浏览、查询、修改密码;管理员用户等实现增、删、改、查询。而考勤信息可根据员工登录网站时间进行签到上班签退下班,并且工资能根据考勤信息进行结算等功能。关键字PHP人事信息管理B/S模式MySQL EnterprisePersonnelManagementSystemCaiYaying201241051045,Computerscienceandtechnologymajor,2016Dept.ofinformationEngineering,ChengyiUniversityCollege,JimeiUniversityAbstract:Withtheprogressofthetimes,modernenterprisemanagementhasgraduallybecametedious.However,howtoeffectivelymanageenterpriseHRinformation,ithasbecomeabigproblem.Managementisthecoreofenterprises,employeesrepresentthefigureoftheenterprise,goodemployeemanagementisthefoundationofanenterprise,thedevelopmentofenterprisesrelyonemployeestoassist,thedevelopmentofenterpriseHRinformationmanagementsystemappearstobecrucial.TheenterpriseHRinformationmanagementsystemisasimpleandpracticalwebsite,whichprovidesagoodplatformforthemanagementofenterprisepersonnelinformation.ReceptionofthesystemchosenPHPasthemainprogramminglanguage,andbackgroundontheselectionofMySQLasthedatabaseserver.AndtheuseofthePHPdynamicwebtechnologytoimplementinteractivedatabeforeandafterthestation.Thesystemimplementsthefollowingfunctions:systemlogon,theinformationmanagementdepartment,staffbasicinformationmanagement,payrollinformationmanagement,attendancemanagementinformationfivefunctionalmodules.Dividedintoordinaryuserloginsystemlogin,administratorlogin.Onlyordinaryuserstobrowse,query,modifythepassword;administratorusers,andachieveadd,delete,change,query.Theattendanceinformationavailableforcheck-incheck-outworkvisitthewebsiteoftheemployeeworktimeandwagescanbesettled,andotherfunctionsbasedonattendanceinformation.Keywords:PHP;PersonnelInformationManagement;B/Smode;MySQL目录TOC\o"1-2"\h\z\u引言 1第1章系统概述 21.1系统内容概述 21.2系统背景和意义 2第2章相关技术介绍 32.1采用的体系结构 32.2PHP编程语言 32.3数据库(MySQL) 4第3章需求分析 53.1可行性分析 53.2系统目标 53.3系统流程图 63.4功能需求 6第4章系统设计 84.1系统功能设计 84.2数据库设计 10第5章系统实现 165.1模块界面设计 165.2主要模块功能代码实现 20结论 32致谢 33参考文献 34引言随着科技与经济的突飞猛进,企业的管理也逐渐变得繁琐起来了,企业人事信息的管理逐渐成为各个企业都十分重视的管理内容之一。然而,如何管理好企业内部人事信息,已经成为企业管理中的一个重大的问题。在现今的这种情况下,拥有一个规范化、自动化的企业人事信息管理系统,就能比同行企业更有优势点。在最初的企业人事管理,都是由人力来完成。对于一些小规模的企业,靠人力来完成是可行的,但是随着企业的规模越来越大,企业的员工也逐渐地增多,如果还是继续靠人力来进行人事信息的管理,必然会造成工作效率低下、工作错误率增加的问题。如今,随着计算机的普及,企业就会考虑应该如何实现以人为企业发展的根本,企业为人的发展及其管理提供了便捷和快速的服务,企业的人事信息管理系统是企业解决人事管理问题的解决之道。各大中小型企业在如今竞争激烈的社会市场使尽手段提高效率,提高管理的手段是层出不已,但是最基本的就是企业内部的人事信息管理,企业首先向要发展,靠的是人才,然而又如何高效地管理人才也是当代个大中小型企业的重要内容之一。在现在的21世纪时代,信息的快速发展令人震惊,各个想要生存并且发展的企业,就必须要跟上信息时代的步伐,才能在竞争中屹立不倒,人事信息管路信息化能够为查询人事信息提供充足、完善的信息,和高效、快捷的查询手段。能够对其进行保密性的操作,和内部人员信息的查询和管理,节省了人力和财力来手动管理企业的人事信息。企业在赚取利润的时候,也要注意跟上时代的变化,专业化和高效的管理,都是代表着一个企业的门面,专业化的管理为企业提高了高效地人事信息管理,利用计算机来支持劳动力,更加迅速和专业。第1章系统概述1.1系统内容概述本次毕业设计所要解决的主要问题是如何通过设计一个切实可行的软件系统来用于解决目前企业人事信息管理中的信息处理总量大,内容繁多,手段落后不专业的现状。因此,所涉及的处理内容包括有:开发一个能为企业的人事信息高效管理的管理系统;开发一个为广大用户提供服务的信息查询系统,功能有:员工设置为普通用户,可以查询自身的基本信息,部门的信息,工资信息,考勤信息,并且能修改默认的登录密码,起到安全、保密的作用;而高级主管则设置为管理员,可以进行全部操作的功能,拥有最高级的权限。1.2系统背景和意义在如今经济一体化的现状下,企业人事信息的管理也逐渐地变化,愈变愈复杂化,而如何管理好这块内容则是现代企业生存和发展的重要因素。在早期的年代,企业人事信息的管理仅限于传统的手工记录管理,效率十分地低下,已经无法承载现代企业逐渐发展庞大起来的人事信息管理需求。本系统运用人事信息管理相关领域的理论知识,并利用计算机信息技术科学地管理企业的人事信息,工资考勤等,具有检索快速、存储量大、保密性强、成本低、并且操作十分方便等特点,尽可能大大地提升工作效率;与此同时,可以清晰地引导企业在信息化时代下,科学地进行规范化的管理,大幅度提升公司的形象。计算机的应用已经普及到经济和社会的各个领域,为了适应现代社会高度强烈的时间观念,人事信息管理系统为企业,团体,事业单位等带来了极大的方便,能够为用户提供可靠的信息存储和快捷地查询手段。而从技术的角度来看,是为了支持和组织决策和管理而进行的信息收集、处理和存储传递的一组相互关系关联的组成部分;[1]从全局的角度来看,一个信息化的管理系统可以辅助公司的发展。第2章相关技术介绍2.1采用的体系结构B/S(Browser/Server)结构,随着互联网的倔起的热潮,在当前的web数据库开发中,这种B/S模式被广泛地应用起来。[2]在这种情况下,用户是通过www浏览器来实现工作界面的浏览和操作等,而极少部分的事务逻辑在前端(Browser)实现。但是,主要的事务逻辑是在服务器(Server)实现,形成所说的三层结构。如此,可以大大地简化了客户端电脑的载荷,减少了系统维护和升级的成本和工作量,降低了用户的总成本,[3]如图2.1所示。浏览器浏览器Web服务器数据库服务器请求信息结果信息SQL结果图2.1三级结构组成2.2PHP编程语言PHP(HypertextPreprocessor,超文本预处理器),是一种服务器、跨平台、HTML嵌入式的脚本语言,其独特的语法混合了C语言、Java语言和Perl语言的特点[4],是一种被广泛应用的开原式的多用途脚本语言,尤其适合web开发。一般语言特性:实用性。PHP就是以实用性目的创建的,并且很强调紧凑性,这反应到在他能嵌套函数。PHP还会在脚本结束的时候自动撤销变量,将资源返回给系统。[5]拥有强大的功能。目前有200个库,总共有1000余项功能以及成千上万的第三方扩展。可选择性。拥有足够的选择,为25种以上的数据提供了内置支持。灵活性很强。成本低。PHP是免费的。从一开始就对使用,修改和再分没有任何限制。2.3数据库(MySQL)MySQL数据库可以称得上是目前运行最快的SQL语言数据库。除了具有许多其他数据库所不具备的功能和选择之外,MySQL数据库还是一种完全免费的产品,用户可以直接从网上下载使用,而不必支付任何费用。下面介绍MySQL的特点:功能强大:其中提供很多种数据库存储引擎,各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最高性能,MySQL支持事务、视图、存储过程和触发器。[6]支持跨平台:至少支持二十种以上的开发平台。这使得在任何平台下的编写的程序都可以进行移植,而且不需要对程序进行任何的修改。运行速度快:它最显著的特征是高速。在MySQL中,使用了极快的B树磁盘表(MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够快速实现连接;SQL函数使用高度优化的类库实现,运行速度十分快速。安全性高:灵活安全的权限和密码系统允许主机的基本验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码的安全。成本低:是一种完全免费的产品,用户可以从网上免费下载。数据库存储容量大:它最大有效表容量通常是由操作系统对文件的大小决定的,而不是MySQL内部限制决定的。支持强大的内置函数:PHP中提供可大量的内置函数,内置了数据库连接、文件上传等功能,MySQL支持大量的扩展库,为快速开发Web应用提供方便。PHP提供了对MySQL数据库进行操作的一系列函数,MySQL数据库支持标准SQL语句。[7]因此用PHP编写实现对数据库查询的程序并不复杂,PHP和MySQL是最佳的搭配。第3章需求分析3.1可行性分析3.1.1经济上的可行性在各大中小型企业中,企业办公都离不开计算机,人手一台电脑,一般能在中小企业的支付能力范围中。而且,以后能为企业到来许多的利益,例如,不需要使用大量的人手来手工整理员工信息,因此所带来的利益还是十分的客观的,如此看来,在经济上是可行的。3.1.2技术上的可行性考虑到硬件和软件技术是否能满足用户提出的要求,PHP成熟的语言环境和MySQL安全的数据库,在目前趋势来分析,成功的案例有许多。因此在技术方面是非常适合来支持企业人事信息管理系统的。3.1.3管理上的可行性开发一个企业的人事信息管理系统,大大地为系统维护人员提供了方便来进行人事信息数据的备份、日常的安全管理,系统意外崩溃是数据恢复等工作。对企业的人事信息进行灵活地维护。3.2系统目标针对现代的信息技术更新发育的速度,近来的信息化管理已经在逐步跨入我们现实生活中的各种商业应用,可见实现一个符合现代企业基本要求的人事信息管理系统对企业的发展,节省时间、成本意义十分重大。界面简洁大方,不过于花俏,信息查询灵活,数据存储可靠。对用户登录的数据进行校验,防止他人窃看私人信息。对企业内部的部门管理,添加,修改,删除便捷,提高企业部门管理的高效性。能够对新进员工,进行快速地录入相关的基本数据信息。进行高效地管理。实现对员工工资的管理,根据考勤高效自动结算实发工资,解决了传统手算繁琐又容易出错的弊端。开发了一个相对简单又能解决上班迟到早退的问题的解决功能,实现签到签退功能。3.3系统流程图当新进入员工时,管理员添加新的员工用户,对此管理员进行添加填写相关信息操作,具体流程图如图3.1。员工用户及相关基本信息员工用户及相关基本信息员工登录修改密码管理员添加、修改、删除部门信息查询添加、修改、删除请假人员信息查询填写工资信息添加、修改、删除查询图3.1流程图进行签到签退考勤新进员工3.4功能需求系统登录。有管理员,普通用户两种。普通用户属于员工,管理员有公司领导指定专门负责人。管理员可添加用户,每个用户可以修改自己的密码。部门信息管理。包括部门编号、部门名称、负责人、电话、人数。管理员拥有查看、添加、修改、删除。普通用户只能查看。员工信息管理。包括姓名、性别、出生年月、E-mail、专业、学历、进入公司时间等基本的信息。管理员添加员工信息,系统自动生成员工编号,可根据入职时间生成,且能根据编号知道性别。管理员修改员工信息,选择一个员工对其基本信息进行修改。查询可按姓名查询。管理员删除员工信息,选择删除,也可先查询需要删除的员工信息再删除。员工工资管理。管理员可以添加和修改已有财务记录,基本工资可根据出勤记录计算。包括数据项有员工编号、姓名、所在部门、职务、基本工资、岗位工资、加班工资、养老金、医疗保险,住房公积金,税点,实发工资。员工考勤管理。包括日期、员工编号、签到签退时间、是否请假等。管理员添加、查询、修改、删除。普通用户可查询自己的出勤记录。员工进入该系统,可在考勤管理,实现签到签退功能,记录上班时间来对应是否迟到。实现基于B/S模式的企业人事信息管理系统。第4章系统设计4.1系统功能设计4.1.1系统功能模块设计该系统功能设计为5大模块,为企业的人事信息管理实现了高效地操作流程管理,以及顺应了时代的科技信息变化,节省了时间,降低了成本,拥有便捷的通道管理企业的人事信息,解决了各种繁琐的传统模式所带来的各种麻烦。第一个模块:系统登录功能设计。分为管理员和普通用户(即为企业员工)两种登录用户。企业的管理员为一个拥有生成员工账号的最高权限。第二个模块:部门管理模块设计。管理员实现添加、修改、删除、查询功能。添加功能的内容有部门id、部门名称、负责人、联系电话、还有人数。电话位数为8位,长度错误会出现报错。修改功能同样实现下拉列表框的快速选择操作,为企业争取到高效地部门信息操作管理;删除功能相对简单,选择要删除的复选框,再点击删除按钮,即可实现删除操作。普通用户(员工用户)只拥有查询的权限,可按部门名称查询,功能实现下拉列边框快速选择操作。第三个模块:员工管理模块设计。管理员实现添加、修改、删除、查询功能。添加功能的内容有用户姓名,默认密码,统一为123456六位阿拉伯数字,性别,生日日期,邮箱,专业,学历,入职时间,岗位,所在部门。并且生日时间和入职时间选用日期列表选择,摆脱繁琐的手动输入,所在部门从数据库获取管理员已经添加的部门名称实现下拉列表框选择。最后其他选项同样实现,其中邮箱格式设置为@邮箱格式,输错格式则提示框报错提醒。员工id根据入职时间生成,并与性别有关,末位数字为1是男,末位数字为0是女。普通用户只能查看到自己的基本信息。第四个模块:工资管理模块设计。管理员设计添加、修改、删除、查询功能。表单内容有:工号、基本工资、岗位工资、额外工资、养老金、医疗保险、住房公积金、税点,并计算取得实发工资。便捷地算出个人实发工资,具被准确性、高效性。普通用户设计只能查看自己的工资信息。第五个模块:考勤管理模块设计。管理员设计记录员工请假信息及原因,并实现按工号查询。普通用户设计签到签退功能,来进行考勤。4.1.2系统功能结构图设计一个企业人事信息管理系统,首先要设计功能结构图,系统的功能结构图如图4.1。企业人事信息管理系统企业人事信息管理系统图4.1系统功能结构图普通用户管理员查询部门信息查询个人基本信息查询个人工资信息签到签退考勤系统登录部门管理员工管理工资管理考勤管理添加删除修改查询部门信息添加删除修改查询员工信息添加删除修改查询工资信息记录请假员工信息4.2数据库设计4.2.1数据库设计需求分析需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求[8]。通过调查用户需求,分析确定了系统的以下功能:部门管理:主要是添加部门ID、部门的名称、部门负责人、联系电话以及部门的人数。员工管理:这部分是企业人事信息管理系统的核心部门,主要的功能是用来添加、修改和删除员工的基本信息,有员工id、姓名、性别、生日、邮箱、专业、学历、入职时间、岗位、部门等信息。工资管理:主要是员工的基本工资、岗位工资、加班工资,以及五险一金的百分比,实际工资。考勤管理:主要有员工id、日期、签到时间、签退时间、是否请假。4.2.2数据库概念结构设计在本系统中我采用“实体联系模型”(E-R模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。E-R模型直接从现实世界抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。总的E-R关系如图4.2。工资管理员员工工资管理员员工考勤管理查询部门签到管理含有1n111111n1n11n图4.2总R-R关系图部门信息(id,部门id,部门名称,负责人,电话,人数)。员工信息(id,员工id,姓名,性别,生日,邮箱,专业,学历,入职时间,岗位,专业,部门)。工资信息(id,员工id,基本工资,岗位工资,额外工资,养老金,医疗,住房公积金,税点,实领工资)。考勤信息(id,员工id,日期,签到时间,签退时间,是否请假)。若一个关系有多个候选码,则选定一个其中一个为主码(Primarykey)。候选码的诸属性成为主属性(Primeattribute)。不包含在任何候选码中的属性成为非主属性.[8]在上面的关系模式中,加下划线的称为主属性。在该系统中,主键都设置为id。企业人事信息管理系统主要用到登录表、部门表、员工信息表、工资表、考勤表。为了保证系统的安全,在登录系统的时候,需要输入管理员正确的用户名和密码,来进行相应的各种操作,生成员工账号,默认密码等。登录表:(管理员实体)如图4.3。图4.3图4.3登录实体及属性在一个企业人事信息管理系统中,部门表是企业中基本的信息,能让员工充分的了解、认识公司的结构,快速熟悉部门相关基本信息。部门表:(部门实体)如图4.4。图4.4图4.4部门实体及属性在一个企业人事信息管理系统中,员工的信息是其中重要的一个表,这个表记录了员工的基本信息,所以表的字段有点多,并且员工可根据管理员生成的账号进行登录,进行密码修改,来保证安全性的操作。员工信息表:(员工信息实体)如图4.5。图图4.5员工实体及属性在企业中,工资是每个企业必不可少的,但是如何结算工资又是各有不同,在数据库中设计了一下字段,并且工资与考勤挂钩,实现对员工的考核,加强员工的制度管理。工资表:(工资实体)如图4.6。图4.6图4.6工资实体及属性最后,在本企业人事信息管理系统中,涉及到考勤结算工资,员工的考勤信息是通过数据库来进行记录和相关操作的。考勤信息:(考勤实体)如图4.7。管理员有添加请假信息,普通用户只能实现签到签退进行考勤记录。图4.7考勤图4.7考勤实体及属性在数据库设计中,使用的是phpMyAdmin()是一个与MySQL交互的Web界面,具有创建表、导入或导出记录等功能。phpMyAdmin是一个图形界面,是PHP编写的最流行的Web软件。且phpMyAdmin设计合理并且易于使用。[9]表4.1admin表字段名数据类型是否为空是否为主键注释idint(32)否是序号a_idint(32)否否账号pwdvarchar(64)否否密码namevarchar(64)否否管理员表4.2atten表字段类型是否为空是否为主键注释idint(11)否是序号u_idint(16)否否员工iddayvarchar(16)否否日期begin_timevarchar(16)否否签到时间end_timevarchar(16)否否签退时间表4.3part表字段类型是否为空是否为主键注释idint(11)否是序号p_idint(11)否否部门idnamevarchar(64)否否部门名称bossvarchar(16)否否部门负责人telvarchar(16)否否联系电话numint(10)否否部门人数表4.4user表字段类型是否为空是否为主键注释idint(11)否是序号u_idint(16)否否员工idpwdvarchar(64)否否密码namevarchar(64)否否姓名sexvarchar(2)否否性别birthdate否否生日e_mailvarchar(50)否否邮箱majorvarchar(16)否否专业eduvarchar(16)否否学历timedatatime否否入职时间positionvarchar(16)否否岗位partvarchar(16)否否所在部门表4.5wages表字段类型是否为空是否为主键注释idint(11)否是序号u_idint(16)否否员工idbase_wfloat(10,2)否否基础工资position_wfloat(10,2)否否岗位工资extra_wfloat(10,2)否否额外工资old_enfloat(10,2)否否养老金medical_enfloat(10,2)否否医疗保险house_enfloat(10,2)否否住房公积金tax_enfloat(10,2)否否所得税real_wfloat(10,2)否否实领工资第5章系统实现5.1模块界面设计5.1.1登录模块界面设计登录页面有输入账号和密码文本框,还有选择登录用户的权限选择,系统登录成功后,进入主系统界面,如果用户名不对,则会弹出用户不存在提示框,并停留在登录页面,如果密码不对,则会弹出密码不正确的提示框。如果账号密码都正确,页面就会根据登录的权限选择进入不同的主系统页面,只有管理员才有更多的权限,比如添加、修改、删除、查询权限,而普通用户,即员工用户只能进行很少部分的操作,比如,查询操作。具体登录操作流程图如5.1。开始开始登录验证根据不同的权限进入不同的主系统YN图5.1登录流程图登录界面美观,符合现代企业的形象。如图5.2。图图5.2登录界面图如果后台验证成功后,则会跳转到相应的主系统界面。管理员界面如图5.3,普通用户如图5.4。图5.3管理员界面图图5.3管理员界面图图5.4普通用户界面图图5.4普通用户界面图5.1.2部门信息管理界面设计该系统的部门管理设计页面只有管理员权限登录才能有对公司的部门进行添加、修改、删除、查询操作。如图5.5。图5.5管理员添加部门界面图5.5管理员添加部门界面点击添加按钮,填写需求信息,并确定添加即可在下面表单中出现记录。而修改和删除必须选择一条条目才能进行修改和删除。5.1.3员工信息管理界面设计该系统界面的员工信息管理管理员拥有添加、修改、删除、查询的按钮功能操作,普通用户只能做简单的查询、浏览相关的基本信息。如图5.6。图5.6管理员员工管理界面图5.6管理员员工管理界面5.1.4工资信息管理界面设计该系统界面的工资信息管理有管理员对员工工资信息及其福利的填写,并根据考勤记录来实现考核,计算实领的工资信息。如图5.7。图5.7管理员工资管理界面图5.7管理员工资管理界面5.1.5考勤信息管理界面设计该系统的考勤信息,管理员没有权限进行修改员工的上下班签到信息,只能添加员工的请假信息,员工实现签到、签退操作。管理员能对员工请假信息进行添加。如图5.8。图5.8管理员考勤管理界面图5.8管理员考勤管理界面5.2主要模块功能代码实现5.2.1系统登录代码实现在HTML中输入JavaScript时,需要使用<script>标签。在<script>标签中,language特性声明要使用的脚本语言。[10]登录部分代码如下: <style> .body{ background:url(../image/bgImage.png)no-repeat; background-size:100%100%; } </style>//设置背景图片 </div><!--/main--> <linkrel="stylesheet"type="text/css"href="../css/html/login.css"property=""/> <script> functionuserLogin(){ document.getElementById('userId').value=document.getElementById('adminId').value; document.getElementById('userPwd').value=document.getElementById('adminPwd').value; if(document.getElementById('adminId').value==''||document.getElementById('adminPwd').value==''){return;} document.getElementById('userForm').submit(); } </script>管理员账号为888888,密码为12345a。登录时,用户名输错或密码输错,会弹出报错提示框。如图5.9,图5.10。图图5.9用户名报错框图5.10图5.10密码报错框调用函数代码如下:$userId=$_GET['userId'];//获取传值页面name属性的值 $userPwd=$_GET['userPwd'];//获取传值页面UserPwd属性的值 //读取所有数据 if(!empty($_GET['userId'])&&!empty($_GET['userPwd'])){ if($result=mysql_query("SELECT*FROMadminWHEREa_id='$userId'")){ $row=mysql_fetch_array($result); switch(($row['name']?2:0)+($row['pwd']===$userPwd)){ case0: echo"<script>alert('用户不存在');window.location.href='/html/login.html'</script>"; exit; case1: echo"<script>alert('出错');window.location.href='/html/login.html'</script>"; exit; case2: echo"<script>alert('密码错误');window.location.href='/html/login.html'</script>"; exit; case3: $_SESSION['userName']=$row['name']; break; default: echo"<script>alert('出错');window.location.href='/html/login.html'</script>"; exit; } }else{ echo"<script>alert('程序错误');window.location.href='/html/login.html'</script>";exit; } }管理员和普通用户代码前面使用了session_start()函数,创建、访问或删除session。这个函数将试图在session首次启动时发送一个cookie,因此它必须在任何HTML或空白被发送至Web浏览器之前调用。因此,在使用session的页面中,必须在脚本的起始运行调用session_start()函数。[11]调用代码如下:<?phperror_reporting('error');session_start(); if($_GET['opera']=='loginOut'){ $_SESSION['user']=''; header('location:/html/login.html'); exit; } date_default_timezone_set(PRC);?>5.2.2部门信息管理模块代码实现管理员添加部门,添加部门信息。同时,已经添加过的部门名称,如果再次添加,则会出现部门已经存在的提示框。同理部门ID亦是如此。写入部门信息代码如下:$result=mysql_query("SELECT1FROMpartWHEREname='$name'limit1");if($row=mysql_fetch_array($result)){echo'<script>alert("部门名称已经存在")</script>';}else{$result=mysql_query("SELECT1FROMpartWHEREp_id='$p_id'limit1");if($row=mysql_fetch_array($result)){echo'<script>alert("部门id已经存在")</script>';}else{mysql_query("insert`part`(`p_id`,`name`,`boss`,`tel`,`num`)values($p_id,'$p_name','$p_boss','$p_tel','$p_num')");}修改部门信息,并且更新数据库的部门信息。修改部门信息代码如下: $result=mysql_query("updatepartsetp_id='$p_id',name='$p_name',boss='$p_boss',tel='$p_tel',num='$p_num'WHEREp_id='$p_id'");选择要删除的条目,进行删除操作,并从数据库中删除。删除部门信息代码如下: $result=mysql_query("select1FROMpartWHEREid='$p_id'limit1");if($row=mysql_fetch_array($result)){ mysql_query("deleteFROMpartWHEREid='$p_id'");}else{echo'<script>alert("无法删除本条数据,数据库出错")</script>';}5.2.3员工信息管理模块代码实现添加员工,生成自动生成员工账号,并且根据入职时间、性别生成自动生成员工编号,尾声数字为‘1’代表‘男’,尾数数字为‘0’代表‘女’。实现代码如下: if($sex=='男'){ $sexVal=1; }else{ $sexVal=0; } $time_r=str_replace("-","",$time); $u_id=$time_r.mt_rand(100000,999990).$sexVal; mysql_query("INSERTINTO`user`(`id`,`u_id`,`pwd`,`name`,`sex`,`birth`,`e_mail`,`major`,`edu`,`time`,`position`,`part`)VALUES(NULL,$u_id,'$pwd','$name','$sex','$birth','$e_mail','$major','$edu','$time','$position','$part')");选择要修改的条目,对员工用户信息进行修改操作,并将修改的信息更新到数据库。实现代码如下: $result=mysql_query("updateusersetpwd='$pwd',name='$name',birth='$birth',e_mail='$e_mail',major='$major',edu='$edu',time='$time',position='$position',part='$part'WHEREid='$id'");删除用户信息操作,实现从界面、数据库删除不需要的信息,代码如下: $result=mysql_query("select1FROMuserWHEREid='$u_id'limit1");if($row=mysql_fetch_array($result)){ mysql_query("deleteFROMuserWHEREid='$u_id'");}else{echo'<script>alert("无法删除本条数据,数据库出错")</script>';}5.2.4工资信息管理模块代码实现对员工工资信息写入,实现实际工资计算,并且实际工资根据考勤计算。实现代码如下: mysql_query("INSERTINTO`wages`(`id`,`u_id`,`base_w`,`position_w`,`extra_w`,`old_en`,`medical_en`,`house_en`,`tax_en`)VALUES(NULL,'$u_id','$base_w','$position_w','$extra_w','$old_en','$medical_en','$house_en','$tax_en')"); }实领工资的算法代码实现如下:if($_GET['nav']=='wages'&&empty($_GET['searchWages'])){ echo'<tr><th>选取</th><th>工号</th><th>基本工资</th><th>岗位工资</th><th>额外工资</th><th>养老金</th><th>医疗</th><th>住房公积金</th><th>税点</th><th>实领工资</th></tr>'; if(!empty($_GET['pageNum'])){ $pageNum=$_GET['pageNum']; $start=($pageNum-1)*10; }else{ $start=0; } $length=10; $result=mysql_query("SELECT*FROMwageslimit$start,$length"); while($prow=mysql_fetch_array($result)){ $u_id=$prow['u_id']; $day=date("Y").'0'.(intval(date("m"))-1); $resultB=mysql_query("SELECT*FROMattenwheredaylike'%$day%'ANDu_id='$u_id'"); $workAll=0; $extra=0; while($prowa=mysql_fetch_array($resultB)){ $work=1; if($prowa['leave']==''||$prowa['leave']=='0'){ $begin=$prowa['begin_time']; $late=intval(substr($begin,0,2))-8+intval(substr($begin,2,2))/60;//迟到时间;负数为迟到,单位小时 if(!empty($prowa['end_time'])){ $end=$prowa['end_time']; $before=intval(substr($end,0,2))-18+intval(substr($end,2,2))/60;//早退 $extra=(intval(substr($end,0,2))-intval(substr($begin,0,2)))+(intval(substr($end,2,2))-intval(substr($begin,2,2)))/60; }else{ $before=-5;//未签退 $extra=0; } if($late>0.5){ $work=0.8; } if($late>2){ $work=0.6; } if($late>4){ $work=0;} if($before<-0.5){ $work=$work-0.2; } if($before<-2){ $work=$work-0.4; } if($before<-4){ $work=0; } }else{ if($prowa['leave']=='1'){ $work=0.6; } if($prowa['leave']=='2'){ $work=0.8; } } if($work<0){ $work=0; } //echo$work.'/'; $workAll+=$work; } $workDay=$workAll/22; if($workDay<0.9){ $baseDeBuffer=0.8; }else{ $baseDeBuffer=1; }$extraWages=ceil($extra*10); $workWages=ceil($prow['base_w']*$baseDeBuffer+$prow['position_w']*$workDay+$extraWages); echo'<tr><td><inputtype="checkbox"id="'.$prow['id'].'"name="partCheckbox"onclick="selectTr(this)"></td><td>'.$prow['u_id'].'</td><td>'.$prow['base_w'].'</td><td>'.$prow['position_w'].'</td><td>'.$prow['extra_w'].'</td><td>'.$prow['old_en'].'</td><td>'.$prow['medical_en'].'</td><td>'.$prow['house_en'].'</td><td>'.$prow['tax_en'].'</td><td>'.$workWages.'</td></tr>';}计算方法:早上8点上班,晚上6点下班,只签到未签退按照上0.5天班算,迟到半小时内按照0.8天班算,迟到两小时按照0.6天班算,迟到超过四小时不算工时,早退半小时扣0.2天工时,早退两小时扣0.4天工时,早退4小时算没上班,事假按照0.6天工时,病假0.8天工时,一个月工时打不到19.8天基础工资只拿80%,加班一小时10块钱计算。通过以上计算得出一个月的上班时间,正常工资等于基本工资加岗位工资,实际工资=基本工资*(不满19.8天将是80%,超过19.8天基本工资全拿)+岗位工资*上班天数/22+加班工资;五险一金按照数据存放的比例*基本工资。5.2.5考勤信息管理模块代码实现为了保证公平、公正性,管理员没有删除或修改员工的考勤记录,只有添加员工请假信息。while($prow=mysql_fetch_array($result)){ if($prow['leave']='1'){ $leave="事假"; } if($prow['leave']='2'){ $leave="病假"; } if($prow['leave']='0'){ $leave="正常"; }echo'<tr><td><inputtype="checkbox"id="'.$prow['id'].'"name="partCheckbox"onclick="selectTr(this)"></td><td>'.$prow['u_id'].'</td><td>'.$prow['day'].'</td><td>'.$prow['begin_time'].'</td><td>'.$prow['end_time'].'</td><td>'.$leave.'</td></tr>';}员工通过登录网站进行签到签退考勤,来记录是否上班迟到,能起到督促的作用,对企业的员工的管理有很大的帮助。实现签到签退代码如下:if($_SESSION['user']!=''){ $u_id=$_SESSION['u_id']; echo'<divstyle="width:100%;height:150px;float:right;background:url(image/welcome.png)no-repeat;background-size:100%100%;"><div><aonclick="loginOut()"style="color:#fff;float:right;">退出</a></div><divstyle="width:120px;height:30px;float:right"><spanstyle="color:#fff;">欢迎你:'.$_SESSION['user'].'</span></div></div>'; echo'<divstyle="width:100%;height:100px;position:absolute;"><span>当前时间:</span>'.date("Y-m-dH:i:sa"); echo'<formaction="userControl.php"method="get"><inputtype="hidden"name="check"value="up">'; $day=date("Y").date("m").date("d"); $result=mysql_query("SELECTCOUNT(id)FROMattenwhereday='$day'andu_id='$u_id'"); $row=mysql_fetch_row($result); if($row[0]>0){ echo'<spanstyle="color:red;">已经签到</span>'; }else{ echo'<inputtype="submit"class="control-button"value="签到">'; } echo'</form>'; $result=mysql_query("SELECTend_timeFROMattenwhereday='$day'andu_id='$u_id'");$row=mysql_fetch_array($result); if(empty($row['end_time'])){ echo'<formaction="userControl.php"method="get"><inputtype="hidden"name="check"value="down"><inputtype="submit"class="control-button"value="签退"></form>'; }else{ echo'<spanstyle="color:red;">已经签退</span>'; } echo'</div>'; } if($_GET['check']=='up'){ $u_id=$_SESSION['u_id']; $day=date("Y").date("m").date("d"); $begin_time=date("H").date("i"); $result=mysql_query("SELECTCOUNT(id)FROMattenwhereday='$day'andu_id='$u_id'"); $row=mysql_fetch_row($result); if($row[0]>0){ mysql_query("updateattensetbegin_time='$leaveAtten'whereday='$day'andu_id='$u_id'"); }else{ mysql_query("insert`atten`(`u_id`,`day`,`begin_time`,`end_time`,`leave`)values('$u_id','$day','$begin_time','',0)"); } } if($_GET['check']=='down'){ $u_id=$_SESSION['u_id']; $day=date("Y").date("m").date("d"); $end_time=date("H").date("i");$result=mys
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘考试题库《教育公共基础知识》考点巩固(二)-23
- 培训机构教务转正述职报告
- 企业员工培训方案优化建议
- 变电站安全知识培训
- 高中化学专题3专题复习课同步训练苏教版选修4
- 大班美术《各种各样的鱼》说课稿
- pa相控阵检测培训课件
- 生产岗位培训
- 物流产业园项目投资协议书
- 2024年帮买车位免责协议书模板
- BIM技术应用管理办法
- 马原辨析题题库
- ev3产品介绍(颈动脉)
- 表格式教学设计方案模板举例
- 720--消防自动喷水灭火系统(干式)讲解
- 卢森宝亚压缩空气泡沫系统
- AQL抽样检验表(标准版本2(1).0)
- 桶装水领用登记表
- 企业中层管理人员素质测评(附答案)
- 《新概念英语》第二册(电子版)
- 活性焦过滤吸附法污水深处理技术
评论
0/150
提交评论