📄 roomdao.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 + -