Beans.ValidarProfesor.java Source code

Java tutorial

Introduction

Here is the source code for Beans.ValidarProfesor.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 Modelo.Conecion_Oracle;
import Modelo.Conecion_postgres;
import Modelo.Conecion_postgres1;
import Modelo.Profesor;
import apsi.Security.ingresar;
import java.io.IOException;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.faces.application.FacesMessage;
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 Microinformatica
 */
@ManagedBean
@SessionScoped
public class ValidarProfesor implements Serializable {

    ArrayList<Profesor> profe = new ArrayList();
    private String facultad;
    ArrayList<String> facul = new ArrayList();
    private HttpServletRequest httpServletRequest;
    private FacesContext faceContext;
    private String NombreUsuario;
    Persona p = new Persona();

    public ValidarProfesor() {

    }

    public void cargar_facultad() throws ClassNotFoundException, IOException {
        faceContext = FacesContext.getCurrentInstance();
        httpServletRequest = (HttpServletRequest) faceContext.getExternalContext().getRequest();
        if (httpServletRequest.getSession().getAttribute("user") != null) {
            System.out.println("Existe");

            ////            FacesContext.getCurrentInstance().getExternalContext().responseReset();
            p = (Persona) httpServletRequest.getSession().getAttribute("persona");
            NombreUsuario = p.getNombres() + " " + p.getApellidos();
            //            System.out.println("--- " + p.toString());
            facul.clear();
            profe.clear();
            Conecion_postgres.conectar();
            Conecion_postgres.ejecuteQuery("select distinct nombre from facultad");
            try {
                while (Conecion_postgres.rs.next()) {
                    facul.add(Conecion_postgres.rs.getString(1));
                }
                Conecion_postgres.cerrarConexion();

            } catch (Exception ex) {
                System.out.println("Error " + ex.toString());
            }
            ////            httpServletRequest.getAttribute("user");
        } else {
            System.out.println("No existe");
            FacesContext.getCurrentInstance().getExternalContext().redirect("../logIn/index.jsp");

        }
    }

    public DispoUsuario comprarProfesor(String pege) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction t = session.beginTransaction();
        System.out.println("entro a comprobar pege " + pege);
        DispoUsuario temp = new DispoUsuario();
        try {
            temp = (DispoUsuario) session.createQuery("select Dis from Disponibilidad"
                    + "  D INNER JOIN D.dispoUsuarios Dis " + " INNER JOIN Dis.usuarioByProfesor U where "
                    + "  U.pegeId=" + pege + " and D.estado='A'").uniqueResult();
            //            System.out.println("temp " + temp.toString());
            t.commit();
        } catch (Exception ex) {
            System.out.println("Error comprobar profe" + ex.toString());
        }
        return temp;
    }

    public void cargarProfesores() throws ClassNotFoundException {
        System.out.println("----");
        profe.clear();
        Conecion_postgres.conectar();
        Conecion_postgres
                .ejecuteQuery("select profesor.* from profesor,facultad where profesor.tipo_carrera=facultad.cod "
                        + " and facultad.nombre='" + facultad + "'");
        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(2),
                            Conecion_postgres.rs.getString(3), Conecion_postgres.rs.getString(4),
                            Conecion_postgres.rs.getString(1)));
                    System.out.println("++ " + profe.toString());
                }
            }
            if (profe.size() == 0) {
                System.out.println("no tiene profesores");
                FacesContext.getCurrentInstance().addMessage(null,
                        new FacesMessage(FacesMessage.SEVERITY_INFO, "La Facultad no Tiene Profesores", ""));
            }
            Conecion_postgres.cerrarConexion();
            TraerProyectosAsignados();
            SaberDisponibildiad();
        } catch (Exception ex) {
            System.out.println("Error " + ex.toString());
        }
    }
    //

    public void SaberDisponibildiad() throws ClassNotFoundException {
        Profesor temp = null;
        Conecion_postgres1.conectar();
        int cant = 0;
        String esta = "No";
        System.out.println("comenzo");
        try {
            for (int i = 0; i < profe.size(); i++) {
                temp = (Profesor) profe.get(i);
                Conecion_postgres1.ejecuteQuery("select * from dispo_usuario,usuario\n" + "where \n"
                        + "dispo_usuario.profesor=usuario.pege_id and usuario.pege_id=" + temp.getPege_id());
                while (Conecion_postgres1.rs.next()) {
                    System.out.println("------------------");
                    esta = "Si";
                }
                temp.setDispo(esta);
                esta = "No";
            }
            Conecion_postgres1.cerrarConexion();

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

    public void TraerProyectosAsignados() throws ClassNotFoundException, SQLException {
        Profesor temp = null;
        Conecion_postgres1.conectar();
        int cant = 0;
        try {
            for (int i = 0; i < profe.size(); i++) {
                temp = (Profesor) profe.get(i);
                Conecion_postgres1
                        .ejecuteQuery("select count(usuario_proyecto.director) from usuario_proyecto,usuario\n"
                                + "where \n" + "usuario_proyecto.director=usuario.pege_id\n"
                                + "and usuario.pege_id=" + temp.getPege_id());
                while (Conecion_postgres1.rs.next()) {
                    cant = Conecion_postgres1.rs.getInt(1);
                }
                System.out.println("trajo --- " + cant);
                temp.setNum_proyectos(cant);
            }
            Conecion_postgres1.cerrarConexion();

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

    }

    public String cargarProfeII(String pege_id) throws ClassNotFoundException, SQLException {
        profe.clear();
        //        Session session = HibernateUtil.getSessionFactory().openSession();
        //        Transaction t = session.beginTransaction();
        String users = "";
        System.out.println("pege_id " + pege_id);
        try {
            Conecion_postgres1.conectar();
            Conecion_postgres1.ejecuteQuery(
                    "select count(usuario_proyecto.codigo_proyecto) from usuario_proyecto,usuario\n" + " where\n"
                            + " usuario_proyecto.director = usuario.pege_id\n" + " and usuario.pege_id=" + pege_id); //            Usuario admon2 = new Usuario();
            //            admon2.setPegeId(new BigDecimal(1));
            ////        ArrayList<Proyectos> users = new ArrayList();
            //            users = (long) session.createQuery("select count(U.proyectos)  from UsuarioProyecto U INNER JOIN U.proyectos.codigoProyecto TU\n"
            //                    + "where U.usuarioByDirector.pegeId=" + pege_id).uniqueResult();
            while (Conecion_postgres1.rs.next()) {
                System.out.println("---");
                users = Conecion_postgres1.rs.getString(1);
            }
            Conecion_postgres1.cerrarConexion();
        } catch (Exception ex) {
            System.out.println("error " + ex.toString());
        }

        return users;
    }

    public void traerInfoProfe2() throws ClassNotFoundException, SQLException {
        Conecion_postgres.conectar();
        System.out.println("1");
        Conecion_postgres.ejecuteQuery("select * from profesor");
        System.out.println("3");
        profe.clear();
        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 {
                    profe.add(new Profesor(false, Conecion_postgres.rs.getString(2),
                            Conecion_postgres.rs.getString(3), Conecion_postgres.rs.getString(4),
                            Conecion_postgres.rs.getString(1)));
                    System.out.println("++ " + profe.toString());
                }
            }
            Conecion_postgres.cerrarConexion();
            Profesor temp = null;
            String num = "0";
            System.out.println("tam " + profe.size());
            for (int i = 0; i < profe.size(); i++) {
                System.out.println("--");
                temp = (Profesor) profe.get(i);
                num = cargarProfeII(temp.getPege_id());
                System.out.println("num " + num);
                temp.setNum_proyectos(Integer.parseInt(num));
            }
        } catch (Exception ex) {
            System.out.println("Error " + ex.getMessage());
        }

    }

    public void TraerInfoProfe(ArrayList users) throws ClassNotFoundException, SQLException {
        Conecion_Oracle.conectar();
        Usuario usu = null;
        for (int i = 0; i < users.size(); i++) {
            usu = (Usuario) users.get(i);
            System.out.println("---------------------- " + usu.getPegeId());
            Conecion_Oracle.ejecuteQuery(
                    "select DISTINCT pege.PEGE_ID,pege.pege_documentoidentidad,peng.peng_primernombre,peng.PENG_SEGUNDONOMBRE,\n"
                            + "peng.peng_primerapellido\n"
                            + "from ACADEMICO.DocenteGrupo Dg ,academico.DocenteUnidad Du ,academico.Unidad Un,\n"
                            + "academico.personageneral pege, academico.PERSONANATURALGENERAL peng\n"
                            + "where Dg.DOUN_ID=Du.DOUN_ID\n" + "and Un.unid_id=Du.UNID_ID\n"
                            + "and Du.PEGE_ID=pege.PEGE_ID\n" + "AND pege.pege_id = peng.pege_id\n"
                            + " and pege.pege_id=" + 31168 + "group by\n"
                            + "pege.PEGE_ID,pege.pege_documentoidentidad,peng.peng_primernombre,peng.PENG_SEGUNDONOMBRE,\n"
                            + "peng.peng_primerapellido");

            try {
                while (Conecion_Oracle.rs.next()) {
                    if (Conecion_Oracle.rs.getString(4) == null) {
                        profe.add(new Profesor(false, Conecion_Oracle.rs.getString(2),
                                Conecion_Oracle.rs.getString(3), Conecion_Oracle.rs.getString(5),
                                Conecion_Oracle.rs.getString(1)));
                    } else {
                        profe.add(new Profesor(false, Conecion_Oracle.rs.getString(2),
                                Conecion_Oracle.rs.getString(3) + " " + Conecion_Oracle.rs.getString(4),
                                Conecion_Oracle.rs.getString(5), Conecion_Oracle.rs.getString(1)));
                    }

                }

            } catch (Exception ex) {

            }
        }
        Conecion_Oracle.rs.close();
    }

    public void ajusteProfe(int cedula, int condi, int proyectos) throws IOException {
        System.out.println("hola " + cedula);
        Profesor temp = null;
        Profesor temp2 = null;
        for (int i = 0; i < profe.size(); i++) {
            temp = (Profesor) profe.get(i);
            if (temp.getCedula().equalsIgnoreCase("" + cedula)) {
                DispoUsuario dispo = null;
                if (condi == 1) {
                    dispo = comprarProfesor(temp.getPege_id());
                    if (dispo != null) {
                        System.out.println("Si existe Dispo");
                        break;
                    } else {
                        System.out.println("No existe Dispo");
                        temp2 = temp;
                        break;
                    }
                } else if (condi == 2) {

                    temp2 = temp;
                    break;

                }

            }
        }
        //        System.out.println("- " + temp2.toString());
        if (temp2 != null) {
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("profesor", temp2);
            if (condi == 1) {
                FacesContext.getCurrentInstance().getExternalContext().redirect("AjusteProfesor.xhtml");
            } else if (condi == 2) {
                if (proyectos > 3) {
                    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("profesor");
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
                            "No puede tener asignados mas de 3 proyectos", ""));
                } else {
                    FacesContext.getCurrentInstance().getExternalContext()
                            .redirect("AsignarDirectorProyectos.xhtml");
                }
            }
        } else {
            System.out.println("+++++");
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Ya se encuentra Registrado", ""));
        }
    }

    public void validarProyecto(Proyectos p, int condi) throws IOException {
        System.out.println("Entro " + p.getCodigoProyecto());
        try {
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("Poryecto_Revi", p);
            if (condi == 1) {
                FacesContext.getCurrentInstance().getExternalContext().redirect("PROVistaRevision-1.2.xhtml");

            } else {
                FacesContext.getCurrentInstance().getExternalContext().redirect("PROVistaVersiones.xhtml");

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

    }

    public void cerrarSesion() throws IOException {
        ingresar i = new ingresar();
        faceContext = FacesContext.getCurrentInstance();
        httpServletRequest = (HttpServletRequest) faceContext.getExternalContext().getRequest();
        httpServletRequest.getSession().invalidate();
        FacesContext.getCurrentInstance().getExternalContext().redirect("../logIn/index.jsp");

    }

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

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

    public String getFacultad() {
        return facultad;
    }

    public void setFacultad(String facultad) {
        this.facultad = facultad;
    }

    public ArrayList<String> getFacul() {
        return facul;
    }

    public void setFacul(ArrayList<String> facul) {
        this.facul = facul;
    }

    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 Persona getP() {
        return p;
    }

    public void setP(Persona p) {
        this.p = p;
    }

}