fixes bug#23106

qua:
dev:Aristides

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@109383 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2021-10-29 18:52:04 +00:00
parent 6671521bd1
commit dd106c1b1e
3 changed files with 45 additions and 40 deletions

View File

@ -28,6 +28,7 @@ public class ReservaEspecialClienteHibernateDAO extends GenericHibernateDAO<Rese
@Override
public List<ReservaEspecialCliente> bucarReservaEspecialByClienteId(Long clienteId) {
Criteria c = getCriteriaClienteActivo();
c.add(Restrictions.eq("clienteId", clienteId));
c.addOrder(Order.asc("reservaEspecialClienteId"));
return c.list();

View File

@ -64,7 +64,6 @@ public class BoletoServiceImpl implements BoletoService {
PuntoVenta miPuntoVenta = puntoVentaService.obtenerID(unPuntoVenta.intValue());
Boleto miBoletoTemporal = new Boleto();
miBoletoTemporal.setActivo(Boolean.TRUE);
BigDecimal miPrecio = MoneyHelper.arredondar(tarifa) ;
miBoletoTemporal = new Boleto();
miBoletoTemporal.setBoletoId(formataBoletoId(getSequenciaBoletoId()));
@ -119,6 +118,7 @@ public class BoletoServiceImpl implements BoletoService {
Usuario usuario = usuarioService.obtenerID(unUsuarioId);
miBoletoTemporal.setUsuarioautorizacionId(usuario.getUsuarioUbicacionActivoList().get(0).getUsuarioubicacionId());
miBoletoTemporal.setUsuario(usuario);
miBoletoTemporal.setActivo(true);
// Cria boleto de reserva
suscribir(miBoletoTemporal);

View File

@ -1032,46 +1032,50 @@ public class CorridaServiceImpl implements CorridaService {
List<ReservaEspecialCliente> reservaEspecialClienteList = reservaEspecialClientService.bucarReservaEspecialByCorridaId(corrida.getId().getCorridaId().longValue()) ;
if(reservaEspecialClienteList !=null) {
for (ReservaEspecialCliente reservaEspecialCliente : reservaEspecialClienteList) {
Integer unoTerminalOrigenId = reservaEspecialCliente.getOrigem().getParadaId();
Integer unoTerminalDestinoId = reservaEspecialCliente.getDestino().getParadaId();
String unoAsientoSelec = reservaEspecialCliente.getNumAsentoCorrida().toString();
Integer unaCorridaId =corrida.getId().getCorridaId().intValue();
Date unaFecCorrida= corrida.getId().getFeccorrida();
Integer unoTipoVenta= TPV_RESERVA_NORMAL;
Integer unaCategoriaSelec= 1 ;
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;
Date dataAtual = new Date ();
//Valida se esta dentro da vigência
if(DateUtil.isMenor(reservaEspecialCliente.getFecfinal(), dataAtual) && DateUtil.isMaior(reservaEspecialCliente.getFecfinal(), dataAtual)){
Integer unoTerminalOrigenId = reservaEspecialCliente.getOrigem().getParadaId();
Integer unoTerminalDestinoId = reservaEspecialCliente.getDestino().getParadaId();
String unoAsientoSelec = reservaEspecialCliente.getNumAsentoCorrida().toString();
Integer unaCorridaId =corrida.getId().getCorridaId().intValue();
Date unaFecCorrida= corrida.getId().getFeccorrida();
Integer unoTipoVenta= TPV_RESERVA_NORMAL;
Integer unaCategoriaSelec= 1 ;
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;
}
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;
}
List<VigenciaTarifa> vigenciaTarifaList = vigenciaTarifaService.buscarVigenciasIntervalo(new VigenciaTarifa(corrida.getFechorSalidaOriginal(), corrida.getFechorSalidaOriginal()));
if(vigenciaTarifaList==null || vigenciaTarifaList.isEmpty()) {
log.error("Reserva não será realizada. Não foi encontrado Vigência Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId());
continue;
}
Tarifa tarifa = tarifaService.buscar(tramo, corrida.getMarca(), corrida.getClaseServicio(), vigenciaTarifaList!=null ? vigenciaTarifaList.get(0) : null, new Moneda(1), corrida.getRuta());
if(tarifa==null ) {
log.error("Reserva não será realizada. Não foi encontrado Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId());
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,
unoTerminalDestinoId, unoTipoVenta, unaCategoriaSelec, unoNumeOperacion, unUsuarioId, unPuntoVenta,
reservaEspecialCliente.getClienteId().intValue(), corrida.getRuta().getRutaId(), valorTarifa, tempoReserva,
estacionId, cliente.getNumIdentificaUno(), cliente.getListClienteFidelidad().get(0).getClienteFidelidadId().toString(),
corrida.getClaseServicio().getClaseservicioId(), corrida.getMarca().getMarcaId(), fecViaje, corrida.getEmpresa().getEmpresaId(), cliente.getNombcliente());
}
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;
}
List<VigenciaTarifa> vigenciaTarifaList = vigenciaTarifaService.buscarVigenciasIntervalo(new VigenciaTarifa(corrida.getFechorSalidaOriginal(), corrida.getFechorSalidaOriginal()));
if(vigenciaTarifaList==null || vigenciaTarifaList.isEmpty()) {
log.error("Reserva não será realizada. Não foi encontrado Vigência Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId());
continue;
}
Tarifa tarifa = tarifaService.buscar(tramo, corrida.getMarca(), corrida.getClaseServicio(), vigenciaTarifaList!=null ? vigenciaTarifaList.get(0) : null, new Moneda(1), corrida.getRuta());
if(tarifa==null ) {
log.error("Reserva não será realizada. Não foi encontrado Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId());
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,
unoTerminalDestinoId, unoTipoVenta, unaCategoriaSelec, unoNumeOperacion, unUsuarioId, unPuntoVenta,
reservaEspecialCliente.getClienteId().intValue(), corrida.getRuta().getRutaId(), valorTarifa, tempoReserva,
estacionId, cliente.getNumIdentificaUno(), cliente.getListClienteFidelidad().get(0).getClienteFidelidadId().toString(),
corrida.getClaseServicio().getClaseservicioId(), corrida.getMarca().getMarcaId(), fecViaje, corrida.getEmpresa().getEmpresaId(), cliente.getNombcliente());
}
}
} catch (Exception e) {