El módulo de reportes ofrece dos vistas analíticas para monitorear el desempeño comercial de Tienda MiCholo: un reporte dedicado con los productos más vendidos de todos los tiempos y un dashboard principal que resume las métricas operativas del día con un gráfico de tendencia de los últimos 7 días. Ambas vistas están disponibles para todos los usuarios autenticados.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/interezante456-pixel/proyecto-dise-o/llms.txt
Use this file to discover all available pages before exploring further.
Productos más vendidos
DetallesVentas, agrupa los registros por Producto_ID y calcula las métricas de venta acumuladas. El resultado contiene el top 5 de productos según cantidad total vendida.
Lógica de la consulta:
| Campo | Tipo | Descripción |
|---|---|---|
ProductoId | int | IdProducto del producto agrupado. |
NombreProducto | string | Nombre del producto (tomado del primer registro del grupo). |
CantidadTotal | int | Suma total de unidades vendidas: SUM(Cantidad). |
TotalRecaudado | decimal | Monto total recaudado: SUM(Cantidad * PrecioUnitario). |
El reporte de productos más vendidos considera todas las ventas históricas sin filtrar por estado. Es decir, los
DetalleVenta vinculados a ventas con EstadoVenta.Anulada también se incluyen en el cómputo, ya que el agrupamiento se realiza directamente sobre DetallesVentas sin hacer join con Ventas para filtrar por EstadoVenta.TempData["Error"].
Dashboard principal
DashboardViewModel para consolidar las métricas clave del negocio y los datos del gráfico de ventas semanales.
Campos de DashboardViewModel:
| Propiedad | Tipo | Descripción |
|---|---|---|
VentasDelDia | decimal | Suma de Venta.Total de todas las ventas con Estado = Activa cuya FechaVenta.Date sea igual a DateTime.Today. |
ProductosActivos | int | Conteo de productos donde Activo = true. |
ProveedoresTotal | int | Conteo total de proveedores registrados en el sistema, sin filtros. |
DiasUltimos7 | List<string> | Lista de 7 nombres de días (por ejemplo, "Lunes", "Martes"…) generados con la cultura es-PE (español peruano). |
VentasUltimos7Dias | List<decimal> | Lista de 7 totales de ventas (Activa) correspondientes a cada uno de los últimos 7 días, en el mismo orden que DiasUltimos7. Días sin ventas tienen valor 0. |
Ventas del día
Solo cuenta ventas con
EstadoVenta.Activa. Las ventas anuladas se excluyen del total del día para reflejar los ingresos reales.Gráfico semanal
Cubre un rango de 7 días (hoy incluido). Los días sin ninguna venta activa aparecen con valor
0 en la serie, garantizando que el gráfico siempre tenga exactamente 7 puntos de datos.Productos activos
Refleja el conteo en tiempo real de productos con
Activo = true. Los productos desactivados no se cuentan.Total de proveedores
Conteo simple de todos los proveedores registrados, sin distinción de estado (no hay campo
Activo en Proveedor).