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; package com.rjconsultores.ventaboletos.dao;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.AliasServico; import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
@ -34,9 +37,12 @@ public interface AliasServicoDAO extends GenericDAO<AliasServico, Integer>{
* Realiza a busca com os filtro informados. * Realiza a busca com os filtro informados.
* @param linas * @param linas
* @param empresas * @param empresas
* @param tiposClasses
* @param orgaos
* @param prefixo
* @return * @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; package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.List; import java.util.List;
import org.hibernate.Criteria; import org.hibernate.Criteria;
@ -12,7 +13,9 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.AliasServicoDAO; import com.rjconsultores.ventaboletos.dao.AliasServicoDAO;
import com.rjconsultores.ventaboletos.entidad.AliasServico; import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
@ -52,7 +55,7 @@ public class AliasServicoHibernateDAO extends GenericHibernateDAO<AliasServico,
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @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(); StringBuilder hql = new StringBuilder();
hql.append("SELECT DISTINCT alias "); hql.append("SELECT DISTINCT alias ");
@ -78,6 +81,28 @@ public class AliasServicoHibernateDAO extends GenericHibernateDAO<AliasServico,
hql.append(")"); 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()); Query query = getSession().createQuery(hql.toString());
return query.list(); return query.list();

View File

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

View File

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