汽车厂工资管理系统概述.docx

上传人:小飞机 文档编号:1922730 上传时间:2022-12-26 格式:DOCX 页数:46 大小:3.80MB
返回 下载 相关 举报
汽车厂工资管理系统概述.docx_第1页
第1页 / 共46页
汽车厂工资管理系统概述.docx_第2页
第2页 / 共46页
汽车厂工资管理系统概述.docx_第3页
第3页 / 共46页
汽车厂工资管理系统概述.docx_第4页
第4页 / 共46页
汽车厂工资管理系统概述.docx_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《汽车厂工资管理系统概述.docx》由会员分享,可在线阅读,更多相关《汽车厂工资管理系统概述.docx(46页珍藏版)》请在三一办公上搜索。

1、汽车厂工资管理系统信息与计算机科学专业综合实训 任 务 书学院名称: 理学院 课程代码:_ 106087719 _专业: 信息与计算机科学专业 年 级: 2013 一、实训题目汽车厂工资管理系统二、主要内容企业或者单位对其员工的工资进行详细的管理,对员工工资的调整情况进行详细记录,应实现以下功能:(1).员工录入:将员工的资料以及其对应的工资信息录入数据库中。(2).查询功能:实现按员工的编号、名字等指标进行工资情况的查询。(3).修改功能:当某个或者某些员工工资调整时,能对其进行修改。(4).删除功能:对调离的员工及其工资资料进行删除三、具体要求及提交的材料程序必须上机调试通过,并写出设计的

2、报告。设计报告格式:1、设计目的 2、总体设计(程序设计组成框图、流程图)3、数据库设计 4、详细设计 5、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 6、核心部分的源程序清单和执行结果(清单中应有足够的注释)设计报告纸质文档和电子文档各一份,调试通过后的软件一套。(严禁抄袭和代做,一经发现,重修论处)四、主要技术路线提示系统地设计出数据库,建立表间联系;Web技术的基本使用;使用任意一计算机语言,任意一种数据库;五、进度安排1、 需求分析和概要设计, 数据库设计,1周之内完成(指导教师检查);2、 系统详细设计分析,编程、调试和分析程序,2周之内完成

3、(指导老师检查);3、 程序答辩、说明书撰写,1周左右完成(学生必须当面答辩通过)。 指导教师 签名日期 年 月 日目 录1 需求分析11.1系统概述11.2 功能需求分析11.3运行环境21.4测试数据22 概要设计42.1 设计思路42.2 模块功能介绍52.2.1登录功能52.2.2输入功能52.2.3数据查询功能52.2.4数据删除,修改功能52.3模块结构62.4 流程图62.5 功能设计分工63详细设计83.1主界面设计83.2 登录页面设计93.3员工页面设计113.4管理员界面设计154 调试分析274.1 员工调试284.2管理员调试28学习的心得与体会31致 谢32参考文献

4、33附录34引 言员工管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。1 需求分析 企业或者单位对其员工的工资进行详细的管理,对员工工资的调整情况进行详细记录,应实现以下功能:(1).员工

5、录入:将员工的资料以及其对应的工资信息录入数据库中。(2).查询功能:实现按员工的编号、名字等指标进行工资情况的查询。(3).修改功能:当某个或者某些员工工资调整时,能对其进行修改。(4).删除功能:对调离的员工及其工资资料进行删除。1.1系统概述本系统主要有四个界面:主界面,登陆界面,员工界面,管理员界面。在主界面可以直接进入查看员工的工资信息,若是要使用管理员功能,就必须要通过登陆才行,登陆后,可以删除、修改和添加员工的信息。1.2 功能需求分析1.2.1.主界面模块管理员登录,员工进入。1.2.2.登陆模块账号,口令。1.2.3.员工模块 查看员工的工资信息。1.2.4.管理员模块删除、

6、修改、添加员工的工资信息和基本信息。1.3运行环境SQL Server 2008 R2,visual studio 20101.4测试数据 员工调试查看员工信息: 图1.1查看员工信息管理员调试管理员查看员工工资情况:图1.2 查询员工工资情况管理员查看员工基本信息情况:43 图1.3 查看员工基本信息管理员删除员工信息: 图1.4 删除员工管理员修改员工工资信息: 图1.5 修改员工工资信息管理员删除员工信息:图1.6 删除员工信息管理员添加员工:图1.7 添加员工2 概要设计2.1 设计思路 本文针对汽车厂工资管理,建立了对员工查看工资信息和管理员管理员工信息的基本管理的解决方案,系统基于

7、B/S模式,采用visual studio 2010,SQL server 2008 R2作为主要开发的工具,使用c#.net对SQL Server数据库的基本操作。本系统主要是由两个部分组成:员工部分,管理员部分。系统分别对员工,管理员不同的操作特点,做出需求分析,而且根据各个操作功能的实现,完成了三大部分的模块的划分,设计出数据库。2.2 模块功能介绍2.2.1登录功能管理员登陆操作描述:管理员进入到登录页面,用账号,通过口令来登录汽车厂工资管理系统。涉及数据:账号,口令。2.2.2输入功能(1)员工信息输入操作描述:进入毕业设计选题系统后,员工需进行相应的数据录入。涉及数据:编号,姓名,

8、性别,出生年月,学历,毕业院校,电话,备注,等等.(2)管理员信息输入操作描述:进入毕业设计选题系统后,管理员需进行相应的数据录入。涉及数据:账号,口令等等.2.2.3数据查询功能(1)员工查询 操作描述:员工可以按照编号,姓名。 涉及数据:编号,姓名。(2)管理员查询 操作描述:管理员可以按照编号,姓名。 涉及数据:编号,姓名。2.2.4数据删除,修改功能管理员操作描述:管理员可以删除员工,可以添加员工,也可修改员工的工资信息和资料信息。涉及数据:编号,姓名,实际工资,基本工资,考勤扣除,加班补助,扣税等等.2.3模块结构 1)主界面模块管理员登录,员工进入。2) 登陆模块 账号,口令。3)

9、员工模块 查找。4)管理员模块员工表,资料表,删除,修改,添加。2.4 流程图汽车厂工资管理系统 管理员员工工资情况修改员工添加员工删除员工员工信息图2.1 系统设计图2.5 功能设计分工a) 数据库名称及描述 1 员工表:其中包含一些员工信息的基本情况。 2 工资表:包含员工工资的基本情况。 3 admin表:包含管理员的基本信息。B)数据表 表1. 员工表(描述:其中包含一些员工信息的基本情况)字段名数据类型长度是否允许空默认值备注(主外键、字段说明、值域)编号nchar12否无主键姓名nvarchar5否无性别nchar1是男出生年月nchar10否无学历nvarchar5否无毕业院校n

10、varchar10否无职称nvarchar8是无电话nchar11是无长度为11的数字备基本信息注nvarchar200是无表2:资料表(描述:包含员工工资的基本情况)字段名数据类型长度是否允许空默认值备注(主外键、字段说明、值域)编号nchar12否无主键姓名nvarchar5否无年份nchar4否2017月份nchar2否6实际工资nchar5否无基本工资nchar5否无加班补助nchar5是无考勤扣除nchar5是无扣税nchar5是无工资信息备注nvarchar200否否表3.admin表(描述:包含管理员的基本情况)字段名数据类型长度是否允许空默认值备注(主外键、字段说明、值域)账号

11、nvarchar10否无主键口令nchar10否无3详细设计3.1主界面设计系统设置主界面为起始页面,其中包括三个div,第一个div是设置屏幕大小和位置,第二个div是插入背景图和标题,第三个div包含两个按钮button1和button2。用户点击管理员登录,就会进入登录页面,如点击员工进入,就会直接进入员工页面。图3.1 主界面主要代码:protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect

12、(web.aspx); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(yuangong.aspx);3.2 登录页面设计图3.2 登录界面进入登录页面,其中有四个div,第一个div是设置屏幕大小和位置,第二个div是插入背景图和标题,第四个div包含两个TextBox1和TextBox2,两个按钮button1和button2。用户登陆时,在文本框中t1中输入账号,在t2中输入口令,点击登录,若数据库中存在,则进入下一个页面。如果输入出错会有信息提示。当用户输错时,可以重置,就会清空文本框

13、中的信息。 图3.3 出错界面主要代码:protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) string zh = TextBox1.Text.Trim(); string kl = TextBox2.Text.Trim(); string sql = select * from admin表 where 账号= + zh + ; SqlDataReader myrd = new Class1().datareader(sql)

14、; /下面根据myrd中的查询数据来判断登陆情况 if (myrd.Read() /取得一行,表示用户名存在的 if (myrd1.ToString().Trim() = kl) /表示登陆成功 /先取出成功登陆用户的权限,以备下级程序中使用 Session账号 = myrd0.ToString().Trim(); Session口令 = myrd1.ToString().Trim(); Response.Redirect(bbs.aspx); else /用户名存在,但密码错误 TextBox2.Text = 口令错误; else /表示上面的myrd读出的空值无数据 TextBox1.Te

15、xt = 账号不存在; 3.3员工页面设计由主界面进入员工界面,其中有两个按钮和两个文本框,在文本框中输入想要查找的员工编号或姓名,点击第一个按钮,便可查找出来。图3.4 员工界面主要代码: protected void Page_Load(object sender, EventArgs e) string sql = select 编号,姓名,年份,月份,实际工资,基本工资,加班补助,考勤扣除,扣税 from 工资表; DataTable mytb = new Class1().getds(sql);/把数据从sql读入mytb中 Repeater1.DataSource = mytb;/

16、把mytb行书的数据赋给repearter Repeater1.DataBind(); tt(sql);/调用tt函数 protected void tt(string sql) /使用本模块说明: /(1)在前面html代码中定义一个repeater,其中id=repeater1; 再定义一个div,其 id=div11 /(2)调用本tt方法时传进来一个sql命令字符串即可,其它不需要修改什么了 string sql2 = select 编号,姓名,年份,月份,实际工资,基本工资,加班补助,考勤扣除,扣税 from 工资表; DataTable mytb = new Class1().ge

17、tds(sql2); /自动生成页码控制控件,这样方便以后广泛应用(只需要在前台html代码建立一个div(id=div11)就可以了,把这些控件加去 Label Label1yy = new Label(); Label Label2yy = new Label(); HyperLink firtp = new HyperLink(); firtp.Text = 首页; HyperLink prep = new HyperLink(); prep.Text = 上一页; HyperLink nextp = new HyperLink(); nextp.Text = 下一页; HyperLin

18、k lastp = new HyperLink(); lastp.Text = 尾页; TextBox TextBox1yy = new TextBox(); TextBox1yy.ID = TextBox1yy; /要想在一下步继续编程使用这个控件,要用findcontrol方法查找本控件,必须指定ID TextBox1yy.Width = 30; TextBox1yy.Attributes.Add(runat, server);/这个可要可不要,默认应该是runat=server的 Button Button1yy = new Button(); Button1yy.Click += ne

19、w System.EventHandler(Button1yy_Click);/要想控件响应事件编程,必须要这句,否则以后它无法响应事件 Button1yy.Text = GO; /每个项之间加个分隔符号| Label pp = new Label7; for (int i = 0; i 7; i+) Label pt = new Label(); pt.Text = | ; ppi = pt; div12.Controls.Add(Label1yy); div12.Controls.Add(pp0); div12.Controls.Add(Label2yy); div12.Controls.

20、Add(pp1); div12.Controls.Add(firtp); div12.Controls.Add(pp2); div12.Controls.Add(prep); div12.Controls.Add(pp3); div12.Controls.Add(nextp); div12.Controls.Add(pp4); div12.Controls.Add(lastp); div12.Controls.Add(pp5); div12.Controls.Add(TextBox1yy); div12.Controls.Add(Button1yy); /生成结束.以上生成的控件也要以放在pa

21、nel中,一样的效果 PagedDataSource pds = new PagedDataSource(); pds.DataSource = mytb.DefaultView; / 把mytab转换为要直接显示的数据视图 pds.AllowPaging = true; pds.PageSize = 3; int totalp = (mytb.Rows.Count + pds.PageSize - 1) / pds.PageSize; Label1yy.Text = 总页数为: + Convert.ToString(totalp); int curpage; /表示当前页 if (Reque

22、st.QueryStringPage != null) curpage = Convert.ToInt32(Request.QueryStringPage); else curpage = 1; pds.CurrentPageIndex = curpage - 1; Label2yy.Text = 当前页: + curpage.ToString(); if (!pds.IsFirstPage) prep.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(curpage - 1); if (!pd

23、s.IsLastPage) nextp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(curpage + 1); Repeater1.DataSource = pds; Repeater1.DataBind(); /把视图赋值给repeater1,重新绑定数据 if (curpage != 1) firtp.NavigateUrl = Request.CurrentExecutionFilePath + ?Page=1; if (curpage != totalp) lastp.Naviga

24、teUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(totalp); TextBox1yy.Text = curpage.ToString();/让它显示当前页,直观些 protected void Button1yy_Click(object sender, EventArgs e) /注意,动态生成的控件,在运行之前是不存在的,所以无法直接使用TextBox1,而且是 /让计算机自己去找这个控件(这在前面讲过,把控件名字串,转换为控件名) TextBox ppp = (TextBox)this.div12

25、.FindControl(TextBox1yy); string p = ppp.Text.Trim(); Response.Redirect(Request.CurrentExecutionFilePath + ?Page= + p); protected void Button1_Click(object sender, EventArgs e) string bh = TextBox1.Text.Trim(); string xm = TextBox2.Text.Trim(); string sql = select 编号,姓名,年份,月份,实际工资,基本工资,加班补助,考勤扣除,扣税

26、from 工资表 where 编号 = + bh + or 姓名 = + xm + ; DataTable mytb = new Class1().getds(sql); Repeater1.DataSource = mytb; Repeater1.DataBind(); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(zhujiemian.aspx);3.4管理员界面设计通过登录页面进入管理员界面,其中有三个label和一个iframe1。点击label,所有内容都显示在iframe1里。通

27、过登陆界面传过来的session,管理员可以查看员工工资信息和资料信息,也可以修改员工信息,删除和添加员工。图3.5 管理员主界面 删除用户代码: protected void Page_Load(object sender, EventArgs e) string sql = select 编号,姓名,年份,月份,实际工资,基本工资,加班补助,考勤扣除,扣税 from 工资表; DataTable mytb = new Class1().getds(sql);/把数据从sql读入mytb中 Repeater1.DataSource = mytb;/把mytb行书的数据赋给repearter

28、Repeater1.DataBind(); tt(sql);/调用tt函数 protected void LinkButtonDel_Click(object sender, EventArgs e) string deleteth = (LinkButton)sender).CommandArgument.ToString();/取出要删除的编号 Session编号 = deleteth; Response.Write(confirm(是否确定删除); string sql = delete from 工资表 where 编号 = + deleteth + ;/从工资表删除选中的工人 str

29、ing sql1 = delete from 员工表 where 编号 = + deleteth + ;/删除该工人的基本信息 new Class1().noquery(sql1); new Class1().noquery(sql); 图3.6 管理员修改员工工资界面修改员工工资代码:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string th = Session编号.ToString(); string sql = select * from 工资表 where 编号 = + th + ; D

30、ataTable tb = new Class1().getds(sql); TextBox1.Text = tb.Rows0编号.ToString(); TextBox2.Text = tb.Rows0姓名.ToString(); TextBox3.Text = tb.Rows0实际工资.ToString(); TextBox4.Text = tb.Rows0基本工资.ToString(); TextBox5.Text = tb.Rows0加班补助.ToString(); TextBox6.Text = tb.Rows0考勤扣除.ToString(); TextBox7.Text = tb.

31、Rows0扣税.ToString(); TextBox8.Text = tb.Rows0工资信息备注.ToString(); protected void Button1_Click(object sender, EventArgs e) /string rq = TextBox3.Text.Trim(); string xl = TextBox4.Text.Trim(); string byyx = TextBox5.Text.Trim(); string zc = TextBox6.Text.Trim(); string dh = TextBox7.Text.Trim(); string

32、bz = TextBox8.Text.Trim(); string sql1 = update 工资表 set 基本工资= + xl + ,加班补助= + byyx + ,考勤扣除= + zc + ,扣税= + dh + ,工资信息备注= + bz + where 编号= + TextBox1.Text.Trim() + ;/更新员工信息 string sql2 = update 工资表 set 实际工资=基本工资+加班补助-考勤扣除-扣税; new Class1().noquery(sql1); new Class1().noquery(sql2); Response.Write(alert

33、(修改成功!); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(gongzi.aspx); 图3.7 员工基本信息界面主要代码:protected void Page_Load(object sender, EventArgs e) string sql = select 编号,姓名,性别,出生日期,毕业院校,职称,电话,基本信息备注 from 员工表; DataTable mytb = new Class1().getds(sql);/把数据从sql读入mytb中 /string yxrs

34、 = mytb.Rows0已选人数.ToString();/取出0行的已选人数 Repeater1.DataSource = mytb;/把mytb行书的数据赋给repearter Repeater1.DataBind(); tt(sql);/调用tt函数 protected void tt(string sql) /使用本模块说明: /(1)在前面html代码中定义一个repeater,其中id=repeater1; 再定义一个div,其 id=div11 /(2)调用本tt方法时传进来一个sql命令字符串即可,其它不需要修改什么了 string sql2 = select 编号,姓名,性别

35、,出生日期,毕业院校,职称,电话,基本信息备注 from 员工表; DataTable mytb = new Class1().getds(sql2); /自动生成页码控制控件,这样方便以后广泛应用(只需要在前台html代码建立一个div(id=div11)就可以了,把这些控件加去 Label Label1yy = new Label(); Label Label2yy = new Label(); HyperLink firtp = new HyperLink(); firtp.Text = 首页; HyperLink prep = new HyperLink(); prep.Text =

36、上一页; HyperLink nextp = new HyperLink(); nextp.Text = 下一页; HyperLink lastp = new HyperLink(); lastp.Text = 尾页; TextBox TextBox1yy = new TextBox(); TextBox1yy.ID = TextBox1yy; /要想在一下步继续编程使用这个控件,要用findcontrol方法查找本控件,必须指定ID TextBox1yy.Width = 30; TextBox1yy.Attributes.Add(runat, server);/这个可要可不要,默认应该是ru

37、nat=server的 Button Button1yy = new Button(); Button1yy.Click += new System.EventHandler(Button1yy_Click);/要想控件响应事件编程,必须要这句,否则以后它无法响应事件 Button1yy.Text = GO; /每个项之间加个分隔符号| Label pp = new Label7; for (int i = 0; i 7; i+) Label pt = new Label(); pt.Text = | ; ppi = pt; div12.Controls.Add(Label1yy); div1

38、2.Controls.Add(pp0); div12.Controls.Add(Label2yy); div12.Controls.Add(pp1); div12.Controls.Add(firtp); div12.Controls.Add(pp2); div12.Controls.Add(prep); div12.Controls.Add(pp3); div12.Controls.Add(nextp); div12.Controls.Add(pp4); div12.Controls.Add(lastp); div12.Controls.Add(pp5); div12.Controls.Add(TextBox1yy); div12.Controls.Add(Button1yy);

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号