工资管理系统doc.docx

上传人:b****9 文档编号:26229247 上传时间:2023-06-17 格式:DOCX 页数:37 大小:1.13MB
下载 相关 举报
工资管理系统doc.docx_第1页
第1页 / 共37页
工资管理系统doc.docx_第2页
第2页 / 共37页
工资管理系统doc.docx_第3页
第3页 / 共37页
工资管理系统doc.docx_第4页
第4页 / 共37页
工资管理系统doc.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

工资管理系统doc.docx

《工资管理系统doc.docx》由会员分享,可在线阅读,更多相关《工资管理系统doc.docx(37页珍藏版)》请在冰豆网上搜索。

工资管理系统doc.docx

工资管理系统doc

软件工程作业

人事工资管理系统

 

学  院:

  

班  级:

  

学  号:

姓  名:

 

指导老师:

 

 

一、需求分析

1、功能定义

工资管理系统应完成以下功能:

员工信息管理:

包括员工基本信息,如工龄情况,学历情况,工作岗位,部门信息。

实现对员工信息的输入、查询和修改,对于转出、辞职、辞退、退休员工信息的删除。

人事调动管理:

包括对员工岗位和部门的查询与修改。

工资管理:

员工工资分为两部分:

一部分是基本工资,根据员工的工龄和岗位设置;另一部分是动态工资,根据员工的考勤情况和工作评价情况计算,在计算出总工资后,还应扣除一些费用,如税款、公积金、养老金等。

包括对工资的查询和修改。

考勤管理:

包括正常出勤、异常出勤(如请假、迟到、早退)、加班。

工作评价管理:

员工评价信息分为两部分,一部分是主管经理对员工的评价信息,包括工作分工、完成情况、工作态度等;另一部分是同组员工的评价信息,包括工作态度、合作情况等。

根据工作评价发放奖金。

系统管理模块:

对人事工资管理系统的维护、升级和对用户的管理:

用户信息添加、用户信息修改、用户信息删除和用户权限分配。

2、参与者列表

人事部门:

对员工信息的管理,包括对员工信息的输入、查询、修改。

对于转出、辞职、辞退、退休员工信息的删除。

对人事调动的管理,包括对员工岗位和部门的查询与修改。

财务部门:

根据员工的考勤和工作评价,完成工资的核算并发放工资。

系统管理员:

对人事工资管理系统的维护、升级和对用户的管理:

用户信息添加、用户信息修改、用户信息删除和用户权限分配。

员工:

系统的主要使用者,登陆系统后,对自己的基本信息的查询和对自己工资的查询。

考勤部门:

对员工的出勤情况进行记录,对员工的工作进行评价。

3、用例图

图1财务部门用例

图2人事部门用例

 

 

 

 

图6人事工资管理系统用例图

一、分析

1、类图

2、状态图

图1系统状态图

3、活动图

图1用户注册活动图

图2登录活动图

图3员工信息查询活动图

图4对员工信息删除、添加、修改的活动图

图5考勤管理活动图

4、顺序图

图1用户注册顺序图

 

图2登录顺序图

 

图3添加员工信息顺序图

图4人事调动顺序图

图5考勤管理顺序图

 

5、协作图

图1用户注册协作图

 

图2登录协作图

图3添加员工信息协作图

 

图4考勤管理协作图

三、设计

1、流程图

 

2、实体E-R图

获得

 

 

3、数据字典

(1)、员工档案信息表:

PERSONNEL.DBF

字段

字段名

类型

宽度

说明

1

员工号

字符型

3

数字

2

员工姓名

字符型

10

小于等于5个汉字

3

员工性别

字符型

2

“男”或“女”

4

员工学历

字符型

10

小于等于5个汉字

5

婚姻状况

字符型

4

“已婚”或“未婚”

6

工龄

数值型

2

1~99之间

7

岗位编号

数值型

2

1~99之间

8

部门编号

数值型

2

1~99之间

(2)、工资设置表:

COURSE.DBF

字段

字段名

类型

宽度

说明

1

员工号

数值型

3

数字

2

工资年月

字符型

20

_年_月_日

3

应发工资

数值型

5

1-99999之间

4

奖励金额

数值型

4

1-9999之间

5

扣除工资

数值型

4

1~9999之间

6

实发工资

数值型

5

1-99999之间

(3)、岗位设置表:

RANK.DBF

字段

字段名

类型

宽度

说明

1

岗位编号

数值型

2

1~99之间

2

岗位名称

字符型

14

小于等于7个汉字

3

部门编号

数值型

2

1~99之间

(4)、部门设置表:

APARTMENT.DBF

字段

字段名

类型

宽度

说明

1

部门编号

数值型

2

1-99之间

2

部门名称

字符型

14

小于等于7个汉字

3

部门负责人

字符型

10

小于等于5个汉字

4

部门人数

数值型

4

1~9999之间

(5)、考勤设置表:

KAOQIN.DBF

字段

字段名

类型

宽度

说明

1

员工号

数值型

3

数字

2

正常出勤天数

数值型

3

1~999之间

3

异常出勤天数

数值型

3

1~999之间

4

加班天数

数值型

3

1~999之间

5

评价情况

字符型

4

优秀、良好、中等、差

 

4、数据库E-R图

四、实现

1、源代码

(1)登录界面代码设计

本代码实现Form1,作用是对登录用户审核,将登录用户信息与数据库中用户表相比对,存在此用户且信息正确则进入,否则登录失败。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespace工资管理系统

{

publicpartialclassForm1:

Form

{

publicstaticstringpassword;

publicstaticstringusername;

publicForm1()

{

InitializeComponent();

}

publicintCheckUsers()//连接数据库进行查询

{

username=textBox1.Text.ToString();

password=textBox2.Text.ToString();

stringAfile="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";//access文件

OleDbConnectionAconnStr=newOleDbConnection(Afile);

OleDbCommandAcmd=newOleDbCommand("select*from[user]whereuserName='"+username+"'andpassword='"+password+"'",AconnStr);

OleDbDataReaderodr=null;

AconnStr.Open();

try

{

odr=Acmd.ExecuteReader();

}

catch(Exceptionex)

{

if(ex!

=null)return0;

}

while(odr.Read())

{

return1;

}

odr.Close();

AconnStr.Close();

return0;

}

privatevoidbutton1_Click(objectsender,EventArgse)

{//对登录信息进行审核,正确则进入,否则登录失败

if(textBox1.Text==""||textBox2.Text=="")

MessageBox.Show("请输入信息","信息提示");

elseif(CheckUsers()==1)

{

this.Hide();

Form6form6=newForm6();

form6.Show();

}

else

{

MessageBox.Show("你输入的用户名或口令不正确!

","信息提示");

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

textBox1.Text="";

textBox2.Text="";

}

}

}

(2)员工信息更新界面

本代码实现Form3,作用是对员工信息进行更新,可以员工信息作查找,添加,删除,修改等操作,还可以查询工资信息,并能计算总工资。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespace工资管理系统

{

publicpartialclassForm3:

Form

{

publicstaticintstring1,string2,string3,day;

publicForm3()

{

InitializeComponent();

}

privatevoidForm3_Load(objectsender,EventArgse)

{

loadUsers();

}

privatevoidloadUsers()

{//连接数据库

stringconnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";//access文件连接

stringOleDbString="select*from[Message]";

OleDbConnectionconnection=newOleDbConnection(connectionString);

DataSetds=newDataSet();

try

{

connection.Open();

OleDbDataAdaptercommand=newOleDbDataAdapter(OleDbString,connection);

command.Fill(ds,"Message");

}

catch(OleDbExceptionex)

{

thrownewException(ex.Message);

}

//将表绑定到dataGridView1控件

this.dataGridView1.DataSource=ds.Tables[0];

this.dataGridView1.Columns[0].ReadOnly=true;//先0列,即用户名列为关键定不许修改

connection.Close();

}

privatevoidpictureBox1_Click(objectsender,EventArgse)

{

}

privatevoidbtnDelete_Click(objectsender,EventArgse)

{

stringconnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";

stringSQLString="deletefrom[Message]where[sno]='"+this.dataGridView1.CurrentRow.Cells["Sno"].Value+"'";

OleDbConnectionconnection=newOleDbConnection(connectionString);

connection.Open();

OleDbCommandcommand=newOleDbCommand(SQLString,connection);

if(command.ExecuteNonQuery()==1)

MessageBox.Show("删除成功!

");

if(connection!

=null)

connection.Close();

loadUsers();

}

privatevoidAddbutton_Click(objectsender,EventArgse)

{//连接数据库实现添加操作。

if(textBox1.Text==""||textBox2.Text=="")

MessageBox.Show("请输入要添加的信息!

","提示信息");

else

{

stringconnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";

stringSQLString="insertinto[Message]([Sno],[员工姓名])values('"+this.textBox2.Text+"','"+this.textBox1.Text+"')";

OleDbConnectionconnection=newOleDbConnection(connectionString);

connection.Open();

OleDbCommandcommand=newOleDbCommand(SQLString,connection);

if(command.ExecuteNonQuery()==1)

MessageBox.Show("添加成功!

");

if(connection!

=null)

connection.Close();

}

loadUsers();

}

privatevoiddataGridView1_CellEndEdit(objectsender,DataGridViewCellEventArgse)

{//当前修改过的值

stringupdateValue=dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();

//当前修改行的用户名(关键字)

stringusername=dataGridView1.Rows[e.RowIndex].Cells["Sno"].Value.ToString();

stringcolName=dataGridView1.Columns[e.ColumnIndex].Name;//修改值对应的列名

stringOleDbString="update[Message]set["+colName+"]='"+updateValue+"'whereSno='"+username+"'";

stringconnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";

OleDbConnectionconnection=newOleDbConnection(connectionString);

connection.Open();

OleDbCommandcommand=newOleDbCommand(OleDbString,connection);

if(command.ExecuteNonQuery()==1)

if(connection!

=null)

connection.Close();

}

privatevoidbutton4_Click(objectsender,EventArgse)

{//实现操作信息

if(MessageBox.Show("确定退出?

","确认信息",MessageBoxButtons.YesNo)==DialogResult.Yes)

Application.Exit();

}

privatevoidbutton5_Click(objectsender,EventArgse)

{

this.Hide();

Form4form4=newForm4();

form4.Show();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

loadUsers();

MessageBox.Show("更新成功");

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox1.Text==""||textBox2.Text=="")

MessageBox.Show("请输入要查找的信息!

","提示信息");

else

{

stringconnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";//access文件

stringOleDbString="select*from[Message]whereSno='"+this.textBox2.Text+"'";

OleDbConnectionconnection=newOleDbConnection(connectionString);

DataSetds=newDataSet();

try

{

connection.Open();

OleDbDataAdaptercommand=newOleDbDataAdapter(OleDbString,connection);

command.Fill(ds,"Message");

}

catch(OleDbExceptionex)

{

thrownewException(ex.Message);

}

//将表绑定到dataGridView1控件

this.dataGridView1.DataSource=ds.Tables[0];

this.dataGridView1.Columns[0].ReadOnly=true;//先0列,即用户名列为关键定不许修改

connection.Close();

}

}

privatevoidForm3_FormClosing(objectsender,FormClosingEventArgse)

{

Application.Exit();

}

publicstringFindstring1()

{

stringAfile="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";//access文件

OleDbConnectionAconnStr=newOleDbConnection(Afile);

OleDbCommandAcmd=newOleDbCommand("select[基本工资]from[Message],[工资]whereSno='"+textBox2.Text+"'andMessage.员工工种=工资.员工工种andMessage.工资等级=工资.工资等级",AconnStr);

OleDbDataReaderodr=null;

AconnStr.Open();

try

{

odr=Acmd.ExecuteReader();

}

catch(Exceptionex)

{

if(ex!

=null)returnnull;

}

if(odr!

=null)

{

while(odr.Read())

{returnodr[0].ToString();}

odr.Close();

}

AconnStr.Close();

returnnull;

}

publicstringFindday()

{

stringAfile="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\\Users\\lenovo\\Desktop\\C#\\db.mdb;PersistSecurityInfo=True";//access文件

OleDbConnectionAconnStr=newOleDbConnection(Afile);

OleDbCommandAcmd=newOleDbCommand("select[考勤天数]from[Message]whereSno='"+textBox2.Text+"'",AconnStr);

OleDbDataReaderodr=null;

AconnStr.Open();

try

{

odr=Acmd.ExecuteReader();

}

catch(Exceptionex)

{

if(ex!

=null)returnnull;

}

if(odr!

=null)

{

while(od

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

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1