com.iqtb.validacion.dao.DaoEmpresa.java Source code

Java tutorial

Introduction

Here is the source code for com.iqtb.validacion.dao.DaoEmpresa.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.iqtb.validacion.dao;

import com.iqtb.validacion.dto.HibernateUtil;
import com.iqtb.validacion.interfaces.InterfaceEmpresa;
import com.iqtb.validacion.pojo.Empresas;
import com.iqtb.validacion.pojo.UsuariosHasEmpresasId;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author danielromero
 */
public class DaoEmpresa implements InterfaceEmpresa {

    private Logger logger = Logger.getLogger(DaoEmpresa.class);

    @Override
    public List<Empresas> getEmpresaById(Integer idUsuario) throws Exception {
        List<Empresas> listaEmpresas = new ArrayList<Empresas>();
        Empresas empresa;
        List<UsuariosHasEmpresasId> lista = new DaoUsuarioEmpresa().getEmpresasByIdUsuario(idUsuario);

        for (UsuariosHasEmpresasId usuariosHasEmpresasId : lista) {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction tx = session.beginTransaction();
            try {
                String hql = "from Empresas where idEmpresa = :IDEMPRESA";
                Query query = session.createQuery(hql);
                query.setParameter("IDEMPRESA", usuariosHasEmpresasId.getIdEmpresa());
                empresa = (Empresas) query.uniqueResult();
                listaEmpresas.add(empresa);
                tx.commit();
            } catch (HibernateException he) {
                logger.error("getEmpresaById ERROR: " + he);
                tx.rollback();
            } finally {
                if (session.isOpen()) {
                    session.close();
                }
            }
        }
        return listaEmpresas;
    }

    @Override
    public Empresas getEmpresaByRFC(String rfc) throws Exception {
        Empresas empresa = null;

        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
        try {
            String hql = "from Empresas where rfc = :RFC";
            Query query = session.createQuery(hql);
            query.setParameter("RFC", rfc);
            empresa = (Empresas) query.uniqueResult();
            tx.commit();
        } catch (HibernateException he) {
            logger.error("getEmpresaByRFC ERROR: " + he);
            tx.rollback();
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }
        return empresa;
    }

    @Override
    public boolean updateEmpresa(Empresas empresa) throws Exception {
        boolean update = false;
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();

        try {
            session.saveOrUpdate(empresa);
            tx.commit();
            update = true;
        } catch (HibernateException he) {
            logger.error("updateEmpresa ERROR: " + he);
            tx.rollback();
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }
        return update;
    }

    @Override
    public Empresas getEmpresaByidEmpresa(int idEmpresa) throws Exception {
        Empresas empresa = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();

        try {
            String hql = "from Empresas where idEmpresa = :IDEMPRESA";
            Query query = session.createQuery(hql);
            query.setParameter("IDEMPRESA", idEmpresa);
            empresa = (Empresas) query.uniqueResult();
            tx.commit();
        } catch (HibernateException he) {
            logger.error("getEmpresaByidEmpresa ERROR: " + he);
            tx.rollback();
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }
        return empresa;
    }

    @Override
    public List<Empresas> getEmpresas() throws Exception {
        List<Empresas> listaEmpresas = new ArrayList<Empresas>();

        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
        try {
            String hql = "from Empresas";
            Query query = session.createQuery(hql);
            listaEmpresas = query.list();
            tx.commit();
        } catch (HibernateException he) {
            logger.error("getEmpresas ERROR: " + he);
            tx.rollback();
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }
        return listaEmpresas;
    }

    public String obtenerRFC(int idEmpresa) {
        String rfc = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
        try {
            String hql = "SELECT rfc FROM Empresas where idEmpresa=" + idEmpresa;
            Query q = session.createQuery(hql);
            rfc = (String) q.uniqueResult();
            tx.commit();
        } catch (HibernateException he) {
            logger.error("No se puede obtener el id del socio comercial");
            tx.rollback();
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }
        return rfc;
    }

    @Override
    public boolean deleteEmpresa(Empresas empresa) throws Exception {
        boolean delete = false;
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();

        try {
            session.delete(empresa);
            tx.commit();
            delete = true;
        } catch (HibernateException he) {
            logger.error("deleteEmpresa ERROR: " + he);
            tx.rollback();
        } finally {
            if (session.isOpen()) {
                session.close();
            }
        }
        return delete;
    }

}