Java tutorial
/* * 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.Asesoria; import Entity.Dia; import Entity.DispoUsuario; import Entity.Disponibilidad; import Entity.Usuario; import Modelo.Conecion_Oracle; import Modelo.Conecion_postgres; import Modelo.Profesor; import com.sun.faces.spi.FacesConfigResourceProvider; import dao.ProfesoresDao; import dao.ProfesoresImple; import java.io.IOException; 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 org.hibernate.Session; import org.hibernate.Transaction; import util.HibernateUtil; /** * * @author Microinformatica */ @ManagedBean @SessionScoped public class ListaProfesoresBeans { private String ao; private String periodo; ArrayList<String> b_ao=new ArrayList(); ArrayList<String> peri = new ArrayList(); ArrayList<Profesor> profe = new ArrayList(); ArrayList<Usuario> Pege_idProfe = new ArrayList(); public ListaProfesoresBeans() { } public void cargar_aos() { System.out.println("entro a cargar"); b_ao.clear(); for (int i = 2015; i < 2030; i++) { b_ao.add("" + i); } cargar_Periodo(); } public void cargar_Periodo() { System.out.println("entro a cargar"); peri.clear(); for (int i = 1; i <= 2; i++) { peri.add("" + i); } } public void cargar_profesores() { String fechaI = "", FechaF = ""; fechaI = "01-01-" + ao; FechaF = "31-12-" + ao; ArrayList<DispoUsuario> codigos = new ArrayList(); Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction t = session.beginTransaction(); Pege_idProfe.clear(); profe.clear(); System.out.println("periodo " + periodo + " ao " + ao + "-fecha " + fechaI); try { Pege_idProfe = (ArrayList) session.createQuery("select UD.usuarioByProfesor from Disponibilidad D " + " INNER JOIN D.dispoUsuarios UD " + " INNER JOIN UD.usuarioByAdmon Usu WHERE Usu.pegeId=1 and D.periodo=" + periodo + " " + " and D.fechaInicial>='" + fechaI + "' and D.fechaFinal<='" + FechaF + "' and" + " D.estado='A'").list(); t.commit(); System.out.println("profess pege_id " + Pege_idProfe.size()); for (int i = 0; i < Pege_idProfe.size(); i++) { System.out.println(Pege_idProfe.get(i).getPegeId()); traer_profesor("" + Pege_idProfe.get(i).getPegeId()); } System.out.println("size profe " + profe.size()); FacesContext.getCurrentInstance().getExternalContext().responseReset(); // } catch (Exception ex) { System.out.println("Error Hiber" + ex.toString()); } // } public void traer_profesor(String x) throws ClassNotFoundException, SQLException { Conecion_postgres.conectar(); Conecion_postgres.ejecuteQuery("select * from profesor where pege_id=" + x); try { while (Conecion_postgres.rs.next()) { 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))); } Conecion_postgres.cerrarConexion(); } catch (Exception ex) { System.out.println("Error Profe" + ex.toString()); Conecion_postgres.cerrarConexion(); } } // // public void traer_profesor(String x) throws ClassNotFoundException { // Conecion_Oracle.conectar(); // 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='" + x + "'\n" // + "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()) { // System.out.println("trajo"); // 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) { // // } // // } public void delete(String pege_id) throws IOException { Disponibilidad d = new Disponibilidad(); d = cod_dispoProfe(pege_id); ArrayList n = null; n = BuscarDispoAsesoria(d); System.out.println("Entroo delete pege " + pege_id + " dispo " + d.getCodDis()); if (n.size() > 0) { System.out.println("entro opcion 1"); Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction t = session.beginTransaction(); try { d.setEstado("I"); session.update("Disponibilidad", d); t.commit(); } catch (Exception ex) { System.out.println("Error " + ex.toString()); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "")); } } else if (n.size() == 0) { System.out.println("entro opcion 2"); try { BorrarDispo(d); System.out.println("-- 1"); borrarDias(d); System.out.println("-- 2"); Session session = HibernateUtil.getSessionFactory().openSession(); Transaction t = session.beginTransaction(); System.out.println("-- 3"); session.delete("Disponibilidad", d); System.out.println("-- 4"); t.commit(); } catch (Exception ex) { System.out.println("Error hiber" + ex.toString()); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "")); } } FacesContext.getCurrentInstance().getExternalContext().redirect("Lista_Profesor.xhtml"); } public boolean borrarDias(Disponibilidad d) { boolean r = false; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction t = session.beginTransaction(); ArrayList<Dia> dias = new ArrayList(); try { dias = (ArrayList) session.createQuery( "select DI from Dia DI INNER JOIN " + " DI.disponibilidad D where D.codDis=" + d.getCodDis()) .list(); Dia temp = null; for (int i = 0; i < dias.size(); i++) { temp = (Dia) dias.get(i); session.delete("Dia", temp); } t.commit(); r = true; System.out.println("Borro dias " + r); } catch (Exception ex) { r = false; System.err.println("error Borrar Dias" + ex.toString()); } return r; } public boolean BorrarDispo(Disponibilidad d) { boolean r = false; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction t = session.beginTransaction(); DispoUsuario dis = new DispoUsuario(); try { dis = (DispoUsuario) session.createQuery("select DI from DispoUsuario DI INNER JOIN " + " DI.disponibilidad D where D.codDis=" + d.getCodDis()).uniqueResult(); session.delete("DispoUsuario", dis); t.commit(); r = true; // session.getSessionFactory().close(); System.out.println("borro dispo " + r); } catch (Exception ex) { r = false; System.out.println("Error Borrar Dispo" + ex.toString()); } return r; } public ArrayList BuscarDispoAsesoria(Disponibilidad d) { Session session = HibernateUtil.getSessionFactory().openSession(); Transaction t = session.beginTransaction(); ArrayList<Asesoria> calen = new ArrayList(); try { calen = (ArrayList) session.createQuery( "select A from Disponibilidad D INNER JOIN " + "D.asesorias A where D.codDis=" + d.getCodDis()) .list(); t.commit(); } catch (Exception ex) { } return calen; } public void update(String cod, String nombre) throws IOException { Disponibilidad d = new Disponibilidad(); d = cod_dispoProfe(cod); String codigo = cod + "-" + nombre + "-" + ao + "-" + periodo; System.out.println("- " + codigo + " se envio codigo " + d.getCodDis()); FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("Pege_idProfe", codigo); FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("Dispo_profe", d); FacesContext.getCurrentInstance().getExternalContext().redirect("Lista_ProfesorUpdate.xhtml"); } public Disponibilidad cod_dispoProfe(String x) { String fechaI = "", FechaF = ""; fechaI = "01-01-" + ao; FechaF = "31-12-" + ao; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction t = session.beginTransaction(); Disponibilidad d = new Disponibilidad(); try { d = (Disponibilidad) session.createQuery("select D from Disponibilidad D " + " INNER JOIN D.dispoUsuarios UD " + " INNER JOIN UD.usuarioByProfesor Usu WHERE Usu.pegeId=" + x + " and D.periodo=" + periodo + " " + " and D.fechaInicial>='" + fechaI + "' and D.fechaFinal<='" + FechaF + "'").uniqueResult(); t.commit(); } catch (Exception e) { System.out.println("Error " + e.toString()); } return d; } public String getAo() { return ao; } public void setAo(String ao) { this.ao = ao; } public String getPeriodo() { return periodo; } public void setPeriodo(String periodo) { this.periodo = periodo; } public ArrayList<String> getB_ao() { return b_ao; } public void setB_ao(ArrayList<String> b_ao) { this.b_ao = b_ao; } public ArrayList<String> getPeri() { return peri; } public void setPeri(ArrayList<String> peri) { this.peri = peri; } public ArrayList<Profesor> getProfe() { return profe; } public void setProfe(ArrayList<Profesor> profe) { this.profe = profe; } public ArrayList<Usuario> getPege_idProfe() { return Pege_idProfe; } public void setPege_idProfe(ArrayList<Usuario> Pege_idProfe) { this.Pege_idProfe = Pege_idProfe; } }