erp-core/docs/05-user-stories/mgn-006/US-MGN-006-005-001-dashboard-compras.md

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

Referencias