Skip to content

feat(ti/proyectos): KPIs por etapa+semáforo (completados/seguimiento/riesgo/retraso)

Rafael Bautista requested to merge ti into qa

Reemplaza las 4 tarjetas KPI del dashboard de Proyectos TI por una clasificación operativa basada en num_etapa × semaforo. La suma de las 4 = total de proyectos filtrado.

Reglas (siempre sobre el subset filtrado por el usuario):

  • COMPLETADOS = num_etapa == 8 (cualquier semáforo)
  • EN SEGUIMIENTO = num_etapa ∈ [1..7] ∧ semáforo verde
  • EN RIESGO = num_etapa ∈ [1..7] ∧ semáforo amarillo
  • EN RETRASO = num_etapa ∈ [1..7] ∧ semáforo rojo

Cambios:

  • Backend (backend/routers/ti.py): agrega completados, en_seguimiento, en_riesgo, en_retraso al payload de /api/ti/proyectos/dashboard/stats. Los conteos respetan los filtros multi-select aplicados.
  • API typing (portal_ti/lib/ti.api.ts): 4 campos nuevos en DashboardStats con la regla documentada en comentario.
  • Page (portal_ti/app/sistemas/proyectos/page.tsx):
    • Reemplaza las 4 KPI cards "En desarrollo / Mantenimiento / En riesgo / Avance honesto" por COMPLETADOS · EN SEGUIMIENTO · EN RIESGO · EN RETRASO con iconos y colores semáforo (CheckCircle2/success, Activity/success, AlertTriangle/warning, Clock/danger).
    • Elimina la función huérfana KpiAvanceHonesto (~47 líneas) y los imports Wrench y ShieldAlert que ya no se usan.
    • Fix de tipos: consumidores del filtro semáforo en el chart de tendencia normalizan el array (map(s => s.trim().toLowerCase())
      • includes) en lugar de .trim() sobre string[] — corrige error de compilación en build de Docker.

Merge request reports

Loading