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

📄 roomdao.java

📁 机房运营维护系统 java+oracle9i 使用struts 分用户权限 完成用户对机房信息的增删改查等功能
💻 JAVA
字号:
package com.model;

import java.sql.Date;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

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

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

import com.yourcompany.struts.form.EmpForm;
import com.yourcompany.struts.form.RoomForm;

public class RoomDao extends HibernateDaoSupport implements IRoomDao {

	public List<RoomForm> findAllRoom() {
		List<Room> list = this.getHibernateTemplate().find("from Room");
		List<RoomForm> rf = new ArrayList<RoomForm>();
		for (Iterator<Room> it = list.iterator(); it.hasNext();) {
			Room room = it.next();
			RoomForm roomForm = new RoomForm();
			roomForm.setRoomid(room.getRoomid());
			roomForm.setRname(room.getRname());
			if (room.getEmp() != null) {
				roomForm.setAdminname(room.getEmp().getEname());
			}
			if (room.getDept() != null) {
				roomForm.setDeptname(room.getDept().getDname());
			}
			rf.add(roomForm);
		}
		return rf;
	}

	public void createLog(String empid, Long popedomid) {
		Emp emp = (Emp) this.getHibernateTemplate().load(Emp.class, empid);
		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 createNewRoom(RoomForm form, String empid) {
		boolean temp = true;
		try {
			Dept dept = (Dept) this.getHibernateTemplate().get(Dept.class,
					form.getDeptid());
			Room room = new Room();
			room.setRname(form.getRname());
			room.setDept(dept);
			room.setAddress(form.getAddress());
			room.setMemo(form.getMemo());
			this.getHibernateTemplate().save(room);
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public Room findById(Long id) {
		Room room = (Room) this.getHibernateTemplate().load(Room.class, id);
		room.setDept(room.getDept());
		return room;
	}

	public boolean updateRoom(RoomForm form, String empid) {
		boolean temp = true;
		try {
			Dept dept = null;
			if (form.getDeptid() != null) {
				dept = (Dept) this.getHibernateTemplate().load(Dept.class,
						form.getDeptid());
			}
			Room room = (Room) this.getHibernateTemplate().load(Room.class,
					form.getRoomid());
			if (room.getDept() != null) {
				if (!room.getDept().getDeptid().equals(form.getDeptid())) {
					room.setDept(dept);
					Emp emp = room.getEmp();
					if (emp != null) {
						Set<Room> set = emp.getRooms();
						if (!(set == null || set.size() == 0)) {
							for (Iterator<Room> it = set.iterator(); it
									.hasNext();) {
								Room r = it.next();
								r.setEmp(null);
							}
						}
					}
				}
			}else{
				room.setDept(dept);
			}
			room.setRname(form.getRname());

			room.setAddress(form.getAddress());
			room.setMemo(form.getMemo());
			this.getHibernateTemplate().update(room);
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public boolean delRoom(Long[] roomId, String empid) {
		boolean temp = true;
		try {
			for (Long i : roomId) {
				Room room = (Room) this.getHibernateTemplate().load(Room.class,
						i);
				this.getHibernateTemplate().delete(room);
			}
		} catch (DataAccessException e) {
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public boolean updateRoomAdmin(String adminid, String empid, Long id) {
		boolean temp = true;
		try {
			Room room = (Room) this.getHibernateTemplate().load(Room.class, id);
			Emp emp = (Emp) this.getHibernateTemplate()
					.load(Emp.class, adminid);
			room.setEmp(emp);
			this.getHibernateTemplate().update(room);
		} catch (DataAccessException e) {
			// TODO Auto-generated catch block
			temp = false;
			e.printStackTrace();
		}
		return temp;
	}

	public List<EmpForm> findAllEmpByDept(String roomId) {
		// TODO Auto-generated method stub
		List<EmpForm> list = new ArrayList<EmpForm>();
		Room room = (Room) this.getHibernateTemplate().load(Room.class,
				Long.valueOf(roomId));
		Dept dept = room.getDept();
		if (dept == null) {
			EmpForm ef = new EmpForm();
			ef.setFax("notDept");
			list.add(ef);
			return list;
		}
		Long id = dept.getDeptid();
		Dept dpet = (Dept)this.getHibernateTemplate().load(Dept.class, id);
		Set emps = dept.getEmps();
		if (emps == null || emps.size() == 0) {

			return null;
		}
		for (Iterator<Emp> it = emps.iterator(); it.hasNext();) {
			EmpForm ef = new EmpForm();
			Emp e = it.next();
			ef.setEmpid(e.getEmpid());
			ef.setEname(e.getEname());
			ef.setDname(room.getRname());
			ef.setDeptid(room.getRoomid());
			list.add(ef);
		}

		return list;
	}

	public List<Emp> queryEmpByRoom() {
		List<Emp> list = new ArrayList<Emp>();
		List<Room> rooms = this.getHibernateTemplate().find(
				"select r from Room r where adminid is not null");
		for (Iterator<Room> it = rooms.iterator(); it.hasNext();) {
			Emp emp = new Emp();
			Room room = it.next();
			emp.setEmpid(room.getEmp().getEmpid());
			emp.setEname(room.getEmp().getEname());
			list.add(emp);
		}
		return list;
	}

	public List<RoomForm> queryRoomResult(RoomForm form, String empid) {
		String args[] = { "%" + form.getRname() + "%",
				"%" + form.getAddress() + "%" };

		List<Room> list = this
				.getHibernateTemplate()
				.find(
						" select r from  Room r where r.rname like ? and nvl(r.address,'a') like ? ",
						args);

		List<RoomForm> result = new ArrayList<RoomForm>();
		for (Iterator<Room> it = list.iterator(); it.hasNext();) {
			Room room = it.next();
			boolean dept = true;
			boolean emp = true;

			if (form.getDeptid() == null || form.getDeptid() == 0) {
				dept = true;

			} else if (room.getDept() == null) {
				dept = false;
			} else if (room.getDept().getDeptid().equals(form.getDeptid())) {
				dept = true;
			} else {
				dept = false;
			}
			if (form.getEmpid() == null || form.getEmpid().equals("")) {
				emp = true;
			} else if (room.getEmp() == null) {
				emp = false;
			} else if (room.getEmp().getEmpid().equals(form.getEmpid())) {
				emp = true;
			} else {
				emp = false;
			}

			if (dept && emp) {
				RoomForm roomForm = new RoomForm();
				roomForm.setRoomid(room.getRoomid());
				roomForm.setRname(room.getRname());
				if (room.getEmp() != null) {
					roomForm.setAdminname(room.getEmp().getEname());
				}
				if (room.getDept() != null) {
					roomForm.setDeptname(room.getDept().getDname());
				}
				result.add(roomForm);
				System.out.println("dddddddddddddd");
			}
		}
		return result;
	}

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

⌨️ 快捷键说明

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