- Para crear un autocomplete de todos los registros activos por nombre
TipoActividadRiesgoRepository.java
- Agregamos los import’s necesarios
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**********************************************************************/
/**
* Definición que retorna un Page<TipoActividadRiesgo> según su nombre y la condición de activo
*
* @param nombre : nombre por buscar
* @param activo : 1 = activo / 0 = Inactivo
* @param pageable : parametro utilizado para paginación
* @author Gustavo Matamoros González
* @fechaCreacion: 04/01/2023
* @fechaModificacion: 04/01/2023
* @Version: 1.0.0
* @modulo: PPI-MCG
* @issue: PPI-279
*/
/**********************************************************************/
public Page<TipoActividadRiesgo> findAllByNombreIgnoreCaseLikeAndActivo(String nombre, Boolean activo, Pageable pageable);
TipoActividadRiesgoService.java
- Agregamos los imports necesarios
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**********************************************************************/
/**
* Definición que retorna un Page<TipoActividadRiesgo> según su nombre y la condición de activo
*
* @param nombre : nombre por buscar
* @param activo : 1 = activo / 0 = Inactivo
* @param pageable : parametro utilizado para paginación
* @author Gustavo Matamoros González
* @fechaCreacion: 04/01/2023
* @fechaModificacion: 04/01/2023
* @Version: 1.0.0
* @modulo: PPI-MCG
* @issue: PPI-279
*/
/**********************************************************************/
public Page<TipoActividadRiesgo> findAllByNombreIgnoreCaseLikeAndActivo(String nombre, Boolean activo, Pageable pageable);
TipoActividadRiesgoServiceImpl.java
- Agregamos los import’s necesarios
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**********************************************************************/
/**
* Ver {@link TipoActividadRiesgoService#findAllByNombreIgnoreCaseLikeAndActivo(java.lang.String, java.lang.Boolean, org.springframework.data.domain.Pageable) }
*
* @param nombre : nombre por buscar
* @param activo : 1 = activo / 0 = Inactivo
* @param pageable : parametro utilizado para paginación
* @author Gustavo Matamoros González
* @fechaCreacion: 04/01/2023
* @fechaModificacion: 04/01/2023
* @Version: 1.0.0
* @modulo: PPI-MCG
* @issue: PPI-279
*/
/**********************************************************************/
// Indicamos que vamos a sobreescribir el método
@Override
public Page<TipoActividadRiesgo> findAllByNombreIgnoreCaseLikeAndActivo(String nombre, Boolean activo, Pageable pageable) {
return repository.findAllByNombreIgnoreCaseLikeAndActivo("%" + nombre + "%", activo, pageable);
}
- Ahora en el Bean que va a utiliza la función creamos una función complete
ActividadRespuestaRiesgoBean.java
/*************************************************************************************************/
/*************************************************************************************************/
/********************** FUNCIONES: Tipo Actividad Riesgo *******************************/
/*************************************************************************************************/
/*************************************************************************************************/
public Page<TipoActividadRiesgo> completeTipoActividadRiesgo(String query, Pageable pageable) {
return service.autoCompleteTipoActividadRiesgo(query, pageable);
}
/*************************************************************************************************/
/*************************************************************************************************/
/********************** FIN FUNCIONES: Tipo Actividad Riesgo *******************************/
/*************************************************************************************************/
/*************************************************************************************************/
- Y en el servicio creamos la definición
ActividadRespuestaRiesgoService.java
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**********************************************************************/
/**
* Definición autocomplete TipoActividadRiesgo
*
* @param query : consulta del usuario
* @param pgbl : para paginación
* @return
*/
/**********************************************************************/
public Page<TipoActividadRiesgo> autoCompleteTipoActividadRiesgo(String query, Pageable pgbl);
- Y creamos la implementación
ActividadRespuestaRiesgoServiceImpl.java
import cr.ac.una.cgi.sigesa.ppi.mcg.domain.EstadoARR;
import cr.ac.una.cgi.sigesa.ppi.mcg.service.EstadoARRService;
@Autowired
EstadoARRService estadoARRService;
- Implementación donde le enviamos TRUE para que solo devuelva los activos
import cr.ac.una.cgi.sigesa.ppi.mcg.domain.TipoActividadRiesgo;
import cr.ac.una.cgi.sigesa.ppi.mcg.service.TipoActividadRiesgoService;
@Autowired
TipoActividadRiesgoService tipoActividadRiesgoService;
/**********************************************************************/
/*********** FUNCIÓN: autoCompleteTipoActividadRiesgo *************/
/**********************************************************************/
@Override
public Page<TipoActividadRiesgo> autoCompleteTipoActividadRiesgo(String query, Pageable pgbl) {
return tipoActividadRiesgoService.findAllByNombreIgnoreCaseLikeAndActivo(query, Boolean.TRUE, pgbl);
}
actividadRespuestaRiesgoEditForm.xhmtl
<!--####################################################################################-->
<!--########################## TIPO ACTIVIDAD RIESGO ##################################-->
<!--####################################################################################-->
<!--LABEL-->
<p:outputLabel id="actividadRespuestaRiesgo_tipoActividadRiesgo_OutputLabel"
for="actividadRespuestaRiesgo_tipoActividadRiesgo_AutoComplete"
value="#{i18n.actividadRespuestaRiesgo_tipoActividadRiesgo_label}"/>
<!--PANEL-->
<p:outputPanel id="actividadRespuestaRiesgo_tipoActividadRiesgo_OutputPanel">
<!-- AUTOCOMPLETE -->
<una:autoCompletePaginator id="actividadRespuestaRiesgo_tipoActividadRiesgo_AutoComplete"
paginator="true"
paginationRows="10"
dropdown="true"
value="#{actividadRespuestaRiesgoBean.entity.tipoActividadRiesgo}"
var="tipoActividadRiesgo"
itemLabel="#{tipoActividadRiesgo.nombre}"
itemValue="#{tipoActividadRiesgo}"
completeMethod="#{actividadRespuestaRiesgoBean.completeTipoActividadRiesgo}"
converter="#{tipoActividadRiesgoBean.converter}"
forceSelection="true"
noSelectedOption="true"
noSelectedLabel="#{i18n.actividadRespuestaRiesgo_tipoActividadRiesgo_select_label}"
onNoSelectedOption="#{actividadRespuestaRiesgoBean.handleClearTipoActividadRiesgoInicial()}"
size="40"
scrollHeight="200"
required="true">
</una:autoCompletePaginator>
<!-- LOV -->
<components:dialogFrameworkData id="actividadRespuestaRiesgo_tipoActividadRiesgo_ListDialog"
title="#{i18n.actividadRespuestaRiesgo_periodoAnualInicial_lov_label}"
contentWidth="800"
methodName="findAllByActivoLOV"
lOVBean="#{tipoActividadRiesgoLOVBean}"
target="#{actividadRespuestaRiesgoBean.entity.tipoActividadRiesgo}"
disabled="false"
update="actividadRespuestaRiesgo_tipoActividadRiesgo_AutoComplete"
/>
</p:outputPanel>
<!--MENSAJE-->
<p:message id="actividadRespuestaRiesgo_tipoActividadRiesgo_Message"
for="actividadRespuestaRiesgo_tipoActividadRiesgo_AutoComplete"/>
<!--####################################################################################-->
<!--####################################################################################-->
<!--####################################################################################-->