package com.pepe.controller; import com.pepe.jpa.entities.Caracterizacion; import com.pepe.jpa.entities.Desercion; import com.pepe.jpa.entities.Eps; import com.pepe.jpa.entities.Especialidad; import com.pepe.jpa.entities.EstiloAprendizaje; import com.pepe.jpa.entities.Genero; import com.pepe.jpa.entities.LibretaMilitar; import com.pepe.jpa.entities.Rol; import com.pepe.jpa.entities.TipoContrato; import com.pepe.jpa.entities.TipoDocumento; import com.pepe.jpa.entities.TipoSangre; import com.pepe.jpa.entities.TipoVocero; import com.pepe.jpa.entities.Usuario; import com.pepe.jpa.sesions.CaracterizacionFacade; import com.pepe.jpa.sesions.DesercionFacade; import com.pepe.jpa.sesions.EpsFacade; import com.pepe.jpa.sesions.EspecialidadFacade; import com.pepe.jpa.sesions.EstiloAprendizajeFacade; import com.pepe.jpa.sesions.FaseFacade; import com.pepe.jpa.sesions.FichaFacade; import com.pepe.jpa.sesions.GeneroFacade; import com.pepe.jpa.sesions.LibretaMilitarFacade; import com.pepe.jpa.sesions.RolFacade; import com.pepe.jpa.sesions.TipoContratoFacade; import com.pepe.jpa.sesions.TipoDocumentoFacade; import com.pepe.jpa.sesions.TipoSangreFacade; import com.pepe.jpa.sesions.TipoVoceroFacade; import com.pepe.jpa.sesions.UsuarioFacade; import java.io.Serializable; import java.util.ArrayList; 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.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.FacesConverter; /** * * @author Windows 8 */ @ManagedBean @SessionScoped public class UsuarioController implements Serializable { @EJB private UsuarioFacade usuarioFacade; @EJB private CaracterizacionFacade caracterizacionFacade; @EJB private EstiloAprendizajeFacade estiloAprendizajeFacade; @EJB private DesercionFacade desercionFacade; @EJB private TipoVoceroFacade tipoVoceroFacade; @EJB private TipoDocumentoFacade tipoDocumentoFacade; @EJB private GeneroFacade generoFacade; @EJB private TipoSangreFacade tipoSangreFacade; @EJB private LibretaMilitarFacade libretaMilitarFacade; @EJB private EpsFacade epsFacade; @EJB private EspecialidadFacade especialidadFacade; @EJB private TipoContratoFacade tipoContratoFacade; @EJB private RolFacade rolFacade; private List<Rol> listaRol = null; private Usuario usuarioActual; private List<Usuario> listaUsuario = null; int tipoContratoSelect; private List<Usuario> listaUsuarios = null; public RolFacade getRolFacade() { return rolFacade; } public void setRolFacade(RolFacade rolFacade) { this.rolFacade = rolFacade; } public List<Rol> getListaRol() { return listaRol; } public void setListaRol(List<Rol> listaRol) { this.listaRol = listaRol; } // select one menu caracterizacion public CaracterizacionFacade getCaracterizacionFacade() { return caracterizacionFacade; } public void setCaracterizacionFacade(CaracterizacionFacade caracterizacionFacade) { this.caracterizacionFacade = caracterizacionFacade; } public List<Caracterizacion> getListaCaracterizacionSelectOne() { return getCaracterizacionFacade().findAll(); } // select one menu Estilo de aprendizaje public EstiloAprendizajeFacade getEstiloAprendizajeFacade() { return estiloAprendizajeFacade; } public void setEstiloAprendizajeFacade(EstiloAprendizajeFacade estiloAprendizajeFacade) { this.estiloAprendizajeFacade = estiloAprendizajeFacade; } public List<EstiloAprendizaje> getListaEstiloAprendizajeSelectOne() { return getEstiloAprendizajeFacade().findAll(); } /* select one menu Patrocinio public PatrocinioFacade getPatrocinioFacade() { return patrocinioFacade; } public void setPatrocinioFacade(PatrocinioFacade patrocinioFacade) { this.patrocinioFacade = patrocinioFacade; } public List<Patrocinio> getListaPatrocinioSelectOne() { return getPatrocinioFacade().findAll(); }*/ // select one menu Desercion public DesercionFacade getDesercionFacade() { return desercionFacade; } public void setDesercionFacade(DesercionFacade desercionFacade) { this.desercionFacade = desercionFacade; } public List<Desercion> getListaDesercionSelectOne() { return getDesercionFacade().findAll(); } // select one tipo contrato public int getTipoContratoSelect() { if (usuarioActual != null && usuarioActual.getIdTipoContrato() != null) { tipoContratoSelect = usuarioActual.getIdUsuario(); } return tipoContratoSelect; } public void setTipoContratoSelect(int tipoContratoSelect) { this.tipoContratoSelect = tipoContratoSelect; } public TipoContratoFacade getTipoContratoFacade() { return tipoContratoFacade; } public void setTipoContratoFacade(TipoContratoFacade tipoContratoFacade) { this.tipoContratoFacade = tipoContratoFacade; } public List<TipoContrato> getListaTipoContratoSelectOne() { return getTipoContratoFacade().findAll(); } // select one menu Tipo Vocero public TipoVoceroFacade getTipoVoceroFacade() { return tipoVoceroFacade; } public void setTipoVoceroFacade(TipoVoceroFacade tipoVoceroFacade) { this.tipoVoceroFacade = tipoVoceroFacade; } public List<TipoVocero> getListaTipoVoceroSelectOne() { return getTipoVoceroFacade().findAll(); } // select one menu Tipo Documento public TipoDocumentoFacade getTipoDocumentoFacade() { return tipoDocumentoFacade; } public void setTipoDocumentoFacade(TipoDocumentoFacade tipoDocumentoFacade) { this.tipoDocumentoFacade = tipoDocumentoFacade; } public List<TipoDocumento> getListaTipoDocumentoSelectOne() { return getTipoDocumentoFacade().findAll(); } // select one menu Genero public GeneroFacade getGeneroFacade() { return generoFacade; } public void setGeneroFacade(GeneroFacade generoFacade) { this.generoFacade = generoFacade; } public List<Genero> getListaGeneroSelectOne() { return getGeneroFacade().findAll(); } // select one menu Tipo de Sangre public TipoSangreFacade getTipoSangreFacade() { return tipoSangreFacade; } public void setTipoSangreFacade(TipoSangreFacade tipoSangreFacade) { this.tipoSangreFacade = tipoSangreFacade; } public List<TipoSangre> getListaTipoSangreSelectOne() { return getTipoSangreFacade().findAll(); } // select one menu libreta Militar public LibretaMilitarFacade getLibretaMilitarFacade() { return libretaMilitarFacade; } public void setLibretaMilitarFacade(LibretaMilitarFacade libretaMilitarFacade) { this.libretaMilitarFacade = libretaMilitarFacade; } public List<LibretaMilitar> getListaLibretaMilitarSelectOne() { return getLibretaMilitarFacade().findAll(); } // select one menu Eps public EpsFacade getEpsFacade() { return epsFacade; } public void setEpsFacade(EpsFacade epsFacade) { this.epsFacade = epsFacade; } public List<Eps> getListaEpsSelectOne() { return getEpsFacade().findAll(); } // select one menu Especialidad public EspecialidadFacade getEspecialidadFacade() { return especialidadFacade; } public void setEspecialidadFacade(EspecialidadFacade especialidadFacade) { this.especialidadFacade = especialidadFacade; } public List<Especialidad> getListaEspecialidadSelectOne() { return getEspecialidadFacade().findAll(); } /** * Creates a new instance of CiudadController */ public UsuarioController() { } public List<Usuario> getListaUsuarios() { listaUsuarios = new ArrayList<>(); listaUsuarios = getUsuarioFacade().findAll(); return listaUsuarios; } public List<Usuario> getListaUsuariosInstr() { List<Usuario> listaUsuariosInstr = new ArrayList<>(); boolean b; for (Usuario u : getListaUsuarios()) { b = false; for (Rol r : u.getRolList()) { if (r.getCodigoRol().equals("INSTR")) { b = true; } } if (b) { listaUsuariosInstr.add(u); } } return listaUsuariosInstr; } public UsuarioFacade getUsuarioFacade() { return usuarioFacade; } public Usuario getUsuarioActual() { if (usuarioActual == null) { usuarioActual = new Usuario(); } return usuarioActual; } public void setUsuarioActual(Usuario usuarioActual) { this.usuarioActual = usuarioActual; } public List<Usuario> getListaUsuario() { if (listaUsuario == null) { try { listaUsuario = getUsuarioFacade().findAll(); } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); } } return listaUsuario; } private void recargarLista() { listaUsuario = null; } public void prepareCreate() { usuarioActual = new Usuario(); listaRol = new ArrayList<>(); } public String prepareEdit() { return ""; } public String prepareView() { return ""; } public String prepareList() { recargarLista(); return ""; } public String addUsuario() { try { usuarioActual.setEstado(true); if (listaRol == null || listaRol.isEmpty()) { listaRol = new ArrayList<>(); listaRol.add(new Rol(2)); usuarioActual.setRolList(listaRol); } else { usuarioActual.setRolList(listaRol); } getUsuarioFacade().create(usuarioActual); recargarLista(); return ""; } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); return null; } } public String updateUsuario() { try { getUsuarioFacade().edit(usuarioActual); recargarLista(); return ""; } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); return null; } } public String deleteUsuario() { try { getUsuarioFacade().remove(usuarioActual); recargarLista(); } catch (Exception e) { addErrorMessage("Error closing resource " + e.getClass().getName(), "Message: " + e.getMessage()); } return "List"; } 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); } public Usuario getUsuario(java.lang.Integer id) { return getUsuarioFacade().find(id); } @FacesConverter(forClass = Usuario.class) public static class UsuarioControllerConverter implements Converter { @Override public Object getAsObject(FacesContext facesContext, UIComponent component, String value) { if (value == null || value.length() == 0) { return null; } UsuarioController controller = (UsuarioController) facesContext.getApplication().getELResolver(). getValue(facesContext.getELContext(), null, "usuarioController"); return controller.getUsuario(getKey(value)); } java.lang.Integer getKey(String value) { java.lang.Integer key; key = Integer.valueOf(value); return key; } String getStringKey(java.lang.Integer value) { StringBuilder sb = new StringBuilder(); sb.append(value); return sb.toString(); } @Override public String getAsString(FacesContext facesContext, UIComponent component, Object object) { if (object == null) { return null; } if (object instanceof Usuario) { Usuario o = (Usuario) object; return getStringKey(o.getIdUsuario()); } else { throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + Usuario.class.getName()); } } } }