# US-MGN-010-005-001: Dashboard RRHH **RF Asociado:** [RF-MGN-010-001](../../02-modelado/requerimientos-funcionales/mgn-010/RF-MGN-010-001-gestión-de-empleados.md) **Módulo:** MGN-010 - RRHH Básico **Epic:** Dashboard **Prioridad:** P1 **Story Points:** 5 **Sprint:** Sprint 23 **Estado:** Ready for Development **Fecha:** 2025-11-24 --- ## User Story **Como** gerente de RRHH, **Quiero** dashboard con KPIs de RRHH, **Para** monitorear métricas clave del personal. ## Descripción Detallada Dashboard muestra: - **KPIs:** - Headcount total - Nuevas contrataciones (mes) - Terminaciones (mes) - Contratos por vencer (próximos 60 días) - Ausencias (mes) - **Gráficos:** - Headcount por departamento - Antigüedad promedio - Distribución por tipo de contrato ## Criterios de Aceptación ### Escenario 1: Ver KPIs **Dado que** hay 100 empleados activos, 5 nuevos este mes, **Cuando** accedo a dashboard, **Entonces** veo "Headcount: 100", "Nuevas contrataciones: 5". ### Escenario 2: Contratos por vencer **Dado que** 3 contratos vencen en próximos 60 días, **Cuando** veo widget, **Entonces** muestra "3 contratos por vencer" con lista. ### Escenario 3: Gráfico por departamento **Dado que** IT tiene 30 empleados, Ventas 20, **Cuando** veo gráfico, **Entonces** barra IT > barra Ventas. ## Reglas de Negocio - **RN-1:** Datos en tiempo real (no cache). - **RN-2:** RLS filtra por empresa. - **RN-3:** Solo hr_user y superiores. ## Tareas Técnicas ### Backend - [ ] Endpoint: GET `/api/v1/hr/dashboard/kpis` - [ ] Queries optimizadas ### Frontend - [ ] Página: `HRDashboardPage.tsx` - [ ] Componentes: `KPICard.tsx`, `HeadcountChart.tsx` ## Estimación Detallada | Tarea | Horas | Backend | 2 | Frontend | 2.5 | Testing | 1 | **TOTAL** | **5.5 horas = 5 SP** | ## Definition of Done - [ ] KPIs calculados correctamente - [ ] Gráficos muestran datos - [ ] Tests >80% - [ ] QA/PO aprobado ## Referencias - [RF-MGN-010-001](../../02-modelado/requerimientos-funcionales/mgn-010/RF-MGN-010-001-gestión-de-empleados.md)