From 5036e8f50306e8ab2b258e82ed514260b378ac16 Mon Sep 17 00:00:00 2001 From: emerson Date: Fri, 14 Sep 2018 18:05:19 +0000 Subject: [PATCH] fixes bug#0012147 dev: fabricio qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@85412 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/OrgaoEmpParamDAO.java | 15 +++++ .../ventaboletos/dao/RutaDAO.java | 2 + .../hibernate/OrgaoEmpParamHibernateDAO.java | 56 +++++++++++++++++++ .../dao/hibernate/RutaHibernateDAO.java | 19 +++++-- .../service/OrgaoEmpParamService.java | 15 +++++ .../ventaboletos/service/RutaService.java | 2 + .../impl/OrgaoEmpParamServiceImpl.java | 33 +++++++++++ .../service/impl/RutaServiceImpl.java | 5 ++ 8 files changed, 142 insertions(+), 5 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/OrgaoEmpParamDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoEmpParamHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/service/OrgaoEmpParamService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/OrgaoEmpParamServiceImpl.java diff --git a/src/com/rjconsultores/ventaboletos/dao/OrgaoEmpParamDAO.java b/src/com/rjconsultores/ventaboletos/dao/OrgaoEmpParamDAO.java new file mode 100644 index 000000000..acc1e9620 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/OrgaoEmpParamDAO.java @@ -0,0 +1,15 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.OrgaoEmpParam; + +public interface OrgaoEmpParamDAO extends GenericDAO { + + public List obterPorOrgao(Integer orgaoConcedenteId); + + public List obterPorEmpresa(Integer empresaId); + + public OrgaoEmpParam obterPorOrgaoEmpresa(Integer orgaoConcedenteId, Integer empresaId); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java index 23199974f..72e630070 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java @@ -54,6 +54,8 @@ public interface RutaDAO extends GenericDAO { public List buscaRuta(String palavraPesquisaRuta); + public List buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao); + public List buscaRutasFromOrgao(OrgaoConcedente orgao); public List buscarPorRutaPorEmpresas(List lsEmpresas); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoEmpParamHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoEmpParamHibernateDAO.java new file mode 100644 index 000000000..cc91d6bd2 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoEmpParamHibernateDAO.java @@ -0,0 +1,56 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import java.util.List; + +import org.hibernate.Criteria; +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.OrgaoEmpParamDAO; +import com.rjconsultores.ventaboletos.entidad.OrgaoEmpParam; + +@Repository("orgaoEmpParamDAO") +public class OrgaoEmpParamHibernateDAO extends GenericHibernateDAO implements OrgaoEmpParamDAO { + + @Autowired + public OrgaoEmpParamHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("unchecked") + @Override + public List obterPorOrgao(Integer orgaoConcedenteId) { + Criteria criteria = createCriteria(); + criteria.add(Restrictions.eq("orgaoConcedente.orgaoConcedenteId", orgaoConcedenteId)); + + return criteria.list(); + } + + @SuppressWarnings("unchecked") + @Override + public List obterPorEmpresa(Integer empresaId) { + Criteria criteria = createCriteria(); + criteria.add(Restrictions.eq("empresa.empresaId", empresaId)); + + return criteria.list(); + } + + @Override + public OrgaoEmpParam obterPorOrgaoEmpresa(Integer orgaoConcedenteId, Integer empresaId) { + Criteria criteria = createCriteria(); + criteria.add(Restrictions.eq("orgaoConcedente.orgaoConcedenteId", orgaoConcedenteId)); + criteria.add(Restrictions.eq("empresa.empresaId", empresaId)); + + return (OrgaoEmpParam) criteria.uniqueResult(); + } + + private Criteria createCriteria() { + Criteria criteria = getSession().createCriteria(getPersistentClass()); + criteria.add(Restrictions.eq("activo", Boolean.TRUE)); + return criteria; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java index 575f82f11..a4af27206 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java @@ -185,18 +185,27 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme } public List buscaRuta(String palavraPesquisaRuta) { + return buscaRuta(palavraPesquisaRuta, null); + } - StringBuffer hql = new StringBuffer(); + @Override + public List buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao) { + StringBuilder hql = new StringBuilder(); hql.append(" FROM Ruta "); - hql.append(" WHERE lower(descruta) like :palavraPesquisaRuta "); + hql.append(" WHERE (lower(descruta) like :palavraPesquisaRuta "); hql.append(" OR prefixo like :palavraPesquisaRuta "); - hql.append(" OR str(numRuta) like :palavraPesquisaRuta "); + hql.append(" OR str(numRuta) like :palavraPesquisaRuta) "); + if (orgao != null) { + hql.append(" AND orgaoConcedente.orgaoConcedenteId = :orgaoId "); + } Query sq = getSession().createQuery(hql.toString()); sq.setParameter("palavraPesquisaRuta", palavraPesquisaRuta.toLowerCase() + '%'); + if (orgao != null) { + sq.setParameter("orgaoId", orgao.getOrgaoConcedenteId()); + } - List lsRuta = sq.list(); - return lsRuta; + return sq.list(); } public List buscaRutasFromOrgao(OrgaoConcedente orgao) { diff --git a/src/com/rjconsultores/ventaboletos/service/OrgaoEmpParamService.java b/src/com/rjconsultores/ventaboletos/service/OrgaoEmpParamService.java new file mode 100644 index 000000000..a108d575c --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/OrgaoEmpParamService.java @@ -0,0 +1,15 @@ +package com.rjconsultores.ventaboletos.service; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.OrgaoEmpParam; + +public interface OrgaoEmpParamService { + + public List obterPorOrgao(Integer orgaoConcedenteId); + + public List obterPorEmpresa(Integer empresaId); + + public OrgaoEmpParam obterPorOrgaoEmpresa(Integer orgaoConcedenteId, Integer empresaId); + +} diff --git a/src/com/rjconsultores/ventaboletos/service/RutaService.java b/src/com/rjconsultores/ventaboletos/service/RutaService.java index 93c3ffc9a..a6cca6678 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaService.java @@ -85,6 +85,8 @@ public interface RutaService { public List buscaRuta(String palavraPesquisaRuta); + public List buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao); + public List buscaRutasFromOrgao(OrgaoConcedente orgao); public List buscarTodosEstos(Integer[] idRutas); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/OrgaoEmpParamServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/OrgaoEmpParamServiceImpl.java new file mode 100644 index 000000000..e1167e787 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/OrgaoEmpParamServiceImpl.java @@ -0,0 +1,33 @@ +package com.rjconsultores.ventaboletos.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.rjconsultores.ventaboletos.dao.OrgaoEmpParamDAO; +import com.rjconsultores.ventaboletos.entidad.OrgaoEmpParam; +import com.rjconsultores.ventaboletos.service.OrgaoEmpParamService; + +@Service("orgaoEmpParamService") +public class OrgaoEmpParamServiceImpl implements OrgaoEmpParamService { + + @Autowired + private OrgaoEmpParamDAO dao; + + @Override + public List obterPorOrgao(Integer orgaoConcedenteId) { + return dao.obterPorOrgao(orgaoConcedenteId); + } + + @Override + public List obterPorEmpresa(Integer empresaId) { + return dao.obterPorEmpresa(empresaId); + } + + @Override + public OrgaoEmpParam obterPorOrgaoEmpresa(Integer orgaoConcedenteId, Integer empresaId) { + return dao.obterPorOrgaoEmpresa(orgaoConcedenteId, empresaId); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java index 3892f19ce..db4bd1f73 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java @@ -500,6 +500,11 @@ public class RutaServiceImpl implements RutaService { return rutaDAO.buscaRuta(palavraPesquisaRuta); } + @Override + public List buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao) { + return rutaDAO.buscaRuta(palavraPesquisaRuta, orgao); + } + public List buscaRutasFromOrgao(OrgaoConcedente orgao) { return rutaDAO.buscaRutasFromOrgao(orgao); }