2.9 KiB
Horas del equipo — Etapa 2
Objetivo
Agregar al Tablero CDC una vista clara para consultar las horas registradas por persona y por día, combinando automáticamente:
- Horas históricas migradas desde
Registro horas. - Horas nuevas creadas desde el módulo
Tiempode la app.
Experiencia de usuario
El encabezado del Tablero incorpora el botón Horas del equipo. Al abrirlo se muestra un módulo visual integrado con el estilo de la aplicación que incluye:
- Periodos rápidos: hoy, 7 días, 30 días, este mes y todo.
- Rango personalizado desde/hasta.
- Filtro por Equipo actual / Histórico / Todos.
- Búsqueda de personas.
- Orden por más horas, actividad reciente o nombre.
- Resumen del periodo: horas, personas con horas, días con actividad y promedio por persona/día.
- Resumen individual: total, promedio diario y días con registros.
- Desglose diario seleccionable.
- Detalle de proyecto, tarea, país, duración y nota.
- Paginación de actividades.
El promedio diario se calcula sobre los días en los que la persona tiene al menos un registro; no presupone una jornada objetivo ni inventa feriados.
Identidad de personas
Las horas nuevas traen correo y se vinculan directamente al roster activo. Para el histórico, la app realiza una conciliación conservadora por nombre: coincidencia exacta o al menos dos componentes del nombre coincidentes de forma no ambigua. Esto permite unificar, por ejemplo, variantes del nombre usadas antes y después de la app sin fusionar nombres ambiguos como Thaía Suplencia Gerardo.
Seguridad y datos
- No se modifica
tablero_cdc_projects. - No se modifica
tablero_cdc_project_time_entries. - No se modifica
tablero_cdc_time_history. - No se modifica el workflow de sincronización de Registro horas.
- No se modifica el sistema de métricas.
- El módulo reutiliza
public.tablero_cdc_time_combined, creada en la Etapa 1. - El SQL de esta etapa solo crea
public.tablero_cdc_get_team_hours_roster(), un RPC de lectura mínima que devuelve nombre/correo de usuarios activos después de validar que quien consulta tiene acceso al Tablero.
Instalación
- Ejecutar
supabase_tablero_cdc_team_hours_dashboard.sqlen Supabase. - Probar el
distincluido en el ZIP. - Entrar al Tablero y abrir Horas del equipo.
- Confirmar que en Equipo actual aparecen también usuarios con 0 horas en el periodo.
- Probar 7 días, 30 días, este mes y Todo.
- Seleccionar una persona y un día; comprobar el detalle de actividades.
Compatibilidad
El dist actual contiene assets/team-hours-dashboard-v1.js para mantener la misma estrategia de despliegue del ZIP recibido, que ya utiliza módulos complementarios para Tiempo, Listas, Briefs, métricas y persistencia. El código fuente también incluye la implementación nativa React (TeamHoursDialog.tsx + teamHours.ts) para que una compilación futura conserve la funcionalidad sin depender del parche del dist.