Previo
- El usuario debe tener el rol de ADMIN
- 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=
- Y estos valores los podemos consultar en
- Debe tener acceso al recurso
- http://10.0.100.30:8080/sigesa-webapp/pages/recursoListForm.xhtml
- /pages/tipoDocumentoListForm.xhtml
- /pages/tipoDocumentoEditForm.xhtml
- http://10.0.100.30:8080/sigesa-webapp/pages/recursoListForm.xhtml
- Para agregar un tipo de documento debemos ingresar a
- http://10.0.100.30:8080/sigesa-webapp/pages/tipoDocumentoListForm.xhtml?modulo=704
- 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);
}