diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservaEspecialClienteHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservaEspecialClienteHibernateDAO.java index 5d6f4eefb..66680eef7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservaEspecialClienteHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservaEspecialClienteHibernateDAO.java @@ -28,6 +28,7 @@ public class ReservaEspecialClienteHibernateDAO extends GenericHibernateDAO bucarReservaEspecialByClienteId(Long clienteId) { Criteria c = getCriteriaClienteActivo(); + c.add(Restrictions.eq("clienteId", clienteId)); c.addOrder(Order.asc("reservaEspecialClienteId")); return c.list(); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java index fa2784bb8..527e4d84d 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java @@ -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); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 8cbc63b30..3b9dba5b9 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -1032,46 +1032,50 @@ public class CorridaServiceImpl implements CorridaService { List 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 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 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) {