Beans.ListaProyectosBeans.java Source code

Java tutorial

Introduction

Here is the source code for Beans.ListaProyectosBeans.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Beans;

import Entity.DispoUsuario;
import Entity.Persona;
import Entity.Proyectos;
import Entity.Usuario;
import Entity.UsuarioProyecto;
import Modelo.Carreras;
import Modelo.Conecion_postgres;
import Modelo.Estudiante;
import Modelo.Profesor;
import Modelo.ProyectosModelo;
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;

/**
 *
 * @author Britt
 */
@ManagedBean
@SessionScoped
public class ListaProyectosBeans {

    /**
     * Creates a new instance of ListaProyectosBeans
     */
    private HttpServletRequest httpServletRequest;
    private FacesContext faceContext;
    private String NombreUsuario;

    ArrayList<ProyectosModelo> pro2 = new ArrayList();
    ArrayList<Carreras> lista_Carrera = new ArrayList();
    private int cod_carrera;
    private String carre;
    ArrayList<Profesor> profe = new ArrayList();

    public ListaProyectosBeans() {
    }

    public ArrayList TraerPege_idCArrera() throws ClassNotFoundException {
        Conecion_postgres.conectar();
        Conecion_postgres.ejecuteQuery("select * from estudiante where facultad='" + carre + "'");
        ArrayList<Estudiante> lista_pege_id = new ArrayList();
        try {
            while (Conecion_postgres.rs.next()) {
                lista_pege_id.add(
                        new Estudiante(false, Conecion_postgres.rs.getString(2), Conecion_postgres.rs.getString(3),
                                Conecion_postgres.rs.getString(4), Conecion_postgres.rs.getString(1)));
            }
            Conecion_postgres.cerrarConexion();
        } catch (Exception ex) {
            System.out.println("Error Lista pege_id " + ex.toString());
        }
        return lista_pege_id;
    }

    public void listarProyectos() {
        ArrayList<Proyectos> pro = new ArrayList();
        pro2.clear();
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        try {
            ArrayList pege_id = null;
            pege_id = TraerPege_idCArrera();
            Estudiante temp3 = null;
            for (int i = 0; i < pege_id.size(); i++) {
                temp3 = (Estudiante) pege_id.get(i);
                pro = (ArrayList) session.createQuery(
                        "select distinct P FROM Proyectos P" + " INNER JOIN P.estadoProyectos E INNER JOIN"
                                + " E.estados  ES INNER JOIN P.usuarioProyectos US INNER JOIN"
                                + " US.usuarioByEstudiante U where ES.codigoEstados=1 and " + " U.pegeId="
                                + temp3.getPege_id())
                        .list();
                ProyectosModelo temp = null;
                Proyectos temp2 = null;
                boolean esta = false;
                for (int k = 0; k < pro.size(); k++) {
                    temp2 = (Proyectos) pro.get(k);
                    for (int j = 0; j < pro2.size(); j++) {
                        temp = (ProyectosModelo) pro2.get(j);
                        if (temp.getCod_pro() == temp2.getCodigoProyecto().intValue()) {
                            esta = true;
                        }
                    }
                    if (pro2.size() == 0) {
                        pro2.add(new ProyectosModelo(temp2.getCodigoProyecto().intValue(), temp2.getNombre(),
                                false));
                    } else if (esta == false) {
                        pro2.add(new ProyectosModelo(temp2.getCodigoProyecto().intValue(), temp2.getNombre(),
                                false));
                    } else {
                        System.out.println("ya estaba");
                    }
                    esta = false;
                    System.out.println("codigoooooo " + temp2.getCodigoProyecto());
                }
            }
            t.commit();

            System.out.println("---- " + pro2.size());
        } catch (Exception ex) {
            System.out.println("Error " + ex.toString());
        }
    }

    public void cargarCarreras() throws ClassNotFoundException, IOException {
        faceContext = FacesContext.getCurrentInstance();
        httpServletRequest = (HttpServletRequest) faceContext.getExternalContext().getRequest();
        if (httpServletRequest.getSession().getAttribute("user") != null) {
            lista_Carrera.clear();
            Conecion_postgres.conectar();
            Conecion_postgres.ejecuteQuery("select * from facultad");
            try {
                while (Conecion_postgres.rs.next()) {
                    lista_Carrera
                            .add(new Carreras(Conecion_postgres.rs.getInt(1), Conecion_postgres.rs.getString(2)));
                }
                Conecion_postgres.cerrarConexion();
            } catch (Exception ex) {
                System.out.println("Error carreras " + ex.toString());
            }
            System.out.println("Existe");

            Persona p = (Persona) httpServletRequest.getSession().getAttribute("persona");
            NombreUsuario = p.getNombres() + " " + p.getApellidos();
            //            System.out.println("--- " + p.toString());

        } else {
            System.out.println("No existe");
            FacesContext.getCurrentInstance().getExternalContext().redirect("../logIn/index.jsp");

        }

    }

    public void recojerselecion(ProyectosModelo p) throws IOException {
        System.out.println("entro recojer " + p.getCod_pro());
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("cambio_dire", p);
        FacesContext.getCurrentInstance().getExternalContext().redirect("SelecionarDirector.xhtml");
    }

    public void guardarCambios(String pege_id) {
        System.out.println("entro " + pege_id);
        ProyectosModelo p = new ProyectosModelo();
        if (FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("cambio_dire") != null) {
            System.out.println("exite");
        } else {
            System.out.println("No existe");
        }
        p = (ProyectosModelo) FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
                .get("cambio_dire");
        System.out.println("proyecto " + p.getCod_pro());
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        ArrayList<UsuarioProyecto> up = new ArrayList();
        try {
            up = (ArrayList) session.createQuery("select up from UsuarioProyecto"
                    + " up INNER JOIN up.proyectos p INNER JOIN up.usuarioByDirector u" + " where p.codigoProyecto="
                    + p.getCod_pro()).list();
            System.out.println("proycetos " + up.size());
            Usuario u = new Usuario();
            u = traerUsu(pege_id);
            System.out.println("usuario qe trajo " + u.getUsuario());
            UsuarioProyecto temp = null;
            for (int i = 0; i < up.size(); i++) {
                System.out.println("cambio " + i);
                temp = (UsuarioProyecto) up.get(i);
                temp.setUsuarioByDirector(u);
                session.update("UsuarioProyecto", temp);
            }
            t.commit();
        } catch (Exception ex) {
            System.out.println("Error guardarCambios " + ex.toString());
        }
    }

    public Usuario traerUsu(String pege_id) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        Usuario u = new Usuario();
        try {
            u = (Usuario) session.createQuery("from Usuario u where pege_id=" + pege_id).uniqueResult();
            t.commit();
        } catch (Exception ex) {
            System.out.println("Error TraerUsu " + ex.toString());
        }
        return u;
    }

    public void cargarProfeII() throws ClassNotFoundException, SQLException {
        profe.clear();
        System.out.println("Entro a inicio");
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        Usuario admon2 = new Usuario();
        admon2.setPegeId(new BigDecimal(1));
        ArrayList<DispoUsuario> users = new ArrayList();
        users = (ArrayList) session.createQuery("select Du from DispoUsuario Du INNER JOIN Du.usuarioByAdmon UA "
                + "INNER JOIN Du.disponibilidad D where UA=1 and D.estado='A'").list();
        System.out.println("------------------ " + users.size());
        TraerInfoProfe2(users);

    }

    public void TraerInfoProfe2(ArrayList users) throws ClassNotFoundException, SQLException {
        Conecion_postgres.conectar();
        System.out.println("entro a buscar Profe " + users.size());
        DispoUsuario usu = new DispoUsuario();
        System.out.println("1");
        for (int i = 0; i < users.size(); i++) {
            System.out.println("2");
            usu = (DispoUsuario) users.get(i);
            System.out.println("+++++++++++++ " + usu.getUsuarioByProfesor().getPegeId());
            Conecion_postgres
                    .ejecuteQuery("select * from profesor where pege_id=" + usu.getUsuarioByProfesor().getPegeId());
            System.out.println("3");
            try {
                while (Conecion_postgres.rs.next()) {
                    if (Conecion_postgres.rs.getString(4) == null) {
                        System.out.println("opcion 1");
                        profe.add(new Profesor(false, Conecion_postgres.rs.getString(2),
                                Conecion_postgres.rs.getString(3), Conecion_postgres.rs.getString(5),
                                Conecion_postgres.rs.getString(1)));
                    } else {
                        System.out.println("opcion 2");
                        profe.add(new Profesor(false, Conecion_postgres.rs.getString(5),
                                Conecion_postgres.rs.getString(2), Conecion_postgres.rs.getString(3),
                                Conecion_postgres.rs.getString(1)));
                        System.out.println("++ " + profe.toString());
                    }
                }

            } catch (Exception ex) {
                System.out.println("Error " + ex.getMessage());
            }
        }
        Conecion_postgres.cerrarConexion();
    }

    public ArrayList<ProyectosModelo> getPro2() {
        return pro2;
    }

    public void setPro2(ArrayList<ProyectosModelo> pro2) {
        this.pro2 = pro2;
    }

    public ArrayList<Carreras> getLista_Carrera() {
        return lista_Carrera;
    }

    public void setLista_Carrera(ArrayList<Carreras> lista_Carrera) {
        this.lista_Carrera = lista_Carrera;
    }

    public int getCod_carrera() {
        return cod_carrera;
    }

    public void setCod_carrera(int cod_carrera) {
        this.cod_carrera = cod_carrera;
    }

    public ArrayList<Profesor> getProfe() {
        return profe;
    }

    public void setProfe(ArrayList<Profesor> profe) {
        this.profe = profe;
    }

    public HttpServletRequest getHttpServletRequest() {
        return httpServletRequest;
    }

    public void setHttpServletRequest(HttpServletRequest httpServletRequest) {
        this.httpServletRequest = httpServletRequest;
    }

    public FacesContext getFaceContext() {
        return faceContext;
    }

    public void setFaceContext(FacesContext faceContext) {
        this.faceContext = faceContext;
    }

    public String getNombreUsuario() {
        return NombreUsuario;
    }

    public void setNombreUsuario(String NombreUsuario) {
        this.NombreUsuario = NombreUsuario;
    }

    public String getCarre() {
        return carre;
    }

    public void setCarre(String carre) {
        this.carre = carre;
    }

}