当前位置:文档之家› 工资管理系统

工资管理系统

毕业设计设计题目:企业工资管理系统

完成时间:

设计作者:

学号:

学校班级:

联系电话:

摘要

企业的工资管理是公司管理的一个重要内容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用微软的VB6,后台数据库采用Access数据库。VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。 Access 数据库具有与VB6无缝连接、操作简单、易于使用的优点。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志

关键词:工资管理信息管理数据查询数据库

目录

摘要………………………………………………………………………………第一章绪论……………………………………………………………………

1.1 数据库管理系统简介………………………………………………

1.2 图书管理系统………………………………………………………

1.3 开发工具简介……………………………………………………

第二章企业工资管理系统设计分析…………………………………………

2.1 应用需求分析……………………………………………………………

2.2 系统功能模块划分………………………………………………………

2.3 系统数据库设计…………………………………………………………

第三章企业工资管理系统应用程序设计……………………………………

3.1 “登录”模块详细设计…………………………………………………………

3.2 “主窗体”模块详细设计………………………………………………………

3.3 各项子模块详细设计…………………………………………………………

3.4 各项子模块编写要点………………………………………………………

第四章结束语………………………………………………………………致谢……………………………………………………………………………

参考书目……………………………………………………………………………

第一章绪论

1.1数据库管理系统

数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MS Access 2000就是一种关系型数据库管理系统。

关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。

1.2 企业工资管理系统

企业工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现工资发放错误的现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。正是企业工资管理的这种重复性、规律性、时间性,使得企业工资管理计算机化成为可能。企业工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的企业工资记录。

1.3 开发工具简介

微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因此,本系统使用MS Visual Basic 6.0开发。

第二章企业工资管理系统设计分析

2.1 应用需求分析

需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求。非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。

软件需求一般包含三个层次—业务需求、用户需求和功能需求,还包括非功能需求。业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求:描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明。功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。

2.2 系统功能模块划分

开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如下。

〃企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。并且负责设置员工工资的计算公式。

〃企业工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表。〃系统部分:包括添加用户和修改密码。

2.3系统数据库设计

数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。

针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,

为本系统设计如下的数据项和数据结构:

〃基本工资信息:包括员工编号和基本工资(元/小时)。

〃其他项目信息:包括员工编号、奖金、津贴、福利、扣发等。

〃计算公式信息:包括加班费的百分比、出差工资、旷工、迟到早退扣发等。

〃出勤统计信息:包括员工编号、姓名、统计日期、出勤天数、迟到早退次数、加班天数、加班天数等。

〃工资统计信息:包括员工编号、姓名、统计日期、基本工资、奖金、津贴、福利,加班费、出差费、扣发、总额等。

启动Access 2000,创建新的数据库,命名为Salary.mdb和Person.mdb,保存在要存放这个系统所有工程文件的文件夹中。在使用的时,要把应用程序和这两个数据库保存在同一个文件夹中。

员工工资统计信息表:

员工信息表:

用户信息表:

第三章企业工资管理系统应用程序设计3.1 “登录模块”详细设计

登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。

登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。

3.2 “主窗体”模块详细设计

在这个项目中,选择使用多文档界面。使用这个窗体的好处是可以使程序更加有条理。对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。

主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。主窗体是进行相关操作的主界面。在这几个里,管理员有所有的权利进行各种操作。

3.3各项子模块详细设计

选择“系统”—>“添加用户”菜单,在添加用户的窗体里,输入新的用户名称和密码后,单击“确定”按钮,系统将会添加新的用户。

sql = "insert into userinfo (userid,userpwd) values('" & username

sql = sql & "','" & password & "')"

Call transactsql(sql, "salary")

MsgBox "添加成功", vbOKOnly + vbExclamation, "添加结果"

username.Text = ""

password.Text = ""

confirmpwd.Text = ""

username.SetFocus

选择“系统”—>“修改密码”菜单,在修改密码的窗体里,输入旧密码和2次输入新密码后,单击“确定”按钮,系统将会更改当前用户的密码。

userpassword = newpwd

sql = "update userinfo set userpwd='" & newpwd & "'where userid='" & strusername & "'"

Call transactsql(sql, "salary")

MsgBox "密码已经修改", vbOKOnly + vbExclamation, "修改结果"

选择“工资信息设置”—>“基本工资设置”菜单设置员工的基本工资,可以根据员工的编号,或者根据员工职务设置基本工资,设置的基本工资为每个小时的工资。

Set rs = getrs(sql, "salary")

If rs.EOF = False Then

sql = "delete from salarysetting where stuffid='" & https://www.doczj.com/doc/c95112719.html,stuffid.Text & "'"

Call transactsql(sql, "salary")

End If

rs.Close

id = https://www.doczj.com/doc/c95112719.html,stuffid.Text

Call addrecord

MsgBox "已经设置基本工资", vbOKOnly + vbExclamation, "添加结果"

Call init

sql = "select * from salarysetting"

Call frmresult.basictopic

Call frmresult.showbasic(sql)

frmresult.Show

frmresult.ZOrder 0

Me.ZOrder 0

选择“工资信息设置”—>“其他项目设置”菜单,在其他项目设置的窗体中,设置员工当月的奖金、津贴、福利等项目。

sql = "select * from salaryother"

If ichangeflag = 1 Then

Call add

MsgBox "已经添加记录", vbOKOnly + vbExclamation, "提示"

Call frmresult.othertopic

Call frmresult.showother(sql)

frmresult.Show

Unload Me

Else

If Me.optionbonus.Value = True Then

itype = 1

ElseIf Me.optionallowance.Value = True Then

itype = 2

ElseIf Me.optionwelfare.Value = True Then

itype = 3

ElseIf Me.optionabatement.Value = True Then

itype = 4

ElseIf Me.optionothers.Value = True Then

itype = 5

resumdate = recordtime

sql = "delete from salaryother where stuffid='" & https://www.doczj.com/doc/c95112719.html,id.Text

sql = sql & "' and YearMonth=#" & recordtime & "# and " sql = sql & "Type=" & itype

Call transactsql(sql, "Salary")

Call add

Call frmsumsalary.resumsalary(resumdate)

sql = "select * from salaryother"

Call frmresult.othertopic

Call frmresult.showother(sql)

frmresult.Show

Unload Me

End If

选择“工资信息设置”—>“工资计算公式设置”菜单,在这个计算公式窗体中设置员工实际发放工资的计算公式。

If Me.textovertimecom = "" And IsNumeric(Me.textovertimecom) = True Then

MsgBox "请输入正常加班工资百分比", vbOKOnly + vbExclamation, "提示"

Me.textovertimecom = ""

Me.textovertimecom.SetFocus

ElseIf Me.textovertimespe = "" And IsNumeric(Me.textovertimespe) = False Then

MsgBox "请输入特殊加班工资百分比", vbOKOnly + vbExclamation, "提示"

Me.textovertimespe = ""

Me.textovertimespe.SetFocus

ElseIf Me.texterrand = "" And IsNumeric(Me.texterrand) = False Then

MsgBox "请输入出差工资", vbOKOnly + vbExclamation, "提示"

Me.texterrand = ""

Me.texterrand.SetFocus

ElseIf Me.textabsent = "" And IsNumeric(Me.textabsent) = False Then

MsgBox "请输入旷工扣发工资", vbOKOnly + vbExclamation, "提示"

Me.textabsent = ""

Me.textabsent.SetFocus

ElseIf Me.textle = "" And IsNumeric(Me.textle) = False Then MsgBox "请输入迟到早退扣发工资", vbOKOnly + vbExclamation, "提示"

Me.textle = ""

Me.textle.SetFocus

Else

Call setvalue

Call init

End If

选择“工资信息管理”—>“出勤统计”菜单,在统计出勤记录窗体中选择需要统计记录的月份。

firstday = Year(Date) & "-" & https://www.doczj.com/doc/c95112719.html,month.Text & "-1"

days = DateDiff("d", Year(Date) & "-" & https://www.doczj.com/doc/c95112719.html,month.Text & "-1", _

Year(Date) & "-" & https://www.doczj.com/doc/c95112719.html,month.Text + 1 & "-1")

lastday = Year(Date) & "-" & https://www.doczj.com/doc/c95112719.html,month.Text & "-" & days

sql = "select * from attendancestatistics where recordmonth between

#"

sql = sql & firstday & "# and #" & lastday & "#"

Set rsrecord = getrs(sql, "salary")

If rsrecord.EOF = False Then

MsgBox "已经统计", vbOKOnly + vbExclamation, "提示"

frmaresult.Show

frmaresult.ZOrder 0

rsrecord.Close

Unload Me

Exit Sub

End If

sql = "select * from attendanceinfo where adate between #" sql = sql & firstday & "# and #" & lastday & "#"

Set rsrecord = getrs(sql, "person")

If rsrecord.EOF = False Then

sql = "select sid,sname from stuffinfo order by sid"

Set rsperson = getrs(sql, "person")

选择月份后单击“确定”按钮,如果系统已经统计过该月份的记录,那么会出现如下图所示的统计结果信息列表。如果系统没有统计过,那么系统就会开始统计记录,然后显示如图所示的统计结果信息列表。

If strusername <> "admin" Then

sql = "select sid from stuffinfo where sname='" & strusername & "'"

Set rs = getrs(sql, "salary")

sd = rs(0)

sql = "select * from attendancestatistics where stuffid='" & sd & "'"

Me.Adodc1.ConnectionString

="prov

ider=m

icroso

ft.jet

相关主题
相关文档 最新文档