From b57ec26c22f419fb2b78be534196a51767160b2f Mon Sep 17 00:00:00 2001 From: fabio Date: Sat, 24 Oct 2020 15:11:26 +0000 Subject: [PATCH] bug#20497 dev: Valvevir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@103931 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../rest/service/SincronizarTramoService.java | 61 ++++++++++++++++--- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java b/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java index 602aae62a..7005a7b39 100644 --- a/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java +++ b/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java @@ -1,13 +1,15 @@ package com.rjconsultores.ventaboletos.rest.service; -import java.util.ArrayList; import java.util.List; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.Predicate; import org.springframework.stereotype.Service; import com.rjconsultores.routing.ReadOnlyConnection; +import com.rjconsultores.ventaboletos.dao.AliasServicoDAO; import com.rjconsultores.ventaboletos.dao.TramoDAO; -import com.rjconsultores.ventaboletos.entidad.Tramo; +import com.rjconsultores.ventaboletos.entidad.AliasServico; import com.rjconsultores.ventaboletos.rest.bean.ParamsSincronizarTramo; import com.rjconsultores.ventaboletos.vo.tramo.TramoVO; import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; @@ -16,13 +18,58 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; public class SincronizarTramoService { @ReadOnlyConnection - public List buscarListaTramosPorId(ParamsSincronizarTramo params) { + public List buscarListaTramosPorId(ParamsSincronizarTramo params) throws Exception { TramoDAO tramoDAO = (TramoDAO)AppContext.getApplicationContext().getBean("tramoDAO"); + AliasServicoDAO aliasServicoDAO = (AliasServicoDAO)AppContext.getApplicationContext().getBean("aliasServicoDAO"); - List listaTramo = tramoDAO.buscarListaPorIds(params.getListTramos()); - List listaTramoVO = new ArrayList(); - for (Tramo tramo : listaTramo) { - listaTramoVO.add( new TramoVO(tramo) ); + List listaTramoVO = tramoDAO.buscarListaPorIds(params.getListTramos(), params.getChaveCorrida() ); + + List aliasLs = aliasServicoDAO.buscarPorRuta( listaTramoVO.get(0).getRutaId() ); + final Integer corridaId = Integer.valueOf( params.getChaveCorrida().split(";")[0] ); + + for (TramoVO vo : listaTramoVO) { + if( aliasLs != null && !aliasLs.isEmpty() ) { + final Integer origemId = vo.getOrigemId(); + final Integer destinoId = vo.getDestinoId(); + + AliasServico aC = null; + try { + aC = (AliasServico) CollectionUtils.find(aliasLs, new Predicate() { + + @Override + public boolean evaluate(Object arg0) { + AliasServico alias = (AliasServico)arg0; + + return alias.getCorridaId() != null && alias.getCorridaId().equals( corridaId ) + && alias.getOrigen().getParadaId().equals(origemId) + && alias.getDestino().getParadaId().equals(destinoId); + } + }); + + if(aC == null) { + aC = (AliasServico) CollectionUtils.find(aliasLs, new Predicate() { + + @Override + public boolean evaluate(Object arg0) { + AliasServico alias = (AliasServico)arg0; + + return alias.getOrigen().getParadaId().equals(origemId) + && alias.getDestino().getParadaId().equals(destinoId) + && alias.getCorridaId() == null; + } + }); + } + }catch(Throwable th) { + throw new Exception("erro ao carrgar o alias",th); + } + + if (aC != null) { + vo.setAliasdestinoId(aC.getAliasDestino().getParadaId()); + vo.setAliasorigenId(aC.getAliasOrigen().getParadaId()); + vo.setDescAliasdestino(aC.getAliasDestino().getDescparada()); + vo.setDescAliasorigen(aC.getAliasOrigen().getDescparada()); + } + } } return listaTramoVO;