SIGESA: Tipos de Documentos

Previo

  • Luego para poder acceder es necesario ingresar a través del ID del módulo esto es lo que separa los tipos de documentos los podemos ver aquí
    • http://10.0.100.30:8080/sigesa-webapp/pages/recursoListForm.xhtml
    • Filtrando por
/pages/tipoDocumentoListForm.xhtml?modulo=
  1. Para agregar un tipo de documento debemos ingresar a
  2. http://10.0.100.30:8080/sigesa-webapp/pages/tipoDocumentoListForm.xhtml?modulo=704
  3. Aquí le damos agregar

  • Luego completamos el formulario

Uso

  • Ahora para utilizar el tipo de documento primero debemos crear un parametros de SIGESA que almacene el id el tipo de documento
  • Primero consultamos la tabla de tipo_docuemento
SELECT * FROM Tipo_Documento;
  • Ubicamos el el ID del tipo de documento para este caso 311
  • Ingresamos a Siegesa y buscaos «Lista de Parámetros»
  • Y creamos el parametro: «param_ppi_mcg_tipoDocumento_actividadRespuestaRiesgo»
  • Luego dentro del ServiceImpl creamos una función que obtenga el siguiente consecutivo

ActividadRespuestaRiegosServiceImpl.java

  • Creamos la función que obtiene el siguiente consecutivo
  • Primero debemos incluir los import de periodoAnual para que el documento se genere con el al año en ejecución
import cr.ac.una.cgi.sigesa.epf.cpr.domain.PeriodoAnual;
import cr.ac.una.cgi.sigesa.epf.cpr.service.PeriodoAnualService;
  • Y los imports para uso de tipoDocumento
import cr.ac.una.cgi.sigesa.epf.cge.domain.TipoDocumento;
import cr.ac.una.cgi.sigesa.epf.cge.service.TipoDocumentoService;
  • Y los import’s para uso de parametros
import cr.ac.una.cgi.sdkuna.service.ParametroService;
  • Ahora debemos crear los respectivos autowired’s
@Autowired
PeriodoAnualService periodoAnualService;

@Autowired
ParametroService parametroService;

@Autowired
TipoDocumentoService tipoDocumentoService;
  • Creamos la función que obtiene el siguiente consecutivo
/**********************************************************************/
    /***********  FUNCIÓN:   obtenerSiguienteConsecutivo      *************/
    /**********************************************************************/
    /*
     * Función: obtener el siguiente número de consecutivo para el tipo de documento ARR
     */
    private String obtenerSiguienteConsecutivo() {
        
        //Obtenemos el periodo anual en ejecución
        PeriodoAnual periodoAnual = periodoAnualService.findAnoEjecucionPBS();

        //Obtenemos el tipo de documento según parametro
        TipoDocumento tipoDocumento = tipoDocumentoService.findById(Long.valueOf(
                parametroService.findOneByLlave("param_ppi_ppe_tipoDocumento_planLargoPlazo").getValor()));

        // Retornamos el siguiente consecutivo
        return tipoDocumentoService.generateCodeByTipoDocumentoAndPeriodoAnual(tipoDocumento, periodoAnual);
    }
  • NOTA: si al compilar da el error:
error: package cr.ac.una.cgi.sigesa.epf.cge.service does not exist
  • Es por que es un proyecto nuevo y en el pom.xml del WEB no existe acceso a la dependencia
  • Agregamos
<dependency>
            <groupId>cr.ac.una.cgi.sigesa</groupId>
            <artifactId>sigesa-epf.cge-interface-service</artifactId>
            <version>0.1.0-SNAPSHOT</version>
            <type>jar</type>
        </dependency>
  • Y creamos la función que sobre escribe el save
/**********************************************************************/
    /***********  FUNCIÓN:   save                             *************/
    /**********************************************************************/
    /*
     * Función: sobre escribir la función save de framework para que se obtenga el siguiente número de consecutivo del código 
     */
    @Override
    public ActividadRespuestaRiesgo save(ActividadRespuestaRiesgo actividadRespuestaRiesgo) {

        if (actividadRespuestaRiesgo.getCodigo() == null || actividadRespuestaRiesgo.getCodigo().equals("")) {
            actividadRespuestaRiesgo.setCodigo(obtenerSiguienteConsecutivo());
        }

        return super.save(actividadRespuestaRiesgo);
    }

sIN AÑO