部门管理系统

一、需求分析,开发一个部门(department)、雇员(employee)管理的小系统,在这个系统中,可以添加雇员,添加部门;查看所有的部门信息、查看所有的雇员信息;可以管理部门的雇员(如添加、删除部门雇员)。

 

二、系统实现

使用MVC模式,STRUTS框架,页面使用tilte架构

 

tile架构样例:

 

 

 

Sidebar.jsp菜单设计:

Sidebar.jsp

 

·.添加一名雇员

 

·添加一个部门

 

·管理部门员工

 

·查看所有雇员信息

 

·查看所有部门信息

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


三、数据库(company)

table employee

id    1000开始自增

name 雇员姓名

sex   性别 boolean

age   年龄

salary 月薪

department 所在部门

marriage   婚否 boolean

address    住址

phone      联系电话

resume     简历

 

 

 

 

 

 

table department

id  100开始自增

name   部门名称

descriotion  功能描述

leader    该部门领导

phone    该部门联系电话

address   该部门地址

starttime  成立时间

info      历来业绩

 

四、功能需求

1.雇员部分的功能模块

EmployeeVO.java:代表雇员信息,它和数据中的字段一一对应。

   Get().Set()雇员基本信息的方法类

EmployeeForm.java:代表了表单,它拥有一个Employee的属性。

   Get().Set()EmployeeVO

AddEmployeeAction.java:增加雇员的动作类,调用EmployeeBean执行具体的业务操作。

   

EmployeeBean.java:封装了业务逻辑,连接数据库进行对应的处理。

有方法:

         EmployeeBean(DataSource ds)  //构造方法

         void addEmployee(Employee employee) //添加雇员

         Collection getEmployees()  //获得所有的雇员信息

         Collection getDepartemtDemployees(String depltd)   //获得指定部门的所有雇员

         Void deleteEmployee(String employId,String deptId)   //从指定的部门删除指定的雇员,相等于update操作

         Void resetEmploy(String)  //把雇员分配到另一个部门

         private Collection getEmployeeHelper(String sql)  //帮助方法,用于执行数据库操作

         private void executeHelper(String sql)  //帮助方法,用于执行更新操作

CreateEmployee.jsp::包含一个表单,用于接收用户输入。

         validator验证namesexagesalarydepartment的合法性,其余的可不验证

EmployeeCreated.jsp:显示已经增加的雇员信息。

         所有Ed.jsp都代表完成添加并显示其信息页,以后不再做说明。

 

 

2.部门部分的功能模块

DepartmentVO.java:代表了部门的信息,它和数据中的字段一一对应。

       Get(),set()部门的基本信息

DepartmentForm.java:代表了表单,它拥有一个DepartmentVO的属性以及对应的get(),set()方法。

AddDepartmentAction.java:增加部门的动作类,调用DepartmentBean执行具体的业务操作。

DepartmentBean.java:封装了业务逻辑,同时也提供一些业务方法给JSP页面使用。

有方法:

       DepartmentBean(DataSource ds)  //构造方法

       Void addDepartmentBean()  //添加一个部门

       Collection getLeaders()   //返回所有不是部门领导的雇员

       Collection getDepartments()  //返回所有的部门信息

createDepartment.jsp:包括一个表单,用于接收用户输入。

         validator验证namedescriptionleaderphone的合法性,其余的可以不验证。

departmentCreated.jsp:显示已经增加的部门的信息。

3. 部门员工管理(departmentManage.jsp

此页包括在部门中添加雇员,在部门中删除雇员,被删除的雇员放在IDtemp的部门中。

 

  ①点击上面添加链接,查询所有没有被分配到的员工

  03             小王          添加

 

 

 添加操作,使用AddEmployeeToDeptAction.java

 

 

 

 

 

 

 

  ②点击上面删除链接,查询出该部门中所有员工

  03             小王          删除

 

 

 

删除操作使用DeleteEmployeeFromDeptAction.java

 

4. 查看所有的雇员页(viewAllEmployee.jsp

遍历出来所有雇员的集合显示在这页

显示主要的namesexagesalarydepartmen信息,后面有详细资料更改信息

详细资料页viewOneEmployee.jsp

更改信息页 updateOneEmployee.jsp

 

 

5. 查看所有的部门页(viewAllDepartment.jsp

遍历出来所有部门的集合显示在这页

显示主要的namedescriptionleaderphone信息,后面有详细资料更改信息

详细资料页viewDepartment.jsp

更改信息页 updateOneEmployee.jsp