jakartaee
  • Introduction
  • JakartaEE
    • Especificaciones
    • Proyecto JakartaEE9
    • Template Material top
  • Payara Community Server
  • GlassFish Server
    • Instalar GlassFish
    • Actualizar Password
    • Agregar GlassFish A NetBeans
  • JPA
    • Desabilitar Cache
    • Paginacion MySQL
    • Contador @ManyToOne
    • Paginación OracleDB con Atributos simples
  • JmoordbFaces
  • Tools
    • Herramientas de desarrollo
  • NoSQL
    • MongoDB
    • Instalar
    • jMoordb
    • script backup
  • EJB
    • Dependencias
    • Esquema EJB
    • Entity
    • Repository
    • Converter
    • DataModel
    • Services
    • Rules para eliminar
  • EE
    • Dependencias
    • Dashboard
    • Template
    • Personalizar Template
    • Properties
  • list Esquema
    • Introduccion list
    • Simple con autocomplete <Rol> list
    • Maestro <Agente> list
    • Detalle (Maestro-Detalle)<Permiso> list
  • new Esquema
    • Introduccion
    • Simple con autocomplete <Rol>
    • Maestro <Agente>
    • Detalle (Maestro-Detalle)<Permiso>
  • view Esquema
    • Introduccion a view
    • Simple con autocomplete <Rol> view
    • Maestro <Agente> view
    • Detalle (Maestro-Detalle)<Permiso> view
  • Componentes
    • <a:calendar>
    • <a:calendar> con Formatos
    • <a:calendar> con eventos
    • <a:date>
    • <a:yesno>
    • <a:noyes>
    • inputtext
    • email
    • selectOneMenu
    • selectOneMenu>
    • <a:sexo>
  • Search
    • searchBy(String field)
    • BĆŗsqueda entre Fechas
  • Controller
    • clear
    • constructor
    • definicion compuesta
    • delete
    • deleteall
    • edit
    • explicacion de metodos controller
    • field simple
    • getset
    • init
    • introduccion controller
    • isnew
    • prepare
    • print
    • printall
    • reset
    • save
    • showall
    • searchBy
    • move
    • handle
  • paginas
    • nodisponible.xhtml
  • ejemplos de controller
    • agentecontroller.java
    • diasfestivoscontroller.java
    • loginController.java
    • permisocontroller.java
    • rolcontroller.java
    • tamanocontroller.java
    • usuariocontroller.java
  • chapter1
    • bluetemplate
    • especificaciones
    • frameworks
    • templates
    • poseidon primefaces
  • bootfaces template
    • Bootfaces template
    • clonar
  • paginacion
    • last
    • move
    • next
    • first
    • skip(Integer page)
  • Eventos
    • Implementar eventos
  • Sugerencias
Powered by GitBook
On this page

Was this helpful?

  1. ejemplos de controller

permisocontroller.java

/*
 * 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.avbravo.seguridad.controller;

// <editor-fold defaultstate="collapsed" desc="imports">
import com.avbravo.avbravoutils.JsfUtil;
import com.avbravo.avbravoutils.printer.Printer;
import com.avbravo.ejbjmoordb.interfaces.IController;
import com.avbravo.ejbjmoordb.services.RevisionHistoryServices;
import com.avbravo.ejbjmoordb.services.UserInfoServices;
import com.avbravo.seguridad.util.ResourcesFiles;
import com.avbravo.seguridadejb.datamodel.PermisoDataModel;
import com.avbravo.seguridadejb.entity.Agente;
import com.avbravo.seguridadejb.entity.Permiso;
import com.avbravo.seguridadejb.repository.AgenteRepository;
import com.avbravo.seguridadejb.repository.PermisoRepository;
import com.avbravo.seguridadejb.repository.RevisionHistorySeguridadejbRepository;
import com.avbravo.seguridadejb.services.AutoincrementableSeguridadejbServices;
import com.avbravo.seguridadejb.services.LookupSeguridadejbServices;
import com.avbravo.seguridadejb.services.PermisoServices;

import java.util.ArrayList;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import javax.faces.context.FacesContext;
import org.bson.Document;
import org.primefaces.context.RequestContext;
import org.primefaces.event.SelectEvent;
// </editor-fold>

/**
 *
 * @authoravbravo
 */
@Named
@ViewScoped
public class PermisoController implements Serializable, IController {
// <editor-fold defaultstate="collapsed" desc="fields">  


    private static final long serialVersionUID = 1L;

    private Boolean writable = false;

    //DataModel
    private PermisoDataModel permisoDataModel;

    Integer page = 1;
    Integer rowPage = 25;
    List<Integer> pages = new ArrayList<>();
    String localIdagente = "";
    //

    //Entity
    Permiso permiso;
    Permiso permisoSelected;

    Agente agente;
    Agente agenteSelected;
    //List
    List<Permiso> permisoList = new ArrayList<>();
    List<Permiso> permisoFiltered = new ArrayList<>();

    //Repository
    @Inject
    PermisoRepository permisoRepository;
    @Inject
    AgenteRepository agenteRepository;

    @Inject
    RevisionHistorySeguridadejbRepository revisionHistorySeguridadejbRepository;

    //Services
    //Atributos para busquedas
    @Inject
    LookupSeguridadejbServices lookupSeguridadejbServices;
    @Inject
    AutoincrementableSeguridadejbServices autoincrementableSeguridadejbServices;
    @Inject
    RevisionHistoryServices revisionHistoryServices;
    @Inject
    UserInfoServices userInfoServices;
    @Inject
    PermisoServices permisoServices;
    @Inject
    ResourcesFiles rf;
    @Inject
    Printer printer;
    @Inject
    LoginController loginController;

    //List of Relations
    //Repository of Relations
    // </editor-fold>
// <editor-fold defaultstate="collapsed" desc="getter/setter">
    public List<Integer> getPages() {

        return permisoRepository.listOfPage(rowPage);
    }

    public LookupSeguridadejbServices getLookupSeguridadejbServices() {
        return lookupSeguridadejbServices;
    }

    public void setLookupSeguridadejbServices(LookupSeguridadejbServices lookupSeguridadejbServices) {
        this.lookupSeguridadejbServices = lookupSeguridadejbServices;
    }

    public void setPages(List<Integer> pages) {
        this.pages = pages;
    }

    public Agente getAgente() {
        return agente;
    }

    public void setAgente(Agente agente) {
        this.agente = agente;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getRowPage() {
        return rowPage;
    }

    public void setRowPage(Integer rowPage) {
        this.rowPage = rowPage;
    }

    public PermisoServices getPermisoServices() {
        return permisoServices;
    }

    public void setPermisoServices(PermisoServices permisoServices) {
        this.permisoServices = permisoServices;
    }

    public List<Permiso> getPermisoList() {
        return permisoList;
    }

    public void setPermisoList(List<Permiso> permisoList) {
        this.permisoList = permisoList;
    }

    public List<Permiso> getPermisoFiltered() {
        return permisoFiltered;
    }

    public void setPermisoFiltered(List<Permiso> permisoFiltered) {
        this.permisoFiltered = permisoFiltered;
    }

    public Permiso getPermiso() {
        return permiso;
    }

    public void setPermiso(Permiso permiso) {
        this.permiso = permiso;
    }

    public Permiso getPermisoSelected() {
        return permisoSelected;
    }

    public void setPermisoSelected(Permiso permisoSelected) {
        this.permisoSelected = permisoSelected;
    }

    public PermisoDataModel getPermisoDataModel() {
        return permisoDataModel;
    }

    public void setPermisoDataModel(PermisoDataModel permisoDataModel) {
        this.permisoDataModel = permisoDataModel;
    }

    public Boolean getWritable() {
        return writable;
    }

    public void setWritable(Boolean writable) {
        this.writable = writable;
    }

    // </editor-fold>
// <editor-fold defaultstate="collapsed" desc="constructor">
    public PermisoController() {
    }

    // </editor-fold>
// <editor-fold defaultstate="collapsed" desc="preRenderView()">
    @Override
    public String preRenderView(String action) {
        //acciones al llamar el formulario despues del init    
        return "";
    }
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="init">

    @PostConstruct
    public void init() {
        try {
            //Permiso
            String action = loginController.get("permiso");
            String idpermiso = loginController.get("idpermiso");
            String pageSession = loginController.get("pagepermiso");
//El agente seleccionado
            String idagente = loginController.get("idagente");

            //Search
            loginController.put("searchpermiso", "_init");

            //buscar el agente
            localIdagente = idagente;

            writable = false;

            permisoList = new ArrayList<>();
            permisoFiltered = new ArrayList<>();

            permiso = new Permiso();
            permisoDataModel = new PermisoDataModel(permisoList);
            agente = new Agente();
            agenteSelected = new Agente();

            if (idagente != null) {
                Optional<Agente> optionalAgente = agenteRepository.find("idagente", idagente);
                if (optionalAgente.isPresent()) {
                    agente = optionalAgente.get();
                    agenteSelected = agente;
                    writable = true;
                    permiso.setAgente(agente);

                }
            }
            if (idpermiso != null) {
                Optional<Permiso> optional = permisoRepository.find("idpermiso", Integer.parseInt(idpermiso));
                if (optional.isPresent()) {
                    permiso = optional.get();
                    permisoSelected = permiso;
                    writable = true;
                }
            }
            if (action != null && action.equals("gonew")) {
                permiso = new Permiso();
                permiso.setAgente(agente);

                permisoSelected = permiso;
                writable = true;
            }
            if (pageSession != null) {
                page = Integer.parseInt(pageSession);
            }
            Integer c = agenteRepository.sizeOfPage(rowPage);
            page = page > c ? c : page;
            move();

        } catch (Exception e) {
            JsfUtil.errorMessage("init() " + e.getLocalizedMessage());
        }
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="reset">

    @Override
    public void reset() {

        RequestContext.getCurrentInstance().reset(":form:content");
        prepare("new");
    }// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="prepare(String action, Object... item)">
    @Override
    public String prepare(String action, Object... item) {
        String url = "";
        try {
            loginController.put("pagepermiso", page.toString());
            loginController.put("permiso", action);
            switch (action) {
                case "new":
                    permiso = new Permiso();
                    permiso.setAgente(agente);
                    permisoSelected = permiso;

                    writable = true;
                    break;

                case "view":
                    if (item.length != 0) {
                        permisoSelected = (Permiso) item[0];
                        permiso = permisoSelected;
                        loginController.put("idpermiso", permiso.getIdpermiso().toString());
                    }
                    url = "/pages/permiso/view.xhtml";
                    break;

                case "golist":
                    url = "/pages/permiso/list.xhtml";
                    break;
                case "gonew":
                    url = "/pages/permiso/new.xhtml";
                    break;
            }

        } catch (Exception e) {
            JsfUtil.errorMessage("prepare() " + e.getLocalizedMessage());
        }

        return url;
    }// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="showAll">
    @Override
    public String showAll() {
        try {
            permisoList = new ArrayList<>();
            permisoFiltered = new ArrayList<>();
            permisoList = permisoRepository.findAll();
            permisoFiltered = permisoList;
            permisoDataModel = new PermisoDataModel(permisoList);

        } catch (Exception e) {
            JsfUtil.errorMessage("showAll()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="isNew">

    @Override
    public String isNew() {
        try {
            writable = true;
            if(JsfUtil.isVacio(permiso.getIdpermiso())){
                writable=false;
                return "";
            }
            Optional<Permiso> optional = permisoRepository.findById(permiso);
            if (optional.isPresent()) {
                writable = false;

                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
                return "";
            } else {
                Integer id = permiso.getIdpermiso();
                permiso = new Permiso();
                permiso.setIdpermiso(id);
                permisoSelected = new Permiso();
            }

        } catch (Exception e) {
            JsfUtil.errorMessage("isNew()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="save">

    @Override
    public String save() {
        try {
//            Optional<Permiso> optional = permisoRepository.findById(permiso);
//            if (optional.isPresent()) {
//                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
//                return null;
//            }
//            if (JsfUtil.diasEntreFechas(permiso.getFechainicio(), permiso.getFechafin()) > 1) {
//                JsfUtil.warningMessage("La fecha de terminacion debe ser mayor");
//                return "";
//
//            }

//  List<Permiso> list = permisoRepository.findBy(new Document("agente.idagente", agente.getIdagente()).append("fecha", permiso.getFecha()));
//            
//            if (!list.isEmpty()) {
//                writable = false;
//
//                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
//                return "";
//            }
            Integer idpermiso = autoincrementableSeguridadejbServices.getContador("permiso");
            permiso.setIdpermiso(idpermiso);
            permiso.setUserInfo(userInfoServices.generateListUserinfo(loginController.getUsername(), "create"));
            if (permisoRepository.save(permiso)) {
                revisionHistorySeguridadejbRepository.save(revisionHistoryServices.getRevisionHistory(permiso.getIdpermiso().toString(), loginController.getUsername(),
                        "create", "permiso", permisoRepository.toDocument(permiso).toString()));

                JsfUtil.successMessage(rf.getAppMessage("info.save"));
                reset();
            } else {
                JsfUtil.successMessage("save() " + permisoRepository.getException().toString());
            }

        } catch (Exception e) {
            JsfUtil.errorMessage("save()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="edit">

    @Override
    public String edit() {
        try {

            permiso.getUserInfo().add(userInfoServices.generateUserinfo(loginController.getUsername(), "update"));

            //guarda el contenido anterior
            //guarda el contenido actualizado
            revisionHistorySeguridadejbRepository.save(revisionHistoryServices.getRevisionHistory(permiso.getIdpermiso().toString(), loginController.getUsername(),
                    "update", "permiso", permisoRepository.toDocument(permiso).toString()));

            permisoRepository.update(permiso);
            JsfUtil.successMessage(rf.getAppMessage("info.update"));
        } catch (Exception e) {
            JsfUtil.errorMessage("edit()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="delete(Object item, Boolean deleteonviewpage)">

    @Override
    public String delete(Object item, Boolean deleteonviewpage) {
        String path = "";
        try {
            permiso = (Permiso) item;

            permisoSelected = permiso;
            if (permisoRepository.delete("idpermiso", permiso.getIdpermiso())) {
                revisionHistorySeguridadejbRepository.save(revisionHistoryServices.getRevisionHistory(permiso.getIdpermiso().toString(), loginController.getUsername(), "delete", "permiso", permisoRepository.toDocument(permiso).toString()));
                JsfUtil.successMessage(rf.getAppMessage("info.delete"));

                if (!deleteonviewpage) {
                    permisoList.remove(permiso);
                    permisoFiltered = permisoList;
                    permisoDataModel = new PermisoDataModel(permisoList);

                    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("pagepermiso", page.toString());

                } else {
                    permiso = new Permiso();
                    permisoSelected = new Permiso();
                    writable = false;

                }

            }

        } catch (Exception e) {
            JsfUtil.errorMessage("delete() " + e.getLocalizedMessage());
        }
        //path = deleteonviewpage ? "/pages/permiso/list.xhtml" : "";
        path = "";
        return path;
    }// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="deleteAll">
    @Override
    public String deleteAll() {
        if (permisoRepository.deleteAll() != 0) {
            JsfUtil.successMessage(rf.getAppMessage("info.delete"));
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="print">

    @Override
    public String print() {
        try {
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("pagepermiso", page.toString());
            List<Permiso> list = new ArrayList<>();
            list.add(permiso);
            String ruta = "/resources/reportes/permiso/details.jasper";
            HashMap parameters = new HashMap();
            // parameters.put("P_parametro", "valor");
            printer.imprimir(list, ruta, parameters);
        } catch (Exception ex) {
            JsfUtil.errorMessage("imprimir() " + ex.getLocalizedMessage());
        }
        return null;
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="printAll">

    @Override
    public String printAll() {
        try {
            List<Permiso> list = new ArrayList<>();
            list = permisoRepository.findAll(new Document("idpermiso", 1));

            String ruta = "/resources/reportes/permiso/all.jasper";
            HashMap parameters = new HashMap();
            // parameters.put("P_parametro", "valor");
            printer.imprimir(list, ruta, parameters);
        } catch (Exception ex) {
            JsfUtil.errorMessage("imprimir() " + ex.getLocalizedMessage());
        }
        return null;
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="handleSelect">

    public void handleSelect(SelectEvent event) {
        try {
            permisoList.removeAll(permisoList);
            permisoList.add(permisoSelected);
            permisoFiltered = permisoList;
            permisoDataModel = new PermisoDataModel(permisoList);
            loginController.put("searchpermiso", "_autocomplete");
        } catch (Exception ex) {
            JsfUtil.errorMessage("handleSelect() " + ex.getLocalizedMessage());
        }
    }// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="clear()">
    @Override
    public String clear() {
        try {
            loginController.put("searchpermiso", "_init");

            page = 1;
            lookupSeguridadejbServices.setIdpermiso(null);
            lookupSeguridadejbServices.setFecha(null);

            move();
        } catch (Exception e) {
            JsfUtil.errorMessage("clear()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="last">

    @Override
    public String last() {
        try {
            page = permisoRepository.sizeOfPage(rowPage);
            move();
        } catch (Exception e) {
            JsfUtil.errorMessage("last() " + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="first">
    @Override
    public String first() {
        try {
            page = 1;
            move();
        } catch (Exception e) {
            JsfUtil.errorMessage("first() " + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="next">

    @Override
    public String next() {
        try {
            if (page < (permisoRepository.sizeOfPage(rowPage))) {
                page++;
            }
            move();
        } catch (Exception e) {
            JsfUtil.errorMessage("next() " + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="back">

    @Override
    public String back() {
        try {
            if (page > 1) {
                page--;
            }
            move();
        } catch (Exception e) {
            JsfUtil.errorMessage("back() " + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="skip(Integer page)">

    @Override
    public String skip(Integer page) {
        try {
            this.page = page;
            move();
        } catch (Exception e) {
            JsfUtil.errorMessage("skip() " + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="move">

    @Override
    public void move() {
        try {

            Document doc;
            switch (loginController.get("searchpermiso")) {
                case "_init":
                    permisoList = permisoRepository.findFilterPagination(new Document("agente.idagente", localIdagente), page, rowPage, new Document("idpermiso", -1));
                    break;
                case "_autocomplete":
                    //no se realiza ninguna accion 
                    break;
                case "_betweendates":
                    permisoList = permisoRepository.filterBetweenDatePagination("agente.idagente", agente.getIdagente(), "fechainicio", lookupSeguridadejbServices.getFechaDesde(), "fechafin", lookupSeguridadejbServices.getFechaHasta(), page, rowPage, new Document("idpermiso", -1));
                    break;
                case "idagente":
                    permisoList = permisoRepository.findFilterPagination(new Document("agente.idagente", localIdagente), page, rowPage, new Document("idpermiso", -1));
                    break;
                case "idpermiso":
                    doc = new Document("idpermiso", lookupSeguridadejbServices.getIdpermiso()).append("agente.idagente", agente.getIdagente());
                    permisoList = permisoRepository.findFilterPagination(doc, page, rowPage, new Document("idpermiso", -1));
                    break;
                case "fechainicio":
                    permisoList = permisoRepository.filterDayWithoutHourPagination("agente.idagente", agente.getIdagente(), "fechainicio", lookupSeguridadejbServices.getFechaincio(), page, rowPage, new Document("idpermiso", -1));
                    break;

                case "fechafin":
                    permisoList = permisoRepository.filterDayWithoutHourPagination("agente.idagente", agente.getIdagente(), "fechafin", lookupSeguridadejbServices.getFechafin(), page, rowPage, new Document("idpermiso", -1));
                    break;

                default:
                    permisoList = permisoRepository.findFilterPagination(new Document("agente.idagente", localIdagente), page, rowPage, new Document("idpermiso", -1));
                    break;
            }

            permisoFiltered = permisoList;
            permisoDataModel = new PermisoDataModel(permisoList);

        } catch (Exception e) {
            JsfUtil.errorMessage("move() " + e.getLocalizedMessage());
        }
    }// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="searchBy(String string)">

    @Override
    public String searchBy(String string) {
        try {

            loginController.put("searchpermiso", string);

            writable = true;
            move();

        } catch (Exception e) {
            JsfUtil.errorMessage("searchBy()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

}
PreviousloginController.javaNextrolcontroller.java

Last updated 6 years ago

Was this helpful?