fixed bug #7212 - Modificação massiva alias : adição novos filtros

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@55030 d1611594-4594-4d17-8e1d-87c2c4800839
master
frederico 2016-04-18 17:22:34 +00:00
parent 0901a7509b
commit dba2a3658f
4 changed files with 41 additions and 5 deletions

View File

@ -1,9 +1,12 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.ArrayList;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
@ -34,9 +37,12 @@ public interface AliasServicoDAO extends GenericDAO<AliasServico, Integer>{
* Realiza a busca com os filtro informados.
* @param linas
* @param empresas
* @param tiposClasses
* @param orgaos
* @param prefixo
* @return
*/
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas);
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo);
/**

View File

@ -1,5 +1,6 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.List;
import org.hibernate.Criteria;
@ -12,7 +13,9 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.AliasServicoDAO;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
@ -52,7 +55,7 @@ public class AliasServicoHibernateDAO extends GenericHibernateDAO<AliasServico,
@SuppressWarnings("unchecked")
@Override
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas) {
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo) {
StringBuilder hql = new StringBuilder();
hql.append("SELECT DISTINCT alias ");
@ -78,6 +81,28 @@ public class AliasServicoHibernateDAO extends GenericHibernateDAO<AliasServico,
hql.append(")");
}
if(!tiposClasses.isEmpty()){
hql.append(" AND alias.ruta.claseServicio.claseservicioId IN (");
for (ClaseServicio c : tiposClasses) {
hql.append(c.getClaseservicioId() + ",");
}
hql.deleteCharAt(hql.length() - 1);
hql.append(")");
}
if(!orgaos.isEmpty()){
hql.append(" AND alias.ruta.orgaoConcedente.orgaoConcedenteId IN (");
for (OrgaoConcedente o : orgaos) {
hql.append(o.getOrgaoConcedenteId() + ",");
}
hql.deleteCharAt(hql.length() - 1);
hql.append(")");
}
if(prefixo != null && !prefixo.isEmpty()){
hql.append(" AND alias.ruta.prefixo = '" + prefixo +"'" );
}
Query query = getSession().createQuery(hql.toString());
return query.list();

View File

@ -3,7 +3,9 @@ package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.exception.BusinessException;
@ -18,7 +20,7 @@ public interface AliasServicoService{
public void borrar(AliasServico entidad);
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas);
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo);
public AliasServico existe(Parada origem, Parada destino, Ruta linha, Integer idCorrida);
}

View File

@ -1,5 +1,6 @@
package com.rjconsultores.ventaboletos.service.impl;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.List;
@ -12,7 +13,9 @@ import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.AliasServicoDAO;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.exception.BusinessException;
@ -83,8 +86,8 @@ public class AliasServicoServiceImpl implements AliasServicoService {
}
@Override
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas) {
return aliasServicoDAO.buscarPorLinhaEmpresa(linhas, empresas);
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo) {
return aliasServicoDAO.buscarPorLinhaEmpresa(linhas, empresas, tiposClasses, orgaos, prefixo);
}
@Override