毕业设计-数据库-职工考勤管理信息系统.doc
《毕业设计-数据库-职工考勤管理信息系统.doc》由会员分享,可在线阅读,更多相关《毕业设计-数据库-职工考勤管理信息系统.doc(35页珍藏版)》请在咨信网上搜索。
课 程 设 计 课程名称 SQL数据库系统课程设计 题目名称 职工考勤管理信息系统 专业班级 2013级软件工程 学生姓名 学 号 指导教师 2015年12月 目录 一 可行性研究 1 1.1 问题描述 1 1.2 研究目的 1 1.3 开发环境和运行环境 1 1.4 预期结果和意义 2 二 需求分析 2 2.1 功能需求 2 2.1.1 数据管理 2 2.1.2考勤管理 2 2.1.3加班管理 2 2.1.4 请假管理 2 2.1.5 出差管理 2 2.2 功能模块图 3 2.3 系统数据流程图 4 2.4 数据字典 4 三 概念结构设计 4 3.1 局部E-R图 4 3.1.1 员工信息E-R图 4 3.1.2 出勤记录 E-R图 5 3.1.3 出差记录 E-R图 5 3.1.4 加班记录 E-R图 5 3.1.5 请假记录 E-R图 6 3.2 总 E-R图 6 四 逻辑结构设计 7 4.1关系模式 7 五 数据实施和维护 7 5.1数据表的创建 7 5.2数据表的属性 8 5.2.1出勤资料表 8 5.2.2加班资料表 9 5.2.3请假资料表 10 5.2.4出差资料表 10 六 测试 11 6.1登录模板测试 11 6.2登录后页面 13 6.3建立上班签到表 15 6.4职工信息表 17 6.5出差信息系统 20 6.6加班信息系统 24 6.7请假信息系统 29 七 心得体会 32 八 参考文献 32 一 可行性研究 1.1 问题描述 随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 职工考勤管理经过如下的业务流程: (1)员工基本信息管理,添加,删除,更改 (2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。由人事部门专门的人员管理出勤和退勤信息。 (3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。 1.2 研究目的 待开发的系统的名称为职工考勤管理信息系统。 我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次。 (1)提供简单、方便的操作。 (2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。 (3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。 (4)节省考勤管理的成本。 (5)提高企业考勤管理的透明度和效率,防止“虚假出勤“的现象。 (6)对系统提供必要的权限管理。 (7)为企业实现整体信息化的其他相关系统提供必要的数据支持。 1.3 开发环境和运行环境 公司考勤管理系统这运用了当前最流行的SQL SERVER2012来建表还有前台应用程序采用VISUAL STUDIOI2015编写运行和开发的。 1.库、基本表的建立和修改:在SQL-SERVER环境下用CREATE TABLE 建立库以及库中基本表。 2.数据加载: 用手工录入或导入等方法实现基本表中的数据加载。 3.单表查询以及多表查询:在建立的基本表中使用select基本格式和聚集函数;设计合适的视图,实现多表间查询。 4.用SQL SERVER 2012等开发环境设计、实现系统主要功能。 1.4 预期结果和意义 考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。 本考勤系统建立了一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 二 需求分析 2.1 功能需求 2.1.1 数据管理 功能是设置和管理基础数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行基础数据的添加、删除和修改。 2.1.2考勤管理 包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。实现从每日出勤到统计全部考勤信息的无纸化操作。为方便数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。 2.1.3加班管理 对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。 2.1.4 请假管理 可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。 2.1.5 出差管理 管理者安排员工出差,对出差时间,次数的管理。 2.2 功能模块图 如图2-1所示,图为功能模块图 2-1 功能模块图 2.3 系统数据流程图 如图2.3所示,图为数据流程图 考勤员 员工 经理审批 请假值班出差记录 上下班时间安排 员工出勤记录 记录出勤时间 2-2 数据流程图 2.4 数据字典 在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。 三 概念结构设计 3.1 局部E-R图 3.1.1 员工信息E-R图 职工信息 职称 年龄 姓名 性别 编号 图3-1 3.1.2 出勤记录 E-R图 下班时间 缺勤记录 上班时间 出勤记录 图3-2 3.1.3 出差记录 E-R图 结束时间 总计天数 开始时间 出差记录 图3-3 3.1.4 加班记录 E-R图 统计时间 开始时间 加班记录 结束时间 图3-4 3.1.5 请假记录 E-R图 结束时间 统计天数 开始时间 请假记录 图3-5 3.2 总 E-R图 图3-6 四 逻辑结构设计 4.1关系模式 职工信息(职工编号,姓名,性别,年龄,职称) 出勤记录(上班打卡时间,下班打卡时间,缺勤记录) 出差记录(出差开始时间,出差结束时间,统计出差时间) 加班信息(加班开始时间,加班结束时间,加班时间统计) 请假信息(请假开始时间,请假结束时间,请假时间统计) 五 数据实施和维护 5.1数据表的创建 图5-1表的建立 5.2数据表的属性 图5-2表的属性 5.2.1出勤资料表 图5-3出勤资料 图5-4员工出勤基本资料表属性 图5-5员工出勤基本资料属性 5.2.2加班资料表 图5-6加班资料表属性 图5-7加班资料表 5.2.3请假资料表 图5-8请假资料表属性 图5-9请假资料表 5.2.4出差资料表 图5-10出差资料表属性 图5-11出差资料表 六 测试 6.1登录模板测试 为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。 图6-1登录界面 登录代码的简单说明: private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "" || textBox2.Text == "") { MessageBox.Show("请输入用户名或密码"); } else { string sql = "select '" + textBox1.Text + "' from 登录信息表 where 密码='" + textBox2.Text + "'"; SqlConnection con = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); con.Open(); SqlCommand com = new SqlCommand(sql, con); SqlDataReader sread = com.ExecuteReader(); try { if (sread.Read()) { Form3 frm2 = new Form3(); frm2.Show(); this.Hide(); } else { MessageBox.Show("登录信息有误"); textBox1.Text = textBox2.Text = ""; } } catch { } finally { con.Close();//关闭连接 con.Dispose();//释放连接 sread.Close();//释放资源 } } } 6.2登录后页面 图6-2 登录后页面 登录进入的主页面主要代码: private void button1_Click(object sender, EventArgs e) { panel1.Controls.Clear(); Form2 form2 = new Form2(); form2.TopLevel = false; panel1.Controls.Add(form2); form2.Show(); } private void button2_Click(object sender, EventArgs e) { panel1.Controls.Clear(); Form4 form4 = new Form4(); form4.TopLevel = false; panel1.Controls.Add(form4); form4.Show(); } private void button3_Click(object sender, EventArgs e) { panel1.Controls.Clear(); Form5 form4 = new Form5(); form4.TopLevel = false; panel1.Controls.Add(form4); form4.Show(); } private void button4_Click(object sender, EventArgs e) { panel1.Controls.Clear(); Form7 form4 = new Form7(); form4.TopLevel = false; panel1.Controls.Add(form4); form4.Show(); } private void button5_Click(object sender, EventArgs e) { panel1.Controls.Clear(); Form6 form4 = new Form6(); form4.TopLevel = false; panel1.Controls.Add(form4); form4.Show();} 6.3建立上班签到表 private void button1_Click(object sender, EventArgs e) { try { SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "select * from 职工信息表 where 职工编号='"+textBox1.Text+"'"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) while (dr.Read()) { tx.Text = dr["职工姓名"].ToString(); } else { MessageBox.Show("查无此人"); } conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } try { SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "insert into 出勤信息表(职工编号,职工姓名,上班时间)values('" + textBox1.Text + "','"+tx.Text+"','" + DateTime.Now.ToShortTimeString() + "')"; SqlCommand cmd = new SqlCommand(sql, conn); int n=cmd.ExecuteNonQuery(); if (n > 0) { MessageBox.Show("签到成功,经验值+5"); this.出勤信息表TableAdapter.Fill(this.职工考勤系统DataSet1.出勤信息表); } conn.Close(); } catch { MessageBox.Show("禁止重复签到"); } 图6-3 出勤界面 6.4职工信息表 职工信息表的插入添加还有查询页面 其相关代码: private void button3_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "select * from 职工信息表 where 职工编号='" + textBox6.Text + "'"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dre = cmd.ExecuteReader(); if (dre.HasRows) while (dre.Read()) { textBox1.Text = dre["职工编号"].ToString(); textBox2.Text = dre["职工姓名"].ToString(); textBox3.Text = dre["性别"].ToString(); textBox4.Text = dre["年龄"].ToString(); textBox5.Text = dre["职称"].ToString(); } else { MessageBox.Show("查无此人"); textBox6.Text = ""; } this.职工信息表TableAdapter.Fill(this.职工考勤系统DataSet.职工信息表); conn.Close(); conn.Dispose(); } private void button4_Click(object sender, EventArgs e) { try { SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "update 职工信息表 set 职工姓名='" + textBox2.Text + "',性别='" + textBox3.Text + "',年龄='" + textBox4.Text + "',职称='" + textBox5.Text + "' where 职工编号='" + textBox1.Text + "'"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show("更新成功"); conn.Close(); conn.Dispose(); textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; textBox5.Text = ""; textBox6.Text = ""; this.职工信息表TableAdapter.Fill(this.职工考勤系统DataSet.职工信息表); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 图6-4 职工信息表 6.5出差信息系统 图6-5 出差信息系统 其中各按钮代码中总时长代码: private void button3_Click(object sender, EventArgs e) { try { SqlConnection connn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); connn.Open(); String sqll = "select * from 出差信息表1 where 职工编号='" + textBox1.Text + "'"; SqlCommand cmdd = new SqlCommand(sqll, connn); SqlDataReader dr = cmdd.ExecuteReader(); if (dr.HasRows) while (dr.Read()) { te.Text = dr["出差开始时间"].ToString(); tx.Text = dr["出差结束时间"].ToString(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } try { string hour; DateTime.TryParse(te.Text, out da1); DateTime.TryParse(tx.Text, out da2); tp = da2 - da1; hour = tp.TotalMinutes.ToString(); SqlConnection con = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); con.Open(); String sql = "update 出差信息表1 set 出差总时间='" +hour.Substring(0,5) + "分钟" + "' where 职工编号='" + textBox1.Text + "'"; SqlCommand com = new SqlCommand(sql, con); int n = com.ExecuteNonQuery(); if (n > 0) { this.出差信息表1TableAdapter.Fill(this.职工考勤系统DataSet3.出差信息表1); MessageBox.Show("记录完成!"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void button4_Click(object sender, EventArgs e) { try { string s; s = this.dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString(); long n = Convert.ToInt64(s); SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "delete from 出差信息表1 where 职工编号='" + n + "'"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show("删除成功!"); this.出差信息表1TableAdapter.Fill(this.职工考勤系统DataSet3.出差信息表1); conn.Close(); } catch { MessageBox.Show("请选择要删除的课程号"); } } } } 6.6加班信息系统 图6-6 加班信息系统 其中删除记录代码: private void button1_Click(object sender, EventArgs e) { try { SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "select * from 职工信息表 where 职工编号='" + textBox1.Text + "'"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) while (dr.Read()) { tx.Text = dr["职工姓名"].ToString(); } else { MessageBox.Show("查无此人"); } conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } try { SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=职工考勤系统;User Id=sa;Password=147258"); conn.Open(); String sql = "insert into 加班信息表(职工编号,职工姓名,加班开始时间)values('" + textBox1.Text + "','" + tx.Text + "','" + DateTime.Now.ToString()+ "')"; SqlCommand cmd = new SqlCommand(sql, conn); int n = cmd.ExecuteNonQuery(); if (n > 0) { MessageBox.Show("签到成功"); this.加班信息表TableAdapter.Fill(this.职工考勤系统DataSet5.加班信息表); } conn.Close(); } catch { MessageBox.Show("禁止重复签到"); } } private void button2_Click(object sender, EventArgs e) { try { SqlConnection connn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 数据库 职工 考勤 管理信息系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文