PrimaryLevelFilter
Filtro fluido para búsquedas de Servicios (Niveles Primarios) en Shori.
Permite construir consultas dinámicas utilizando los operadores
soportados por la API de Shori tales como EQ, IN,
LIKE, BETWEEN, entre otros definidos en
FilterOperator.
Se usa con client.caso().primaryLevel().search(filter).
Campos opcionales
primaryLevelId— UUID del servicioname— nombre del serviciosystemName— nombre de sistemaresponsibleId— UUID del responsableisActive— estado activo/inactivosecondaryLevelCount— cantidad de procesos asociadosgroupId— UUID del grupopageNumber— default0pageSize— default20orderBy— default"name"sortDirection— defaultSortDirection#DESC
Operadores disponibles
FilterOperator.EQ // Igual
FilterOperator.NE // Diferente
FilterOperator.GT // Mayor que
FilterOperator.GE // Mayor o igual
FilterOperator.LT // Menor que
FilterOperator.LE // Menor o igual
FilterOperator.IN // Lista de valores
FilterOperator.NOT_IN // No en la lista
FilterOperator.BETWEEN // Rango
FilterOperator.LIKE // Contiene
FilterOperator.LIKE_AFTER // Empieza con
FilterOperator.LIKE_BEFORE // Termina con
FilterOperator.IS_NULL // Es nulo
FilterOperator.IS_NOT_NULL // No es nulo
Uso básico
PrimaryLevelFilter filter = PrimaryLevelFilter.builder()
.name(FilterOperator.LIKE, "Atención")
.isActive(FilterOperator.EQ, "true")
.build();
PrimaryLevelSearchResponse response =
client.caso().primaryLevel().search(filter);
Uso con operador IN implícito
Cuando no se especifica un operador, el SDK aplica automáticamente IN.
PrimaryLevelFilter filter = PrimaryLevelFilter.builder()
.primaryLevelId("uuid-1", "uuid-2", "uuid-3")
.build();
Paginación y ordenamiento
PrimaryLevelFilter filter = PrimaryLevelFilter.builder()
.name(FilterOperator.LIKE, "Cliente")
.pageNumber(0)
.pageSize(50)
.orderBy("name")
.sortDirection(SortDirection.ASC)
.build();
Campos
| Campo | Tipo | Restricciones | Descripción |
|---|---|---|---|
primaryLevelId | String | Opcional | UUID del servicio |
name | String | Opcional | Nombre del servicio |
systemName | String | Opcional | Nombre del sistema |
responsibleId | String | Opcional | UUID del responsable |
isActive | String | Opcional | Indica si el servicio está activo |
secondaryLevelCount | String | Opcional | Cantidad de procesos |
groupId | String | Opcional | UUID del grupo |
pagination | PaginationRequest | Opcional | Paginación |
Metodos
builder()
Construye una nueva instancia del filtro.
PrimaryLevelFilter filter = PrimaryLevelFilter.builder()
.name(FilterOperator.LIKE, "Cliente")
.pageNumber(0)
.pageSize(100)
.orderBy("name")
.sortDirection("desc")
.build();
Retorna: nueva instancia del filtro.
primaryLevelId(FilterOperator operator, String... values)
Filtra por UUID del servicio con el operador especificado.
Parametros:
operator— operador a utilizar.values— UUID(s) del servicio.
Retorna: la misma instancia del filtro.
primaryLevelId(String... values)
Filtra por UUID del servicio usando el operador IN por defecto.
Parametros:
values— UUID(s) del servicio.
Retorna: la misma instancia del filtro.
name(FilterOperator operator, String... values)
Filtra por nombre del servicio con el operador especificado.
Parametros:
operator— operador a utilizar.values— valores a filtrar.
Retorna: la misma instancia del filtro.
name(String... values)
Filtra por nombre del servicio usando el operador IN por defecto.
Parametros:
values— valores a filtrar.
Retorna: la misma instancia del filtro.
systemName(FilterOperator operator, String... values)
Filtra por nombre de sistema del servicio con el operador especificado.
Parametros:
operator— operador a utilizar.values— valores a filtrar.
Retorna: la misma instancia del filtro.
systemName(String... values)
Filtra por nombre de sistema usando el operador IN por defecto.
Parametros:
values— valores a filtrar.
Retorna: la misma instancia del filtro.
responsibleId(FilterOperator operator, String... values)
Filtra por responsable asociado al servicio con el operador especificado.
Parametros:
operator— operador a utilizar.values— UUID(s) del responsable.
Retorna: la misma instancia del filtro.
responsibleId(String... values)
Filtra por responsable usando el operador IN por defecto.
Parametros:
values— UUID(s) del responsable.
Retorna: la misma instancia del filtro.
isActive(FilterOperator operator, String... values)
Filtra por estado activo/inactivo del servicio con el operador especificado.
Parametros:
operator— operador a utilizar.values— valores a filtrar ("true"o"false").
Retorna: la misma instancia del filtro.
isActive(String... values)
Filtra por estado activo/inactivo usando el operador IN por defecto.
Parametros:
values— valores a filtrar.
Retorna: la misma instancia del filtro.
secondaryLevelCount(FilterOperator operator, String... values)
Filtra por cantidad de procesos asociados con el operador especificado.
Parametros:
operator— operador a utilizar.values— valores a filtrar.
Retorna: la misma instancia del filtro.
secondaryLevelCount(String... values)
Filtra por cantidad de procesos usando el operador IN por defecto.
Parametros:
values— valores a filtrar.
Retorna: la misma instancia del filtro.
groupId(FilterOperator operator, String... values)
Filtra por UUID del grupo al que pertenece el servicio con el operador especificado.
Parametros:
operator— operador a utilizar.values— UUID(s) del grupo.
Retorna: la misma instancia del filtro.
groupId(String... values)
Filtra por UUID del grupo usando el operador IN por defecto.
Parametros:
values— UUID(s) del grupo.
Retorna: la misma instancia del filtro.
pageNumber(int pageNumber)
Configura el número de página.
Por defecto: 0.
filter.pageNumber(0);
Parametros:
pageNumber— número de página basado en cero.
Retorna: la misma instancia del filtro.
pageSize(int pageSize)
Establece el tamaño de página.
Por defecto: 20.
filter.pageSize(50);
Parametros:
pageSize— cantidad de registros por página
Retorna: la misma instancia del filtro.
orderBy(String orderBy)
Establece el campo por el que se ordenan los resultados.
Por defecto: "createdAt".
Parametros:
orderBy— nombre del campo de ordenamiento
Retorna: la misma instancia del filtro.
sortDirection(SortDirection sortDirection)
Establece la dirección del ordenamiento.
Por defecto: SortDirection#DESC.
Parametros:
sortDirection—SortDirection#ASCoSortDirection#DESC
Retorna: la misma instancia del filtro.
build()
Finaliza la construcción del filtro.
PrimaryLevelFilter filter = PrimaryLevelFilter.builder()
.name(FilterOperator.LIKE, "Soporte")
.pageSize(50)
.build();
Retorna: filtro configurado.
applyDefaultInOperators()
Aplica automáticamente el operador IN
a los filtros que no especifican un operador explícito.
Este método es invocado internamente por el SDK antes de ejecutar la búsqueda.
Ejemplo:
PrimaryLevelFilter.builder()
.name("Soporte")
.build();
Se transforma internamente en:
name = "in:Soporte"
nextPage()
Avanza el filtro a la siguiente página manteniendo todos los criterios de búsqueda actuales.
filter.nextPage();
Retorna: la misma instancia actualizada con la siguiente página.
copyForNextPage()
Genera una copia del filtro posicionada en la página siguiente.
La instancia original permanece sin modificaciones.
PrimaryLevelFilter next =
currentFilter.copyForNextPage();
Retorna: nueva instancia del filtro apuntando a la siguiente página.