package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.FiscalImpressoraDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.FiscalFormapagoEmpresa; import com.rjconsultores.ventaboletos.entidad.FiscalImpressora; import com.rjconsultores.ventaboletos.entidad.FiscalRelgerencialEmpresa; import com.rjconsultores.ventaboletos.entidad.FiscalTotnaofiscalEmpresa; import com.rjconsultores.ventaboletos.entidad.FormaPago; @Repository("fiscalImpressoraDAO") public class FiscalImpressoraHibernateDAO extends GenericHibernateDAO implements FiscalImpressoraDAO { @Autowired public FiscalImpressoraHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } public List buscarTotsNaoFiscaisEmpresa(Integer empresaEcfId) { StringBuilder impostoHql = new StringBuilder(); impostoHql.append(" select e"); impostoHql.append(" from FiscalTotnaofiscalEmpresa e"); impostoHql.append(" where e.activo = 1 and e.empresa.id = :empresaEcfId"); Query qry = getSession().createQuery(impostoHql.toString()); qry.setParameter("empresaEcfId", empresaEcfId); List list = qry.list(); return list; } public List buscarFormaPagoEmpresa(Integer empresaEcfId) { StringBuilder impostoHql = new StringBuilder(); impostoHql.append(" select e"); impostoHql.append(" from FiscalFormapagoEmpresa e"); impostoHql.append(" where e.activo = 1 and e.empresa.id = :empresaEcfId"); Query qry = getSession().createQuery(impostoHql.toString()); qry.setParameter("empresaEcfId", empresaEcfId); List list = qry.list(); return list; } public List buscarItensRelgerencialEmpresa(Integer empresaEcfId) { StringBuilder impostoHql = new StringBuilder(); impostoHql.append(" select e"); impostoHql.append(" from FiscalRelgerencialEmpresa e"); impostoHql.append(" where e.activo = 1 and e.empresa.id = :empresaEcfId"); Query qry = getSession().createQuery(impostoHql.toString()); qry.setParameter("empresaEcfId", empresaEcfId); List list = qry.list(); return list; } public List buscarFormaPagoAplicacaoImpfiscal() { StringBuilder impostoHql = new StringBuilder(); impostoHql.append(" select e"); impostoHql.append(" from FormaPago e"); impostoHql.append(" where e.activo = 1 and e.impfiscal = 1"); Query qry = getSession().createQuery(impostoHql.toString()); List list = qry.list(); return list; } @Override public List obtenerTodosTotnaofiscalEmpresa() { Criteria criteria = getSession().createCriteria(FiscalTotnaofiscalEmpresa.class); criteria.add(Restrictions.eq("activo", true)); return criteria.list(); } @Override public FiscalTotnaofiscalEmpresa obtenerIDTotnaofiscalEmpresa(Long id) { Criteria criteria = getSession().createCriteria(FiscalTotnaofiscalEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("fiscalformapagoempresaId", id)); return (FiscalTotnaofiscalEmpresa) criteria.uniqueResult(); } @Override public FiscalTotnaofiscalEmpresa buscarTotNaoFiscal(Empresa empresa,String tipoTotalizador){ Criteria criteria = getSession().createCriteria(FiscalTotnaofiscalEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("empresa", empresa)); criteria.add(Restrictions.eq("tipototalizador", tipoTotalizador)); return (FiscalTotnaofiscalEmpresa) criteria.uniqueResult(); } @Override public FiscalTotnaofiscalEmpresa buscarTotNaoFiscal(Empresa empresa,String tipoTotalizador,String descEcf){ Criteria criteria = getSession().createCriteria(FiscalTotnaofiscalEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("empresa", empresa)); criteria.add(Restrictions.eq("tipototalizador", tipoTotalizador)); criteria.add(Restrictions.eq("descricao", descEcf)); return (FiscalTotnaofiscalEmpresa) criteria.uniqueResult(); } @Override public FiscalTotnaofiscalEmpresa suscribirTotnaofiscalEmpresa(FiscalTotnaofiscalEmpresa entidad) { getSession().save(entidad); getSession().flush(); return entidad ; } @Override public FiscalTotnaofiscalEmpresa actualizarTotnaofiscalEmpresa(FiscalTotnaofiscalEmpresa entidad) { getSession().merge(entidad); return entidad ; } @Override public void borrarTotnaofiscalEmpresa(FiscalTotnaofiscalEmpresa entidad) { getSession().merge(entidad); getSession().flush(); } @Override public List obtenerTodosFormapagoEmpresa() { Criteria criteria = getSession().createCriteria(FiscalFormapagoEmpresa.class); criteria.add(Restrictions.eq("activo", true)); return criteria.list(); } @Override public FiscalFormapagoEmpresa obtenerIDFormapagoEmpresa(Long id) { Criteria criteria = getSession().createCriteria(FiscalFormapagoEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("fiscalformapagoempresaId", id)); return (FiscalFormapagoEmpresa) criteria.uniqueResult(); } @Override public FiscalFormapagoEmpresa suscribirFormapagoEmpresa(FiscalFormapagoEmpresa entidad) { getSession().save(entidad); getSession().flush(); return entidad ; } @Override public FiscalFormapagoEmpresa buscarFormaPago(Empresa empresa,String tipoformapago){ Criteria criteria = getSession().createCriteria(FiscalFormapagoEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("empresa", empresa)); criteria.add(Restrictions.eq("tipoformapago", tipoformapago)); return (FiscalFormapagoEmpresa) criteria.uniqueResult(); } @Override public FiscalFormapagoEmpresa buscarFormaPago(Empresa empresa,String tipoformapago,String descEcf){ Criteria criteria = getSession().createCriteria(FiscalFormapagoEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("empresa", empresa)); criteria.add(Restrictions.eq("descricao", descEcf)); criteria.add(Restrictions.eq("tipoformapago", tipoformapago)); return (FiscalFormapagoEmpresa) criteria.uniqueResult(); } @Override public FiscalFormapagoEmpresa actualizacionFormapagoEmpresa(FiscalFormapagoEmpresa entidad) { getSession().merge(entidad); getSession().flush(); return entidad; } @Override public List obtenerTodosRelgerencialEmpresa() { Criteria criteria = getSession().createCriteria(FiscalRelgerencialEmpresa.class); criteria.add(Restrictions.eq("activo", true)); return criteria.list(); } @Override public FiscalRelgerencialEmpresa obtenerIDRelgerencialEmpresa(Long id) { Criteria criteria = getSession().createCriteria(FiscalTotnaofiscalEmpresa.class); criteria.add(Restrictions.eq("activo", true)); criteria.add(Restrictions.eq("fiscalformapagoempresaId", id)); return (FiscalRelgerencialEmpresa) criteria.uniqueResult(); } @Override public FiscalRelgerencialEmpresa suscribirRelgerencialEmpresa(FiscalRelgerencialEmpresa entidad) { getSession().save(entidad); getSession().flush(); return entidad ; } @Override public FiscalRelgerencialEmpresa actualizacionRelgerencialEmpresa(FiscalRelgerencialEmpresa entidad) { getSession().merge(entidad); getSession().flush(); return entidad; } }