版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、得分:课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日 目 录一工资管理系统需求分析1。1功能需求1.1.1功能划分1。1。2功能描述1。2性能需求1。3数据流图二.总体设计2.1数据库概念设计2。2功能模块三。系统详细设计3。1数据库逻辑设计3。2各模块功能 3.2.1职工信息管理系统 3.2。2职工工资管理系统 3。2。3职工津贴管理系统四。系统实现4。1界面截图 4。1.1主界面及工资基本信息界面 4.1。2登录界面 4.1。3系统主界面 4。1。4信息录入,修改,删除,查询界面4。2设计代码五。实验总结1、 需求分析
2、1.1 功能需求1。1。1功能划分(1)、员工信息表;及时反映员工的基本信息 (2)、员工津贴表,反映员工津贴 (3)、员工基本工资表1.1。2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息 (5)、添加员工工资信息 (6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统
3、响应时间不会超过0。5秒时间.系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java语言编写,mysql数据库.1。3数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图1.1第一层数据流图修改职工信息删除职工记录输入职工基本信息工资表添加操作修改操作删除操作用户查询操作职工号图1.2职工信息的载入津贴表添加操作修改操作删除操作查询操作用户图1.
4、4考勤的信息载入2。总体设计2。1数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图姓名基本工资职工号工资员工职工号领取1 nm影响姓名津贴领取姓名津贴密码职工号图2。1实体之间关系ER图2。2功能模块工资管理系统 员工管理模块 职工登陆模块 工资管理模块 系统模块3系统详细设计3。1数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数
5、据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表一:员工信息表:列名数据类型可否取空备注说明no Char ( 8 )NOT NULL职工号(主键)nameChar(10)NOT NULL职工姓名miSmallintNOT NULL登录密码表二:基本工资表:列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar(10)NOT NULL职工姓名JbmoneyNOT NULL基本工资表四:津贴信息表列名数据类型可否为空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar(10)NOT NULL职工
6、姓名JtmoneyNOT NULL津贴3。2各模块功能3.2.1职工信息管理系统 功能为:财务部门相关人员录入、修改、删除、查询员工个人信息3。2。2职工工资管理系统功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3。2.3职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;4.系统实现4。1界面截图4.1。1主界面4.1。2登录界面4。1。3管理员管理工资界面4。1.4信息录入,修改,删除,查询界面4.1.5职工信息
7、查询界面4.1。6职工密码修改界面4。2设计代码DB。javapackage wage_management;import java.awt。;import java.awt.event.;import javax。swing。*;class DB extends JFrame implements ActionListener JFrame frame = new JFrame("欢迎进入企业工资管理系统”);JLabel label = new JLabel(”", JLabel.CENTER);JButton button1 = new JButton(”进入系统”)
8、;JButton button2 = new JButton("退出系统”);ImageIcon im = new ImageIcon(”1.jpg");JLabel a1 = new JLabel(im);void Create() JPanel pcontentPane = (JPanel) frame。getContentPane();pcontentPane。add(a1);pcontentPane.add(label);pcontentPane。setLayout(new FlowLayout();pcontentPane。add(button1);pconten
9、tPane。add(button2);pcontentPane。setVisible(true);button1。addActionListener(this);button2.addActionListener(this);frame。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 550, 180);frame。setVisible(true);public static void main(String args) DB dome = new DB();dome.C
10、reate();public void actionPerformed(ActionEvent e) if (button1。equals(e.getSource()) DL dl = new DL();dl.create();frame。dispose();if (button2.equals(e.getSource())) / 退出System.exit(0);DL.javapackage wage_management;import java。awt。Color;import java。awt.FlowLayout;import java.awt.event.ActionEvent;im
11、port java。awt.event。ActionListener;import java.sql。Connection;import java。sql。DriverManager;import java。sql。ResultSet;import java.sql。Statement;import javax。swing。ImageIcon;import javax。swing。JButton;import javax。swing。JFrame;import javax.swing。JLabel;import javax。swing.JOptionPane;import javax。swin
12、g.JPanel;import javax。swing.JPasswordField;import javax。swing。JTextField;import com。mysql。jdbc.PreparedStatement;import Query.Querypad;class DL extends JFrame implements ActionListener ImageIcon im = new ImageIcon("2。jpg");JLabel a2 = new JLabel(im);JFrame frame = new JFrame("职工/管理员登陆
13、");JLabel label1 = new JLabel(”用户名”);JLabel label2 = new JLabel(”密码");JButton logonButton1 = new JButton("管理员登录");JButton logonButton2 = new JButton(”职工登录”);JButton cancelButton = new JButton(”退出");JTextField username = new JTextField(9);JPasswordField password = new JPasswo
14、rdField(9);static String t1;static String t2;void create() JPanel p = (JPanel) frame.getContentPane();JPanel p1 = new JPanel();p。setLayout(new FlowLayout());p。add(a2);p。add(label1);p.setSize(5, 5);p。setLocation(4, 8);p.add(username);p。setSize(100, 200);p.setLocation(800, 800);p.add(label2);p。setSize
15、(50, 20);p。setLocation(40, 80);p。add(password);p.setSize(100, 20);p.setLocation(80, 120);p。add(logonButton1);p。add(logonButton2);p.add(cancelButton);p。setBackground(Color。cyan);p。setVisible(true);logonButton1。addActionListener(this);logonButton2。addActionListener(this);cancelButton.addActionListener
16、(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 500, 220);frame.setVisible(true);public void actionPerformed(ActionEvent e) t1 = username。getText();t2 = password。getText();if(e。getSource()=logonButton1)if( username。getText()。equals(”admin") = t
17、rue&& (password.getText()。equals(”admin”) = true)) JOptionPane.showMessageDialog(this, "登录成功!”);GZGLZJM gz = new GZGLZJM();gz.create();frame。dispose(); else JOptionPane.showMessageDialog(null, ”输入用户名或密码错误!");if (e。getSource()=logonButton2)try Connection con;Statement ps;ResultSet r
18、s;String sql = null;Class。forName("org。gjt.mm。mysql。Driver”);Class。forName(”org.gjt.mm。mysql。Driver")。newInstance();con = DriverManager。getConnection( ”jdbc:mysql:/localhost:3306/wage management”,"root”,”jxb”); sql=”select * from workerinfo where name='”+t1+”' and mi="+t2
19、+"”;ps = (PreparedStatement) con。prepareStatement(sql);rs = ps。executeQuery(sql);if(rs。next()if(rs.getString("name”)。equals(t1) && rs.getString(”mi").equals(t2)YGDLJM yg = new YGDLJM();yg。create();frame.dispose();JOptionPane。showMessageDialog(this, ”登录成功!”);this。dispose();else
20、 JOptionPane.showMessageDialog(this, ”输入用户名或密码错误!”);catch (Exception e1) / TODO Autogenerated catch blocke1。printStackTrace();if (cancelButton。equals(e。getSource() / 退出System。exit(0);GZGLZJM。javapackage wage_management;import java.awt。Color;import java。awt。FlowLayout;import java。awt.event.ActionEven
21、t;import java.awt.event.ActionListener;import javax。swing。ImageIcon;import javax。swing.JButton;import javax。swing。JFrame;import javax。swing。JLabel;import javax.swing。JPanel;class GZGLZJM extends JFrame implements ActionListener JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton(”工资管理
22、”);JButton b2 = new JButton(”员工信息管理”);JButton b3 = new JButton(”返回”);ImageIcon im = new ImageIcon(”3。jpg");JLabel a1 = new JLabel(im);void create() JPanel p = (JPanel) f。getContentPane();p。setLayout(new FlowLayout();p。add(a1);p。add(b1);p。add(b2);p.add(b3);p。setBackground(Color。cyan);p。setVisibl
23、e(true);b1。addActionListener(this);b2。addActionListener(this);b3.addActionListener(this);f。setBounds(200, 100, 500, 200);f。setVisible(true);public void actionPerformed(ActionEvent e) if (b3。equals(e。getSource() / 返回DL d = new DL();d。create();f。dispose();if (b2。equals(e。getSource() / 员工信息管理YGGL yg =
24、new YGGL();yg。create();f。dispose();if (b1.equals(e.getSource()) / 工资管理GZGL gz = new GZGL();gz。create();f。dispose();GZGL。javapackage wage_management;import java.awt.Color;import java。awt。FlowLayout;import java。awt。event。ActionEvent;import java.awt。event。ActionListener;import java.sql.Connection;impor
25、t java。sql。DriverManager;import java.sql。ResultSet;import java.sql。SQLException;import java.sql。Statement;import javax。swing。JButton;import javax。swing.JFrame;import javax。swing.JLabel;import javax。swing。JOptionPane;import javax.swing.JPanel;import javax。swing.JScrollPane;import javax。swing.JSplitPa
26、ne;import javax.swing。JTable;import javax。swing.JTextField;public class GZGL extends JFrame implements ActionListener JFrame f = new JFrame(”工资管理”);JButton b1 = new JButton(”录入”);JButton b2 = new JButton(”修改");JButton b3 = new JButton("删除”);JButton b4 = new JButton("查询所有”);JButton b5
27、= new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String cloum = ”职工号”, "姓名”, ”津贴”, ”月基本工资","月薪
28、”;Object row = new Object505;JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane。VERTICAL_SPLIT);void create() JPanel p = (JPanel) f。getContentPane();p.setLayout(new FlowLayout());p.add(scrollpane);p。add(splitpane);JP
29、anel p1 = new JPanel();p1.add(b1);p1。add(b2);p1。add(b3);p1。add(b4);p1.add(b5);JPanel p2 = new JPanel();p2。setBackground(Color.cyan);p2。add(scrollpane);JPanel p3 = new JPanel();p。setLayout(new FlowLayout();p。add(new JLabel(”);p。add(new JLabel(”职工号”);p。add(tf1);p.add(new JLabel(”姓名");p.add(tf2);p
30、。add(new JLabel("津贴");p.add(tf3);p。add(new JLabel(”月基本工资”));p。add(tf4);p。add(new JLabel("月薪");p。add(tf5);p。add(new JLabel(” 在此处输入职工号点击查询删除”);p.add(tf6);splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane。setDividerLocation(50);p。setBackground(Color。CYAN
31、);b1。addActionListener(this);b2。addActionListener(this);b3。addActionListener(this);b4。addActionListener(this);b5。addActionListener(this);f.setBounds(200, 100, 500, 600);f.setResizable(true);/ 可以调整界面大小f。setVisible(true);public void actionPerformed(ActionEvent e) if (b1。equals(e。getSource())) / 录入Conn
32、ection con;Statement sql;try Class.forName(”org。gjt。mm。mysql。Driver”); catch (ClassNotFoundException e1) System。out。println(” + e1);try con = DriverManager。getConnection("jdbc:mysql:/localhost:3306/wage management”,”root”,”jxb”);sql = con。createStatement();String insertStr = ”INSERT INTO welfar
33、e (no,name,jt)VALUES('"+tf1。getText()+",”+tf2.getText()+",”+tf3。getText()+”');";sql.executeUpdate(insertStr);String insertStr1 = ”INSERT INTO wageinfo (no,name,jb)VALUES(”+tf1.getText()+"',”+tf2。getText()+",'”+tf4.getText()+”);";sql.executeUpdate(in
34、sertStr1);con。close();JOptionPane。showMessageDialog(this, "入录成功!”); catch (SQLException e1) JOptionPane。showMessageDialog(this, ”入录失败!”);if (b2。equals(e。getSource())) / 修改Connection con;Statement sql;try Class.forName("org。gjt。mm。mysql。Driver"); catch (ClassNotFoundException e1) Syste
35、m.out。println("” + e1);try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management”,”root","jxb”);sql = con。createStatement();String updateStr = "UPDATE welfare SET jt='”+tf3。getText()+”,name=”+tf2。getText()+"'where no='"+tf1。getTe
36、xt()+"'”;sql.executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb=”+tf4.getText()+",name='"+tf2。getText()+"'where no="+tf1.getText()+”;";sql.executeUpdate(updateStr1);JOptionPane。showMessageDialog(this, ”修改成功!”);con。close(); catch (SQLEx
37、ception e1) JOptionPane。showMessageDialog(this, ”信息不存在!”);if (b3。equals(e。getSource()) / 删除Connection con;Statement sql;ResultSet rs;try Class.forName("org。gjt。mm。mysql。Driver”); catch (ClassNotFoundException e1) System。out.println(”" + e1);try con = DriverManager。getConnection("jdbc:
38、mysql:/localhost:3306/wage management”,”root",”jxb”);sql = con。createStatement(ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_READ_ONLY);sql。executeUpdate(”DELETE FROM wageinfo where no="+tf6.getText()+";”);sql。executeUpdate(”DELETE FROM welfare where no='"+tf6。getText()+”&
39、#39;;”);JOptionPane。showMessageDialog(this, ”删除成功!”);con.close(); catch (SQLException e1) JOptionPane。showMessageDialog(this, ”删除失败!");if (b4。equals(e。getSource() / 查询全部Connection con;Statement sql;ResultSet rs;/Vector vector = new Vector();try Class。forName(”org.gjt。mm.mysql.Driver”); catch (C
40、lassNotFoundException e1) JOptionPane。showMessageDialog(this, ”连接数据库失败!”);try con = DriverManager。getConnection(”jdbc:mysql:/localhost:3306/wage management”,"root”,”jxb”);sql = con.createStatement(ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource())) for (int
41、 i = 0; i < 50; i+)for (int j = 0; j < 4; j+)table。setValueAt(”, i, j);rs = sql。executeQuery("select distinct from wageinfo ,welfare where wageinfo。name=welfare。name”);int k = -1;while (rs。next()) +k;String no = rs。getString(1);String name = rs。getString(2);String jb = rs.getString(3);Str
42、ing jt = rs.getString(6);int sum=rs。getInt(3)+rs。getInt(6);table。setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table。setValueAt(jt, k, 2);table.setValueAt(sum,k,4); catch (SQLException e1) JOptionPane.showMessageDialog(this, ”查询失败!”);if (b5.equals(e.getSource()) / 返回GZ
43、GLZJM gl=new GZGLZJM();gl.create();f。dispose();YGGLZJM.javapackage wage_management;import java。awt。Color;import java。awt。FlowLayout;import java.awt.event。ActionEvent;import java。awt.event.ActionListener;import java。sql。Connection;import java。sql。DriverManager;import java.sql。ResultSet;import java。sq
44、l。SQLException;import java.sql.Statement;import javax。swing.JButton;import javax。swing.JFrame;import javax.swing。JOptionPane;import javax。swing.JPanel;import javax。swing。JScrollPane;import javax。swing。JSplitPane;import javax。swing.JTable;public class YGDLJM extends DL implements ActionListener JFram
45、e f = new JFrame(”工资管理");JButton b1 = new JButton("查询个人工资");JButton b2 = new JButton(”修改密码”);JButton b3 = new JButton(”返回");String cloum = "职工号”, ”姓名", "津贴”, "月基本工资”,"月薪”;Object row = new Object505;JTable table = new JTable(row, cloum);JScrollPane scrollp
46、ane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane。VERTICAL_SPLIT);void create() JPanel p = (JPanel) f。getContentPane();p。setLayout(new FlowLayout());p.add(scrollpane);p。add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);JPanel p2 = new JPanel();p2.se
47、tBackground(Color.cyan);p2.add(scrollpane);JPanel p3 = new JPanel();p。setLayout(new FlowLayout());splitpane。add(p1, splitpane.TOP);splitpane。add(p2, splitpane。BOTTOM);splitpane。setDividerLocation(50);p。setBackground(Color。CYAN);b1.addActionListener(this);b2。addActionListener(this);b3.addActionListen
48、er(this);f。setBounds(200, 100, 500, 550);f。setResizable(true);/ 可以调整界面大小f。setVisible(true);public void actionPerformed(ActionEvent e) if (b1。equals(e。getSource()) / 查询个人工资Connection con;Statement sql;ResultSet rs;try Class。forName(”org。gjt。mm。mysql。Driver"); catch (ClassNotFoundException e1) Sy
49、stem.out。println("” + e1);try con = DriverManager.getConnection(”jdbc:mysql:/localhost:3306/wage management”,”root”,”jxb”);sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_READ_ONLY);if (b1。equals(e。getSource())) for (int i = 0; i 50; i+)for (int j = 0; j 4; j+)table.s
50、etValueAt(”", i, j);/System。out。println(t1);rs = sql.executeQuery(”select distinct from wageinfo ,welfare,workerinfo where wageinfo。no=welfare。no and wageinfo。no=workerinfo。no and workerinfo。name=”+t1+” and workerinfo.mi=”+t2+"”);int k = 1;while (rs。next() +k;String no = rs。getString(1);St
51、ring name = rs。getString(2);String jb = rs。getString(3);String jt = rs。getString(6);int sum=rs。getInt(3)+rs.getInt(6);table.setValueAt(no, k, 0);table。setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table。setValueAt(jt, k, 2);table.setValueAt(sum,k,4); catch (SQLException e1) JOptionPane。showMessa
52、geDialog(this, ”查询失败!”);if (b2。equals(e.getSource())) / 修改密码XGMM xgmm=new XGMM();xgmm。create();if (b3.equals(e。getSource()) / 返回DL dl=new DL();dl。create();f.dispose();YGGL。javapackage wage_management;import java。awt。Color;import java.awt。FlowLayout;import java。awt。event。ActionEvent;import java。awt。e
53、vent。ActionListener;import java。sql。Connection;import java。sql。DriverManager;import java。sql。ResultSet;import java。sql。SQLException;import java.sql。Statement;import javax。swing。JButton;import javax.swing.JFrame;import javax.swing。JLabel;import javax。swing.JOptionPane;import javax。swing。JPanel;import javax。swing。JScrollPane;import javax。swing。JSplitPane;import javax。swing。JTable;import javax。swing。JTextField;public class YGGL extends JFrame implements ActionListener JFrame f = new JFrame("员工信息管理”);JButton b1 = new JButton(”添加新员工信息");JButton b2 = new JButt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流安全管理奖惩制度
- 环卫公司驾驶奖惩制度
- 班级学生奖惩制度细则
- 白酒包装工人奖惩制度
- 瓷砖店内工作奖惩制度
- 生活学习计划奖惩制度
- 电商运营团队奖惩制度
- 电线员工品质奖惩制度
- 疫情防控部门奖惩制度
- 短视频各岗位奖惩制度
- DL∕T 547-2020 电力系统光纤通信运行管理规程
- JCT2166-2013 夹层玻璃用聚乙烯醇缩丁醛(PVB)胶片
- 建筑材料说课公开课一等奖市赛课获奖课件
- 湖南2023年长沙银行理财经理社会招聘(37)考试参考题库含答案详解
- 充电桩合作框架协议
- 薄膜的物理气相沉积
- 新一代大学英语提高篇视听说教程2答案
- 再生水厂退水管线出水口及钢模围堰施工方案
- 二十世纪西方文论课件
- GB/T 245-2016金属材料管卷边试验方法
- 第一章-管理导论-(《管理学》课件)
评论
0/150
提交评论