empdao.java

来自「机房运营维护系统 java+oracle9i 使用struts 分用户权限」· Java 代码 · 共 380 行

JAVA
380
字号
package com.model;

import java.sql.Date;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.yourcompany.struts.form.EmpForm;

import ms.hibernate.Dept;
import ms.hibernate.Emp;
import ms.hibernate.Log;
import ms.hibernate.Module;
import ms.hibernate.Popedom;
import ms.hibernate.Role;
import ms.hibernate.Room;

public class EmpDao extends HibernateDaoSupport implements IEmpDao {

	public Map<String, Object> findById(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Emp emp = new Emp();
		emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);

		List<Module> list = new ArrayList<Module>();
		if (emp == null) {
			return null;
		} else {
			Set<Role> roles = emp.getEmpRoles();
			for (Iterator it = roles.iterator(); it.hasNext();) {
				Role role = (Role) it.next();
				list.add(role.getModule());
			}
			map.put("emp", emp);
			map.put("roles", list);
			return map;
		}

	}

	public List<Popedom> findPMangerPopedomById(String id) {
		Emp emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);
		List<Module> mod = this.getHibernateTemplate().find(
				"from Module where name = ?", "权限管理");
		long MId = 0;
		if (mod != null) {
			MId = mod.get(0).getModuleid();
		}
		List<Popedom> popedoms = new ArrayList<Popedom>();
		if (emp == null) {
			return null;
		} else {
			Set<Role> set = emp.getEmpRoles();
			for (Iterator it = set.iterator(); it.hasNext();) {
				Role role = (Role) it.next();
				long moduleId = role.getModule().getModuleid();
				if (moduleId == MId) {
					Set<Popedom> PSet = role.getRolePopedoms();
					for (Iterator its = PSet.iterator(); its.hasNext();) {
						Popedom pope = (Popedom) its.next();
						popedoms.add(pope);
					}
					break;
				}
			}
		}
		return popedoms;
	}

	public List<Emp> findAllEmp() {
		List<Emp> list = this.getHibernateTemplate().find(
				"from Emp where emptype='admin'");
		return list;
	}

	public boolean cfgRole(Long[] roleids, String id) {
		boolean temp = true;
		try {
			Emp emp = (Emp) this.getHibernateTemplate().load(Emp.class, id);
			Set set = new HashSet();
			if (roleids != null) {
				for (Long i : roleids) {
					Role r = (Role) this.getHibernateTemplate().load(
							Role.class, i);
					set.add(r);
				}
			}
			emp.setEmpRoles(set);
			this.getHibernateTemplate().update(emp);
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public List<Popedom> findDMangerPopedomById(String id) {

		Emp emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);
		List<Popedom> popedoms = new ArrayList<Popedom>();
		if (emp == null) {
			return null;
		} else {
			Set<Role> set = emp.getEmpRoles();
			for (Iterator it = set.iterator(); it.hasNext();) {
				Role role = (Role) it.next();
				long moduleId = role.getModule().getModuleid();
				if (moduleId == 1) {
					Set<Popedom> PSet = role.getRolePopedoms();
					for (Iterator its = PSet.iterator(); its.hasNext();) {
						Popedom pope = (Popedom) its.next();
						popedoms.add(pope);
					}
					break;
				}
			}
		}
		return popedoms;
	}

	public List<Popedom> findEMangerPopedomById(String id) {
		Emp emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);
		List<Popedom> popedoms = new ArrayList<Popedom>();
		if (emp == null) {
			return null;
		} else {
			Set<Role> set = emp.getEmpRoles();
			for (Iterator it = set.iterator(); it.hasNext();) {
				Role role = (Role) it.next();
				long moduleId = role.getModule().getModuleid();
				if (moduleId == 4) {
					Set<Popedom> PSet = role.getRolePopedoms();
					for (Iterator its = PSet.iterator(); its.hasNext();) {
						Popedom pope = (Popedom) its.next();
						popedoms.add(pope);
					}
					break;
				}
			}
		}
		return popedoms;
	}

	public List<Popedom> findLMangerPopedomById(String id) {
		Emp emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);
		List<Popedom> popedoms = new ArrayList<Popedom>();
		if (emp == null) {
			return null;
		} else {
			Set<Role> set = emp.getEmpRoles();
			for (Iterator it = set.iterator(); it.hasNext();) {
				Role role = (Role) it.next();
				long moduleId = role.getModule().getModuleid();
				if (moduleId == 3) {
					Set<Popedom> PSet = role.getRolePopedoms();
					for (Iterator its = PSet.iterator(); its.hasNext();) {
						Popedom pope = (Popedom) its.next();
						popedoms.add(pope);
					}
					break;
				}
			}
		}
		return popedoms;
	}

	public List<Popedom> findRMangerPopedomById(String id) {
		Emp emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);
		List<Popedom> popedoms = new ArrayList<Popedom>();
		if (emp == null) {
			return null;
		} else {
			Set<Role> set = emp.getEmpRoles();
			for (Iterator it = set.iterator(); it.hasNext();) {
				Role role = (Role) it.next();
				long moduleId = role.getModule().getModuleid();
				if (moduleId == 2) {
					Set<Popedom> PSet = role.getRolePopedoms();
					for (Iterator its = PSet.iterator(); its.hasNext();) {
						Popedom pope = (Popedom) its.next();
						popedoms.add(pope);
					}
					break;
				}
			}
		}
		return popedoms;
	}

	public List<EmpForm> findAllEmps() {
		List<Emp> emp = this.getHibernateTemplate().find(
				"from Emp where empid <> 'yan'");
		List<EmpForm> empForm = new ArrayList<EmpForm>();
		for (Iterator<Emp> it = emp.iterator(); it.hasNext();) {
			Emp e = it.next();
			EmpForm ef = new EmpForm();
			ef.setEmpid(e.getEmpid());
			ef.setEname(e.getEname());
			if (e.getDept() != null) {
				ef.setFax(e.getDept().getDname());
			}
			if (e.getDept() != null && e.getDept().getEmp() != null) {
				ef.setEmail(e.getDept().getEmp().getEname());

			}
			ef.setEmptype(e.getEmptype());
			empForm.add(ef);
		}
		return empForm;
	}

	public EmpForm findEmpById(String id) {
		Emp emp = (Emp) this.getHibernateTemplate().get(Emp.class, id);
		EmpForm ef = new EmpForm();
		if (emp != null) {
			ef.setEmpid(emp.getEmpid());
			ef.setEname(emp.getEname());
			ef.setPassword(emp.getPassword());
			if (emp.getDept() != null) {
				ef.setDeptid(emp.getDept().getDeptid());
				ef.setDname(emp.getDept().getDname());
			}
			ef.setEmptype(emp.getEmptype());
			ef.setTel(emp.getTel());
			ef.setEmail(emp.getEmail());
			ef.setHandset(emp.getHandset());
			ef.setFax(emp.getFax());
			ef.setMemo(emp.getMemo());
		}
		return ef;
	}

	public void createLog(String empid, Long popedomid) {
		Popedom pope = (Popedom) this.getHibernateTemplate().load(
				Popedom.class, popedomid);
		Log log = new Log();
		log.setEmpid(empid);
		log.setPopedom(pope);
		Date date = new Date((new java.util.Date()).getTime());
		log.setWorkdate(date);
		this.getHibernateTemplate().save(log);

	}

	public boolean saveEmp(EmpForm form, String empid) {
		boolean temp = true;
		try {
			Dept dept = (Dept) this.getHibernateTemplate().get(Dept.class,
					form.getDeptid());
			Emp emp = new Emp();
			emp.setEmpid(form.getEmpid());
			emp.setDept(dept);
			emp.setEmail(form.getEmail());
			emp.setEmptype(form.getEmptype());
			emp.setMemo(form.getMemo());
			emp.setEname(form.getEname());
			emp.setFax(form.getFax());
			emp.setHandset(form.getHandset());
			emp.setPassword(form.getPassword());
			emp.setTel(form.getTel());
			this.getHibernateTemplate().save(emp);
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public boolean updateEmp(EmpForm form, String empid) {
		boolean temp = true;
		try {
			Emp emp = (Emp) this.getHibernateTemplate().load(Emp.class,
					form.getEmpids());
			Dept dept = (Dept) this.getHibernateTemplate().get(Dept.class,
					form.getDeptid());
			if (emp.getDept() != null && (!emp.getDept().equals(dept))) {
				Set set = emp.getDepts();
				Set set1 = emp.getRooms();
				for (Iterator<Room> its = set1.iterator(); its.hasNext();) {
					Room room = its.next();
					room.setEmp(null);
				}
				for (Iterator<Dept> it = set.iterator(); it.hasNext();) {
					Dept de = it.next();
					de.setEmp(null);
				}
			}
			
				emp.setEmpid(form.getEmpids());
				emp.setDept(dept);
				emp.setEmail(form.getEmail());
				emp.setEmptype(form.getEmptype());
				emp.setMemo(form.getMemo());
				emp.setEname(form.getEname());
				emp.setFax(form.getFax());
				emp.setHandset(form.getHandset());
				emp.setPassword(form.getPassword());
				emp.setTel(form.getTel());
				this.getHibernateTemplate().update(emp);
		
			
			
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public boolean deleteEmp(String[] empids, String empid) {
		boolean temp = true;
		try {
			if (empids != null) {
				for (String id : empids) {
					Emp emp = (Emp) this.getHibernateTemplate().load(Emp.class,
							id);
					Set set = emp.getDepts();

					Set set1 = emp.getRooms();
					for (Iterator<Dept> it = set.iterator(); it.hasNext();) {
						Dept d = it.next();
						d.setEmp(null);
					}
					for (Iterator<Room> its = set1.iterator(); its.hasNext();) {
						Room r = its.next();
						r.setEmp(null);
					}
					this.getHibernateTemplate().delete(emp);
				}
			}
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public List<EmpForm> queryEmpResult(EmpForm form, String empid) {
		Object []obj = {"%"+form.getEname()+"%" ,"%"+form.getEmpid()+"%",form.getDeptid(),form.getEmptype()};
		List<Emp> list = this
				.getHibernateTemplate()
				.find(
						"select E from Emp E where E.ename like ? and empid like ? and E.dept.deptid =? and E.emptype = ?",obj);
		List<EmpForm> empForm = new ArrayList<EmpForm>();
		for (Iterator<Emp> it = list.iterator(); it.hasNext();) {
			Emp e = it.next();
			EmpForm ef = new EmpForm();
			ef.setEmpid(e.getEmpid());
			ef.setEname(e.getEname());
			if (e.getDept() != null) {
				ef.setFax(e.getDept().getDname());
			}
			if (e.getDept() != null && e.getDept().getEmp() != null) {
				ef.setEmail(e.getDept().getEmp().getEname());

			}
			ef.setEmptype(e.getEmptype());
			empForm.add(ef);
		}
		return empForm;
	}

	public boolean checkName(String name) {
		name = name.trim();
		List list = this.getHibernateTemplate().find("from Emp where empid = ?",name);
		if(list==null||list.size()==0){
			return true;
		}else{
	    	return false;
		}
	}
}

⌨️ 快捷键说明

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