public List<Abono> getAbonadosEnLaPlayaActivos() { Date hoy = new Date(); List<Abono> abonadosEnLaPlayaActivos = new LinkedList<Abono>(); for (Abono aux : abonadosEnLaPlaya) { if (aux.getFechaVigenciaHasta().after(hoy)) abonadosEnLaPlayaActivos.add(aux); } return abonadosEnLaPlayaActivos; }
public String abonoAddFromPlayaGerente() { Abono abono; try { if (getAbonoService().existeAbonoVehiculo(vehiculo, playaLoggeada) == false) { abono = new Abono(getFechaDesde(), getFechaHasta(), getTarifa(), playaLoggeada); abono.setVehiculo(getVehiculo()); abono.setPromocion(getPromocion()); CuentaCliente cuentaCliente = new CuentaCliente(); cuentaCliente = vehiculo.getCliente().getCuentaCliente(); float nuevoSaldo; if (cuentaCliente.getSaldo() >= getTarifa().getImporte()) { if (getPromocion() != null) { nuevoSaldo = cuentaCliente.getSaldo() - (getTarifa().getImporte() * ((getPromocion().getDescuento()) / 100 + 1)); } else { nuevoSaldo = cuentaCliente.getSaldo() - (getTarifa().getImporte()); } // Grabo el abono getAbonoService().save(abono); // Actualizo la cuenta de cliente. cuentaCliente.setSaldo(nuevoSaldo); getCuentaClienteService().update(cuentaCliente); // Creo la transacción de la playa TransaccionPlaya txPlaya = new TransaccionPlaya(); CuentaPlaya cuentaPlaya = getCuentaPlayaService().findByPlaya(playaLoggeada); txPlaya.setCuentaPlaya(cuentaPlaya); txPlaya.setFecha(new Date()); float importe; if (getPromocion() != null) { importe = getTarifa().getImporte() * ((getPromocion().getDescuento()) / 100 + 1); } else { importe = getTarifa().getImporte(); } txPlaya.setImporte(importe); TipoPago tipoPagoCuenta = getTipoPagoService().findByNombreTipoPago("Cuenta"); txPlaya.setTipoPago(tipoPagoCuenta); getTransaccionPlayaService().save(txPlaya); // Creo la transacción cliente TransaccionCliente transaccionCliente = new TransaccionCliente(); transaccionCliente.setCuentaCliente(cuentaCliente); transaccionCliente.setFecha(new Date()); transaccionCliente.setImporte(-importe); transaccionCliente.setTipoPago(tipoPagoCuenta); getTransaccionClienteService().save(transaccionCliente); FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_INFO, "Se registró exitosamente el abono mensual", ""); FacesContext.getCurrentInstance().addMessage(null, message); return "abonoaddendgerente"; } else { FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_WARN, "No posee saldo suficiente para efectuar el abono mensual.", ""); FacesContext.getCurrentInstance().addMessage(null, message); } } else { FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_WARN, "Ya existe un abonado en el período indicado. ¡Verifique las fechas!", ""); FacesContext.getCurrentInstance().addMessage(null, message); } } catch (Exception ex) { FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_ERROR, "Error, no se pudo registrar el abono mensual, Disculpe las molestias ocacionadas.", ""); FacesContext.getCurrentInstance().addMessage(null, message); ex.printStackTrace(); } return null; }