Beans.ObjetivosDocumento.java Source code

Java tutorial

Introduction

Here is the source code for Beans.ObjetivosDocumento.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 dao.Sequence;
import Entity.EstadoProyecto;
import Entity.Estados;
import Entity.Objetivos;
import Entity.Proyectos;
import Entity.TipoProyecto;
import Entity.Usuario;
import Entity.UsuarioProyecto;
import Entity.Versiones;
import Modelo.Objetivo;
import Modelo.Secuencia;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.Part;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;

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

    private Part file1;
    private String Nombre;
    private String descripcion;
    private Long Tipo_proyc;
    ArrayList<Objetivo> obj = new ArrayList();

    public ObjetivosDocumento() {
    }

    public void recuperarInfo() {
        CargarArchivos CA = new CargarArchivos();
        CA = (CargarArchivos) FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
                .get("Documentos");
        System.out.println("Nombre " + CA.getNombre());
        Nombre = CA.getNombre();
        System.out.println("Entro a recu");

    }

public void aadirObt() {
    if (descripcion == "") {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Debe Escribir un Objetivo", ""));

    } else {
        int max = 0;
        Objetivo temp = null;
        for (int i = 0; i < obj.size(); i++) {
            temp = (Objetivo) obj.get(i);
            if (temp.getCod() >= max) {
                max = temp.getCod();
            }
        }
        if (max == 0) {
            max = 1;
        } else {
            max++;
        }
        obj.add(new Objetivo(max, descripcion));
        descripcion = "";
    }

}

    public void borrar_Obejtivo(int cod) {
        System.out.println("borrar " + cod);
        Objetivo temp = null;
        for (int i = 0; i < obj.size(); i++) {
            temp = (Objetivo) obj.get(i);
            if (temp.getCod() == cod) {
                obj.remove(i);
            }
        }
    }

    public void upload() throws IOException, ClassNotFoundException {
        if (obj.size() != 0) {
            System.out.println("Crear nuevo");
            int Codigo_Proyecto = Sequence.GetUltimoRegistro("select max(p.codigoProyecto) from Proyectos p");
            System.out.println("cod " + Codigo_Proyecto);
            Date fecha = new Date();
            CargarArchivos CA = new CargarArchivos();
            CA = (CargarArchivos) FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
                    .get("Documentos");
            System.out.println("1");
            Proyectos proyecto = new Proyectos();
            proyecto.setCodigoProyecto(new BigDecimal(Codigo_Proyecto));
            proyecto.setNombre(Nombre);
            proyecto.setCalificacion(new Long(0));
            proyecto.setPorcentaje("1");
            proyecto.setFechaInicio(fecha);
            proyecto.setFechaFinal(fecha);
            TipoProyecto t = new TipoProyecto();
            t.setCodTipo(CA.getTipo_proyc());
            proyecto.setTipoProyecto(t);
            String ruta = "";
            System.out.println("2");
            System.out.println("proyecto " + proyecto.getNombre());
            boolean r = insertProyect(proyecto);
            System.out.println("r " + r);
            boolean r2 = RegistroEstados(proyecto);
            System.out.println("r2 " + r);
            boolean r3 = insertObjetivos(proyecto);
            System.out.println(" r3 " + r3);
            boolean r4 = crearVersion(proyecto, CA.getRuta());
            System.out.println(" r4 " + r4);

            try {
                if (r4) {
                    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("Upload_proyecto",
                            proyecto);
                    obj.clear();
                    FacesContext.getCurrentInstance().getExternalContext().redirect("Seleccionar_Companeros.xhtml");
                } else {
                    File fil = new File(CA.getRuta());
                    if (fil.delete()) {
                        System.out.println("El fichero ha sido borrado satisfactoriamente");
                    } else {
                        System.out.println("El fichero no puede ser borrado");
                    }
                    FacesContext.getCurrentInstance().addMessage(null,
                            new FacesMessage(FacesMessage.SEVERITY_FATAL, "Error", ""));
                }
            } catch (Exception ex) {
                System.out.println("Error Archivo " + ex.toString());
            }

        } else {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_FATAL, "Agrege Objetivos al proyecto", ""));

        }

    }

    public boolean crearVersion(Proyectos p, String ruta) throws ClassNotFoundException {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction t = session.beginTransaction();
        Versiones v = new Versiones();

        boolean r = false;
        try {
            int cod = Secuencia.seque("select max(cod_version) from versiones");
            v.setFecha(p.getFechaInicio());
            v.setNombre(p.getNombre() + " - v1");
            v.setProyectos(p);
            v.setCodVersion(new Long(cod));
            v.setRutaArchivo(ruta);
            session.save("Versiones", v);
            t.commit();
            r = true;
        } catch (Exception ex) {
            r = false;
            System.out.println("Error crearVersion " + ex.toString());
        }
        return r;
    }

    public boolean RegistroEstados(Proyectos p) throws ClassNotFoundException {
        boolean r = false;
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction t = session.beginTransaction();
        Estados e = new Estados();
        e.setCodigoEstados(new BigDecimal(5));
        EstadoProyecto EP = new EstadoProyecto();
        int codigo = Secuencia.seque("select max(cod_estadoproyec) from estado_proyecto");
        EP.setCodEstadoproyec(new BigDecimal(codigo));
        EP.setEstados(e);
        EP.setProyectos(p);
        try {
            session.save("EstadoProyecto", EP);
            t.commit();
            r = true;
        } catch (Exception ex) {
            r = false;
            System.out.println("Error Estados" + ex.toString());
        }
        return r;
    }

    public void atras() throws IOException {
        CargarArchivos CA = new CargarArchivos();
        CA = (CargarArchivos) FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
                .get("Documentos");
        File fil = new File(CA.getRuta());
        if (fil.delete()) {
            System.out.println("El fichero ha sido borrado satisfactoriamente");
        } else {
            System.out.println("El fichero no puede ser borrado");
        }
        obj.clear();
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("Documentos");
        FacesContext.getCurrentInstance().getExternalContext().redirect("SubirDoc.xhtml");

    }

    public void cancelar() throws IOException {
        CargarArchivos CA = new CargarArchivos();
        CA = (CargarArchivos) FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
                .get("Documentos");
        File fil = new File(CA.getRuta());
        if (fil.delete()) {
            System.out.println("El fichero ha sido borrado satisfactoriamente");
        } else {
            System.out.println("El fichero no puede ser borrado");
        }
        obj.clear();
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("Documentos");
        FacesContext.getCurrentInstance().getExternalContext().redirect("Menu_Usuario.xhtml");

    }

    public boolean insertObjetivos(Proyectos p) {
        boolean r = false;
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction t = session.beginTransaction();
        try {
            int cod = 0;
            Objetivo temp = null;
            cod = Secuencia.seque("select max(cod_objetivo) from objetivos");
            for (int i = 0; i < obj.size(); i++) {
                temp = (Objetivo) obj.get(i);
                Objetivos ob = new Objetivos();
                System.out.println("Codigo " + cod);
                ob.setCodObjetivo(cod);
                ob.setDescripcion(temp.getObj());
                ob.setProyectos(p);
                session.save(ob);
                r = true;
                cod++;

            }
            t.commit();
        } catch (Exception ex) {
            r = false;
            System.out.println("Error - Objetivos " + ex.getMessage());
        }
        return r;
    }

    public boolean insertProyect(Proyectos p) {
        boolean r = false;
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction t = session.beginTransaction();
        System.out.println(".++++ " + p.getTipoProyecto());
        try {
            session.save(p);
            r = true;
            t.commit();
        } catch (Exception ex) {
            r = false;
            System.out.println("Error -Proyecto " + ex.getMessage());
        }
        return r;
    }

    private String getFilename(Part part) {
        for (String cd : part.getHeader("content-disposition").split(";")) {
            if (cd.trim().startsWith("filename")) {
                String filename = cd.substring(cd.indexOf('=') + 1).trim().replace("\"", "");
                return filename.substring(filename.lastIndexOf('/') + 1).substring(filename.lastIndexOf('\\') + 1); // MSIE fix.
            }
        }
        return null;
    }

    public Part getFile1() {
        return file1;
    }

    public void setFile1(Part file1) {
        this.file1 = file1;
    }

    public String getNombre() {
        return Nombre;
    }

    public void setNombre(String Nombre) {
        this.Nombre = Nombre;
    }

    public ArrayList<Objetivo> getObj() {
        return obj;
    }

    public void setObj(ArrayList<Objetivo> obj) {
        this.obj = obj;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public Long getTipo_proyc() {
        return Tipo_proyc;
    }

    public void setTipo_proyc(Long Tipo_proyc) {
        this.Tipo_proyc = Tipo_proyc;
    }

}