br.com.hslife.clickafacil.dao.FuncionarioDao.java Source code

Java tutorial

Introduction

Here is the source code for br.com.hslife.clickafacil.dao.FuncionarioDao.java

Source

/*** 
    
Copyright (c) 2009, 2010 Hrcules S. S. Jos
    
    
Este arquivo  parte do programa ClickaFacil.
    
ClickaFacil  um software livre; voc pode redistribui-lo e/ou 
    
modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como 
    
publicada pela Fundao do Software Livre (FSF); na verso 2.1 da 
    
Licena.
    
    
Este programa  distribudo na esperana que possa ser util, 
    
mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer
    
MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU em 
    
portugus para maiores detalhes.
    
    
Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o 
    
nome de "LICENSE.TXT" junto com este programa, se no, acesse o site HSlife no 
    
endereco www.hslife.com.br ou escreva para a Fundao do Software Livre(FSF) Inc., 
    
51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
    
    
Para mais informaes sobre o programa ClickaFacil e seus autores acesso o 
    
endereo www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para 
    
Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, 
    
Marco II - Nova Iguau, RJ, Brasil.
    
 ***/

package br.com.hslife.clickafacil.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import br.com.hslife.clickafacil.hibernate.HibernateUtil;
import br.com.hslife.clickafacil.javabeans.Funcionario;
import br.com.hslife.clickafacil.javabeans.InfoAdicionais;
import br.com.hslife.clickafacil.javabeans.Login;

public class FuncionarioDao {

    Session sessao;
    Transaction transacao;
    Criteria criterio;

    public void salvar(Funcionario f) throws Exception {
        sessao = HibernateUtil.getInstance();
        transacao = sessao.beginTransaction();
        sessao.save(f);
        transacao.commit();

    }

    public void salvar(Funcionario f, Login l, InfoAdicionais i) throws Exception {
        try {
            sessao = HibernateUtil.getInstance();
            transacao = sessao.beginTransaction();
            sessao.saveOrUpdate(i);
            sessao.saveOrUpdate(l);
            f.setIdInfoAdic(i);
            f.setLogin(l);
            sessao.saveOrUpdate(f);
            transacao.commit();
        } catch (Exception e) {
            transacao.rollback();
            throw new Exception();
        }
    }

    public void alterar(Funcionario f) throws Exception {
        try {
            sessao = HibernateUtil.getInstance();
            transacao = sessao.beginTransaction();
            sessao.update(f);
            transacao.commit();
        } catch (Exception e) {
            System.out.println(e.getMessage());
            transacao.rollback();
            throw new Exception(e.getMessage());
        }
    }

    public void excluir(Funcionario f) throws Exception {
        try {
            sessao = HibernateUtil.getInstance();
            transacao = sessao.beginTransaction();
            sessao.delete(f.getLogin());
            sessao.delete(f.getIdInfoAdic());
            sessao.delete(f);
            transacao.commit();
        } catch (Exception e) {
            transacao.rollback();
            throw new Exception();
        }

    }

    public List listarTodos() throws Exception {
        sessao = HibernateUtil.getInstance();
        return sessao.createCriteria(Funcionario.class).list();
    }

    public Funcionario buscarPorId(Integer id) throws Exception {
        String hql = "from Funcionario where idFuncionario = :id";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setInteger("id", id);
        return (Funcionario) q.list().get(0);
    }

    public Funcionario buscarPorIdInfAdic(Integer id) throws Exception {
        String hql = "from Funcionario where idInfoAdci = :id";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setInteger("id", id);
        return (Funcionario) q.list().get(0);
    }

    public List listarPorLoja(Integer id) throws Exception {
        String hql = "from Funcionario where idLoja = :idLoj";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setInteger("idLoj", id);
        return q.list();
    }

    // Verifica se a inscrio estadual informada existe
    public boolean matriculaExiste(String numero) throws Exception {
        String hql = "from Funcionario where matricula = :numero";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setString("numero", numero);
        if (q.list().size() == 0) {
            return false;
        } else {
            return true;
        }

    }

    // Verifica se o CPF informado existe
    public boolean cpfExiste(String numero) throws Exception {
        String hql = "from Funcionario where cpf = :numero";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setString("numero", numero);
        if (q.list().size() == 0) {
            return false;
        } else {
            return true;
        }
    }
}