From 2bd86b0cdfd844fb5039317e30be78629448f1a7 Mon Sep 17 00:00:00 2001 From: valdevir Date: Thu, 4 Nov 2021 20:17:52 +0000 Subject: [PATCH] fixes bug#23106 qua: dev:Valdir git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@109472 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../service/impl/CorridaServiceImpl.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 12b5645ee..33c4b6935 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -49,6 +49,7 @@ import com.rjconsultores.ventaboletos.entidad.Moneda; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.ReservaEspecialCliente; import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; import com.rjconsultores.ventaboletos.entidad.Tarifa; import com.rjconsultores.ventaboletos.entidad.Tramo; @@ -1045,13 +1046,26 @@ public class CorridaServiceImpl implements CorridaService { String unoNumeOperacion= null ; Tramo tramo = null; Date fecViaje = corrida.getFechorsalida(); - for (CorridaTramo corridaTramo : corrida.getCorridaTramoList()) { - if(corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue()==unoTerminalOrigenId.intValue() - && corridaTramo.getDestino()!=null && corridaTramo.getDestino().getParadaId().intValue()==unoTerminalDestinoId.intValue()) - tramo = corridaTramo.getTramo(); - fecViaje = corridaTramo.getFechorsalidaH(); - break; + Ruta ruta = rutaService.obtenerID(corrida.getRuta().getRutaId()); + for(RutaCombinacion rutaCombinacion :ruta.getRutaCombinacionList()) { + if((rutaCombinacion.getTramo().getOrigem().getParadaId().intValue()==unoTerminalOrigenId.intValue()) + && (rutaCombinacion.getTramo().getDestino().getParadaId().intValue()==unoTerminalDestinoId.intValue()) ) { + tramo = rutaCombinacion.getTramo(); + break; + } } + + for (CorridaTramo corridaTramo : corrida.getCorridaTramoList()) { + //(Se origem corridatramo = origem cadastrada && destino corridatramo = destino cadastrado) + // ou (se origem corridatramo = destino do cadastrado), tendo em vista que corridatramo são a sequencias e não as combinações + if(((corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue()==unoTerminalOrigenId.intValue()) + && (corridaTramo.getDestino()!=null && corridaTramo.getDestino().getParadaId().intValue()==unoTerminalDestinoId.intValue())) + || (corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue()==unoTerminalDestinoId.intValue())){ + fecViaje = corridaTramo.getFechorsalidaH(); + break; + } + } + if(tramo==null) { log.error("Reserva não será realizada. Não foi encontrado trecho com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); continue; @@ -1067,7 +1081,6 @@ public class CorridaServiceImpl implements CorridaService { continue; } Float valorTarifa= tarifa!=null ? tarifa.getPrecio().floatValue() : null ; - //Long tempoReserva = reservaEspecialCliente.getTempoConfirmacao().getTime(); Long tempoReserva = null; Cliente cliente = clienteService.obtenerID(reservaEspecialCliente.getClienteId().intValue()); boletoService.criaBoletoReserva(unoAsientoSelec, unaCorridaId, unaFecCorrida, unoTerminalOrigenId,