目  录
第一章 前 言 1
第二章 系统需求分析 1
第三章 技术介绍 1
3.1编程语言介绍 1
3.2 Swing介绍 2
3.3 数据库服务器介绍 3
第四章 系统详细设计 4
4.1 数据库设计 4
4.2 系统登录模块设计 5
4.3 员工信息模块设计 6
4.4出勤信息模块设计 8
4.5员工工资模块设计 9
4.6相关查询模块设计 12
第五章 小结 12
主要参考文献 13
致 谢 14
第二章 系统需求分析
此系统功能是从网上查阅有关资料,了解到工作考勤管理系统中主要需要解决的功能是:对系统的数据库配置信息进行输入;登录时设置登录权限,分别为系统管理员、人事部人员,财务部人员;员工的基本信息(编号、姓名、性别、部门等)的管理;员工出勤信息(编号、月份、迟到、实到等)的管理;员工基本信息的查询,出勤信息及工资情况的查询;密码更改功能等等[3]。
以上只是简单地对本系统做了些功能方面的需求分析,具体的系统需要完成的功能信息将在第四章的详细设计中得以具体的介绍。

第三章 技术介绍
本系统用到的技术主要分为编程语言与数据库服务器两个方面,分别负责处理前台和后台。
3.1编程语言介绍
编程语言为Java语言,所用软件为My Eclipse。Java语言有下面一些特点:简单、面向对象、分布式、鲁棒、 安全、体系结构中立、可移植、高性能、多线程以及动态性等[4]。
3.1.1简单性
Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本概念,就可用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作[5]。
3.1.2面向对象
Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏。
3.1.3安全性
用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 “特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误[6]。
3.1.4可移植性
与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。 同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java 系统本身也具有可移植性。
3.1.5多线程
多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
3.2 Swing介绍
Swing也属于Java语言,但由于本系统中大量使用了Swing这方面的技术,所以单独用一节来介绍此技术。Swing的组件容器有很多,为方便起见只介绍一下本系统用到的。
3.2.1 面板(JPanel)
面板(JPanel)是一个轻量容器组件,用于容纳界面元素,以便在布局管理器的设置下可容纳更多的组件,实现容器的嵌套。 Jpanel, JscrollPane, JsplitPane, JinteralFrame都属于常用的中间容器,是轻量组件。Jpanel的缺省布局管理器是FlowLayout[7]。
3.2.2 滚动窗口(JScrollPane)
JscrollPane是带滚动条的面板,主要是通过移动JViewport(视口)来实现的。
3.2.3 选项板(JTabbedPane)
JTabbedPane提供一组可供用户选择的带有标签或图标的开关键。本系统中的几个页面切换就是用的这个容器。
3.2.4 按钮(JButton)
按钮是一个常用组件,按钮可以带标签或图象。     
3.2.5 单选框(JRadioButton)
单选框JRadioButton与AWT中的复选框组功能类似。系统中“员工工资”这个版面里面“出勤奖金系数”这个边框里面的几个选项用到的就是单选框。
3.2.6 选择框(JComboBox)
  JComboBox每次只能选择其中的一项,但是可编辑每项的内容,而且每项的内容可以是任意类,而不再局限于String。本文转载自http://www.biyezuopin.vip/onews.asp?id=12720本系统中“出勤信息”和“员工工资”版面里“月份”下拉选框用的就是这个组件。
3.2.7 标签(JLabel) 
提供标签机制可插入文本和图像。本系统中插入的图像即用的这个组件。
3.2.8 表格(JTable)
表格是Swing新增加的组件,主要功能是把数据以二维表格的形式显示出来。系统中出现的“员工信息”、“出勤信息”、“工资信息”都是从数据库中调取数据,并在表格中显示出来,表格要放到前面讲到的JScrollPane中,否则列标题不予显示。
3.2.9 树(JTree)
如果要显示一个层次关系分明的一组数据,用树状图表示能给用户一个直观而易用的感觉,JTree类如同Windows的资源管理器的左半部,通过点击可以"打开"、"关闭"文件夹,展开树状结构的图表数据。系统中“帮助信息”这一版面可用JTree进行选择查看系统帮助[8]。

inputData.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
		int i = 0;
		for (Object[] o : empData) {
			String str = (String) o[0];
			if (code.getText().equals(str)) {
				new InputError("编号与他人重复,请重新输入!");
				return;
			}
			i++;
		}
		try {
			Object[][] ob = Service.inputEmpInfo(code.getText(), name
				.getText(), sex.getSelectedItem().toString(),
				department.getSelectedItem().toString(), position
				.getText(), address.getText(), Integer
				.parseInt(basePay.getText()));
				i = 0;
				for (Object[] o : ob) {
				empData[i] = o;
				i++;
				}
				refresh(currentPane.getSelectedIndex());
				new InputSuccess("成功输入数据!");
				dutyJudge(onDutyData, empData);
				salaryJudge(salData, empData);
			} catch (NumberFormatException e1) {
				new InputError("请在工资栏里输入数字");
			} catch (Exception e1) {
					new InputError("未知输入错误");
			}
		}
	});

java 增量拉取考勤记录_My Eclipse


java 增量拉取考勤记录_java 增量拉取考勤记录_02


java 增量拉取考勤记录_java_03


java 增量拉取考勤记录_java 增量拉取考勤记录_04


java 增量拉取考勤记录_java 增量拉取考勤记录_05


java 增量拉取考勤记录_工作考勤管理系统_06


java 增量拉取考勤记录_工作考勤管理系统_07


java 增量拉取考勤记录_工作考勤系统_08


java 增量拉取考勤记录_工作考勤系统_09


java 增量拉取考勤记录_工作考勤系统_10


java 增量拉取考勤记录_工作考勤系统_11


java 增量拉取考勤记录_java 增量拉取考勤记录_12


java 增量拉取考勤记录_My Eclipse_13


java 增量拉取考勤记录_工作考勤系统_14


java 增量拉取考勤记录_My Eclipse_15