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.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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()
{
List<DtoProductoInforme> list
var list
= context.DetalleFacturas
.GroupBy(df => df.Producto)
.Select(g => new DtoProductoInforme
@@ -97,10 +97,17 @@ namespace Modelo
g.Key.Id,
g.Key.Nombre,
g.Sum(df => df.Cantidad),
context.Lotes.Include(x => x.Producto).Where(x=>x.Id == g.Key.Id).Sum(x => x.Cantidad)
0
))
.ToList();
return list;
.ToList()
.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);
Name = "FrmInformeFacturaPorFecha";
Text = "Informe: Facturas";
WindowState = FormWindowState.Maximized;
((System.ComponentModel.ISupportInitialize)dgvFactura).EndInit();
((System.ComponentModel.ISupportInitialize)dgvDetalles).EndInit();
ResumeLayout(false);

View File

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

View File

@@ -30,6 +30,8 @@
{
dgvProductos = new DataGridView();
label1 = new Label();
textBox1 = new TextBox();
label2 = new Label();
((System.ComponentModel.ISupportInitialize)dgvProductos).BeginInit();
SuspendLayout();
//
@@ -37,6 +39,8 @@
//
dgvProductos.AllowUserToAddRows = false;
dgvProductos.AllowUserToDeleteRows = false;
dgvProductos.AllowUserToResizeColumns = false;
dgvProductos.AllowUserToResizeRows = false;
dgvProductos.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dgvProductos.EditMode = DataGridViewEditMode.EditProgrammatically;
dgvProductos.Location = new Point(12, 28);
@@ -56,15 +60,37 @@
label1.TabIndex = 5;
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
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(780, 509);
ClientSize = new Size(1137, 509);
Controls.Add(label2);
Controls.Add(textBox1);
Controls.Add(label1);
Controls.Add(dgvProductos);
Name = "FrmInformeProductosMasVendidos";
Text = "Informe: Productos";
WindowState = FormWindowState.Maximized;
((System.ComponentModel.ISupportInitialize)dgvProductos).EndInit();
ResumeLayout(false);
PerformLayout();
@@ -74,5 +100,7 @@
private DataGridView dgvProductos;
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.ComponentModel;
using System.Data;
@@ -15,6 +16,12 @@ namespace Vista.Informes
public FrmInformeProductosMasVendidos()
{
InitializeComponent();
IniciarTabla();
}
private void IniciarTabla()
{
dgvProductos.DataSource = ControladoraInformes.Instance.MostrarProductosMasVendidos();
}
}
}

View File

@@ -38,12 +38,12 @@
ordenDeCompraToolStripMenuItem = new ToolStripMenuItem();
pedidosPresupuestoToolStripMenuItem = new ToolStripMenuItem();
categoriasToolStripMenuItem = new ToolStripMenuItem();
configToolStripMenuItem = new ToolStripMenuItem();
informesToolStripMenuItem = new ToolStripMenuItem();
informesToolStrip = new ToolStripMenuItem();
facturasPorFechaToolStripMenuItem = new ToolStripMenuItem();
facturasPorClienteToolStripMenuItem = new ToolStripMenuItem();
productoMasVendidoToolStripMenuItem = new ToolStripMenuItem();
configToolStripMenuItem = new ToolStripMenuItem();
informesToolStripMenuItem = new ToolStripMenuItem();
menuStrip1.SuspendLayout();
SuspendLayout();
//
@@ -67,73 +67,59 @@
// clientesToolStripMenuItem
//
clientesToolStripMenuItem.Name = "clientesToolStripMenuItem";
clientesToolStripMenuItem.Size = new Size(180, 22);
clientesToolStripMenuItem.Size = new Size(164, 22);
clientesToolStripMenuItem.Text = "Clientes";
clientesToolStripMenuItem.Click += clientesToolStripMenuItem_Click;
//
// ventasToolStripMenuItem
//
ventasToolStripMenuItem.Name = "ventasToolStripMenuItem";
ventasToolStripMenuItem.Size = new Size(180, 22);
ventasToolStripMenuItem.Size = new Size(164, 22);
ventasToolStripMenuItem.Text = "Ventas";
ventasToolStripMenuItem.Click += ventasToolStripMenuItem_Click;
//
// proveedoresToolStripMenuItem
//
proveedoresToolStripMenuItem.Name = "proveedoresToolStripMenuItem";
proveedoresToolStripMenuItem.Size = new Size(180, 22);
proveedoresToolStripMenuItem.Size = new Size(164, 22);
proveedoresToolStripMenuItem.Text = "Proveedores";
proveedoresToolStripMenuItem.Click += proveedoresToolStripMenuItem_Click;
//
// productosToolStripMenuItem
//
productosToolStripMenuItem.Name = "productosToolStripMenuItem";
productosToolStripMenuItem.Size = new Size(180, 22);
productosToolStripMenuItem.Size = new Size(164, 22);
productosToolStripMenuItem.Text = "Productos";
productosToolStripMenuItem.Click += productosToolStripMenuItem_Click;
//
// remitosToolStripMenuItem
//
remitosToolStripMenuItem.Name = "remitosToolStripMenuItem";
remitosToolStripMenuItem.Size = new Size(180, 22);
remitosToolStripMenuItem.Size = new Size(164, 22);
remitosToolStripMenuItem.Text = "Remitos";
remitosToolStripMenuItem.Click += remitosToolStripMenuItem_Click;
//
// ordenDeCompraToolStripMenuItem
//
ordenDeCompraToolStripMenuItem.Name = "ordenDeCompraToolStripMenuItem";
ordenDeCompraToolStripMenuItem.Size = new Size(180, 22);
ordenDeCompraToolStripMenuItem.Size = new Size(164, 22);
ordenDeCompraToolStripMenuItem.Text = "OrdenDeCompra";
ordenDeCompraToolStripMenuItem.Click += ordenDeCompraToolStripMenuItem_Click;
//
// pedidosPresupuestoToolStripMenuItem
//
pedidosPresupuestoToolStripMenuItem.Name = "pedidosPresupuestoToolStripMenuItem";
pedidosPresupuestoToolStripMenuItem.Size = new Size(180, 22);
pedidosPresupuestoToolStripMenuItem.Size = new Size(164, 22);
pedidosPresupuestoToolStripMenuItem.Text = "Presupuesto";
pedidosPresupuestoToolStripMenuItem.Click += pedidosPresupuestoToolStripMenuItem_Click;
//
// categoriasToolStripMenuItem
//
categoriasToolStripMenuItem.Name = "categoriasToolStripMenuItem";
categoriasToolStripMenuItem.Size = new Size(180, 22);
categoriasToolStripMenuItem.Size = new Size(164, 22);
categoriasToolStripMenuItem.Text = "Categorias";
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.DropDownItems.AddRange(new ToolStripItem[] { facturasPorFechaToolStripMenuItem, facturasPorClienteToolStripMenuItem, productoMasVendidoToolStripMenuItem });
@@ -153,12 +139,28 @@
facturasPorClienteToolStripMenuItem.Name = "facturasPorClienteToolStripMenuItem";
facturasPorClienteToolStripMenuItem.Size = new Size(194, 22);
facturasPorClienteToolStripMenuItem.Text = "Facturas Por Cliente";
facturasPorClienteToolStripMenuItem.Click += facturasPorClienteToolStripMenuItem_Click;
//
// productoMasVendidoToolStripMenuItem
//
productoMasVendidoToolStripMenuItem.Name = "productoMasVendidoToolStripMenuItem";
productoMasVendidoToolStripMenuItem.Size = new Size(194, 22);
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
//

View File

@@ -1,3 +1,5 @@
using Vista.Informes;
namespace Vista
{
public partial class PantallaPrincipal : Form
@@ -119,7 +121,29 @@ namespace Vista
{
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.Show();
}