企业人事管理系统课程设计(22页).doc
-企业人事管理系统课程设计-第 20 页河南城建学院JAVA基础课程设计设计说明书课程名称: JAVA基础课程设计 设计题目: 企业人事管理系统 指导教师: 陈红军 班 级: 0844131 学 号: 084413120 学生姓名: 陈功亮 同组人员: 李泽坤、郭鹏 成 绩: 评 语: 计算机科学与工程学院2015年1月9日目 录第1章 选 题21.1 题目背景21.2系统实现的具体分工21.2.1 选题21.2.2 团队分工21.3开发环境2第2章 设计内容32.1实现功能32.2 概要设计(涉及类的框图)32.3 界面设计3第3章 系统实现33.1 涉及知识点33.2 系统运行(主要运行界面抓图)33.3 源程序清单(关键代码)4第4章 测试与实验结果4第5章 结束语4参考文献4第1章 选 题1.1 题目背景随着全球经济一体化时代的到来,竞争的范围迅速扩大,竞争的程度空前加剧。那么,谁将是竞争中的胜者?是那些占据人事优势的地区、国家和企业。因为经济竞争,说到底是人才的竞争,是人综合素质的竞争。被称作“经营之神”的日本著名企业家松下幸之助说得好:“国家的兴盛在于人,国家的灭亡亦在于人,古圣先贤,早有明训;回顾历史,可谓丝毫不爽。经营事业的成败,不容讳言,与治国同一道理,在于人事安排是否合宜。”毫无疑问,人事在一个企业中起着举足轻重的作用。在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人资料的录入,职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理。企业人事管理包括人员的招聘、员工的档案管理、公共信息管理、合同管理、绩效考评、薪资福利的制定计算与发放、考勤及休假管理工作等。传统的人事管理方式存在着许多缺点,如:文件查找困难,管理效率低、人事信息保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学与网络技术日渐成熟,其强大的功能与跨地域性已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机企业内部信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。人事管理系统的开发与实现,改变了传统手工办理人事业务速度慢、效率低的弊端,极大地节省了时间和人力,把人事业务从单调、重复的事务性工作中解脱出来,降低了劳动成本,提供了更为高效的公共信息服务。本系统可使管理人员对全局人员结构及岗位配置情况有清晰的了解。在人才选拔上可实现人才的内部挖掘,保证人事的合理配置。 在系统的实施过程中完成了对管理制度和流程的完善和优化,提高了整个企业的人事管理效率,促进人事管理工作向着标准化、规范化的方向发展。1.2系统实现的具体分工郭鹏:主界面。李泽坤:待遇管理->奖惩管理模块。陈功亮:人事管理->档案管理,考勤管理,培训管理模块。1.2.1 选题企业人事管理系统。1.2.2 团队分工表1.1 项目分工一览表角色姓名承担的具体任务组长陈功亮档案管理,考勤管理,培训管理模块组员李泽坤奖惩管理模块组员郭鹏主界面的分析与设计1.3开发环境编程工具:JDK+ECLIPSE(+MySQL)计算机:PC操作系统:Microsoft Windows 7.0第2章 设计内容2.1实现功能1、增添、修改职工档案信息,包括个人信息、职务信息、以及档案信息。2、对员工日常、开会、加班进行考勤管理。3、对员工的实现奖惩管理。4、可以快捷的打开系统的计算器、Excel、Word等常用工具。2.2 概要设计(涉及类的框图)郭鹏李泽坤数据库设计:陈功亮、郭鹏、李泽坤共同监制2.3 界面设计第3章 系统实现3.1 涉及知识点1、面向对象2、GUI(面板、对话框、表格、组合框、滚动条、标签、按钮等常用组件)3、页面布局4、Map集合类5、数据库的增删改查及多表联查。3.2 系统运行(主要运行界面抓图)3.3 源程序清单(关键代码)1、数据库设计CREATE TABLE info_employee.bringup (id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,bid int(11) NOT NULL,bname varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,num int(6) UNSIGNED NOT NULL,PRIMARY KEY (id) CREATE TABLE info_employee.info_bringup_content (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,name varchar(40) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,content varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,object varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,start_date varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,end_date varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,unit varchar(40) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,lecturer varchar(20) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,place varchar(60) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,PRIMARY KEY (id) CREATE TABLE info_employee.info_duty (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '档案编号',dept varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,duty varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,acform varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,acdate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,didate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,direason varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,fpdate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,psdate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,pedate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,bkname varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,bkno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,ssno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,asno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,dsno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,msno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,csno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,afno varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,PRIMARY KEY (id) ,FOREIGN KEY (id) REFERENCES info_employee.info_record (),INDEX dept (dept),INDEX duty (duty)CREATE TABLE info_employee.info_login (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,username varchar(7) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,pwd varchar(10) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,record_num int(6) UNSIGNED NOT NULL,sex varchar(5) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,purview varchar(15) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,state varchar(15) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,authorization int(11) NOT NULL,PRIMARY KEY (id) ,FOREIGN KEY (record_num) REFERENCES info_employee.info_record (record_num),INDEX record_num (record_num)CREATE TABLE info_employee.info_record (record_num int(6) UNSIGNED NOT NULL AUTO_INCREMENT,nation varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,nativeplace varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,name varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,sex varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,birthday varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,photo varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,idcard varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,marriaged varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,address varchar(40) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,postalcode varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,partymember varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,schoolage varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,specialty varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,folanguage varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,fograde varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,qq varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,email varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,handset varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,telphone varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,secsage varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,scspecialty varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,gdschool varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,gddate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,pmdate varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,cmpgrade varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,likes varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,stsuit varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL,PRIMARY KEY (record_num) ,INDEX name (name),INDEX sex (sex)CREATE TABLE info_employee.rewards_and_punishment (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,record_num int(6) UNSIGNED NOT NULL,type varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,reason varchar(60) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,content varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,money int(11) NOT NULL,start_date varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,end_date varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,ratifier_dept varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,ratifier_record_num int(11) NOT NULL,ratifier_date varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,PRIMARY KEY (id) ,CONSTRAINT rewards_and_punishment_ibfk_1 FOREIGN KEY (record_num) REFERENCES info_employee.info_record (record_num),INDEX record_num (record_num)CREATE TABLE info_employee.timecard (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,record_num int(6) UNSIGNED NOT NULL,type varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,explains varchar(100) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,start_date varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,end_date varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,ratifier_dept int(11) NOT NULL,retifier_record_num int(11) NOT NULL,ratifier_date varchar(30) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL,PRIMARY KEY (id) ,CONSTRAINT timecard_ibfk_1 FOREIGN KEY (record_num) REFERENCES info_employee.info_record (record_num),INDEX record_num (record_num)源程序:package com.hncj.currdesign.frame;import javax.swing.JPanel;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.lang.reflect.Method;import .URL;import java.sql.Date;import java.util.Enumeration;import javax.swing.AbstractButton;import javax.swing.ButtonGroup;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JRadioButton;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.SwingConstants;import javax.swing.SwingUtilities;import javax.swing.border.TitledBorder;import javax.swing.filechooser.FileFilter;import com.hncj.currdesign.mysql.SqlUtil;import com.hncj.personinfo.*;import com.hncj.tool.LayoutUtil;import com.hncj.tool.Today;public class RecordOperatePanel extends JPanel private JTextField deptTextField;private JComboBox accessionFormComboBox;private JComboBox dutyComboBox;private ButtonGroup partyMemberButtonGroup = new ButtonGroup();private ButtonGroup marriagedButtonGroup = new ButtonGroup();private ButtonGroup sexButtonGroup = new ButtonGroup();private JComboBox schoolageComboBox;private JComboBox nativePlaceComboBox;private JComboBox nationComboBox;private JTextField accumulationFundNOTextField;private JTextField annuitySafetyNOTextField;private JTextField pactEndDateTextField;private JTextField dimissionReasonTextField;private JTextField compoSafetyNOTextField;private JTextField doleSafetyNOTextField;private JTextField medicareSafetyNOTextField;private JTextField societySafetyNOTextField;private JTextField pactAgeTextField;private JTextField bankNOTextField;private JTextField pactStartDateTextField;private JTextField dimissionDateTextField;private JTextField bankNameTextField;private JTextField firstPactDateTextField;private JTextField accessionDateTextField;private JTextField homeAddressTextField;private JTextField onesStrongSuitTextField;private JTextField likeTextField;private JTextField homePostalcodeTextField;private JTextField partyMemberDateTextField;private JTextField graduateSchoolTextField;private JTextField graduateDateTextField, secondSpecialtyTextField, secondSchoolageTextField, computerTextField, emailTextField, qqTextField, telephoneTextField, handsetTextField, addressTextField, postalcodeTextField, gradeTextField, specialtyTextField, foreignLanguageTextField, idCardTextField,partyMemberTextField,birthdayTextField,nameTextField,recordNoTextField;private JLabel photoLabel;private JTextField naPlaceTextField;SqlUtil sql = new SqlUtil();public static Record UPDATE_RECORD = null;JScrollPane recordScrollPane = new JScrollPane();public RecordOperatePanel(final JPanel rightPanel) super();final JLabel recordNoLabel = new JLabel();recordNoLabel.setText(" 档案编号:");recordNumPanel.add(recordNoLabel);recordNoTextField = new JTextField();recordNoTextField.setHorizontalAlignment(SwingConstants.CENTER);recordNoTextField.setPreferredSize(new Dimension(125, 20);recordNoTextField.setEditable(false);if (UPDATE_RECORD = null) else recordNoTextField.setText(UPDATE_RECORD.getRecordNumber();recordNumPanel.add(recordNoTextField);final JPanel infoPanel = new JPanel();infoPanel.setLayout(new BorderLayout();infoPanel.setBackground(Color.WHITE);contentPanel.add(infoPanel, BorderLayout.CENTER);final JPanel recordInfoPanel = new JPanel();recordInfoPanel.setLayout(new GridBagLayout();recordInfoPanel.setBorder(new TitledBorder(null, "档案信息",TitledBorder.DEFAULT_JUSTIFICATION,TitledBorder.DEFAULT_POSITION, null, null);recordInfoPanel.setBackground(Color.WHITE);infoPanel.add(recordInfoPanel, BorderLayout.NORTH);final JLabel nameLabel = new JLabel();nameLabel.setText("姓 名:");LayoutUtil.add(recordInfoPanel, 0, 0, nameLabel, new Insets(5, 0, 10, 0);nameTextField = new JTextField();nameTextField.setPreferredSize(new Dimension(125, 20);if (UPDATE_RECORD != null)nameTextField.setText(UPDATE_RECORD.getName();LayoutUtil.add(recordInfoPanel, 1, 0, nameTextField, new Insets(5, 0, 10, 20);final JLabel sexLabel = new JLabel();sexLabel.setText("性 别:");LayoutUtil.add(recordInfoPanel, 2, 0, sexLabel, new Insets(5, 0, 10, 0);final JRadioButton manRadioButton = new JRadioButton();sexButtonGroup.add(manRadioButton);manRadioButton.setBackground(Color.WHITE);manRadioButton.setText("男");LayoutUtil.add(recordInfoPanel, 3, 0, manRadioButton, new Insets(0, 16, 10, 0);final JRadioButton womanRadioButton = new JRadioButton();sexButtonGroup.add(womanRadioButton);womanRadioButton.setBackground(Color.WHITE);womanRad