首页>代码>Struts2+Hibernate3+Spring三大框架技术实现OA办公自动化管理系统源代码下载>/Office_AutoSystem/src/com/hibernate/dao/impl/VocationDaoImpl.java
package com.hibernate.dao.impl;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import com.hibernate.dao.VocationDao;
import com.hibernate.po.Vocation;
/*
 * 实现类
 */
public class VocationDaoImpl implements VocationDao {

	private SessionFactory sessionFactory;

	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

	// 申请休假
	public Boolean insertVocation(Vocation vocation) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			session.save(vocation);
			tx.commit();
			return true;
		} catch (HibernateException e) {
			if (tx != null) {
				tx.rollback();// 回滚事务
				return false;
			}
			e.printStackTrace();
		} finally {
			session.close();// 关闭Session,释放资源
		}
		return false;
	}

	// 修改审核状态
	public Boolean updateVocation(int id, String status) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			String hql = "update Vocation v set v.status='" + status
					+ "' where v.id=" + id;
			Query query = session.createQuery(hql);
			int i = query.executeUpdate();
			if (i == 1) {
				tx.commit();
				return true;
			}
		} catch (HibernateException e) {
			if (tx != null) {
				tx.rollback();// 回滚事务
				return false;
			}
			e.printStackTrace();
		} finally {
			session.close();// 关闭Session,释放资源
		}
		return false;
	}

	// 根据ID获取休假信息
	public Vocation queryVocation(int id) {
		Vocation vocation = null;
		Session session = sessionFactory.openSession();
		String hql = "from Vocation v where v.id=" + id;
		Query query = session.createQuery(hql);
		vocation = (Vocation) query.uniqueResult();
		session.close();// 关闭Session,释放资源
		return vocation;
	}

	// 根据当前用户昵称和权限获取休假信息列表
	public List<Vocation> getVocationsList(String auth, String nickname) {
		List<Vocation> vocationslist = null;
		Session session = sessionFactory.openSession();
		String hql = null;
		if (auth.equals("admin")) {
			hql = "from Vocation v where v.nickname='" + nickname
					+ "' or v.examname='" + nickname + "'";
		} else if (auth.equals("common")) {
			hql = "from Vocation v where v.nickname='" + nickname + "'";
		}
		Query query = session.createQuery(hql);
		vocationslist = query.list();
		session.close();// 关闭Session,释放资源
		return vocationslist;
	}

	// 获取审批人列表
	public List<String> getExamnamesList() {
		List<String> examnamelist = null;
		Session session = sessionFactory.openSession();
		String hql = "select u.nickname from User u where u.auth='admin'";
		Query query = session.createQuery(hql);
		examnamelist = query.list();
		session.close();// 关闭Session,释放资源
		return examnamelist;
	}
}
最近下载更多
Jhhhhh  LV6 2022年11月30日
cccccc12  LV8 2022年5月19日
wanglinddad  LV55 2022年4月5日
15281682932  LV9 2020年7月7日
wyp2530800765  LV4 2020年3月11日
阿三在中国  LV7 2020年3月9日
houliukou  LV38 2020年2月17日
1848245462  LV2 2019年11月20日
zhf929  LV2 2019年10月29日
tianaihua  LV1 2019年9月30日
最近浏览更多
WBelong  LV8 2023年12月27日
bananmike77 2023年10月7日
暂无贡献等级
carloscarlos  LV1 2023年9月14日
8战魂5无双8  LV43 2023年8月20日
zhy1989wz  LV6 2023年7月31日
zhaoka 2023年5月30日
暂无贡献等级
Skeet1111  LV3 2023年5月30日
immeng 2023年5月22日
暂无贡献等级
xiquyiyuan  LV10 2023年3月31日
2716804680  LV9 2023年3月20日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友