/*
* 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 com.pepe.controller;
import com.pepe.jpa.entities.Acompanamiento;
import com.pepe.jpa.entities.Criterio;
import com.pepe.jpa.entities.DescripcionCriterio1;
import com.pepe.jpa.entities.DescripcionCriterio2;
import com.pepe.jpa.entities.DescripcionCriterio3;
import com.pepe.jpa.entities.DescripcionCriterio4;
import com.pepe.jpa.entities.Fase;
import com.pepe.jpa.entities.Ficha;
import com.pepe.jpa.entities.ItemCriterio;
import com.pepe.jpa.entities.TipoCriterio;
import com.pepe.jpa.sesions.AcompanamientoFacade;
import com.pepe.jpa.sesions.CriterioFacade;
import com.pepe.jpa.sesions.DescripcionCriterio1Facade;
import com.pepe.jpa.sesions.DescripcionCriterio2Facade;
import com.pepe.jpa.sesions.DescripcionCriterio3Facade;
import com.pepe.jpa.sesions.DescripcionCriterio4Facade;
import com.pepe.jpa.sesions.FaseFacade;
import com.pepe.jpa.sesions.FichaFacade;
import com.pepe.jpa.sesions.ItemCriterioFacade;
import com.pepe.jpa.sesions.TipoCriterioFacade;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
/**
*
* @author Aprendiz
*/
@ManagedBean
@SessionScoped
public class seguimientoController implements Serializable {
private Acompanamiento acompanamientoActual;
private Ficha fichaActual;
private TipoCriterio tipoCriterioActual;
private ItemCriterio itemCriterioActual;
private List<Acompanamiento> listaAcompanamiento = null;
private int idTipoCriterio;
private int idFase;
private Criterio criterioActual;
private List<ItemCriterio> listaItems = null;
@EJB
private AcompanamientoFacade acompanamientoFacade;
@EJB
private ItemCriterioFacade itemCriterioFacade;
@EJB
private FichaFacade fichaFacade;
@EJB
private FaseFacade faseFacade;
@EJB
private CriterioFacade criterioFacade;
@EJB
private ItemCriterioFacade itemFacade;
@EJB
private TipoCriterioFacade tipoCriterioFacade;
@EJB
private DescripcionCriterio1Facade descripcionCriterio1Facade;
@EJB
private DescripcionCriterio2Facade descripcionCriterio2Facade;
@EJB
private DescripcionCriterio3Facade descripcionCriterio3Facade;
@EJB
private DescripcionCriterio4Facade descripcionCriterio4Facade;
@EJB
private TipoCriterioFacade tipoCriteriosFacade;
public seguimientoController() {
}
public FichaFacade getFichaFacade() {
return fichaFacade;
}
public FaseFacade getFaseFacade() {
return faseFacade;
}
public int getIdTipoCriterio() {
return idTipoCriterio;
}
public void setIdTipoCriterio(int idTipoCriterio) {
this.idTipoCriterio = idTipoCriterio;
}
public int getIdFase() {
return idFase;
}
public void setIdFase(int idFase) {
this.idFase = idFase;
}
public Acompanamiento getAcompanamientoActual() {
if (acompanamientoActual == null) {
acompanamientoActual = new Acompanamiento();
}
return acompanamientoActual;
}
public void setAcompanamientoActual(Acompanamiento acompanamientoActual) {
this.acompanamientoActual = acompanamientoActual;
}
public AcompanamientoFacade getAcompanamientoFacade() {
return acompanamientoFacade;
}
public ItemCriterioFacade getItemCriterioFacade() {
return itemCriterioFacade;
}
public void setItemCriterioFacade(ItemCriterioFacade itemCriterioFacade) {
this.itemCriterioFacade = itemCriterioFacade;
}
public CriterioFacade getCriterioFacade() {
return criterioFacade;
}
public void setCriterioFacade(CriterioFacade criterioFacade) {
this.criterioFacade = criterioFacade;
}
public ItemCriterioFacade getItemFacade() {
return itemFacade;
}
public void setItemFacade(ItemCriterioFacade itemFacade) {
this.itemFacade = itemFacade;
}
public TipoCriterioFacade getTipoCriterioFacade() {
return tipoCriterioFacade;
}
public void setTipoCriterioFacade(TipoCriterioFacade tipoCriterioFacade) {
this.tipoCriterioFacade = tipoCriterioFacade;
}
public DescripcionCriterio1Facade getDescripcionCriterio1Facade() {
return descripcionCriterio1Facade;
}
public void setDescripcionCriterio1Facade(DescripcionCriterio1Facade descripcionCriterio1Facade) {
this.descripcionCriterio1Facade = descripcionCriterio1Facade;
}
public DescripcionCriterio2Facade getDescripcionCriterio2Facade() {
return descripcionCriterio2Facade;
}
public void setDescripcionCriterio2Facade(DescripcionCriterio2Facade descripcionCriterio2Facade) {
this.descripcionCriterio2Facade = descripcionCriterio2Facade;
}
public DescripcionCriterio3Facade getDescripcionCriterio3Facade() {
return descripcionCriterio3Facade;
}
public void setDescripcionCriterio3Facade(DescripcionCriterio3Facade descripcionCriterio3Facade) {
this.descripcionCriterio3Facade = descripcionCriterio3Facade;
}
public DescripcionCriterio4Facade getDescripcionCriterio4Facade() {
return descripcionCriterio4Facade;
}
public void setDescripcionCriterio4Facade(DescripcionCriterio4Facade descripcionCriterio4Facade) {
this.descripcionCriterio4Facade = descripcionCriterio4Facade;
}
public TipoCriterioFacade getTipoCriteriosFacade() {
return tipoCriteriosFacade;
}
public void setTipoCriteriosFacade(TipoCriterioFacade tipoCriteriosFacade) {
this.tipoCriteriosFacade = tipoCriteriosFacade;
}
public List<TipoCriterio> getListaCriterioSelectOne() {
return getTipoCriterioFacade().findAll();
}
public List<ItemCriterio> getListaItems() {
actualizarItems();
return listaItems;
}
public void setListaItems(List<ItemCriterio> listaItems) {
this.listaItems = listaItems;
}
public Ficha getFichaActual() {
return fichaActual;
}
public void setFichaActual(Ficha fichaActual) {
this.fichaActual = fichaActual;
}
public ItemCriterio getItemCriterioActual() {
return itemCriterioActual;
}
public void setItemCriterioActual(ItemCriterio itemCriterioActual) {
this.itemCriterioActual = itemCriterioActual;
}
public TipoCriterio getTipoCriterioActual() {
return tipoCriterioActual;
}
public void setTipoCriterioActual(TipoCriterio tipoCriterioActual) {
this.tipoCriterioActual = tipoCriterioActual;
}
public boolean renderTabla1() {
if (idTipoCriterio == 1) {
return true;
} else {
return false;
}
}
public boolean renderTabla2() {
if (idTipoCriterio == 2) {
return true;
} else {
return false;
}
}
public boolean renderTabla3() {
if (idTipoCriterio == 3) {
return true;
} else {
return false;
}
}
public boolean renderTabla4() {
if (idTipoCriterio == 4) {
return true;
} else {
return false;
}
}
public List<Ficha> getListFichaSelectOne() {
return getFichaFacade().findAll();
}
public List<Fase> getListFaseSelectOne() {
return getFaseFacade().findAll();
}
public List<Acompanamiento> getListaAcompanamiento() {
if (listaAcompanamiento == null) {
try {
listaAcompanamiento = getAcompanamientoFacade().findAll();
} catch (Exception e) {
System.out.println("Error closing resource " + e.getClass().getName());
System.out.println("Message: " + e.getMessage());
}
}
return listaAcompanamiento;
}
private void recargarLista() {
listaAcompanamiento = null;
}
public String prepareList() {
recargarLista();
return "/acompañamieno/List";
}
public String prepareEdit() {
return "Edit";
}
public String prepareView() {
return "View";
}
public String addAcompanamiento() {
try {
acompanamientoActual.setFachaFin(new Date());
getAcompanamientoFacade().create(acompanamientoActual);
getCriterioFacade().create(criterioActual);
acompanamientoActual.getCriterioList().add(criterioActual);
for (ItemCriterio ic : listaItems) {
ic.setIdNombreCriterio(criterioActual);
getItemCriterioFacade().create(ic);
}
addSuccessMessage("crear acompanamiento", "acompanamiento creado Exitosamente");
recargarLista();
return "lista_acompanamiento";
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
return null;
}
}
public String updateAcompanamieno() {
try {
getAcompanamientoFacade().edit(acompanamientoActual);
addSuccessMessage("Actualizar acompanamiento", "acompanamiento actualizado Exitosamente");
return "View";
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
return null;
}
}
public String deleteAcompanamiento() {
try {
getAcompanamientoFacade().remove(acompanamientoActual);
addSuccessMessage("Eliminar acompanamiento", "acompanamiento eliminado Exitosamente");
recargarLista();
} catch (Exception e) {
addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage());
}
return "List";
}
public void actualizarItems() {
listaItems = new ArrayList<>();
switch (idTipoCriterio) {
case 1:
for (DescripcionCriterio1 descripcion1 : getDescripcionCriterio1Facade().findAll()) {
itemCriterioActual = new ItemCriterio();
itemCriterioActual.setIdDescripcionCriterio1(descripcion1);
itemCriterioActual.setObservacion(null);
listaItems.add(itemCriterioActual);
}
break;
case 2:
for (DescripcionCriterio2 descripcion2 : getDescripcionCriterio2Facade().findAll()) {
itemCriterioActual = new ItemCriterio();
itemCriterioActual.setIdDescripcionCriterio2(descripcion2);
itemCriterioActual.setObservacion(null);
listaItems.add(itemCriterioActual);
}
break;
case 3:
for (DescripcionCriterio3 descripcion3 : getDescripcionCriterio3Facade().findAll()) {
itemCriterioActual = new ItemCriterio();
itemCriterioActual.setIdDescripcionCriterio3(descripcion3);
itemCriterioActual.setObservacion(null);
listaItems.add(itemCriterioActual);
}
break;
case 4:
for (DescripcionCriterio4 descripcion4 : getDescripcionCriterio4Facade().findAll()) {
itemCriterioActual = new ItemCriterio();
itemCriterioActual.setIdDescripcionCriterio4(descripcion4);
itemCriterioActual.setObservacion(null);
listaItems.add(itemCriterioActual);
}
break;
default:
}
}
public String prepareCreate(ActionEvent event) {
fichaActual = ((Ficha) event.getComponent().getAttributes().get("ficha"));
acompanamientoActual = new Acompanamiento();
acompanamientoActual.setFechaInicio(new Date());
acompanamientoActual.setIdFicha(fichaActual);
criterioActual = new Criterio();
criterioActual.setIdAcompanamiento(acompanamientoActual);
// if (fichaActual.getAcompanamientoList().isEmpty()) {
// acompanamientoActual.setFechaInicio(new Date());
// acompanamientoActual.setIdFicha(fichaActual);
// } else {
// acompanamientoActual = fichaActual.getAcompanamientoList().get(0);
// }
actualizarItems();
return "Create";
}
public void cargarLista() {
}
public String cargarCreate() {
return "/acompanamiento/crear_acompanamiento";
}
private void addErrorMessage(String title, String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, title, msg);
FacesContext.getCurrentInstance().addMessage(null, facesMsg);
}
private void addSuccessMessage(String title, String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, title, msg);
FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg);
}
}