⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 employeeaction.java

📁 人力资源管理系统
💻 JAVA
字号:
package org.HumResManSys.action;

import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.HumResManSys.actionForm.EmployeeForm;
import org.HumResManSys.factory.ServiceFactory;
import org.HumResManSys.vo.Employee;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;


public class EmployeeAction extends DispatchAction {
	private ServiceFactory serviceFactory;
	Log log=LogFactory.getLog(EmployeeAction.class);//log.debug
	

	public ActionForward displayEmployees(ActionMapping mapping,
							            ActionForm form,
							            HttpServletRequest request,
							            HttpServletResponse response){
			try{
				//获得页面提交的参数
				String page=request.getParameter("pageNum");
				//页面显示的初始当前页数
				int pageNum=1;
				if(page!=null){
					//如果不是第一次打开,是点击了下一页,于是得把显示页面改为加一页
					pageNum=Integer.valueOf(page)+1;
				}
				//把当前显示的第几页传给页面
				request.setAttribute("pageNum", String.valueOf(pageNum));
				pageNum=(pageNum-1)*10;
				
				//查询所有信息,供分页显示用
			//	List listAll=serviceFactory.getEmployeeService().showAllEmployees();
				int size=this.serviceFactory.getEmployeeService().getEmployeesCount();
				//查询一个页面的员工
				List list=serviceFactory.getEmployeeService().queryEmployeesByPage(pageNum, 10);

				//告诉页面数据总数的大小
				request.setAttribute("size", size);
				//告诉页面一共有几页
				request.setAttribute("num", String.valueOf((int)Math.ceil(size/10.0)));
/*				System.out.println("分的页数是:"+(int)Math.ceil(listAll.size()/10.0));
				System.out.println(listAll.size()/10);
				System.out.println(Math.ceil(listAll.size()/10));
				System.out.println(Math.ceil(0.1));*/
				//把查询出来的一页的信息返回给页面
				request.setAttribute("AllEmployees", list);
				return mapping.findForward("displayEmployees");
			}catch(Exception e){
			e.printStackTrace();
			log.debug("Admin getAllStudent error");
			request.setAttribute("error", "显示员工信息失败!");
			request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
			return mapping.findForward("error");
			}
			
	}
	
	
	//显示一个员工的所有信息
	public ActionForward displaySelfInfos(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)throws Exception{
		
		//获取用户名称
		HttpSession session=request.getSession();
		Employee oneEmpInfo=null;
		oneEmpInfo=(Employee)session.getAttribute("oneEmpInfo");
		String emp_name=oneEmpInfo.getEmp_name();
	   //	String emp_name="roben";
		
		Employee self=serviceFactory.getEmployeeService().showSelfInfos(emp_name);
		//转存到List里面统一处理
		List selfInfo=new ArrayList();
		selfInfo.add(self);
		request.setAttribute("selfInfo", selfInfo);
		
		return mapping.findForward("RS");
	}
	
//	获取一个员工的所有信息--管理员端
	public ActionForward displaySelfInfosForAdmin(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response){
		
		try {
			//获取用户名称
			//String emp_name=request.getParameter("name");
			String name_ZH = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GB2312").trim();
			//String emp_name="roben";
			if(name_ZH==null){
				request.setAttribute("error", "显示员工信息失败!");
				request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("error");
			}else{
				
				Employee self=serviceFactory.getEmployeeService().showSelfInfos(name_ZH);
				if(self==null){
					request.setAttribute("error", "显示员工信息失败!");
					request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
					return mapping.findForward("error");
				}else{
					//转存到List里面统一处理
					List<Employee> selfInfo=new ArrayList();
					selfInfo.add(self);
					request.setAttribute("selfInfo", selfInfo);
					
					return mapping.findForward("YGadminEdit");
				}
				

			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			request.setAttribute("error", "显示员工信息失败!");
			request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
			return mapping.findForward("error");
		}
	}
	
	//更新一个员工的所有信息--管理员端
	public ActionForward updateSelfInfoForAdmin(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response){
		
		try {
			//获取表单内容
			EmployeeForm empForm=(EmployeeForm)form;
			String emp_name=empForm.getEmp_name().trim();
			String sex=empForm.getSex().trim();
			String birthday=empForm.getBirthday().trim();
			String id_card=empForm.getId_card().trim();
			String dept_name=empForm.getDept_name().trim();
			String job=empForm.getJob().trim();
			String psw=empForm.getPsw().trim();
			
			
			//String emp_name="roben";
			//创建Employee对象
			Employee emp=new Employee();
			emp.setBirthday(birthday);
			emp.setDept_name(dept_name);
			emp.setEmp_name(emp_name);
			emp.setId_card(id_card);
			emp.setJob(job);
			emp.setSex(sex);
			emp.setPsw(psw);
			boolean okOrNot=serviceFactory.getEmployeeService().updateSelfInfo(emp);
			if(okOrNot){

				request.setAttribute("dest", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("jump");
			}else{
				request.setAttribute("error", "更新员工信息失败!");
				request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("error");
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			log.debug("update employee info error.");
			request.setAttribute("error", "更新员工信息失败!");
			request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
			return mapping.findForward("error");
		}
		
		
	}
	
	//删除一个员工--管理员端
	public ActionForward deleteSelfInfoForAdmin(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response){
		
		try {
			response.setContentType("text/html;charset=gb2312");
			String name=request.getParameter("name");
			String name_ZH = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GB2312").trim();
			
			if(name_ZH==null){
				request.setAttribute("error", "删除员工信息失败!");
				request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("error");
			}else{
				System.out.println("需要删除的员工的名字是:"+name_ZH);
				boolean okOrNot=serviceFactory.getEmployeeService().deleteEmployee(name_ZH);
				if(okOrNot){
					//displayEmployees(mapping, form, request, response);
					request.setAttribute("dest", "EmployeeAction.do?method=displayEmployees");
					return mapping.findForward("jump");
				}else{
					request.setAttribute("error", "删除员工信息失败!");
					request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
					return mapping.findForward("error");
				}
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			request.setAttribute("error", "删除员工信息失败!");
			request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
			return mapping.findForward("error");
		}
	}
	
	//排序--管理员端
	public ActionForward displayAllEmployeesOrderByCondition(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)throws Exception{
		
		List<Employee> emps=serviceFactory.getEmployeeService().displayAllOrderByCondition("hire_date");
		request.setAttribute("AllEmployees", emps);
		return mapping.findForward("YGadminTest");
	}

	
	//按部门查找员工--管理员端
	public ActionForward searchByDeptName(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)throws Exception{
		
		EmployeeForm empForm=(EmployeeForm)form;
		String dept_name=empForm.getDept_name();
		log.debug("search dept_name :"+dept_name);
		
		List<Employee> emps=serviceFactory.getEmployeeService().queryEmpsByOneCondition("dept_name", dept_name);
		request.setAttribute("AllEmployees", emps);
		log.debug("search dept_name List:"+emps+"size :"+emps.size());
		return mapping.findForward("YGSearchResults");
	}
	
	public ActionForward addEmployee(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response){
		try{
			
			String emp_name=request.getParameter("emp_name");
			String sex=request.getParameter("sex");
			String birthday=request.getParameter("birthday");
			String id_card=request.getParameter("id_card");
			String dept_name=request.getParameter("dept_name");
			String job=request.getParameter("job");

			
			
			//EmployeeForm empform=(EmployeeForm)form;
			//HttpSession session=request.getSession();
			//String emp_Name = (empform.getEmp_name()).trim();
			//log.debug(emp_Name);
			List<Employee> list=serviceFactory.getEmployeeService().queryEmpsByOneCondition("emp_name", emp_name);
            //不能用已经存在的姓名来增加员工记录
			if(list.size()!=0){
				log.debug(list.size());
				request.setAttribute("error", "添加员工信息失败!");
				request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("error");
			}
			log.debug("tt");
			Employee emp=new Employee();
			//通过这个方法把form全部映射到vo的empform里边
			//BeanUtils.copyProperties(emp,empform);
			emp.setEmp_name(emp_name);
			emp.setSex(sex);
			emp.setBirthday(birthday);
			emp.setId_card(id_card);
			emp.setDept_name(dept_name);
			emp.setJob(job);
			emp.setPsw("123");
			emp.setJob("员工");
			
//			获取系统当前时间  格式:08-01-21
		    String month=new SimpleDateFormat("yy,MM,dd").format(new Date(System.currentTimeMillis()));
			emp.setHire_date(month);
		    
			boolean okOrNot = serviceFactory.getEmployeeService().addEmployee(emp);
			
			if(okOrNot){
				request.setAttribute("dest", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("jump");
			}else{
				request.setAttribute("okOrNot", okOrNot);
				request.setAttribute("error", "添加员工信息失败!");
				request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
				return mapping.findForward("error");
			}			
		}catch(Exception e){
			e.printStackTrace();
			log.debug("add one employee error");
			request.setAttribute("error", "添加员工信息失败!");
			request.setAttribute("back2", "EmployeeAction.do?method=displayEmployees");
			return mapping.findForward("error");
		}
	}

//	根据给定的id,获取一个员工的所有信息--管理员端
	public ActionForward displaySelfInfosForAdminByID(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)throws Exception{
		
		//获取用户名称
		String id=request.getParameter("id");
		//String emp_name="roben";
		
		Employee self=serviceFactory.getEmployeeService().showSelfInfosByID(id);
		//转存到List里面统一处理
		List selfInfo=new ArrayList();
		selfInfo.add(self);
		request.setAttribute("selfInfo", selfInfo);
		
		return mapping.findForward("YGadminEdit");
	}	


	//删除一个员工--管理员端
	public ActionForward deleteSelfInfoForAdminByID(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)throws Exception{
		String id=request.getParameter("id");
		boolean okOrNot=serviceFactory.getEmployeeService().deleteEmployeeByID(id);
		if(okOrNot){
			return mapping.findForward("YGadminSuccess");
		}else{
			return mapping.findForward("YGadminFail");
		}
	}


	

	
	
	public void setServiceFactory(ServiceFactory serviceFactory) {
		this.serviceFactory = serviceFactory;
	}

	
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -