2.7 KiB
US-MGN-006-005-001: Dashboard de Compras
RF Asociado: RF-MGN-006-006 Módulo: MGN-006 - Compras Básico Epic: Reportes de Compras Prioridad: P1 Story Points: 3 Sprint: Sprint 15 Estado: Ready for Development Fecha: 2025-11-24
User Story
Como gerente de compras, Quiero visualizar dashboard con métricas clave de compras, Para monitorear KPIs y tomar decisiones informadas.
Descripción Detallada
Dashboard muestra:
- Total de PO por estado (draft, purchase, done, cancelled)
- Monto total de compras (mes actual, acumulado año)
- Top 10 proveedores por volumen
- PO próximas a vencer
- Recepciones pendientes
- Tasa de devoluciones
Gráficos: barras, líneas, pie charts.
Criterios de Aceptación
Escenario 1: Visualizar dashboard con métricas (Camino Feliz)
Dado que hay PO y recepciones en el sistema, Cuando accedo al dashboard, Entonces veo: total PO por estado, monto compras mes, top proveedores, gráficos.
Escenario 2: Filtrar por rango de fechas
Dado que selecciono rango 2024-01-01 a 2024-03-31, Cuando aplico filtro, Entonces dashboard muestra métricas solo de ese período.
Escenario 3: Drill-down en métricas
Dado que hago clic en "PO en estado draft (5)", Cuando sistema procesa, Entonces navego a lista de PO filtradas por estado draft.
Reglas de Negocio
- RN-1: Métricas en tiempo real.
- RN-2: Filtros: fecha, proveedor, estado.
- RN-3: Drill-down a detalle.
Tareas Técnicas
Backend
- Endpoint: GET /api/v1/purchase/reports/dashboard
- Service: PurchaseReportService.getDashboard(filters)
- Queries agregadas optimizadas
- Caché de métricas (5 min)
- Unit tests
- Integration tests
- Swagger docs
Frontend
- Página: PurchaseDashboardPage.tsx
- Componentes: MetricCard, Chart (recharts)
- Filtros: fecha, proveedor
- API client: purchaseReportApi.getDashboard()
- Component tests
- E2E test
Database
- Views materializadas para métricas
- Índices optimizados
Estimación Detallada
| Tarea | Horas |
|---|---|
| Backend | 2 |
| Frontend | 2.5 |
| Testing | 1 |
| Code Review | 0.5 |
| TOTAL | 6 horas = 3 SP |
Definition of Done
- Código implementado según ET
- Tests pasando (>80%)
- Code review aprobado
- Métricas correctas
- Gráficos funcionan
- QA validado
- PO aprobado