📄 employeemanageaction.java
字号:
package com.itcast.web.action.privilege;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.springframework.stereotype.Controller;
import com.itcast.bean.privilege.Department;
import com.itcast.bean.privilege.Employee;
import com.itcast.bean.privilege.IDCard;
import com.itcast.service.privilege.DepartmentService;
import com.itcast.service.privilege.EmployeeService;
import com.itcast.utils.MD5;
import com.itcast.utils.SiteUrl;
import com.itcast.web.formbean.privilege.EmployeeForm;
@Controller("/control/employee/manage")
public class EmployeeManageAction extends DispatchAction {
@Resource(name="departmentServiceBean") private DepartmentService departmentService;
@Resource(name="employeeServiceBean") private EmployeeService employeeService;
/**
* 员工添加界面
*/
@Privilege(model="employee", privilegeValue="insert")
public ActionForward addUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("departments", departmentService.getScrollData(Department.class).getResultlist());
return mapping.findForward("add");
}
/**
* 员工修改界面
*/
@Privilege(model="employee", privilegeValue="update")
public ActionForward editUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
EmployeeForm formbean = (EmployeeForm)form;
Employee employee = employeeService.find(Employee.class, formbean.getUsername());
formbean.setRealname(employee.getRealname());
formbean.setBirthday(employee.getIdcard().getBirthday());
formbean.setCardno(employee.getIdcard().getCardno());
formbean.setDegree(employee.getDegree());
formbean.setEmail(employee.getEmail());
formbean.setGender(employee.getGender());
formbean.setPhone(employee.getPhone());
formbean.setAddress(employee.getIdcard().getAddress());
request.setAttribute("userdepartments", employee.getDepartments());
request.setAttribute("departments", departmentService.getScrollData(Department.class).getResultlist());
return mapping.findForward("edit");
}
/**
* 判断用户是否存在
*/
public ActionForward exist(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
EmployeeForm formbean = (EmployeeForm)form;
if(employeeService.exist(formbean.getUsername())){
request.setAttribute("message", "用户已经存在");
}else{
request.setAttribute("message", "该账号可以使用");
}
return mapping.findForward("usernameIsExsit");
}
/**
* 禁用用户
*/
@Privilege(model="employee", privilegeValue="delete")
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
EmployeeForm formbean = (EmployeeForm)form;
employeeService.delete(Employee.class, formbean.getUsername());
request.setAttribute("message", "员工删除成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.employee.list"));
return mapping.findForward("message");
}
/**
* 注册员工
*/
@Privilege(model="employee", privilegeValue="insert")
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
EmployeeForm formbean = (EmployeeForm)form;
Employee employee = new Employee(formbean.getUsername().trim(),MD5.MD5Encode(formbean.getPassword()),
formbean.getRealname(),new IDCard(formbean.getCardno(), formbean.getBirthday(),formbean.getAddress()),
formbean.getPhone(),formbean.getEmail(),formbean.getGender(),formbean.getDegree());
if(formbean.getDepartmentids()!=null && formbean.getDepartmentids().length>0){
for(Integer id : formbean.getDepartmentids()){
employee.addDepartment(new Department(id));
}
}
if(formbean.getPicture()!=null && formbean.getPicture().getFileSize()>0){
if(EmployeeForm.validateImageFileType(formbean.getPicture())){
employee.setPicture(UUID.randomUUID().toString()+ "."+ EmployeeForm.getExt(formbean.getPicture()));
String pathdir = "/images/employee/"+ formbean.getUsername().trim();
//得到图片保存目录的真实路径
String realpathdir = request.getSession().getServletContext().getRealPath(pathdir);
File savedir = new File(realpathdir);
if(!savedir.exists()) savedir.mkdirs();//如果目录不存在就创建
FileOutputStream fileoutstream = new FileOutputStream(new File(realpathdir, employee.getPicture()));
fileoutstream.write(formbean.getPicture().getFileData());
fileoutstream.close();
}else{
request.setAttribute("message", "上传的照片格式不正确,只允许上传jpg/gif/bmp/png图片");
return mapping.findForward("message");
}
}
employeeService.save(employee);
request.setAttribute("message", "员工注册成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.employee.list"));
return mapping.findForward("message");
}
/**
* 修改员工信息
*/
@Privilege(model="employee", privilegeValue="update")
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
EmployeeForm formbean = (EmployeeForm)form;
Employee employee = employeeService.find(Employee.class, formbean.getUsername());
if(formbean.getPicture()!=null && formbean.getPicture().getFileSize()>0){
if(EmployeeForm.validateImageFileType(formbean.getPicture())){
employee.setPicture(UUID.randomUUID().toString()+ "."+ EmployeeForm.getExt(formbean.getPicture()));
String pathdir = "/images/employee/"+ formbean.getUsername().trim();
//得到图片保存目录的真实路径
String realpathdir = request.getSession().getServletContext().getRealPath(pathdir);
File savedir = new File(realpathdir);
if(!savedir.exists()) savedir.mkdirs();//如果目录不存在就创建
FileOutputStream fileoutstream = new FileOutputStream(new File(realpathdir, employee.getPicture()));
fileoutstream.write(formbean.getPicture().getFileData());
fileoutstream.close();
}else{
request.setAttribute("message", "上传的照片格式不正确,只允许上传jpg/gif/bmp/png图片");
return mapping.findForward("message");
}
}
employee.setDegree(formbean.getDegree());
employee.setEmail(formbean.getEmail());
employee.setRealname(formbean.getRealname());
employee.setGender(formbean.getGender());
employee.setPhone(formbean.getPhone());
employee.getIdcard().setCardno(formbean.getCardno());
employee.getIdcard().setBirthday(formbean.getBirthday());
employee.getIdcard().setAddress(formbean.getAddress());
for(Integer id : formbean.getDepartmentids()){
Department department = new Department(id);
if(!employee.getDepartments().contains(department)){
employee.addDepartment(department);
}
}
List<Department> deletes = new ArrayList<Department>();
List<Integer> ids = Arrays.asList(formbean.getDepartmentids());//当前被选择的部门
for(Department department : employee.getDepartments()){
if(!ids.contains(department.getId())){
deletes.add(department);
}
}
employee.getDepartments().removeAll(deletes);
employeeService.update(employee);
request.setAttribute("message", "员工信息修改成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.employee.list"));
return mapping.findForward("message");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -