123 lines
4.5 KiB
VB.net
123 lines
4.5 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports System.Web.Compilation
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Ventas_RepTopClientesVentas
|
|
Inherits ClsPaginas
|
|
|
|
Private Property DtClientes As DataTable
|
|
Get
|
|
Return DirectCast(ViewState("DtClientes"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtClientes") = value
|
|
End Set
|
|
End Property
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
CargarFiltros()
|
|
CargaDatos()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargarFiltros()
|
|
Dim tablaAños As New DataTable
|
|
|
|
Dim idAño As New DataColumn
|
|
idAño.ColumnName = "idAño"
|
|
idAño.Caption = "idAño"
|
|
idAño.DataType = System.Type.GetType("System.Int32")
|
|
|
|
Dim Año As New DataColumn
|
|
Año.ColumnName = "Año"
|
|
Año.Caption = "Año"
|
|
Año.DataType = System.Type.GetType("System.Int32")
|
|
|
|
tablaAños.Columns.Add(idAño)
|
|
tablaAños.Columns.Add(Año)
|
|
|
|
Dim añoActual As Integer = NowADS().Year
|
|
|
|
For AñoIndex As Integer = añoActual To (añoActual - 10) Step -1
|
|
Dim row As DataRow = tablaAños.NewRow()
|
|
row("idAño") = AñoIndex
|
|
row("Año") = AñoIndex
|
|
tablaAños.Rows.Add(row)
|
|
Next
|
|
|
|
DdlAño.DataSource = tablaAños
|
|
DdlAño.DataBind()
|
|
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
TxtTop.Text = "20"
|
|
End Sub
|
|
|
|
Private Sub CargaDatos()
|
|
Dim ObjVentas As New ClsVentas
|
|
If ObjVentas.GetRepTopClientesVentas(UsuarioActual.CveEmpresa, DdlMes.SelectedValue.ToEntero, DdlAño.SelectedValue.ToEntero, TxtTop.Text.ToEntero,
|
|
DdlSubProyecto.SelectedValue.ToEntero) Then
|
|
GvM.DataSource = ObjVentas.DtResultados
|
|
DtClientes = ObjVentas.DtResultados
|
|
End If
|
|
ObjVentas.Dispose()
|
|
GvM.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub BtnConsultar_Click() Handles BtnConsultar.Click
|
|
CargaDatos()
|
|
UppGrid.Update()
|
|
End Sub
|
|
|
|
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
'Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
|
|
|
Dim params As New List(Of ReportParameter)
|
|
params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("FechaImpresion", NowADS().ToString))
|
|
params.Add(New ReportParameter("pImg", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
|
|
ImprimirPDF("Empresas/Grales/Formatos/TopClientes.rdlc", DtClientes, params, String.Format("ReporteVentas-{0}", NowADS().ToDateTime.ToShortDateString), Formato:="PDF")
|
|
End Sub
|
|
|
|
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
|
|
If Not DtClientes IsNot Nothing AndAlso DtClientes.Rows.Count > 0 Then
|
|
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
LblTituloGrafica.Text = $"Agrupado por: Clientes"
|
|
RegistraScript("$('#DivModalGrafica').modal('show')")
|
|
CambioGrafica()
|
|
End Sub
|
|
|
|
Private Sub CambioGrafica()
|
|
Dim DtClientesAux As New DataTable
|
|
DtClientesAux = DtClientes.FiltraParametros("CveCliente > 0")
|
|
Dim Dt As New DataTable()
|
|
Dt.Columns.Add("Cliente")
|
|
Dt.Columns.Add("Importe")
|
|
For Each Dr As DataRow In DtClientesAux.Rows
|
|
Dim Row As DataRow = Nothing
|
|
Row = Dt.NewRow()
|
|
Row("Cliente") = Dr("NombreComercial").ToString
|
|
Row("Importe") = Dr("ImporteAcumulado").ToString.FormatoNumero
|
|
Dt.Rows.Add(Row)
|
|
Next
|
|
|
|
Dim query = From s In Dt.AsEnumerable() Select New With {.Cliente = s("Cliente").ToString(), .Importe = s("Importe").ToString().ToDouble()}
|
|
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
|
RegistraScript($"CargaGraficaBarras({json})", "22")
|
|
UPModalProd.Update()
|
|
End Sub
|
|
End Class
|