基于Asp的人事工资管理系统.docx

上传人:牧羊曲112 文档编号:1906007 上传时间:2022-12-25 格式:DOCX 页数:25 大小:127.69KB
返回 下载 相关 举报
基于Asp的人事工资管理系统.docx_第1页
第1页 / 共25页
基于Asp的人事工资管理系统.docx_第2页
第2页 / 共25页
基于Asp的人事工资管理系统.docx_第3页
第3页 / 共25页
基于Asp的人事工资管理系统.docx_第4页
第4页 / 共25页
基于Asp的人事工资管理系统.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于Asp的人事工资管理系统.docx》由会员分享,可在线阅读,更多相关《基于Asp的人事工资管理系统.docx(25页珍藏版)》请在三一办公上搜索。

1、编号:山 西 信 息 职 业 技 术 学 院毕 业 设 计毕业设计题目:基于的ASP人事工资管理系统 系 别: 信息管理系专 业: 软件技术班 级: 软件0901学生姓名: 李晓芳指导教师: 刘磊 2011年2月28日摘要人事工资管理系统是企业内部用以管理人事档案和工资等信息的实用性软件。用它代替企业传统的手工管理方式,大大提高了工作效率和安全性,提高了信息处理的速度和准确性,节省了工作人员的时间和精力,使企业人事管理和工资管理系统化、科学化、规范化和自动化。是现代企业必不可少的管理工具。本系统采用ASP语言和Access数据库开发而成,包括职工管理、档案管理、考勤管理、工资管理等模块,并将工

2、资计算与考勤、奖惩相关联,生成较合理的薪酬管理体制,以产生有效的激励机制。同时系统设置了一些必要的辅助功能,比如对员工合同到期提醒和生日提醒等功能,有助于巩固企业与员工的心理契约,促进员工积极向上,向公司靠拢。系统能够实现数据的录入、插入、删除、查询、统计、更新等功能,能满足企业职工管理方面的基本要求。关键词:ASP;Access;数据库;人事;工资A Management System of Personnel and PayrollAbstractThe management system of personnel and payroll is practicable informatio

3、n software used for managing personnel records and payroll in enterprises. The use of the software instead the management way of the handicraft may increase the work efficiency and safety, increase the speed and accuracy of information treatment, save the time and amount of labor, and make the manag

4、ement of personnel and payroll systematical, scientific, standardized, and automatic in enterprises. It is the absolutely necessarily management tool for modern enterprises.The software system was developed using ASP language and Access data, including the management modules of personnel, records, a

5、ttendance, and payroll. The payroll is related with attendance, incentive, and punishment to generate a comparatively reasonable salary management system for efficient incentive to personnel. Some necessary auxiliary functions, such as the reminding of deadline of contract and birthday of personnel,

6、 are set in the software system. It may facilitate the psychological contract between enterprises and personnel encourage personnel to actively devote even more of their efforts in support to enterprises. The software system may realize logging data, inserting data, deleting data, inquiry, counting

7、data, replacing data, and may satisfy the basic requirements in personnel management in enterprises.Key words: ASP;Access;data base;personnel;Salary目 录1 引言11.1 系统开发背景11.2 系统研究意义11.3 系统研究方法12 系统需求分析12.1可行性分析12.1.1可行性分析22.1.2 经济可行性22.1.3 操作可行性22.2 系统目标22.3 系统功能需求分析23 数据库设计33.1 数据库表简介33.2 数据库结构设计33.3 数

8、据库连接文件64 系统功能模块详细设计及实现64.1 模块设计64.2 功能模块的说明74.3 系统界面的设计84.3.1 系统登录界面的设计84.3.2 系统主界面的设计94.3.3 系统各模块界面的设计95 系统评价165.1 系统的特点165.2 系统的缺点175.3 将来可能提出的要求17结 论17参考文献18致 谢19声 明201 引言1.1 系统开发背景随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大范围普及,使计算机的应用逐渐由科学计算、实时控制等方面向非数值处理的各个领域中渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库

9、管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。1.2 系统研究意义人事工资管理是企业内部很重要的一个管理事项,其管理方式和工具对企业的决策者和管理者来说至关重要。但一直以来大多数企业内部人事和工资的管理基本上都是传统的手工操作,这种人工管理的方式效率低,保密性差,而且很难满足及时记录、随时查询的需要,为信息的管理者带来诸多不便。利用计算机进行信息控制和数据处理,不仅从整体上大大提高了工作效率和安全性,而且具有存储量大,寿命长,成本低等优点,这些更是手工管理所无法比拟的。用计算机支持完成人事管理的日常事务,能够使人事管理自动化和科学化,提高了信息处理

10、的速度和准确性;工资管理更是一项琐碎、复杂而又十分细致的工作,如果实行手工操作,会浪费工作人员很多时间和精力,且失误在所难免,而使用计算机进行工资计算和发放,不仅能够保证工资核算准确无误,而且能对相关信息进行统计,使工资与考勤、奖惩等事项合理挂钩,使企业内部管理体制更加科学有效。总之,为了很好的实现数据的录入、插入、删除、查询、统计、更新等功能,以达到使企业人事工资信息管理科学化、系统化、规范化和自动化的目的,建立人事工资管理系统是十分必要的。1.3 系统研究方法根据系统服务对象的实际情况和对管理员工信息和管理员工薪资的具体需求,我利用ASP和Access数据库,结合数据库原理及应用,软件工程

11、开发方法,在经过深入地学习之后,开发了此人事工资管理系统。以下将具体介绍整个开发过程中所涉及的问题及解决方法。2 系统需求分析2.1可行性分析2.1.1可行性分析本系统使用ASP(Active Server Pages)作为开发工具。ASP采用面向对象的编程方法-把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性,在ASP脚本中可以方便地引用系统组件和ASP内置组件,还能够通过第三方组件来扩充功能;而且用ASP编写的页面非常小巧;灵活;实用无需编译;可以方便的进行人机交互。同时又可以用非常简单的语句实现对数据库的操作。由于ASP程序的短小精干,对于繁忙的网络系统不会造成很大的压力。系

12、统采用Access作为后台数据库开发工具。Access作为Microsoft Office套件中的数据库管理软件,其图形化界面使数据库管理更加简洁、灵活,同时又具有丰富的编程接口以及强大的报表功能,能够为我们从事程序开发提供了很多方便。2.1.2 经济可行性随着科学技术的发展和人们生活水平的不断提高,计算机的价格也已经越来越能被很多人所接受。不管是在企业还是家庭,计算机的使用已经成为普遍现象。所以从用户经济方面考虑,本系统的开发不会有很大的困难和风险。且系统本身成本较低,不需要很多的开发费用和以后的维护费用。2.1.3 操作可行性由于本系统管理的对象比较单一,都是企业员工,且每个数据库内容具有

13、较强的关联性,设计的过程不是特别复杂,因此,比较适合于采用数据库管理。且因为本系统所耗费的资源非常小,企业一般使用的微机无论在软件上还是硬件上都可以满足运行要求。2.2 系统目标一个基于网络的人事工资管理系统,能在网络环境下实现数据的录入、插入、删除、查询、统计、更新等功能。将工资管理作为一个独立的模块与人事管理相联系,同时关联员工的考勤和奖惩等管理,来生成每个员工的基本工资、津贴、实际发放工资等等,能够实现人事信息和工资管理的科学化、系统化、规范化和自动化。2.3 系统功能需求分析人事工资管理系统是为服务于企业内部人事和工资信息的管理而开发,主要用于企业使用电脑掌握和记录员工档案、快速计算和

14、记录工资发放、全面统计员工考勤和奖惩、培训等事项,要求系统界面美观大方,数据的修改和删除简单方便,数据具有可靠性和稳定性。具体应达到以下目的:(1)科学管理员工档案,优化分类,全面反映员工情况。(2)管理考勤信息,保证工作秩序。(3)记录薪资发放信息,保证有效的激励机制。(4)管理员工奖惩信息,促进员工积极向上。3 数据库设计3.1 数据库表简介本系统采用Access进行数据库的设计。根据系统功能需求及功能模块的划分要求,创建一个数据库文件worker.MDB。在此数据库中建立整个数据表:职工信息表(worker):存放企业人员姓名、编号、所在部门等基本信息。管理员信息表(user):存放操作

15、员用户名、密码、权限等基本信息。部门信息表(dept):存放部门名称、部门编号等信息。考勤记录表(rool):存放每位员工每月早退、迟到、请假、加班等的日期和时间。考勤统计表(roolstat):存放每位员工一个月的上班天数、加班时间等。事项记录表(others):存放员工奖惩记录、培训记录、调动记录等重要事项记录,包括员工及记录事项、日期和说明。工资数据管理表(paymana):存放员工基本工资、津贴、工资计算使用公式等工资数据。工资发放记录表(pay):存放员工每月发放的基本工资、津贴、加班费、应发工资、实发工资等工资数额。3.2 数据库结构设计对用来进行数据存取的所有8个表的数据项和数据

16、结构见表1到表8所示:表1 职工信息表(worker)字段名称数据类型说明id自动编号自动编号name文本姓名card_no文本编号cardno文本身份证号sex文本性别birthday日期/时间出生日期add文本籍贯wh文本文化程度zc文本职称zw文本职务jc文本进厂日期hth文本合同号htq文本合同期htdq日期/时间合同到期日sj文本手机号mail文本Emailbyxx文本毕业学校part_id数字所在部门编号zy文本专业表2 管理员信息表(user)字段名称数据类型说明user_id自动编号自动编号username文本用户别名password文本用户密码turename文本真实姓名le

17、ader数字管理档案权限manager数字管理考勤记录权限login_time日期/时间登录时间表3 部门信息表(dept)字段名称数据类型说明uses_id自动编号编号uses_name文本部门名称memo文本备注表4 考勤记录表(rool)字段名称数据类型说明 id文本自动编号wid文本员工号sx文本上午或下午ctime数字迟到或早退时间jtime 数字加班时间kq文本是否缺勤date数字日km数字月ky数字年表5 考勤统计表(roolstat)字段名称数据类型说明id自动编号自动编号wid数字员工编号month数字月份kyear数字年份cd数字迟到次数sj数字事假次数bj数字病假次数kg

18、数字缺勤次数jb数字加班次数ctime数字迟到时间累计jtime数字加班时间累计ztime数字早退时间累计cdd文本迟到日zdd文本早退日sdd文本事假日jbb文本加班日kdd文本缺勤日bdd文本病假日表6 工资数据管理表(paymana)字段名称数据类型说明id自动编号自动编号wid数字员工编号jg货币基本工资jt货币津贴或奖金gs数字工资计算公式bz文本备注表7 工资发放记录表(pay)字段名称数据类型说明id自动编号自动编号wid数字员工编号month数字月gy数字年jg货币基本工资jt货币津贴或奖金jb货币加班费qq货币缺勤扣除yf货币应发工资ss货币税收扣除qk货币其他扣除sf货币实

19、际发放yn日期/时间发放日期表8 事项记录表(others)字段名称数据类型说明id自动编号自动编号wid数字员工编号sx文本事项名称jl文本事项记录sl数字天数Rq日期/时间日期bz文本备注3.3 数据库连接文件由于系统在整个运行过程中都是与数据库workerMdb相联系的。所以为了方便使用在各个程序中通用的数据库连接的变量,专门设计了数据库连接文件。它的作用是打开数据库,用于连接到指定的数据库文件,该文件将被其他各页的代码文件用包含文件的方法所调用。文件代码如下:Set conn = Server.CreateObject(ADODB.Connection) 创建一个数据库连接conn.o

20、pen DRIVER=Microsoft Access Driver (*.mdb); DBQ= & DefaultDir &server.mappath(worker.mdb)&; 设置数据源来源Set rs = Server.CreateObject(ADODB.Recordset)Set rs1 = Server.CreateObject(ADODB.Recordset)Set rs2 = Server.CreateObject(ADODB.Recordset)Set rs3 = Server.CreateObject(ADODB.Recordset) 4 系统功能模块详细设计及实现4.

21、1 模块设计人事工资管理系统共包括以下七个功能模块:职工管理模块、考勤管理模块、档案管理模块、工资管理模块、事项记录模块、其他事记模块、系统管理模块。其中每个模块又分为若干个小功能模块。其系统功能模块详细关系如图1所示:图1 系统模块结构图4.2 功能模块的说明人事工资管理系统的七个功能模块的详细介绍如下:1职工管理模块:实现用户自由的信息录入。结合人事变动完成本单位各类人员变动事宜,实时记录人员进入单位后的所有变化信息。实现对员工信息灵活的查询功能。2考勤管理模块:将考勤数据按月输入到系统中,系统将记录所有请假、矿工、迟到、早退等数据,并进行自动统计和汇总。3档案管理模块:提供全部人员记录,

22、用以记录和查看人员相关信息。4工资管理模块:实现对基本工资的管理,每月可以计算和修改工资数据,记录工资发放日期。5事项记录模块:根据单位情况设立培训、奖惩等事项记录。6其它事记模块:用于企业内部记录单位的基本信息和员工生日等,促进员工团结一致、积极向上。7系统管理模块:主要包括用户登陆和安全退出系统。提供有效的用户认证安全机制。4.3 系统界面的设计4.3.1 系统登录界面的设计系统登录界面是系统管理模块中重要的一部分。它是进入人事工资管理系统后显示的默认页面,也是在使用过程中需要重新登录时返回的页面。该页的主要作用是提供填写用户名和密码的表单,即描述了一个FORM。该页面主要是为了进行密码验

23、证而设置。其界面如图2所示:图2 系统登录页面打开人事工资管理系统后,系统提示输入用户名和密码进行登录,用户填写完并提交表单后,系统对数据库进行检索,以验证输入的用户名和密码是否正确。如有误,将发出警告信息,如数据库中有对应记录,则表示用户合法。其主要验证代码如下:dim user,password,selstorage 声明变量user=request(username)获取在登录界面中输入的用户名,并保存在变量user中password=request(password)sql=select * from user where username=&user& and password=&p

24、assword& 数据库查询语句rs.open sql,conn,3,2 执行数据库查询操作if rs.eof and rs.bof then 如果该记录为空response.writealert(错误的用户名或密码,请重新输入! ); 显示警告信息response.writejavascript:history.go(-1)返回上一页else 如当前记录不是数据集rs的最后一条或第一条记录以下是记录用户是否登录、登录时间以及登录IP地址rs(isonline)=Truers(login_time)=now()rs(ip)=Request.ServerVariables(REMOTE_HOST

25、)rs.update 执行操作 session(userlogin)=true 将会话级变量userlogin设置为真 session(storage)=selstorage session(username)=user 将用户名保存在会话级变量中以下是从数据集rs的当前记录中取得并保存在cookies中response.cookies(guestok)=true response.cookies(leader)=rs(leader) response.cookies(adminok)=rs(manager) response.redirect main.asprs.close 关闭连接end

26、 if4.3.2 系统主界面的设计通过用户验证后,进入人事工资管理系统的主页面。系统的主页面是由一个“T”字形结构的框架页面构成,它将该页面分成顶部系统名称显示页面、下面左侧菜单页面和右面主显示页面。其中菜单页是该页面的主题部分,实现了菜单的分类分级显示,主菜单项从上往下排成一列,平时子菜单是隐藏的,单击某一主菜单项时将展开它的所有子菜单项,同时其他主菜单项的子菜单项将紧缩回去。其界面如图3 所示:图3 菜单界面关于实现上述菜单功能,是通过分配显示空间的办法来解决的。初始时,给每个主菜单都初始化一个有限的紧缩空间,当点击某一主菜单项时,它的显示空间将被放大或缩小。在菜单展开和收缩的过程中都是用

27、菜单的高度来判断。由于本页面代码较长,函数太多,在此将不再详细介绍。4.3.3 系统各模块界面的设计由于系统模块较多,下面将只介绍部分模块的详细设计:(一)职工管理模块:本模块根据搜索内容和方式分为按部门查看员工和离职员工查看两部分。其中按部门查看员工的界面如图4所示: 图4 据部门查看员工页面搜索员工时,首先要获得表单提交的参数,建立与数据库的连接,读取符合搜索条件的记录。其关键代码如下:if not isempty(request(page) then 假如page不为空pagecount=cint(request(page) 提交page else 当page为空pagecount=1

28、当前页指定为第一页end ifif t3=0 thensql=select * from worker where name like %&t1&% and card_no like %&t2&% 查询数据库 elsesql=select * from worker where name like %&t1&% and card_no like %&t2&% and part= &t3&end ifrs.open sql,conn,1,1 执行操作该页所显示的记录数目是通过分页显示来实现的。每一页显示的记录数即人员个数用PageSize来表示,而当前记录所在的页号则由AbsolutePage来

29、确定。实现分页功能的代码如下: if rs.eof then 如果当前记录是数据集的最后一条记录 response.writealert(对不起,没有符合搜索条件的记录!); 显示警告 response.writejavascript:history.go(-1); response.end 停止处理脚本并返回当前结果 end if rs.pagesize=10 设置每页显示记录条数为10条 if pagecountrs.pagecount or pagecount=0 then 如果请求的页数大于总页数或小于等于0 pagecount=1 页码号变量设为1end if rs.Absolute

30、Page=pagecount 定位到结果集pagecount指定的页离职员工页面的显示与按部门搜索员工页面相似,其特点是在读取数据库中的记录时,读取字段OUTONE值为1的记录,表明该员工已经离职。其它代码和界面显示不再详细介绍。(二)档案管理模块:该模块包括新增员工档案的建立、已有员工档案资料的修改、及员工辞退信息的记录。下面着重介绍档案的建立:员工档案的建立包括档案信息输入和档案保存。新增员工页面如图5所示:图5 新增员工页面该页面主要是输入人员姓名编号所在部门等基本信息,以表单的形式提交由信息记录的代码文件进行处理。保存信息记录的关键代码如下:Set rs = Server.Create

31、Object(ADODB.Recordset) 创建数据集的实例sql=select * from worker 从worker表中查找所有记录rs.open sql,conn,3,2name=trim(request.FORM(name) 去掉字符串前后的空格memo=trim(request.FORM(memo)if len(memo)6 then rs(birthday)=birthdayend ifrs.update 执行更改操作,将添加的数据保存到数据库中rs.close 关闭连接(三)工资管理模块:工资管理模块包括员工工资的计算、工资按月统计和发放领取情况。员工工资计算页面如图6所

32、示:图6 工资计算页面计算工资前必先从下拉菜单中选择员工并指定月份,同时具备该员工的基本工资数据,还必须有该员工本月的考勤记录和统计,方可进行计算。ShowWorker是自定义函数,用来实现对下拉列表中员工的选择。其主要代码如下:sql1=select * from worker 查询数据库rs1.open sql1,conn,1,1 执行查询操作ntotal=rs.recordcount 将所有记录集数赋给变量ntotalif not rs1.eof then 如果符合查询条件的记录存在rs1.movefirst 使当前记录成为记录集的第一条记录do while not rs1.eofres

33、ponse.write+rs1(name)+chr(13)+chr(10) 输出指定内容 rs1.movenext 使当前记录成为记录集的下一条记录loopelse 如果没有符合查询条件的记录 response.write 没有可选择的员工+chr(13)+chr(10) 显示警告end ifrs1.close 关闭连接此模块是和考勤模块相关联的,其中“本月出勤”和“本月加班”都是从考勤统计表中读取数据,而基准工资是通过下面的公式来计算: jzgz=(rs3(sb)-rs3(kg)+rs3(jtime)/8)*jbgz/30以下是实现加班补贴和应发工资的相关代码:Set rs2 = Serve

34、r.CreateObject(ADODB.Recordset)sql2=select * from roolstat where month=&kmonth& and kyear=&kyear& and wid=&rs(id)& and jtime4 rs2.open sql2,conn,1,2jbbt=rs2.recordcount*5 计算加班补贴rs2.closeyfgz=jbbt+jzgz 应发工资等于加班补贴和基准工资之和员工工资统计页面主要用于显示所有员工某一月的工资数额,其页面显示如图7所示:图7 工资统计页面由于该文件比较大,为了更有效的传送文件,将输出页面设置为缓冲。即将Re

35、sponse对象的属性Buffer设置为Ture来实现。页面默认的日期是当前年,和上一月。通过将表示年的变量yy和表示月的变量mm分别赋值为year(date()和month(date()-1来实现。如图所示,当输入所需的日期信息,并按确认按扭后,将建立与数据库的连接,读取信息,查询结果将在右边“职务”、“工资”等下面显示。实现数据库查询的代码片段如下:Set rs1 = Server.CreateObject(ADODB.Recordset) 创建数据库记录集对象rs1sql1=select * from pay where wid=&rs(id)& and month=&mm& and g

36、y=&yy& 根据所需员工号、月、年字段来检索工资发放记录表rs1.open sql1,conn,1,2 执行数据库查询操作if not rs1.eof then 如果当前记录不是记录集的最后一条记录 rs1.movelast 使当前记录成为记录集的最后一条记录do while not rs1.Bof 如果当前记录不是记录集的第一条记录 下面将具体从数据库中查询相应字段显示在页面相应位置的代码省略工资领取页面用于记录员工领取工资的日期记录,单击该页面的领取项,便将当前时间写入数据表的对应记录号中。其页面如图8所示:图8 工资领取页面其代码如下:Set rs = Server.CreateObj

37、ect(ADODB.Recordset) 创建数据库记录集对象sql=select * from pay where id=&request(id)rs.open sql,conn,3,2 用记录集对象打开SQL语句rs(fdate)=date()rs.update 执行更新操作rs.close 关闭连接response.redirect pay.asp(四)考勤管理模块:因为考勤情况直接关系到员工考核和工资计算,因此对于一个企业来说,考勤记录和统计是非常重要的。而大部分中小企业都是使用签到或者考勤打卡机进行考勤,这些信息需要输入计算机才能进行考勤记录的统计。考勤记录表是记录员工每月出勤情况的记录表,按月进行统计,可以记录每位员工的出勤天数事假病假时间;迟到早退时间和矿工记录及加班时间。考勤记录的页面显示如图9所示:图9 考勤记录页面在记录考勤事项时,首先要确定作考勤记录的员工姓名,输入员工编号用以核对,并选择月份。随后在每个考勤单位时间(半天)中输入相应的记录项。考勤记录页是一个表单,因为要显示每个月中的31日考勤情况,所以特别用了循环方式fo

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号