Actualizar backend/services.py

This commit is contained in:
2026-08-31 15:13:58 -05:00
parent 897f9bf16f
commit c80d305bcb

View File

@@ -281,7 +281,12 @@ def cobranza(ano, mes, sectorista="TODOS", agrupacion="SEDE", sede_filtro="TODOS
def _load(): def _load():
dm = get_dm() dm = get_dm()
logic = CobranzaLogic(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)) sectoristas = logic.obtener_lista_sectoristas(str(ano), str(mes))
return { return {
"filas": _serializar_filas(filas), "filas": _serializar_filas(filas),
@@ -736,6 +741,9 @@ def alumno_estado_guardar(matricula, estado, observaciones, usuario=None):
"actualizado_por": usuario or None, "actualizado_por": usuario or None,
} }
sb.table("cobranza_estado_alumno").upsert(payload).execute() 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"} return {"status": "ok"}
def alumnos_por_retirar(): def alumnos_por_retirar():