1 需求分析随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。
在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。
员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。
该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。
2 具体功能(1)新员工注册功能。
(2)员工登陆功能。
(3)员工查看个人工资功能。
(4)管理人员登录功能。
(5)管理人员对员工基本资料的修改,添加,删除,查询功能。
(6)管理人员对员工工资信息的修改,添加,删除,查询功能。
3 系统设计3.1、功能示意图系统功能如图3-1所示:图3-1系统功能图3.2、数据库设计本软件数据库类型为MYSQL ,数据库“employee.mdb ”,其中共包含三种表,其一是登录用户信息表 user (如表3-1),其二是员工基本信息表emps (如表3-2),其三是员工工资信息表salary (如表3-3)。
对应的数据库截图分别为:登录用户信息表users 截图(如图3-2),员工基本信息表emps 截图(如图3-3),员工工资信息表salary 截图(如图3-4)。
员工管理员个人工资显示 showSalaryFrm.java登陆界面 loginFrm.java主界面mainFrm.java员 工 基 本 信 息 的 删 除工 资 信 息 的 查 询工 资 信 息 的 修 改工 资 信 息 的 删 除工 资 信 息 的 添 加员 工 基 本 信 息 的 添 加员 工 基 本 信 息 的 查 询员 工 基 本 信 息 的 修 改版 本 信 息表3-1 用户表列名数据类型长度是否为空username varchar 10 否pwd varchar 10 否type varchar 10 否表3-2 员工基本信息表列名数据类型长度是否为空em-id varchar 10 否em-name varchar 10 否em-sex varchar 4 否em-birth varchar 10 否em-time varchar 10 否em-dep varchar 20 否表3-3 员工工资信息表列名数据类型长度是否为空sa-Id varchar 10 否sa-Jiben int 4 否sa-Gangwei int 4 否sa-Zhufang int 4 否sa-Yanglao int 4 否sa-Yingfa int 4 是sa-Yingkou int 4 是sa-Shifa int 4 是图3-2 登录用户信息表users截图图 3-3 员工基本信息表emps截图图 3-4 员工工资信息表salary截图3.3、模块设计本工程下包含三个包,分别是com.control;com.model;com.view.具体模块如表3-3。
表3-3模块功能表类名功能描述com.control EmpHandle.java 员工控制模块com.control LoginHandle.java 登录控制模块com.control SalaryHandle.java 工资控制模块com.model Dblink.java 数据库连接控制模块com.model Emp.java 定义员工类com.model Salary.java 定义工资类com.model User.java 定义用户名类com.view AAEmpSystem.java 主函数模块com.view aboutFrm.java 系统关于模块com.view empAddFrm.java 员工信息添加模块com.view empDelFrm.java 员工信息删除模块com.view empQueryFrm.java 员工信息查询模块com.view empRewFrm.java 员工信息更新模块com.view loginFrm.java 登陆界面模块com.view mainFrm.java 主界面模块com.view msgFrm;java 窗口提示模块com.view salaryAddFrm.java 工资信息添加模块com.view salaryDelFrm.java 工资信息删除模块com.view salaryQueFrm.java 工资信息查询模块com.view salaryRewFrm.java 工资信息更新模块com.view showSalaryFrm.java 个人工资显示模块4 系统实现员工信息管理4.1、删除员工信息功能的实现删除界面如图4-1所示,该类用于完成基本的数据库操作,包括加载数据库驱动,创建数据库连接,执行Sql语句等。
通过构造方法加载数据库驱动程序和创建数据库连接(即打开数据库),通过Close()方法关闭数据库,另外还有四个方法分别为empAddFrm() 、empQueryFrm()、 empRewFrm()、empDelFrm()。
通过这四种方法分别实现员工基本信息的添加、查询、修改、删除等操作。
在调用方法之前如果没有打开数据库则先打开数据库。
四种方法内容相似,以下为 empDelFrm()方法具体内容:public void actionPerformed(ActionEvent e){//退出本窗体if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnAdd){Emp emp=new Emp();emp.setEm_id(txtId.getText());emp.setEm_name(txtName.getText());emp.setEm_birth(txtBirth.getText());emp.setEm_time(txtTime.getText());if(cbm.getState())emp.setEm_sex("男");else emp.setEm_sex("女");emp.setEm_dep(choDep.getSelectedItem());EmpHandle empHandle=new EmpHandle();empHandle.AddToDb(emp);}}图4-1 删除界面4.2、修改员工信息功能的实现该类定义了四个变量,其中login_user保存当前登陆用户的用户名,ID在查看联系人详细内容和修改联系人信息用来保存此联系人的ID。
此类为登陆模块,用于实现用户的登陆功能,也是进入系统的入口,其界面如图4-1所示。
修改界面如图4-2所示。
图 4-2 修改界面如果是已注册的用户,输入用户名、密码后单击确定,则会调用相应方法检查用户名密码是否为空,是否正确。
此方法具体代码如下:public void actionPerformed(ActionEvent e){//退出本窗体if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnUpdate){Emp emp=new Emp();emp.setEm_id(txtId.getText());emp.setEm_birth(txtBirth.getText());emp.setEm_time(txtTime.getText());emp.setEm_dep(choDep.getSelectedItem());EmpHandle empHandle=new EmpHandle();empHandle.Update(emp);}}如果登陆成功,则调用ShowMain并释放当前窗体。
失败则弹出具体失败原因(帐号密码为空或帐号密码错误)并放回Login界面。
如果没有注册,点击注册,则调用Regist并释放当前窗体。
4.3、查询员工信息功能的实现查询界面如图4-3所示。
图4-3 查询界面此方法具体代码如下:public void actionPerformed(ActionEvent e){//退出本窗体if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnQueryAll){list.clear();EmpHandle empHandle=new EmpHandle();ArrayList al=new ArrayList();al=empHandle.QueryAllFromDb();for(int i=0;i<al.size();i++){list.add(al.get(i).toString());}}if(e.getSource()==btnQuery){list.clear();String em_id=txtId.getText();EmpHandle empHandle=new EmpHandle();ArrayList al=new ArrayList();al=empHandle.QueryByIdFromDb(em_id);for(int i=0;i<al.size();i++){list.add(al.get(i).toString());}}}4.4、添加员工信息功能的实现添加界面如图4-4所示。
图4-4 添加界面此方法具体代码如下:public void actionPerformed(ActionEvent e){//退出本窗体if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnAdd){Emp emp=new Emp();emp.setEm_id(txtId.getText());emp.setEm_name(txtName.getText());emp.setEm_birth(txtBirth.getText());emp.setEm_time(txtTime.getText());if(cbm.getState())emp.setEm_sex("男");else emp.setEm_sex("女");emp.setEm_dep(choDep.getSelectedItem());EmpHandle empHandle=new EmpHandle();empHandle.AddToDb(emp);}}5 系统实现员工工资信息管理5.1、删除员工工资信息功能的实现删除界面如图5-1所示。