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 Horaria—Requerido 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);