职工工资管理系统.docx

上传人:牧羊曲112 文档编号:1926925 上传时间:2022-12-26 格式:DOCX 页数:33 大小:2.03MB
返回 下载 相关 举报
职工工资管理系统.docx_第1页
第1页 / 共33页
职工工资管理系统.docx_第2页
第2页 / 共33页
职工工资管理系统.docx_第3页
第3页 / 共33页
职工工资管理系统.docx_第4页
第4页 / 共33页
职工工资管理系统.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

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

1、学校:赣南师范学院科技学院 班级:计算机111班 姓名:陈泰安赣南师范学院科技学院数学与信息科学系数据库课程设计报告设计题目:职工工资管理系统专 业:计算机科学与技术班 级:计算机111班 学 号: 1120061102 姓 名: 陈泰安 指导老师: 谢辅雯 日 期: 20一三年 12 月 20日 成绩: 摘 要企业的工资管理是公司管理的一个重要内容。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理连接住房公积金和医疗保险等等,来生成企业每个职工的基本工资、福利补贴、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资

2、金管理的一个重要的组成部分。但考虑到学生的开发时间,本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的。涉及系统比较小,有利于学生单独编写。其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。经分析用Eclipse为开发工具,Microsoft SQL sever 2000 为后台数据库。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。并且Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),Eclipse

3、 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Ecli

4、pse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,关键词:职工工资管理系统、设计、开发工具摘要2目录31、系统需求分析4 1.1系统的用户管理4 1.2职工的信息管理4 1.3职工的工资管理41.4部门的信息管理4 1.5职工的奖惩管理4 1.6职工的培训管理42、功能需求分析4 2.1系统管理5 2.2信息管理5 2.3信息查询63、系统设计83.1数据库逻辑结构设计 83.1.1系统E-R图83.2 数据库物理结构设计9 3.2.1表之间的E-R图113.3数概念结构设计123.3.1数据流程图124、职工工资管理系统应用设计144.1 职工工资管理系统模块设计144.1.1

5、“登陆模块”详细设计14 4.1.2主界面”的详细设计16 4.2 管理员界面子模块的设计174.2.1薪资信息.174.2.2 培训信息224.2.3奖惩信息254.2.4部门信息285、总结316、参考文献321、系统需求分析企业工资管理系统的主要任务是用计算机对各种工资信息和职工基本信息进行日常的管理,如查询、修改、添加、删除等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:1.1系统的用户管理本模块主要功能包括用户的添加、删除、密码修改,重新登入,退出系统等。1.2职工的信息管理本模块主要功能包括

6、职工信息的添加,查询,修改,删除等。员工基本信息:工龄、员工编号、员工姓名、员工性别、出生日期、单位、籍贯、学历、职业、部门、部门编号、婚姻、是否在职1.3职工的工资管理本模块主要功能包括职工工资的查询,添加,删除,修改,计算,统计等。1.4部门的信息管理本模块主要功能包括部门查询,添加,修改,删除等。1.5职工的奖惩管理本模块主要功能包括对职工奖惩信息的查询,添加,修改,删除等。1.6职工的培训管理本模块主要功能包括职工培训计划的查询、添加、删除、修改等。2功能需求分析员工工资管理系统功能分析总图22.1.系统管理:功能分析图2.2信息管理:功能分析图职工信息管理:功能分析图基本信息管理:功

7、能分析图奖惩信息管理:功能分析图培训信息管理:功能分析图薪资信息管理:功能分析图2.3信息查询:功能分析图员工信息查询:功能分析图3、系统设计3.1数据库逻辑结构设计 3.1.1系统E-R图3.2数据库物理结构设计 需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达

8、到什么性能。此次课程设计的使用者是企业的员工,主要是针对系统的管理员。其进行的操作就是对公司员工、部门等一些方面改动的改善。由此对员工需求分析如下。 用户的需求就是对员工工资和使用用户的添加、删除、修改和查询。这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。搜集了各项要求,故数据项要求设计如下:表2.1登入信息表列名数据类型长度允许空usernameChar30不可以userpasswordChar20不可以competenceChar10不可以表2.2职工信息表列名数据类型长度允许空工龄Int4不可以职工编号(主键)Char20不可以性别Varchar10不可以姓名Varch

9、ar4不可以籍贯Varchar4不可以出生日期Datatime8不可以单位varchar30不可以部门Varchar30不可以职业Varchar20不可以学历Varchar10不可以婚姻Varchar4不可以部门编号Int4不可以在职否Varchar4不可以表2.3部门信息表列名数据类型长度允许空部门名称Varchar10不可以部门编号(主键)Int4不可以部门人数Int4不可以表2.4薪资信息表列名数据类型长度允许空顺序号Int4不可以薪资编号Int4不可以职工编号(主键)Char10不可以基本工资decimal9不可以福利补贴Decimal9不可以奖金Decimal9不可以住房公积金Dec

10、imal9不可以失业保险Decimal9不可以总薪资Int4可以部门名称(外键)varchar10不可以表2.5奖惩信息表列名数据类型长度允许空奖罚Varchar4不可以顺序号Int4不可以奖惩编号Int4不可以职工编号(主键)Char20不可以奖惩时间Datatime8不可以奖惩地点Varchar50不可以奖惩原因Varchar200不可以备注varchar500可以表2.6培训信息表列名数据类型长度允许空顺序号Int4不可以培训编号Int4不可以培训内容Varchar100不可以职工编号(主键)Char10不可以培训天数Int4不可以培训费用Int4不可以培训时间datatime8不可以3

11、.2.1表之间的E-R图3.3数概念结构设计3.3.1数据流程图0层流程图1层流程图2层流程图4、职工工资管理系统应用设计4.1职工工资管理系统模块设计系统实现,胡庆敏完成了系统管理,胡君完成了信息查询和普通用户界面我完成了信息管理4.1.1 “登陆模块”详细设计“登录模块”的设计主要是针对用户登录界面的设计,判断用户是管理员还是普通用户,从而进入不同主界面。登陆界面主要由用户名和密码还有权限的信息,还有标题的设置,登录和取消按钮的设置。用户只有选择用户名后填入相应的密码后点击“登录”才能进入主界面,点击“取消”会退出系统。由此,登陆界面设计如图4.1所示图4.1若用户密码、用户名或权限其中有

12、一个没有匹配成功的话,则点击“登入”时会提示以下消息框代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = 123456; Connection dbConn = null; try Class.forName(driverName); dbConn = DriverManager

13、.getConnection(dbURL, userName, userPwd); Statement stmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String username=jTextField.getText(); String userpassword=new String(jPasswordField.getPassword(); String competence =jRadioButton.getText(); String competence

14、1 =jRadioButton1.getText(); String sql; if( grp.getSelection()=jRadioButton1.getModel() sql=select * from log where username=+username+and userpassword=+userpassword+and competence=+competence1+; ResultSet rs1=stmt.executeQuery(sql);if(rs1.next()setVisible(false);function x=new function();x.setVisib

15、le(true);else JOptionPane.showMessageDialog(null,登入失败!); if (grp.getSelection()=jRadioButton.getModel()sql=select * from log where username=+username+and userpassword=+userpassword+and competence=+competence+; ResultSet rs=stmt.executeQuery(sql);if(rs.next()setVisible(false);function1 y=new function

16、1();y.setVisible(true); else JOptionPane.showMessageDialog(null,登入失败!); catch (Exception eo) eo.printStackTrace(); 4.1.2 “主界面”的详细设计主界面有两个,其中管理员主界面的设计是由菜单编辑器生成,主要由系统管理、信息管理、信息查询、三个模块组成。其作用是使程序更加有条有理,有利于管理。另外一个为普通用户操作,主要有基本信息查询,基本工资查询两个模块组成,两个主界面设计如图4.2所示:管理员主界面职工主界面4.2 管理员界面子模块的设计4.2.1选择“信息管理”“薪资信息管理

17、“删除”、“”修改”、“添加”菜单,分别实现删除职工,修改职工,添加职工薪资信息。删除薪资信息代码段:String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login;String userName = sa;String userPwd = 123456;Connection dbConn = null;String num = JOptionPane.showInputDial

18、og(请输入要删除的职工编号);String delete = delete from 薪资信息表 where 职工编号=+ num + ;if (num = null) return;if (JOptionPane.showConfirmDialog(null, 确认要删除吗?) = JOptionPane.YES_OPTION)try Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL,userName, userPwd);Statement stmt = dbConn.createStatement(R

19、esultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);if (stmt.executeUpdate(delete) != 0)JOptionPane.showMessageDialog(null,职工薪资信息删除操作,执行成功!);elseJOptionPane.showMessageDialog(null,没有该职工,执行失败!);catch (Exception e2) e2.printStackTrace();修改薪资信息代码段:ll = JOptionPane.showInputDialog(请输入需要修改薪资的职工编号)

20、;String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=txl;String userName = sa;String userPwd = 123456;Connection dbConn = null;try Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL,userName, userPwd

21、);java.sql.Statement stmt = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);String sql1 = select 职工编号 from 薪资信息表 where 职工编号=+ ll + ;ResultSet rs1 = stmt.executeQuery(sql1);if (rs1.next() 薪资修改 x1 = new 薪资修改();x1.setVisible(true); else JOptionPane.showMessageDialog(n

22、ull,没有该职工,请重新输入!);catch (Exception e1) e1.printStackTrace();String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = 123456; Connection dbConn = null; String 顺序号=jTextField1.g

23、etText();String 薪资编号=jTextField2.getText();String 基本工资=jTextField3.getText();String 福利补贴=jTextField4.getText();String 奖金=jTextField5.getText();String 住房公积金=jTextField6.getText();String 部门名称=jTextField7.getText();String 失业保险=jTextField61.getText();int a1=Integer.parseInt(基本工资);int b1=Integer.parseInt

24、(福利补贴);int c1=Integer.parseInt(奖金);int d1=Integer.parseInt(住房公积金);int f1=Integer.parseInt(失业保险);int x=a1+b1+c1-d1-f1;String s=Integer.toString(x);jTextField62.setText(s);try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement

25、(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); st.executeUpdate(update 薪资信息表 set 顺序号=+顺序号+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 薪资编号=+薪资编号+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 基本工资=+基本工资+ where 职工编号=+jTextField.getText()

26、+);st.executeUpdate(update 薪资信息表 set 福利补贴=+福利补贴+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 奖金=+奖金+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 住房公积金=+住房公积金+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 失业保险=+失业保险+ where 职工编号

27、=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 部门名称=+ 部门名称+ where 职工编号=+jTextField.getText()+);st.executeUpdate(update 薪资信息表 set 总薪资=+s+ where 职工编号=+jTextField.getText()+);JOptionPane.showMessageDialog(null,薪资信息修改成功!);catch (Exception e1) e1.printStackTrace(); 添加薪资信息代码段:String driverName

28、 = com.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = 123456; Connection dbConn = null; String 职工编号=jTextField.getText();String 顺序号=jTextField1.getText();String 培训编号=jTextField2.getText();S

29、tring 培训天数=jTextField3.getText();String 培训费用=jTextField4.getText();String 培训内容=jTextArea.getText();String 培训时间=jTextField5.getText();try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Resu

30、ltSet.CONCUR_UPDATABLE); st.executeUpdate(insert into 培训信息表 values(+顺序号+,+培训编号+,+培训内容+,+职工编号+,+培训天数+,+培训费用+,+培训时间+);JOptionPane.showMessageDialog(null,培训信息添加成功!);catch (Exception e1) e1.printStackTrace(); 统计人数/工资总额4.2.2选择“信息管理”“培训信息管理“删除”、“添加”菜单,分别实现删除职工,添加职工培训信息。 添加职工培训信息代码段:String driverName = com

31、.microsoft.jdbc.sqlserver.SQLServerDriver; String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login; String userName = sa; String userPwd = 123456; Connection dbConn = null; String 职工编号=jTextField.getText();String 顺序号=jTextField1.getText();String 培训编号=jTextField2.getText();String

32、培训天数=jTextField3.getText();String 培训费用=jTextField4.getText();String 培训内容=jTextArea.getText();String 培训时间=jTextField5.getText();try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement st=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.

33、CONCUR_UPDATABLE); st.executeUpdate(insert into 培训信息表 values(+顺序号+,+培训编号+,+培训内容+,+职工编号+,+培训天数+,+培训费用+,+培训时间+);JOptionPane.showMessageDialog(null,培训信息添加成功!);catch (Exception e1) e1.printStackTrace(); 删除职工培训信息由于没有该职工培训信息所以弹出以下窗口:如果含有该职工信息则会弹出以下窗口代码段:String driverName = com.microsoft.jdbc.sqlserver.SQL

34、ServerDriver;String dbURL = jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=login;String userName = sa;String userPwd = 123456;Connection dbConn = null;String num = JOptionPane.showInputDialog(请输入要删除的培训信息的职工编号);if (num = null) return;String delete = delete from 培训信息表 where 职工编号= + num+ ;if (JOptionPane.showConfirmDialog(null, 确认要删除吗?) = JOptionPane.YES_OPTION)try Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL,userName, userPwd);Statement stmt = dbConn.crea

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号