primer form de informe listo

This commit is contained in:
fedpo
2024-12-02 20:36:33 +00:00
parent c17323ebe4
commit aeeae3c9b8
8 changed files with 118 additions and 32 deletions

View File

@@ -1,10 +1,26 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Entidades.DTO namespace Entidades.DTO
{ {
public record DtoProductoInforme(int Id, string Nombre, int CantidadVendida, int StockRemanente); public class DtoProductoInforme
{
public int Id { get; set; }
public string Nombre { get; set; }
public int CantidadVendida { get; set; }
public int StockRemanente { get; set; }
public DtoProductoInforme(int Id, string Nombre, int CantidadVendida, int StockRemanente)
{
this.CantidadVendida = CantidadVendida;
this.Id = Id;
this.Nombre = Nombre;
this.StockRemanente = StockRemanente;
}
}
} }

View File

@@ -89,7 +89,7 @@ namespace Modelo
public List<DtoProductoInforme> ObtenerInformeProductoMasUsados() public List<DtoProductoInforme> ObtenerInformeProductoMasUsados()
{ {
List<DtoProductoInforme> list var list
= context.DetalleFacturas = context.DetalleFacturas
.GroupBy(df => df.Producto) .GroupBy(df => df.Producto)
.Select(g => new DtoProductoInforme .Select(g => new DtoProductoInforme
@@ -97,10 +97,17 @@ namespace Modelo
g.Key.Id, g.Key.Id,
g.Key.Nombre, g.Key.Nombre,
g.Sum(df => df.Cantidad), g.Sum(df => df.Cantidad),
context.Lotes.Include(x => x.Producto).Where(x=>x.Id == g.Key.Id).Sum(x => x.Cantidad) 0
)) ))
.ToList(); .ToList()
return list; .OrderByDescending(x => x.CantidadVendida);
foreach (var item in list)
{
item.StockRemanente = context.Lotes.Where(x => x.Producto.Id == item.Id).Sum(x => x.Cantidad);
}
return list.ToList();
} }
} }
} }

View File

@@ -155,6 +155,7 @@
Controls.Add(btnBuscar); Controls.Add(btnBuscar);
Name = "FrmInformeFacturaPorFecha"; Name = "FrmInformeFacturaPorFecha";
Text = "Informe: Facturas"; Text = "Informe: Facturas";
WindowState = FormWindowState.Maximized;
((System.ComponentModel.ISupportInitialize)dgvFactura).EndInit(); ((System.ComponentModel.ISupportInitialize)dgvFactura).EndInit();
((System.ComponentModel.ISupportInitialize)dgvDetalles).EndInit(); ((System.ComponentModel.ISupportInitialize)dgvDetalles).EndInit();
ResumeLayout(false); ResumeLayout(false);

View File

@@ -183,6 +183,7 @@
Controls.Add(btnBusqueda); Controls.Add(btnBusqueda);
Name = "FrmInformeFacturasPorCliente"; Name = "FrmInformeFacturasPorCliente";
Text = "Informe: Clientes"; Text = "Informe: Clientes";
WindowState = FormWindowState.Maximized;
((System.ComponentModel.ISupportInitialize)dgvDetalle).EndInit(); ((System.ComponentModel.ISupportInitialize)dgvDetalle).EndInit();
((System.ComponentModel.ISupportInitialize)dgvFactura).EndInit(); ((System.ComponentModel.ISupportInitialize)dgvFactura).EndInit();
((System.ComponentModel.ISupportInitialize)dgvCliente).EndInit(); ((System.ComponentModel.ISupportInitialize)dgvCliente).EndInit();

View File

@@ -30,6 +30,8 @@
{ {
dgvProductos = new DataGridView(); dgvProductos = new DataGridView();
label1 = new Label(); label1 = new Label();
textBox1 = new TextBox();
label2 = new Label();
((System.ComponentModel.ISupportInitialize)dgvProductos).BeginInit(); ((System.ComponentModel.ISupportInitialize)dgvProductos).BeginInit();
SuspendLayout(); SuspendLayout();
// //
@@ -37,6 +39,8 @@
// //
dgvProductos.AllowUserToAddRows = false; dgvProductos.AllowUserToAddRows = false;
dgvProductos.AllowUserToDeleteRows = false; dgvProductos.AllowUserToDeleteRows = false;
dgvProductos.AllowUserToResizeColumns = false;
dgvProductos.AllowUserToResizeRows = false;
dgvProductos.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; dgvProductos.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dgvProductos.EditMode = DataGridViewEditMode.EditProgrammatically; dgvProductos.EditMode = DataGridViewEditMode.EditProgrammatically;
dgvProductos.Location = new Point(12, 28); dgvProductos.Location = new Point(12, 28);
@@ -56,15 +60,37 @@
label1.TabIndex = 5; label1.TabIndex = 5;
label1.Text = "Productos Más Vendidos"; label1.Text = "Productos Más Vendidos";
// //
// textBox1
//
textBox1.Enabled = false;
textBox1.Location = new Point(773, 28);
textBox1.Multiline = true;
textBox1.Name = "textBox1";
textBox1.Size = new Size(194, 59);
textBox1.TabIndex = 7;
textBox1.Text = "Se muestra en orden los productos más vendidos a los menos vendidos";
//
// label2
//
label2.AutoSize = true;
label2.Location = new Point(773, 9);
label2.Name = "label2";
label2.Size = new Size(51, 15);
label2.TabIndex = 8;
label2.Text = "Leyenda";
//
// FrmInformeProductosMasVendidos // FrmInformeProductosMasVendidos
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(780, 509); ClientSize = new Size(1137, 509);
Controls.Add(label2);
Controls.Add(textBox1);
Controls.Add(label1); Controls.Add(label1);
Controls.Add(dgvProductos); Controls.Add(dgvProductos);
Name = "FrmInformeProductosMasVendidos"; Name = "FrmInformeProductosMasVendidos";
Text = "Informe: Productos"; Text = "Informe: Productos";
WindowState = FormWindowState.Maximized;
((System.ComponentModel.ISupportInitialize)dgvProductos).EndInit(); ((System.ComponentModel.ISupportInitialize)dgvProductos).EndInit();
ResumeLayout(false); ResumeLayout(false);
PerformLayout(); PerformLayout();
@@ -74,5 +100,7 @@
private DataGridView dgvProductos; private DataGridView dgvProductos;
private Label label1; private Label label1;
private TextBox textBox1;
private Label label2;
} }
} }

View File

@@ -1,4 +1,5 @@
using System; using Controladora;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@@ -15,6 +16,12 @@ namespace Vista.Informes
public FrmInformeProductosMasVendidos() public FrmInformeProductosMasVendidos()
{ {
InitializeComponent(); InitializeComponent();
IniciarTabla();
}
private void IniciarTabla()
{
dgvProductos.DataSource = ControladoraInformes.Instance.MostrarProductosMasVendidos();
} }
} }
} }

View File

@@ -38,12 +38,12 @@
ordenDeCompraToolStripMenuItem = new ToolStripMenuItem(); ordenDeCompraToolStripMenuItem = new ToolStripMenuItem();
pedidosPresupuestoToolStripMenuItem = new ToolStripMenuItem(); pedidosPresupuestoToolStripMenuItem = new ToolStripMenuItem();
categoriasToolStripMenuItem = new ToolStripMenuItem(); categoriasToolStripMenuItem = new ToolStripMenuItem();
configToolStripMenuItem = new ToolStripMenuItem();
informesToolStripMenuItem = new ToolStripMenuItem();
informesToolStrip = new ToolStripMenuItem(); informesToolStrip = new ToolStripMenuItem();
facturasPorFechaToolStripMenuItem = new ToolStripMenuItem(); facturasPorFechaToolStripMenuItem = new ToolStripMenuItem();
facturasPorClienteToolStripMenuItem = new ToolStripMenuItem(); facturasPorClienteToolStripMenuItem = new ToolStripMenuItem();
productoMasVendidoToolStripMenuItem = new ToolStripMenuItem(); productoMasVendidoToolStripMenuItem = new ToolStripMenuItem();
configToolStripMenuItem = new ToolStripMenuItem();
informesToolStripMenuItem = new ToolStripMenuItem();
menuStrip1.SuspendLayout(); menuStrip1.SuspendLayout();
SuspendLayout(); SuspendLayout();
// //
@@ -67,73 +67,59 @@
// clientesToolStripMenuItem // clientesToolStripMenuItem
// //
clientesToolStripMenuItem.Name = "clientesToolStripMenuItem"; clientesToolStripMenuItem.Name = "clientesToolStripMenuItem";
clientesToolStripMenuItem.Size = new Size(180, 22); clientesToolStripMenuItem.Size = new Size(164, 22);
clientesToolStripMenuItem.Text = "Clientes"; clientesToolStripMenuItem.Text = "Clientes";
clientesToolStripMenuItem.Click += clientesToolStripMenuItem_Click; clientesToolStripMenuItem.Click += clientesToolStripMenuItem_Click;
// //
// ventasToolStripMenuItem // ventasToolStripMenuItem
// //
ventasToolStripMenuItem.Name = "ventasToolStripMenuItem"; ventasToolStripMenuItem.Name = "ventasToolStripMenuItem";
ventasToolStripMenuItem.Size = new Size(180, 22); ventasToolStripMenuItem.Size = new Size(164, 22);
ventasToolStripMenuItem.Text = "Ventas"; ventasToolStripMenuItem.Text = "Ventas";
ventasToolStripMenuItem.Click += ventasToolStripMenuItem_Click; ventasToolStripMenuItem.Click += ventasToolStripMenuItem_Click;
// //
// proveedoresToolStripMenuItem // proveedoresToolStripMenuItem
// //
proveedoresToolStripMenuItem.Name = "proveedoresToolStripMenuItem"; proveedoresToolStripMenuItem.Name = "proveedoresToolStripMenuItem";
proveedoresToolStripMenuItem.Size = new Size(180, 22); proveedoresToolStripMenuItem.Size = new Size(164, 22);
proveedoresToolStripMenuItem.Text = "Proveedores"; proveedoresToolStripMenuItem.Text = "Proveedores";
proveedoresToolStripMenuItem.Click += proveedoresToolStripMenuItem_Click; proveedoresToolStripMenuItem.Click += proveedoresToolStripMenuItem_Click;
// //
// productosToolStripMenuItem // productosToolStripMenuItem
// //
productosToolStripMenuItem.Name = "productosToolStripMenuItem"; productosToolStripMenuItem.Name = "productosToolStripMenuItem";
productosToolStripMenuItem.Size = new Size(180, 22); productosToolStripMenuItem.Size = new Size(164, 22);
productosToolStripMenuItem.Text = "Productos"; productosToolStripMenuItem.Text = "Productos";
productosToolStripMenuItem.Click += productosToolStripMenuItem_Click; productosToolStripMenuItem.Click += productosToolStripMenuItem_Click;
// //
// remitosToolStripMenuItem // remitosToolStripMenuItem
// //
remitosToolStripMenuItem.Name = "remitosToolStripMenuItem"; remitosToolStripMenuItem.Name = "remitosToolStripMenuItem";
remitosToolStripMenuItem.Size = new Size(180, 22); remitosToolStripMenuItem.Size = new Size(164, 22);
remitosToolStripMenuItem.Text = "Remitos"; remitosToolStripMenuItem.Text = "Remitos";
remitosToolStripMenuItem.Click += remitosToolStripMenuItem_Click; remitosToolStripMenuItem.Click += remitosToolStripMenuItem_Click;
// //
// ordenDeCompraToolStripMenuItem // ordenDeCompraToolStripMenuItem
// //
ordenDeCompraToolStripMenuItem.Name = "ordenDeCompraToolStripMenuItem"; ordenDeCompraToolStripMenuItem.Name = "ordenDeCompraToolStripMenuItem";
ordenDeCompraToolStripMenuItem.Size = new Size(180, 22); ordenDeCompraToolStripMenuItem.Size = new Size(164, 22);
ordenDeCompraToolStripMenuItem.Text = "OrdenDeCompra"; ordenDeCompraToolStripMenuItem.Text = "OrdenDeCompra";
ordenDeCompraToolStripMenuItem.Click += ordenDeCompraToolStripMenuItem_Click; ordenDeCompraToolStripMenuItem.Click += ordenDeCompraToolStripMenuItem_Click;
// //
// pedidosPresupuestoToolStripMenuItem // pedidosPresupuestoToolStripMenuItem
// //
pedidosPresupuestoToolStripMenuItem.Name = "pedidosPresupuestoToolStripMenuItem"; pedidosPresupuestoToolStripMenuItem.Name = "pedidosPresupuestoToolStripMenuItem";
pedidosPresupuestoToolStripMenuItem.Size = new Size(180, 22); pedidosPresupuestoToolStripMenuItem.Size = new Size(164, 22);
pedidosPresupuestoToolStripMenuItem.Text = "Presupuesto"; pedidosPresupuestoToolStripMenuItem.Text = "Presupuesto";
pedidosPresupuestoToolStripMenuItem.Click += pedidosPresupuestoToolStripMenuItem_Click; pedidosPresupuestoToolStripMenuItem.Click += pedidosPresupuestoToolStripMenuItem_Click;
// //
// categoriasToolStripMenuItem // categoriasToolStripMenuItem
// //
categoriasToolStripMenuItem.Name = "categoriasToolStripMenuItem"; categoriasToolStripMenuItem.Name = "categoriasToolStripMenuItem";
categoriasToolStripMenuItem.Size = new Size(180, 22); categoriasToolStripMenuItem.Size = new Size(164, 22);
categoriasToolStripMenuItem.Text = "Categorias"; categoriasToolStripMenuItem.Text = "Categorias";
categoriasToolStripMenuItem.Click += categoriasToolStripMenuItem_Click; categoriasToolStripMenuItem.Click += categoriasToolStripMenuItem_Click;
// //
// configToolStripMenuItem
//
configToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { informesToolStripMenuItem });
configToolStripMenuItem.Name = "configToolStripMenuItem";
configToolStripMenuItem.Size = new Size(55, 20);
configToolStripMenuItem.Text = "Config";
//
// informesToolStripMenuItem
//
informesToolStripMenuItem.Name = "informesToolStripMenuItem";
informesToolStripMenuItem.Size = new Size(180, 22);
informesToolStripMenuItem.Text = "Informes";
informesToolStripMenuItem.Click += informesToolStripMenuItem_Click;
//
// informesToolStrip // informesToolStrip
// //
informesToolStrip.DropDownItems.AddRange(new ToolStripItem[] { facturasPorFechaToolStripMenuItem, facturasPorClienteToolStripMenuItem, productoMasVendidoToolStripMenuItem }); informesToolStrip.DropDownItems.AddRange(new ToolStripItem[] { facturasPorFechaToolStripMenuItem, facturasPorClienteToolStripMenuItem, productoMasVendidoToolStripMenuItem });
@@ -153,12 +139,28 @@
facturasPorClienteToolStripMenuItem.Name = "facturasPorClienteToolStripMenuItem"; facturasPorClienteToolStripMenuItem.Name = "facturasPorClienteToolStripMenuItem";
facturasPorClienteToolStripMenuItem.Size = new Size(194, 22); facturasPorClienteToolStripMenuItem.Size = new Size(194, 22);
facturasPorClienteToolStripMenuItem.Text = "Facturas Por Cliente"; facturasPorClienteToolStripMenuItem.Text = "Facturas Por Cliente";
facturasPorClienteToolStripMenuItem.Click += facturasPorClienteToolStripMenuItem_Click;
// //
// productoMasVendidoToolStripMenuItem // productoMasVendidoToolStripMenuItem
// //
productoMasVendidoToolStripMenuItem.Name = "productoMasVendidoToolStripMenuItem"; productoMasVendidoToolStripMenuItem.Name = "productoMasVendidoToolStripMenuItem";
productoMasVendidoToolStripMenuItem.Size = new Size(194, 22); productoMasVendidoToolStripMenuItem.Size = new Size(194, 22);
productoMasVendidoToolStripMenuItem.Text = "Producto Mas Vendido"; productoMasVendidoToolStripMenuItem.Text = "Producto Mas Vendido";
productoMasVendidoToolStripMenuItem.Click += productoMasVendidoToolStripMenuItem_Click;
//
// configToolStripMenuItem
//
configToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { informesToolStripMenuItem });
configToolStripMenuItem.Name = "configToolStripMenuItem";
configToolStripMenuItem.Size = new Size(55, 20);
configToolStripMenuItem.Text = "Config";
//
// informesToolStripMenuItem
//
informesToolStripMenuItem.Name = "informesToolStripMenuItem";
informesToolStripMenuItem.Size = new Size(121, 22);
informesToolStripMenuItem.Text = "Informes";
informesToolStripMenuItem.Click += informesToolStripMenuItem_Click;
// //
// PantallaPrincipal // PantallaPrincipal
// //

View File

@@ -1,3 +1,5 @@
using Vista.Informes;
namespace Vista namespace Vista
{ {
public partial class PantallaPrincipal : Form public partial class PantallaPrincipal : Form
@@ -119,7 +121,29 @@ namespace Vista
{ {
ActiveMdiChild.Close(); ActiveMdiChild.Close();
} }
var Frm = new FrmCategorias(); var Frm = new FrmInformeFacturaPorFecha();
Frm.MdiParent = this;
Frm.Show();
}
private void productoMasVendidoToolStripMenuItem_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
{
ActiveMdiChild.Close();
}
var Frm = new FrmInformeProductosMasVendidos();
Frm.MdiParent = this;
Frm.Show();
}
private void facturasPorClienteToolStripMenuItem_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
{
ActiveMdiChild.Close();
}
var Frm = new FrmInformeFacturasPorCliente();
Frm.MdiParent = this; Frm.MdiParent = this;
Frm.Show(); Frm.Show();
} }