package javaBB; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.LinkedList; import java.util.List; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import javax.faces.model.SelectItem; import persistencia.CheckIn; import persistencia.Empresa; import persistencia.SitioInteres; import persistencia.Usuario; import negocios.GestionAutenticacion; import negocios.GestionEmpresas; import negocios.GestionSitioInteres; import negocios.GestionUsuarios; import negocios.excepciones.EntidadNoExiste; @ManagedBean(name = "reporteCheckIn") @SessionScoped public class ReporteCheckInBB { private boolean exito; private List<SitioInteres> sitios; private List<DatoReporteCheckIn> datos; private int cantDatos; private Date fechaComienzo; private Date fechaFin; @EJB private GestionSitioInteres gs; @EJB private GestionUsuarios gu; public ReporteCheckInBB() { System.out.println("ReporteCheckInBean instantiated"); this.exito = true; } /* logica y navegaciĆ³n*/ public void generar() { //String retorno = ""; Calendar cal = null; Calendar cal2 = null; if (this.fechaComienzo != null){ cal = Calendar.getInstance(); cal.setTime(this.fechaComienzo); } if (this.fechaFin != null){ cal2 = Calendar.getInstance(); cal2.setTime(this.fechaFin); } this.datos = new LinkedList<DatoReporteCheckIn>(); this.sitios = gs.obtenerTodosSitiosInteres(); int k = 1; for(SitioInteres s : this.sitios){ DatoReporteCheckIn dato = new DatoReporteCheckIn(k, s.getNombre(), s.getDescripcion(), s.getLatitud(), s.getLongitud(), (int) gs.cantCheckInsSitio(s.getId(), cal, cal2)); k++; this.datos.add(dato); } this.cantDatos = this.datos.size(); } public String continuar() { String retorno = "reporte"; /* List<Usuario> list = gu.buscarUsuario("usuario2"); Usuario user2 = list.get(0); SitioInteres sitio7 = gs.obtenerSitioInteres(7); GregorianCalendar dia1 = new GregorianCalendar(2012, 03, 25); GregorianCalendar dia2 = new GregorianCalendar(2012, 03, 26); GregorianCalendar dia3 = new GregorianCalendar(2012, 03, 27); CheckIn check = new CheckIn(); check.setUsuario(user2); check.setSitioInteres(sitio7); check.setFecha(dia1); //hoy.add(GregorianCalendar.DATE, -7); CheckIn check2 = new CheckIn(); check2.setUsuario(user2); check2.setSitioInteres(sitio7); check2.setFecha(dia2); //hoy.add(GregorianCalendar.DATE, -15); CheckIn check3 = new CheckIn(); check3.setUsuario(user2); check3.setSitioInteres(sitio7); check3.setFecha(dia3); try { gs.hacerCheckIn(user2.getId(), sitio7.getId(), check); gs.hacerCheckIn(user2.getId(), sitio7.getId(), check2); gs.hacerCheckIn(user2.getId(), sitio7.getId(), check3); } catch (EntidadNoExiste e) { // TODO Auto-generated catch block e.printStackTrace(); } */ return retorno; } public String finalizar() { String retorno = "exito"; FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().getSessionMap().remove("reporteCheckInBB"); return retorno; } public String cancelar() { String retorno = ""; //removerBB retorno = "cancelar"; return retorno; } /* setters y getters */ public boolean isExito() { return exito; } public void setExito(boolean exito) { this.exito = exito; } public List<SitioInteres> getSitios() { return sitios; } public void setSitios(List<SitioInteres> sitios) { this.sitios = sitios; } public List<DatoReporteCheckIn> getDatos() { generar(); return datos; } public void setDatos(List<DatoReporteCheckIn> datos) { this.datos = datos; } public int getCantDatos() { return cantDatos; } public void setCantDatos(int cantDatos) { this.cantDatos = cantDatos; } public Date getFechaComienzo() { return fechaComienzo; } public void setFechaComienzo(Date fechaComienzo) { this.fechaComienzo = fechaComienzo; } public Date getFechaFin() { return fechaFin; } public void setFechaFin(Date fechaFin) { this.fechaFin = fechaFin; } }