py.com.palermo.proyectosgob.web.ProyectoController.java Source code

Java tutorial

Introduction

Here is the source code for py.com.palermo.proyectosgob.web.ProyectoController.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 py.com.palermo.proyectosgob.web;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.component.UIOutput;
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.joda.time.DateTime;
import py.com.palermo.proyectosgob.dao.AuditoriaFacade;
import py.com.palermo.proyectosgob.dao.ProyectosFacade;
import py.com.palermo.proyectosgob.persistencia.Auditoria;
import py.com.palermo.proyectosgob.persistencia.Comision;
import py.com.palermo.proyectosgob.persistencia.Objetivo;
import py.com.palermo.proyectosgob.persistencia.Proyectos;
import py.com.palermo.proyectosgob.persistencia.TipoResultado;
import py.com.palermo.proyectosgob.persistencia.Tramite;
import py.com.palermo.proyectosgob.web.util.JsfUtil;

/**
 *
 * @author cromero
 */
@Named
@ViewScoped
public class ProyectoController implements Serializable {

    @EJB
    private ProyectosFacade ejbFacade;
    @EJB
    private AuditoriaFacade auditoriaFacade;

    private Proyectos selected;
    private int id;
    private String fraseBusqueda;
    private List<Proyectos> resultado;
    private long cantResultados;
    private Tramite tramiteNuevo;
    private List<Comision> comisionGiradas;
    private List<String> titulos;
    private List<String> subTitulos;
    private Comision comisionElegida;
    private String nombreArchivo;
    private String nombreArchivoOriginal;
    private Objetivo objetivoNuevo;

    @Inject
    private AutoCompleteComision autoCompleteComision;

    @PostConstruct
    public void init() {
        autoCompleteComision.reload();
        if (tramiteNuevo == null) {
            tramiteNuevo = new Tramite();
            tramiteNuevo.setCamara("CAMARA DE DIPUTADOS");
        }
    }

    public Objetivo getObjetivoNuevo() {
        if (objetivoNuevo == null) {
            objetivoNuevo = new Objetivo();
            objetivoNuevo.setProyecto(selected);
        }
        return objetivoNuevo;
    }

    public void setObjetivoNuevo(Objetivo objetivoNuevo) {
        this.objetivoNuevo = objetivoNuevo;
    }

    public String getNombreArchivo() {
        return nombreArchivo;
    }

    public void setNombreArchivo(String nombreArchivo) {
        this.nombreArchivo = nombreArchivo;
    }

    public String getNombreArchivoOriginal() {
        return nombreArchivoOriginal;
    }

    public void setNombreArchivoOriginal(String nombreArchivoOriginal) {
        this.nombreArchivoOriginal = nombreArchivoOriginal;
    }

    public void generarNombreArchivo() {
        UUID uuid = UUID.randomUUID();
        nombreArchivo = selected.getProyectosnroexpediente() + "_" + tramiteNuevo.getTipoResultado() + "_"
                + uuid.toString();
    }

    public void generarNombreArchivoOrignal() {
        UUID uuid = UUID.randomUUID();
        nombreArchivoOriginal = selected.getProyectosnroexpediente() + "_Texto_Original" + "_" + uuid.toString();
    }

    public void guardaNombreArchivoOriginal() {
        selected.setProyectosrutatexto1(nombreArchivoOriginal);
        nombreArchivoOriginal = null;
    }

    public void guardaNombreArchivo() {
        tramiteNuevo.setResultadoLink(nombreArchivo);
        nombreArchivo = null;
    }

    public String guardar() {
        try {

            Auditoria a = new Auditoria();

            if (selected.getProyectosid() == null) {
                a.setDescripcion("Se cre el proyecto: " + selected.getProyectosnroexpediente());
            } else {
                a.setDescripcion("Se modific el proyecto: " + selected.getProyectosnroexpediente());
            }

            Proyectos p = ejbFacade.edit2(selected);

            String principal = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal().getName();
            a.setProyecto(p);
            auditoriaFacade.create(a, principal);

            JsfUtil.addSuccessMessage("El proyecto se guardo exitosamente!");

        } catch (Exception e) {
        }

        return "List.xhtml?faces-redirect=true";
    }

    public void cambiaCamara(AjaxBehaviorEvent event) {
        String camara = (String) ((UIOutput) event.getSource()).getValue();
        tramiteNuevo.setCamara(camara);
        autoCompleteComision.setCamara(camara);
        autoCompleteComision.reload();
    }

    public void addObjetivo() {
        if (selected.getObjetivos() == null) {
            selected.setObjetivos(new ArrayList<Objetivo>());
        }
        objetivoNuevo.setProyecto(selected);
        selected.getObjetivos().add(objetivoNuevo);
        objetivoNuevo = null;
    }

    public void remueveObjetivo(Objetivo o) {
        //        System.out.println("Removiendo....:" + o.getProyectosl2objetivo());
        //        int indice = 0;
        //        for (Proyectosobjetivos obj : selected.getProyectosobjetivosList()) {
        //            System.out.println("Indice 0 1:" + o.getIndice());
        //            System.out.println("Indice 0bj 1:" + obj.getIndice());
        //            if (o.getIndice() == obj.getIndice()) {
        //                System.out.println("Indice 0 2:" + o.getIndice());
        //                System.out.println("Indice 0bj 2:" + obj.getIndice());
        //                System.out.println("Indice of 2:" + selected.getProyectosobjetivosList().indexOf(obj));
        //                indice = obj.getIndice();
        //                break;
        //            }
        //        }
        //
        //        selected.getProyectosobjetivosList().remove(indice);

        selected.getObjetivos().remove(o);
    }

    public void addTramite() {
        if (selected.getTramites() == null) {
            selected.setTramites(new ArrayList<Tramite>());
        }

        tramiteNuevo.setProyecto(selected);
        if (tramiteNuevo.getTipoResultado() == TipoResultado.TEXTO_MEDIA_SANCION
                && tramiteNuevo.getFecha() != null) {
            DateTime dt = new DateTime(tramiteNuevo.getFecha());
            Date fechaFicta = dt.plusMonths(3).toDate();
            selected.setProyectosfechaficta(fechaFicta);
        }
        selected.getTramites().add(tramiteNuevo);
        tramiteNuevo = new Tramite();
    }

    public void quitarTramite(Tramite t) {
        selected.getTramites().remove(t);
    }

    public void toogleEditTramite(Tramite t) {
        if (t.isEditar()) {
            t.setEditar(false);
        } else {
            t.setEditar(true);
        }

    }

    public void addComision() {
        if (tramiteNuevo.getComisiones() == null) {
            tramiteNuevo.setComisiones(new ArrayList<Comision>());
        }
        tramiteNuevo.getComisiones().add(comisionElegida);
        comisionElegida = null;
    }

    public void quitarComision(Comision c) {
        tramiteNuevo.getComisiones().remove(c);
    }

    public Comision getComisionElegida() {
        return comisionElegida;
    }

    public void setComisionElegida(Comision comisionElegida) {
        this.comisionElegida = comisionElegida;
    }

    public List<String> getTitulos() {
        if (titulos == null) {

        }
        return titulos;
    }

    public void setTitulos(List<String> titulos) {
        this.titulos = titulos;
    }

    public List<String> getSubTitulos() {
        return subTitulos;
    }

    public void setSubTitulos(List<String> subTitulos) {
        this.subTitulos = subTitulos;
    }

    public List<Proyectos> getResultado() {
        return resultado;
    }

    public void setResultado(List<Proyectos> resultado) {
        this.resultado = resultado;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void subjectSelectionChanged(final AjaxBehaviorEvent event) {
        //tramiteNuevo.setTipoResultado((TipoResultado) event.getSource());
    }

    public Tramite getTramiteNuevo() {
        if (tramiteNuevo == null) {
            tramiteNuevo = new Tramite();
        }
        return tramiteNuevo;
    }

    public void setTramiteNuevo(Tramite tramiteNuevo) {
        this.tramiteNuevo = tramiteNuevo;
    }

    public List<Comision> getComisionGiradas() {
        return comisionGiradas;
    }

    public void setComisionGiradas(List<Comision> comisionGiradas) {
        this.comisionGiradas = comisionGiradas;
    }

    public void prepareCreate() {
        selected = new Proyectos();
    }

    public Proyectos getSelected() {
        return selected;
    }

    public void setSelected(Proyectos selected) {
        this.selected = selected;
    }

    public String getFraseBusqueda() {
        return fraseBusqueda;
    }

    public void setFraseBusqueda(String fraseBusqueda) {
        this.fraseBusqueda = fraseBusqueda;
    }

    public long getCantResultados() {
        return cantResultados;
    }

    public void setCantResultados(long cantResultados) {
        this.cantResultados = cantResultados;
    }

    public void cargaDatos() {
        selected = ejbFacade.find((new Integer(id)).shortValue());
    }

    public void buscarProyectos() {
        if (fraseBusqueda != null) {
            resultado = ejbFacade.getResultados(fraseBusqueda);
            cantResultados = resultado.size();
            System.out.println("Resultado: " + resultado);
        }
    }

}