SIGESA: Crear Vista

  • En este caso vamos a crear una vista con la siguiente información:

Yo como Analista de planificación estratégica requiero crear una consulta de metas estratégicas y encargados de monitoreo.

Criterios de aceptación:

  • Los aportes que debe mostrar deben estar activos y aprobados.
  • Debe mostrar los siguientes campos:
    • Eje Estratégico (Código y descripción concatenados)
    • Objetivo Estratégico de Largo Plazo (Código y descripción concatenados)
    • Ejes Transversales (Agrupados, Separados por enter) (Código y descripción concatenados)
    • Prioridad Estratégica (Código y descripción concatenados)
    • Objetivo Estratégico de Mediano Plazo (Código y descripción concatenados)
    • Meta Estratégica (Código y descripción concatenados)
    • Ámbito de Acción Universitaria (NOMBRE)
    • Código de Unidad Ejecutora (de la Acción)
    • Unidad Ejecutora de Acción (Nombre de Unidad Ejecutora)
    • Acción Estratégica (Código y descripción concatenados)
    • Código de Unidad Ejecutora (del Aporte)
    • Unidad Ejecutora de Aporte (Nombre de Unidad Ejecutora)
    • Aporte Estratégico (Código y descripción concatenados)

SQL: VistaPlanEstrategicoCreate.sql

/* 
 * Copyright (C) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 * 
 */
/**
 * Author:  Gustavo Matamoros González
 * Created: 01/10/2022
 */

/********************************************************/
/********************************************************/
/* ELIMINAR LA VISTA                                    */
/********************************************************/
/********************************************************/
DROP PUBLIC SYNONYM VISTA_CONSUL_PLAN_ESTRATEGICO;

DROP VIEW PPI.VISTA_CONSUL_PLAN_ESTRATEGICO ;


/********************************************************/
/********************************************************/
/* DOCUMENTACIÓN DE LA VISTA                            */
/********************************************************/
/********************************************************/
/*
FUNCIÓN: Obtener la información de los planes de aportes y acciones estrategicas, por 
*/

--T1:   PPI.DETALLE_PLP
--T2:   PPI.EJE_ESTRATEGICO_PLP
--T3:   PPI.OBJETIVO_ESTRATEGICO_PLP
--T4:   PPI.DETALLE_PLP_EJE_TRANSVERSAL
--T5:   PPI.EJE_TRANSVERSAL_PLP
--T6:   TABLA TMP (JOIN) PARA EJES_TRANSVERSALES
--T7:   PPI.DETALLE_PMP
--T8:   PPI.PRIORIDAD_ESTRATEGICA_PMP
--T9:   PPI.OBJETIVO_ESTRATEGICO_PMP
--T10:  PPI.META_PMP
--T11:  PPI.AMBITO_ACCION_UNIVERSITARIA
--T12:  PPI.ACCION_ESTRATEGICA
--T13:  PPI.PLAN_ACCION_ESTRATEGICA
--T14:  EPF.UNIDAD_EJECUTORA (ACCION)
--T15:  PPI.APORTE_ESTRATEGICO
--T16:  PPI.PLAN_APORTE_ESTRATEGICO
--T17:  EPF.UNIDAD_EJECUTORA (APORTE)



/********************************************************/
/********************************************************/
/* CREACIÓN DE LA VISTA                                 */
/********************************************************/
/********************************************************/

CREATE OR REPLACE FORCE EDITIONABLE VIEW  PPI.VISTA_CONSUL_PLAN_ESTRATEGICO 

AS

SELECT 

    rownum AS ID,
    
    /* EJE_ESTRATEGICO_PLP */
    T2.CODIGO || '. ' || T2.DESCRIPCION AS EJE_ESTRATEGICO_PLP,
    
    /*OBJETIVO ESTRATEGICO PLP*/
    T3.CODIGO || '. ' || T3.DESCRIPCION AS OBJETIVO_ESTRATEGICO_PLP,
    
    /* EJES TRANSVERSALES_PLP */
    T6.EJES_TRANSVERSALES AS EJES_TRANSVERSALES_PLP,
    
    
    /* PRIORIDAD_ESTRATEGICA_PMP */
    T8.CODIGO || '. ' || T8.DESCRIPCION AS PRIORIDAD_ESTRATEGICA_PMP,

    /* OBJETIVO_ESTRATEGICO_PMP */
    T9.CODIGO || '. ' || T9.DESCRIPCION AS OBJETIVO_ESTRATEGICO_PMP,
    
    /* META_PMP */
    T10.CODIGO || '. ' || T10.DESCRIPCION AS META_PMP,   
    
    /* AMBITO_ACCION_UNIVERSITARIA */
    T11.NOMBRE AS AMBITO_ACCION_UNIVERSITARIA,
    
    /* ACCION_ESTRATEGICA_PMP */
    T12.CODIGO || '. ' || T12.DESCRIPCION AS ACCION_ESTRATEGICA_PMP,
    
    /* UNIDAD_EJECUTORA_ACCION_PMP */
    T14.CODIGO || '. ' || T14.NOMBRE  AS UNIDAD_EJECUTORA_ACCION_PMP, 
    
    /* APORTE_ESTRATEGICO_PMP */
    T15.CODIGO || '. ' || T15.DESCRIPCION AS APORTE_ESTRATEGICO_PMP,
    
    /* UNIDAD_EJECUTORA_APORTE_PMP */
    T17.CODIGO || '. ' || T17.NOMBRE  AS UNIDAD_EJECUTORA_APORTE_PMP
    
FROM PPI.DETALLE_PLP  T1

INNER JOIN PPI.EJE_ESTRATEGICO_PLP              T2      ON  (T2.ID_EJE_ESTRATEGICO_PLP          =       T1.EJE_ESTRATEGICO_PLP)
INNER JOIN PPI.OBJETIVO_ESTRATEGICO_PLP         T3      ON  (T3.ID_OBJETIVO_ESTRATEGICO_PLP     =       T1.OBJETIVO_ESTRATEGICO_PLP)
INNER JOIN PPI.DETALLE_PMP                      T7      ON  (T7.EJE_ESTRATEGICO_LARGO_PLAZO     =       T2.ID_EJE_ESTRATEGICO_PLP)
INNER JOIN PPI.PRIORIDAD_ESTRATEGICA_PMP        T8      ON  (T8.ID_PRIORIDAD_ESTRATEGICA_PMP    =       T7.PRIORIDAD_ESTRATEGICA_PMP)
INNER JOIN PPI.OBJETIVO_ESTRATEGICO_PMP         T9      ON  (T9.ID_OBJETIVO_ESTRATEGICO_PMP     =       T7.OBJETIVO_ESTRATEGICO_PMP)
INNER JOIN PPI.META_PMP                         T10     ON  (T10.DETALLE_PMP                    =       T7.ID_DETALLE_PMP)
INNER JOIN PPI.AMBITO_ACCION_UNIVERSITARIA      T11     ON  (T11.ID_AMBITO_ACCION_UNIVERSITARIA =       T10.AMBITO_ACCION_UNIVERSITARIA)


INNER JOIN PPI.ACCION_ESTRATEGICA               T12     ON  (T12.AMBITO_ACCION_UNIVERSITARIA    =       T11.ID_AMBITO_ACCION_UNIVERSITARIA)
INNER JOIN PPI.PLAN_ACCION_ESTRATEGICA          T13     ON  (T13.ID_PLAN_ACCION_ESTRATEGICA     =       T12.PLAN_ACCION_ESTRATEGICA)
INNER JOIN EPF.UNIDAD_EJECUTORA                 T14     ON  (T14.ID_UNIDAD_EJECUTORA            =       T13.UNIDAD_EJECUTORA)
INNER JOIN PPI.APORTE_ESTRATEGICO               T15     ON  (T15.ACCION_ESTRATEGICA             =       T12.ID_ACCION_ESTRATEGICA)
INNER JOIN PPI.PLAN_APORTE_ESTRATEGICO          T16     ON  (T16.ID_PLAN_APORTE_ESTRATEGICO     =       T15.PLAN_APORTE_ESTRATEGICO)
INNER JOIN EPF.UNIDAD_EJECUTORA                 T17     ON  (T17.ID_UNIDAD_EJECUTORA            =       T16.UNIDAD_EJECUTORA)

JOIN
(
SELECT 
        DISTINCT T4.DETALLE_PLP AS DETPLP,
        RTRIM(XMLAGG(XMLELEMENT(E, T5.CODIGO ||'. '|| T5.DESCRIPCION || ' ', CHR(10) || CHR(13)).EXTRACT('//text()') ORDER BY T5.CODIGO).GETCLOBVAL(),',') AS EJES_TRANSVERSALES
        FROM PPI.DETALLE_PLP_EJE_TRANSVERSAL T4
        LEFT JOIN PPI.EJE_TRANSVERSAL_PLP T5 ON (T5.ID_EJE_TRANSVERSAL_PLP = T4.EJE_TRANSVERSAL_PLP)
        GROUP BY T4.DETALLE_PLP
) T6 ON T6.DETPLP = T1.ID_DETALLE_PLP
WHERE 

--PPI.ACCION_ESTRATEGICA.META_PMP = PPI.META_PMP.ID_META_PMP
(T12.META_PMP = T10.ID_META_PMP)


--PPI.PLAN_APORTE_ESTRATEGICO.ACTIVO=1
AND
(T16.ACTIVO = 1)


--PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO=1
AND
(T13.ACTIVO = 1)


--PPI.PLAN_APORTE_ESTRATEGICO.ESTADO_FORMULACION_PAE=5 (COMPLETADO)
AND
(T16.ESTADO_FORMULACION_PAE = (SELECT VALOR FROM SAS.PARAMETRO
WHERE LLAVE = 'param_ppi_ppe_estadoFormulacionPAE_aprobado'))

ORDER BY T2.ID_EJE_ESTRATEGICO_PLP,T3.ID_OBJETIVO_ESTRATEGICO_PLP;


/********************************************************/
/********************************************************/
/* CREACIÓN DE SINONIMO                                 */
/********************************************************/
/********************************************************/
CREATE PUBLIC SYNONYM VISTA_CONSUL_PLAN_ESTRATEGICO for PPI.VISTA_CONSUL_PLAN_ESTRATEGICO;


/********************************************************/
/********************************************************/
/* GRANT'S                                              */
/********************************************************/
/********************************************************/
GRANT SELECT, REFERENCES ON PPI.VISTA_CONSUL_PLAN_ESTRATEGICO TO SAS;
GRANT SELECT, REFERENCES ON PPI.VISTA_CONSUL_PLAN_ESTRATEGICO TO EPF;


GRANT select, references ON EPF.UNIDAD_EJECUTORA TO PPI WITH GRANT OPTION;
GRANT select, references ON SAS.PARAMETRO TO PPI WITH GRANT OPTION;


GRANT DELETE, INSERT, UPDATE, SELECT, REFERENCES on PPI.VISTA_CONSUL_PLAN_ESTRATEGICO
to "WWW_SIGESA";


GRANT SELECT, DELETE, UPDATE, INSERT ON PPI.VISTA_CONSUL_PLAN_ESTRATEGICO TO WWW_SIGESA, WWW_TEUNA;
GRANT SELECT, ALTER ON PPI.VISTA_CONSUL_PLAN_ESTRATEGICO TO WWW_SIGESA, WWW_TEUNA;
GRANT SELECT ON PPI.VISTA_CONSUL_PLAN_ESTRATEGICO TO "ANALISTA", "ANALISTA_SIGESA";


SELECT * FROM VISTA_CONSUL_PLAN_ESTRATEGICO;

SQL: VistaPlanEstrategicoI18n.sql

/* 
 * Copyright (C) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 * 
 */

/********************************************************/
/********************************************************/
/* DOCUMENTACIÓN DE LA VISTA                            */
/********************************************************/
/********************************************************/

/**
 * Author:  Gustavo Matamoros González
 * Created: 01/11/2022
 * FUNCIÓN: Insertar internacionalización para Vista Plan Estratégico
*/


insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_ejeEstrategicoPLP_header', 'Eje Estratégico PLP', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_objetivoEstrategicoPLP_header', 'Objetivo Estratégico PLP', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_ejesTransversalesPLP_header', 'Ejes Transversales PLP', SQ_I18N.nextval);


insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_prioridadEstrategicaPMP_header', 'Prioridad Estratégica PMP', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_objetivoEstrategicoPMP_header', 'Objetivo Estratégico PMP', SQ_I18N.nextval);


insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_metaPMP_header', 'Meta PMP', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_ambitoAccionUniversitaria_header', 'Ámbito Acción Universitaria', SQ_I18N.nextval);


insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_accionEstrategicaPMP_header', 'Acción Estratégica PMP', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_unidadEjecutoraAccionPMP_header', 'Unidad Ejecutora Acción PMP', SQ_I18N.nextval);


insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_aporteEstrategicoPMP_header', 'Aporte Estratégico PMP', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_unidadEjecutoraAportePMP_header', 'Unidad Ejecutora Aporte PMP', SQ_I18N.nextval);


insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_list_form_title', 'Lista de Planes Estratégicos', SQ_I18N.nextval);

insert into i18n (version, usuario_creacion, fecha_creacion, fecha_modificacion, usuario_modificacion, campo_configurable, idioma, llave, valor, id_i18n) 
values (0,1, sysdate, sysdate,1, NULL, 'es', 'vistaPlanEstrategico_list_form_table_header', 'Lista de Planes Estratégicos', SQ_I18N.nextval);

domain: VistaPlanEstrategico.java

/*
 * Copyright (C) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 * 
 */

/**********************************************************************/
/**********************************************************************/
/*********************       PACKAGE     ******************************/
/**********************************************************************/
/**********************************************************************/
package cr.ac.una.cgi.sigesa.ppi.ppe.domain;


/**********************************************************************/
/**********************************************************************/
/*********************       IMPORT'S    ******************************/
/**********************************************************************/
/**********************************************************************/

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++                BD           ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import javax.persistence.Column;
import javax.persistence.Entity;
import java.io.Serializable;
import org.hibernate.annotations.Subselect;

import javax.persistence.Id;
/*import javax.persistence.Temporal;
import java.util.Date;
*/

/**********************************************************************/
/**********************************************************************/
/*********************    DOCUMENTACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
/**
 * Entity para la consulta de la vista {@link PPI.VISTA_CONSUL_PLAN_ESTRATEGICO}
 *
 * @author Gustavo Matamoros González´
 * @fecha 01/11/2022
 * @version 1.0.0 
 */

/**********************************************************************/
/**********************************************************************/
/*********************    CONFIGURACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
@Entity
@Subselect("SELECT * FROM VISTA_CONSUL_PLAN_ESTRATEGICO")


/**********************************************************************/
/**********************************************************************/
/****************    DEFINICIÓN DE CLASE  *****************************/
/**********************************************************************/
/**********************************************************************/

public class VistaPlanEstrategico implements Serializable {
    

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /*+++++++++++++      CAMPOS: DEFINICIÓN     ++++++++++++++++++++++++++*/
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    @Id
    @Column(name = "ID")
    private int id;



    // ***************************************
    // CAMPO: EJE_ESTRATEGICO_PLP
    // ***************************************
    @Column(name = "EJE_ESTRATEGICO_PLP")
    private String ejeEstrategicoPLP;


    // ***************************************
    // CAMPO: OBJETIVO_ESTRATEGICO_PLP
    // ***************************************
    @Column(name = "OBJETIVO_ESTRATEGICO_PLP")
    private String objetivoEstrategicoPLP;
    

    // ***************************************
    // CAMPO: EJES_TRANSVERSALES_PLP
    // ***************************************
    @Column(name = "EJES_TRANSVERSALES_PLP")
    private String ejesTransversalesPLP;
    

    // ***************************************
    // CAMPO: PRIORIDAD_ESTRATEGICA_PMP
    // ***************************************
    @Column(name = "PRIORIDAD_ESTRATEGICA_PMP")
    private String prioridadEstrategicaPMP;


    // ***************************************
    // CAMPO: OBJETIVO_ESTRATEGICO_PMP
    // ***************************************
    @Column(name = "OBJETIVO_ESTRATEGICO_PMP")
    private String objetivoEstrategicoPMP;
    

    // ***************************************
    // CAMPO: META_PMP
    // ***************************************
    @Column(name = "META_PMP")
    private String metaPMP;
    

    // ***************************************
    // CAMPO: AMBITO_ACCION_UNIVERSITARIA
    // ***************************************
    @Column(name = "AMBITO_ACCION_UNIVERSITARIA")
    private String ambitoAccionUniversitaria;
   

    // ***************************************
    // CAMPO: ACCION_ESTRATEGICA_PMP
    // ***************************************
    @Column(name = "ACCION_ESTRATEGICA_PMP")
    private String accionEstrategicaPMP;


    // ***************************************
    // CAMPO: UNIDAD_EJECUTORA_ACCION_PMP
    // ***************************************
    @Column(name = "UNIDAD_EJECUTORA_ACCION_PMP")
    private String unidadEjecutoraAccionPMP;


    // ***************************************
    // CAMPO: APORTE_ESTRATEGICO_PMP
    // ***************************************
    @Column(name = "APORTE_ESTRATEGICO_PMP")
    private String aporteEstrategicoPMP;


    // ***************************************
    // CAMPO: UNIDAD_EJECUTORA_APORTE_PMP
    // ***************************************
    @Column(name = "UNIDAD_EJECUTORA_APORTE_PMP")
    private String unidadEjecutoraAportePMP;

 
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /*+++++++++++++      CAMPOS:  GET/SET       ++++++++++++++++++++++++++*/
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

    // ***************************************
    // CAMPO: ID
    // ***************************************
    public int getId() {
        return id;
    }

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

    // ***************************************
    // CAMPO: EJE_ESTRATEGICO_PLP
    // ***************************************
    public String getEjeEstrategicoPLP() {
        return ejeEstrategicoPLP;
    }

    public void setEjeEstrategicoPLP(String ejeEstrategicoPLP) {
        this.ejeEstrategicoPLP = ejeEstrategicoPLP;
    }

    // ***************************************
    // CAMPO: OBJETIVO_ESTRATEGICO_PLP
    // ***************************************
    public String getObjetivoEstrategicoPLP() {
        return objetivoEstrategicoPLP;
    }

    public void setObjetivoEstrategicoPLP(String objetivoEstrategicoPLP) {
        this.objetivoEstrategicoPLP = objetivoEstrategicoPLP;
    }


    // ***************************************
    // CAMPO: EJES_TRANSVERSALES_PLP
    // ***************************************
    public String getEjesTransversalesPLP() {
        return ejesTransversalesPLP;
    }

    public void setEjesTransversalesPLP(String ejesTransversalesPLP) {
        this.ejesTransversalesPLP = ejesTransversalesPLP;
    }

 
    // ***************************************
    // CAMPO: PRIORIDAD_ESTRATEGICA_PMP
    // ***************************************
    public String getPrioridadEstrategicaPMP() {
        return prioridadEstrategicaPMP;
    }
    public void setPrioridadEstrategicaPMP(String prioridadEstrategicaPMP) {
        this.prioridadEstrategicaPMP = prioridadEstrategicaPMP;
    }


    // ***************************************
    // CAMPO: OBJETIVO_ESTRATEGICO_PMP
    // ***************************************
    public String getObjetivoEstrategicoPMP() {
        return objetivoEstrategicoPMP;
    }

    public void setObjetivoEstrategicoPMP(String objetivoEstrategicoPMP) {
        this.objetivoEstrategicoPMP = objetivoEstrategicoPMP;
    }

    // ***************************************
    // CAMPO: META_PMP
    // ***************************************
    public String getMetaPMP() {
        return metaPMP;
    }

    public void setMetaPMP(String metaPMP) {
        this.metaPMP = metaPMP;
    }

    // ***************************************
    // CAMPO: AMBITO_ACCION_UNIVERSITARIA
    // ***************************************
    public String getAmbitoAccionUniversitaria() {
        return ambitoAccionUniversitaria;
    }
    public void setAmbitoAccionUniversitaria(String ambitoAccionUniversitaria) {
        this.ambitoAccionUniversitaria = ambitoAccionUniversitaria;
    }

    // ***************************************
    // CAMPO: ACCION_ESTRATEGICA_PMP
    // ***************************************
    public String getAccionEstrategicaPMP() {
        return accionEstrategicaPMP;
    }

    public void setAccionEstrategicaPMP(String accionEstrategicaPMP) {
        this.accionEstrategicaPMP = accionEstrategicaPMP;
    }

    // ***************************************
    // CAMPO: UNIDAD_EJECUTORA_ACCION_PMP
    // ***************************************
    public String getUnidadEjecutoraAccionPMP() {
        return unidadEjecutoraAccionPMP;
    }

    public void setUnidadEjecutoraAccionPMP(String unidadEjecutoraAccionPMP) {
        this.unidadEjecutoraAccionPMP = unidadEjecutoraAccionPMP;
    }

 
    // ***************************************
    // CAMPO: APORTE_ESTRATEGICO_PMP
    // ***************************************
    public String getAporteEstrategicoPMP() {
        return aporteEstrategicoPMP;
    }

    public void setAporteEstrategicoPMP(String aporteEstrategicoPMP) {
        this.aporteEstrategicoPMP = aporteEstrategicoPMP;
    }

    // ***************************************
    // CAMPO: UNIDAD_EJECUTORA_APORTE_PMP
    // ***************************************
    public String getUnidadEjecutoraAportePMP() {
        return unidadEjecutoraAportePMP;
    }

    public void setUnidadEjecutoraAportePMP(String unidadEjecutoraAportePMP) {
        this.unidadEjecutoraAportePMP = unidadEjecutoraAportePMP;
    }

    
    
    
}
/**********************************************************************/
/**********************************************************************/
/**************** FIN DEFINICIÓN DE CLASE  ****************************/
/**********************************************************************/
/**********************************************************************/

Repository: VistaPlanEstrategicoRepository.java

/*
 * Copyright (c) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 *
 */

/**********************************************************************/
/**********************************************************************/
/*********************       PACKAGE     ******************************/
/**********************************************************************/
/**********************************************************************/
package cr.ac.una.cgi.sigesa.ppi.ppe.repository;


/**********************************************************************/
/**********************************************************************/
/*********************       IMPORT'S    ******************************/
/**********************************************************************/
/**********************************************************************/

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++             SDK-UNA         ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sdkuna.generic.GenericRepository;

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++             DOMAIN          ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sigesa.ppi.ppe.domain.VistaPlanEstrategico;


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++       SPRING-BOOT           ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import org.springframework.stereotype.Repository;



/**********************************************************************/
/**********************************************************************/
/*********************    DOCUMENTACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
/**
 * Repository para la administración de la vista {@link VistaPlanEstrategico}
 *
 * @author Gustavo Matamoros González
 * @fechaCreacion: 01/11/2022
 * @fechaModificacion: 01/11/2022
 * @Version: 1.0.0
 */

/**********************************************************************/
/**********************************************************************/
/*********************    CONFIGURACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
@Repository

/**********************************************************************/
/**********************************************************************/
/****************    DEFINICIÓN DE INTERFACE   ************************/
/**********************************************************************/
/**********************************************************************/
public interface VistaPlanEstrategicoRepository extends GenericRepository<VistaPlanEstrategico> {


}
/**********************************************************************/
/**********************************************************************/
/**********     FIN DEFINICIÓN DE INTERFACE     ***********************/
/**********************************************************************/
/**********************************************************************/

Service: VistaPlanEstrategicoService.java

/*
 * Copyright (c) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 *
 */

/**********************************************************************/
/**********************************************************************/
/*********************       PACKAGE     ******************************/
/**********************************************************************/
/**********************************************************************/
package cr.ac.una.cgi.sigesa.ppi.ppe.service;

/**********************************************************************/
/**********************************************************************/
/*********************       IMPORT'S    ******************************/
/**********************************************************************/
/**********************************************************************/



/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++             SDK-UNA         ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sdkuna.api.service.EntityService;


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++             DOMAIN          ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sigesa.ppi.ppe.domain.VistaPlanEstrategico;

/**********************************************************************/
/**********************************************************************/
/*********************    DOCUMENTACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
/**
 * Interface para la administración de la vista {@link VistaPlanEstrategico}
 *
 * @author Gustavo Matamoros González
 * @fechaCreacion: 01/11/2022
 * @fechaModificacion: 01/11/2022
 * @Version: 1.0.0.
 */


/**********************************************************************/
/**********************************************************************/
/****************    DEFINICIÓN DE INTERFACE   ************************/
/**********************************************************************/
/**********************************************************************/
public interface VistaPlanEstrategicoService extends EntityService<VistaPlanEstrategico> {

}
/**********************************************************************/
/**********************************************************************/
/**********     FIN DEFINICIÓN DE INTERFACE     ***********************/
/**********************************************************************/
/**********************************************************************/

ServiceImpl: VistaPlanEstrategicoServiceImpl.java

/*
 * Copyright (c) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 *
 */

/**********************************************************************/
/**********************************************************************/
/*********************       PACKAGE     ******************************/
/**********************************************************************/
/**********************************************************************/
package cr.ac.una.cgi.sigesa.ppi.ppe.service;


/**********************************************************************/
/**********************************************************************/
/*********************       IMPORT'S    ******************************/
/**********************************************************************/
/**********************************************************************/


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++             SDK-UNA         ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sdkuna.api.service.EntityServiceImpl;

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++       SPRING-BOOT           ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*++++++++++++         DOMAIN Y REPOSITRY         ++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sigesa.ppi.ppe.domain.VistaPlanEstrategico;
import cr.ac.una.cgi.sigesa.ppi.ppe.repository.VistaPlanEstrategicoRepository;



/**********************************************************************/
/**********************************************************************/
/*********************    DOCUMENTACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
/**
 * Clase que implementa el servicio {@link VistaPlanEstrategico} 
 * {@link VistaPlanEstrategico}
 *
 * @author: Gustavo Matamoros González
 * @fechaCreacion: 01/11/2022
 * @fechaModificacion: 01/11/2022
 * @version: 1.0.0
 */


/**********************************************************************/
/**********************************************************************/
/*********************    CONFIGURACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
@Service
@Transactional

/**********************************************************************/
/**********************************************************************/
/****************    DEFINICIÓN DE CLASE  *****************************/
/**********************************************************************/
/**********************************************************************/
public class VistaPlanEstrategicoServiceImpl extends EntityServiceImpl<VistaPlanEstrategico, VistaPlanEstrategicoRepository> implements VistaPlanEstrategicoService {

}

/**********************************************************************/
/**********************************************************************/
/***************      FIN DEFINICIÓN DE CLASE   ***********************/
/**********************************************************************/
/**********************************************************************/

Bean: VistaPlanEstrategicoBean.java

/*
 * Copyright (c) 2022.
 *
 * Centro de Gestion Informatica
 * Direccion de Tecnologias de la Informacion y Comunicacion
 * Universidad Nacional - Costa Rica
 * http://www.una.ac.cr
 *
 */

/**********************************************************************/
/**********************************************************************/
/*********************       PACKAGE     ******************************/
/**********************************************************************/
/**********************************************************************/

package cr.ac.una.cgi.sigesa.ppi.ppe.view.model;


/**********************************************************************/
/**********************************************************************/
/*********************       IMPORT'S    ******************************/
/**********************************************************************/
/**********************************************************************/


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++             SDK-UNA         ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sdkuna.view.commons.CRUD;
import cr.ac.una.cgi.sdkuna.view.commons.CRUDColumn;
import cr.ac.una.cgi.sdkuna.view.commons.CRUDImpl;

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*++++++++++++         DOMAIN Y SERVICE           ++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import cr.ac.una.cgi.sigesa.ppi.ppe.domain.VistaPlanEstrategico;
import cr.ac.una.cgi.sigesa.ppi.ppe.service.VistaPlanEstrategicoService;

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++       SPRING-BOOT           ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++          CAMPOS             ++++++++++++++++++++++++++*/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;



/**********************************************************************/
/**********************************************************************/
/*********************    DOCUMENTACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
/**
 * Spring Bean Session para la administración de la entidad {@link VistaPlanEstrategico}
 *
 * @author Gustavo Matamoros González
 * @fecha 01/11/2022
 */


/**********************************************************************/
/**********************************************************************/
/*********************    CONFIGURACIÓN  ******************************/
/**********************************************************************/
/**********************************************************************/
@Component
@Scope("session")


/**********************************************************************/
/**********************************************************************/
/****************    DEFINICIÓN DE CLASE  *****************************/
/**********************************************************************/
/**********************************************************************/


public class VistaPlanEstrategicoBean extends CRUDImpl<VistaPlanEstrategico, VistaPlanEstrategicoService> implements CRUD {

    @PostConstruct

    /*************************************************************************************************/
    /*************************************************************************************************/
    /******************************      FUNCIÓN INIT    *********************************************/
    /*************************************************************************************************/
    /*************************************************************************************************/
    public void init() {
        List<CRUDColumn> columns = new ArrayList<>();

        CRUDColumn column1  = new CRUDColumn("ejeEstrategicoPLP",           getI18n("vistaPlanEstrategico_ejeEstrategicoPLP_header"),           true);
        CRUDColumn column2  = new CRUDColumn("objetivoEstrategicoPLP",      getI18n("vistaPlanEstrategico_objetivoEstrategicoPLP_header"),      true);
        CRUDColumn column3  = new CRUDColumn("ejesTransversalesPLP",        getI18n("vistaPlanEstrategico_ejesTransversalesPLP_header"),        true);
        CRUDColumn column4  = new CRUDColumn("prioridadEstrategicaPMP",     getI18n("vistaPlanEstrategico_prioridadEstrategicaPMP_header"),     true);
        CRUDColumn column5  = new CRUDColumn("objetivoEstrategicoPMP",      getI18n("vistaPlanEstrategico_objetivoEstrategicoPMP_header"),      true);
        CRUDColumn column6  = new CRUDColumn("metaPMP",                     getI18n("vistaPlanEstrategico_metaPMP_header"),                     true);
        CRUDColumn column7  = new CRUDColumn("ambitoAccionUniversitaria",   getI18n("vistaPlanEstrategico_ambitoAccionUniversitaria_header"),   true);
        CRUDColumn column8  = new CRUDColumn("accionEstrategicaPMP",        getI18n("vistaPlanEstrategico_accionEstrategicaPMP_header"),        true);
        CRUDColumn column9  = new CRUDColumn("unidadEjecutoraAccionPMP",    getI18n("vistaPlanEstrategico_unidadEjecutoraAccionPMP_header"),    true);
        CRUDColumn column10 = new CRUDColumn("aporteEstrategicoPMP",        getI18n("vistaPlanEstrategico_aporteEstrategicoPMP_header"),        true);
        CRUDColumn column11 = new CRUDColumn("unidadEjecutoraAportePMP",    getI18n("vistaPlanEstrategico_unidadEjecutoraAportePMP_header"),    true);



        columns.add(column1);
        columns.add(column2);
        columns.add(column3);
        columns.add(column4);
        columns.add(column5);
        columns.add(column6);
        columns.add(column7);
        columns.add(column8);
        columns.add(column9);
        columns.add(column10);
        columns.add(column11);


        this.setTableColumns(columns);
    }
    /*************************************************************************************************/
    /*************************************************************************************************/
    /******************************  FIN  FUNCIÓN INIT   *********************************************/
    /*************************************************************************************************/
    /*************************************************************************************************/




}
/**********************************************************************/
/**********************************************************************/
/***************      FIN DEFINICIÓN DE CLASE   ***********************/
/**********************************************************************/
/**********************************************************************/

ListForm: vistaPlanEstrategicoListForm.xhtml

<ui:composition template="/templates/crud.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"  
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:components="http://java.sun.com/jsf/composite/components">

    <ui:define name="preRender">
        <f:event type="preRenderView" listener="#{vistaPlanEstrategicoBean.list()}"/>
    </ui:define>

    <ui:define name="title">#{i18n.vistaPlanEstrategico_list_form_title}</ui:define>

    <ui:define name="contentCRUD">
        <components:toolbar id="toolbar"
                            editMode="false"
                            bean="#{vistaPlanEstrategicoBean}"
                            listForm="vistaPlanEstrategicoListForm"
                            editForm="vistaPlanEstrategicoListForm"
                            backForm="vistaPlanEstrategicoListForm"
                            showNewButton="false"       
                            showSaveButton="false"
                            showDeleteButton="false"
                            showCopyButton="false"
                            showBackButton="false"
                            container="noEditTable:dataTable"/>

        <components:noEditTable id="noEditTable"
                                header="#{i18n.vistaPlanEstrategico_list_form_table_header}"
                                bean="#{vistaPlanEstrategicoBean}"
                                i18nKey="vistaPlanEstrategico_list_form_table_header"
                                showEditButton="false"
                                showViewButton="false"
                                showDeleteButton="false"
                                editForm="vistaPlanEstrategicoListForm"/>
    </ui:define>
</ui:composition>
  • Registramos el recurso
  • Y le agregamos el rol UNA_PPI_ADMIN
  • Creamos el menú: Lista de Menú
  • Salimos del sistema y volvemos a ingresar
  • Buscamos la opción de «Lista de Planes Estratégicos»
  • Y listo
  • Archivos finales aquí