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
master
fabio 2020-10-24 15:11:26 +00:00
parent d7e58fb8b6
commit b57ec26c22
1 changed files with 54 additions and 7 deletions

View File

@ -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<TramoVO> buscarListaTramosPorId(ParamsSincronizarTramo params) {
public List<TramoVO> buscarListaTramosPorId(ParamsSincronizarTramo params) throws Exception {
TramoDAO tramoDAO = (TramoDAO)AppContext.getApplicationContext().getBean("tramoDAO");
AliasServicoDAO aliasServicoDAO = (AliasServicoDAO)AppContext.getApplicationContext().getBean("aliasServicoDAO");
List<Tramo> listaTramo = tramoDAO.buscarListaPorIds(params.getListTramos());
List<TramoVO> listaTramoVO = new ArrayList<TramoVO>();
for (Tramo tramo : listaTramo) {
listaTramoVO.add( new TramoVO(tramo) );
List<TramoVO> listaTramoVO = tramoDAO.buscarListaPorIds(params.getListTramos(), params.getChaveCorrida() );
List<AliasServico> 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;