package com.fr.tx.common.dao.impl;

import java.util.List;

import com.fr.tx.common.dao.YgDao;
import com.fr.tx.common.dao.base.BaseDao;
import com.fr.tx.common.entity.YgEntity;

public class YgDaoImpl extends BaseDao implements YgDao{

	@Override
	public List<YgEntity> search() {
		List<YgEntity> result = null;
		try {
			makeSession();
			result = session.selectList("Yg.search");
			if(result!=null){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			// TODO: handle exception
			session.rollback();
			e.printStackTrace();
		}finally {
			close();
		}
        return result;
		
	}

	@Override
	public int getCount(YgEntity en) {
		int ret = 0;
		try {
			makeSession();
			ret = session.selectOne("Yg.getCount", en);
			if(ret>0){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			session.rollback();
			e.printStackTrace();
		} finally {
			close();
		}
        return ret;
		
	}

	@Override
	public YgEntity getDetailByPk(String pk) {
		
		List<YgEntity> result = null;
		try {
			makeSession();
			result = session.selectList("Yg.getDetailByPk", pk);
			if(result!=null){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			// TODO: handle exception
			session.rollback();
			e.printStackTrace();
		}finally {
			close();
		}
        return result.get(0);
	}

	@Override
	public int update(YgEntity en) {
		int ret = 0;
		try {
			makeSession();
			ret = session.update("Yg.update", en);
			if(ret>0){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			session.rollback();
			e.printStackTrace();
		} finally {
			close();
		}
        return ret;
		
	}

	@Override
	public int insert(YgEntity en) {
		int ret = 0;
		try {
			makeSession();
			ret = session.insert("Yg.insert", en);
			if(ret>0){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			session.rollback();
			e.printStackTrace();
		} finally {
			close();
		}
        return ret;
		
	}

	@Override
	public int delete(YgEntity en) {
		
		int ret = 0;
		try {
			makeSession();
			ret = session.update("Yg.delete", en);
			if(ret>0){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			session.rollback();
			e.printStackTrace();
		} finally {
			close();
		}
        return ret;
	}
	
	
	@Override
	public List<YgEntity> getLimitData(YgEntity condition) {
		List<YgEntity> result = null;
		try {
			makeSession();
			result = session.selectList("Yg.getLimitData",condition);
			if(result!=null){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			// TODO: handle exception
			session.rollback();
			e.printStackTrace();
		}finally {
			close();
		}
        return result;
		
	}

	@Override
	public int getTotalCount(YgEntity en) {
		int ret = 0;
		try {
			makeSession();
			ret = session.selectOne("Yg.getTotalCount", en);
			if(ret>0){
				session.commit();
			}else{
				session.rollback();
			}
		} catch (Exception e) {
			session.rollback();
			e.printStackTrace();
		} finally {
			close();
		}
        return ret;
		
	}
	

}
