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 @Override
public List<ReservaEspecialCliente> bucarReservaEspecialByClienteId(Long clienteId) { public List<ReservaEspecialCliente> bucarReservaEspecialByClienteId(Long clienteId) {
Criteria c = getCriteriaClienteActivo(); Criteria c = getCriteriaClienteActivo();
c.add(Restrictions.eq("clienteId", clienteId));
c.addOrder(Order.asc("reservaEspecialClienteId")); c.addOrder(Order.asc("reservaEspecialClienteId"));
return c.list(); return c.list();

View File

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

View File

@ -1032,46 +1032,50 @@ public class CorridaServiceImpl implements CorridaService {
List<ReservaEspecialCliente> reservaEspecialClienteList = reservaEspecialClientService.bucarReservaEspecialByCorridaId(corrida.getId().getCorridaId().longValue()) ; List<ReservaEspecialCliente> reservaEspecialClienteList = reservaEspecialClientService.bucarReservaEspecialByCorridaId(corrida.getId().getCorridaId().longValue()) ;
if(reservaEspecialClienteList !=null) { if(reservaEspecialClienteList !=null) {
for (ReservaEspecialCliente reservaEspecialCliente : reservaEspecialClienteList) { for (ReservaEspecialCliente reservaEspecialCliente : reservaEspecialClienteList) {
Integer unoTerminalOrigenId = reservaEspecialCliente.getOrigem().getParadaId(); Date dataAtual = new Date ();
Integer unoTerminalDestinoId = reservaEspecialCliente.getDestino().getParadaId(); //Valida se esta dentro da vigência
String unoAsientoSelec = reservaEspecialCliente.getNumAsentoCorrida().toString(); if(DateUtil.isMenor(reservaEspecialCliente.getFecfinal(), dataAtual) && DateUtil.isMaior(reservaEspecialCliente.getFecfinal(), dataAtual)){
Integer unaCorridaId =corrida.getId().getCorridaId().intValue(); Integer unoTerminalOrigenId = reservaEspecialCliente.getOrigem().getParadaId();
Date unaFecCorrida= corrida.getId().getFeccorrida(); Integer unoTerminalDestinoId = reservaEspecialCliente.getDestino().getParadaId();
Integer unoTipoVenta= TPV_RESERVA_NORMAL; String unoAsientoSelec = reservaEspecialCliente.getNumAsentoCorrida().toString();
Integer unaCategoriaSelec= 1 ; Integer unaCorridaId =corrida.getId().getCorridaId().intValue();
String unoNumeOperacion= null ; Date unaFecCorrida= corrida.getId().getFeccorrida();
Tramo tramo = null; Integer unoTipoVenta= TPV_RESERVA_NORMAL;
Date fecViaje = corrida.getFechorsalida(); Integer unaCategoriaSelec= 1 ;
for (CorridaTramo corridaTramo : corrida.getCorridaTramoList()) { String unoNumeOperacion= null ;
if(corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue()==unoTerminalOrigenId.intValue() Tramo tramo = null;
&& corridaTramo.getDestino()!=null && corridaTramo.getDestino().getParadaId().intValue()==unoTerminalDestinoId.intValue()) Date fecViaje = corrida.getFechorsalida();
tramo = corridaTramo.getTramo(); for (CorridaTramo corridaTramo : corrida.getCorridaTramoList()) {
fecViaje = corridaTramo.getFechorsalidaH(); if(corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue()==unoTerminalOrigenId.intValue()
break; && 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) { } catch (Exception e) {