From c80d305bcbbc6e35a465128156a853f1bd0b6162 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 31 Aug 2026 15:13:58 -0500 Subject: [PATCH] Actualizar backend/services.py --- backend/services.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/services.py b/backend/services.py index 8c56a99..c0d1199 100644 --- a/backend/services.py +++ b/backend/services.py @@ -281,7 +281,12 @@ def cobranza(ano, mes, sectorista="TODOS", agrupacion="SEDE", sede_filtro="TODOS def _load(): dm = get_dm() logic = CobranzaLogic(dm) - filas = logic.obtener_datos_tabla(str(ano), str(mes), sectorista, agrupacion, sede_filtro, prog_filtro, venc_hasta) + # MatrĂ­culas POR RETIRAR (Supabase) para calcular la columna SALDO POR RETIRAR + try: + mats_retirar = set(alumnos_por_retirar().get("matriculas", [])) + except Exception: + mats_retirar = set() + filas = logic.obtener_datos_tabla(str(ano), str(mes), sectorista, agrupacion, sede_filtro, prog_filtro, venc_hasta, mats_retirar) sectoristas = logic.obtener_lista_sectoristas(str(ano), str(mes)) return { "filas": _serializar_filas(filas), @@ -736,6 +741,9 @@ def alumno_estado_guardar(matricula, estado, observaciones, usuario=None): "actualizado_por": usuario or None, } sb.table("cobranza_estado_alumno").upsert(payload).execute() + # Invalidar la tabla de cobranza para recalcular la columna SALDO POR RETIRAR + from cache_manager import cache_invalidate + cache_invalidate("cobranza") return {"status": "ok"} def alumnos_por_retirar():