Saltar al contenido principal

🔢 shori-count-cases

Cuenta el número de casos que coinciden con un filtro dado. Usa el mismo CaseFilter que shori-search-cases — mismos filtros, misma lógica, pero en vez de devolver los casos devuelve solo el conteo.

Diagrama del nodo

Filtros disponibles (mismo que shori-search-cases)

FiltroOperadoresDescripción
Producto (casoTypeId)EQ, IN, NOT INUUID del tipo de caso
Estado (workingSubStateId)EQ, IN, NOT INUUID(s) del estado
Servicio (primaryLevelId)EQ, IN, NOT INUUID del servicio
Proceso (secondaryLevelId)EQ, IN, NOT INUUID del proceso
Desde (createdAtFrom)Fecha de inicio YYYY-MM-DD
Hasta (createdAtTo)Fecha de fin YYYY-MM-DD
Zona HorariaRequerido si se usan fechas. Ej: America/Lima
dataFieldEQ, NE, GT, GE, LT, LE, IN, NOT IN, BETWEEN, LIKE, IS NULL, IS NOT NULLFiltros sobre campos del formulario del caso

Salidas

SalidaCampoDescripción
1 (éxito)msg.payload{ count: N } — número entero
2 (error)msg.error{ message, name, stack }

Ejemplos

Contar casos de un producto con filtro de estado

Desde nodo function

msg.payload = {
casoTypeId: { op: "eq", value: "tipo-uuid" },
workingSubStateId: { op: "in", value: "estado-1,estado-2" },
createdAtFrom: "2025-01-01",
createdAtTo: "2025-12-31",
timeZone: "America/Lima"
};
return msg;

Con filtros de datos del formulario

msg.payload = {
casoTypeId: { op: "eq", value: "tipo-uuid" },
dataField: [
{ fieldId: "estado", op: "eq", value: "ACTIVO" },
{ fieldId: "monto", op: "gt", value: "1000" }
]
};
return msg;

Equivalente en código

const count = await client.caso().count(
CaseFilter.builder()
.casoTypeId(FilterOperator.EQ, "tipo-uuid")
.workingSubStateId(FilterOperator.IN, "estado-1", "estado-2")
.build()
);
console.log("Total:", count);