-Se estaba creando un DataTable cuando solo se ocupa un String[] -Se metió a ClsPaginas, esto limpia bastante el código
220 lines
8.0 KiB
VB.net
220 lines
8.0 KiB
VB.net
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Ventas_RepVentasResumen
|
|
Inherits ClsPaginas
|
|
#Region "propiedades"
|
|
|
|
Private Property Datos As DataTable
|
|
Get
|
|
|
|
|
|
If ViewState("Datos") Is Nothing Then
|
|
Return New DataTable
|
|
Else
|
|
Return DirectCast(ViewState("Datos"), DataTable)
|
|
End If
|
|
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("Datos") = value
|
|
End Set
|
|
End Property
|
|
Private Property VxC As DataTable
|
|
Get
|
|
|
|
|
|
If ViewState("VxC") Is Nothing Then
|
|
Return New DataTable
|
|
Else
|
|
Return DirectCast(ViewState("VxC"), DataTable)
|
|
End If
|
|
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("VxC") = value
|
|
End Set
|
|
End Property
|
|
Private Property VxP As DataTable
|
|
Get
|
|
|
|
|
|
If ViewState("VxP") Is Nothing Then
|
|
Return New DataTable
|
|
Else
|
|
Return DirectCast(ViewState("VxP"), DataTable)
|
|
End If
|
|
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("VxP") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
|
|
CargaCombos()
|
|
CargaDatos()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub CargaCombos()
|
|
|
|
'Carga SubProyectos
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
TxtFechaI.Text = $"01/{Now.Month}/{Now.Year}"
|
|
TxtFechaF.Text = Now.ToString("dd/MM/yyyy")
|
|
End Sub
|
|
|
|
|
|
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
|
|
CargaDatos()
|
|
End Sub
|
|
|
|
|
|
Private Sub CargaDatos()
|
|
|
|
Dim ObjVentas As New ClsVentas
|
|
Dim ObjMovtos As New ClsMovimientos()
|
|
|
|
If ObjVentas.GetRepProductosServicios(-1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, TxtFechaI.Text.Trim(), TxtFechaF.Text.Trim(), MinFecha, MaxFecha, -1,
|
|
-1, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoCambio:=1) Then
|
|
VxP = ObjVentas.DtResultados
|
|
GvVxP.DataSource = VxP
|
|
Else
|
|
GvVxP.DataSource = Nothing
|
|
VxP = Nothing
|
|
End If
|
|
|
|
If ObjVentas.GetRepProductosServicios(-1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, TxtFechaI.Text.Trim(), TxtFechaF.Text.Trim(), MinFecha, MaxFecha, -1,
|
|
-1, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 10, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoCambio:=1) Then
|
|
VxC = ObjVentas.DtResultados
|
|
GvVxC.DataSource = VxC
|
|
|
|
Else
|
|
GvVxC.DataSource = Nothing
|
|
VxC = Nothing
|
|
End If
|
|
|
|
If ObjMovtos.GetRepRecuperacion(TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, -1, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
|
|
Datos = ObjVentas.DtResultados
|
|
GvPxC.DataSource = Datos
|
|
Else
|
|
GvPxC.DataSource = Nothing
|
|
Datos = Nothing
|
|
End If
|
|
|
|
Dim FechaCorte As String = $"31/12/{Now.Year}"
|
|
|
|
If ObjMovtos.GetCxC(TxtFechaI.Text, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, 1, -1,
|
|
"-1", "-1", "-1", FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
|
|
|
|
Datos = ObjMovtos.DtResultados
|
|
GvCxC.DataSource = Datos
|
|
Else
|
|
GvCxC.DataSource = Nothing
|
|
Datos = Nothing
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
ObjMovtos.Dispose()
|
|
|
|
GvVxP.DataBind()
|
|
GvVxC.DataBind()
|
|
GvPxC.DataBind()
|
|
GvCxC.DataBind()
|
|
|
|
GraficaPastel()
|
|
GraficaBarras()
|
|
|
|
End Sub
|
|
Protected Sub GvVxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvVxP.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("Orden") = "" Then
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub GvVxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvVxC.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("Orden") = "" Then
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub GvPxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvPxC.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("Orden") = "" Then
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub GvCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxC.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("Orden") = "" Then
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub GraficaPastel()
|
|
Dim Dt As New DataTable()
|
|
Dt.Columns.Add("Texto")
|
|
Dt.Columns.Add("Valor")
|
|
Dt.Columns.Add("Color")
|
|
Dt.Columns.Add("Moneda")
|
|
Dim RowColorIndex As Integer = 0
|
|
For Each Dr As DataRow In VxP.Rows
|
|
If Not Dr("Orden").ToString = "" Then
|
|
Dim Row As DataRow = Nothing
|
|
Row = Dt.NewRow()
|
|
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
|
|
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
|
|
Row("Color") = Colors(RowColorIndex)
|
|
Row("Moneda") = Dr("Moneda").ToString
|
|
Dt.Rows.Add(Row)
|
|
RowColorIndex += 1
|
|
If RowColorIndex >= Colors.Length Then RowColorIndex = 0
|
|
End If
|
|
Next
|
|
|
|
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
|
|
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
|
RegistraScript($"CargaGraficaPastel({json})", "22")
|
|
UPPMov.Update()
|
|
End Sub
|
|
Private Sub GraficaBarras()
|
|
Dim Dt As New DataTable()
|
|
Dt.Columns.Add("Texto")
|
|
Dt.Columns.Add("Valor")
|
|
Dt.Columns.Add("Color")
|
|
Dt.Columns.Add("Moneda")
|
|
Dim RowColorIndex As Integer = 0
|
|
For Each Dr As DataRow In VxC.Rows
|
|
If Not Dr("Orden").ToString = "" Then
|
|
Dim Row As DataRow = Nothing
|
|
Row = Dt.NewRow()
|
|
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
|
|
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
|
|
Row("Color") = Colors(RowColorIndex)
|
|
Row("Moneda") = Dr("Moneda").ToString
|
|
Dt.Rows.Add(Row)
|
|
RowColorIndex += 1
|
|
If RowColorIndex >= Colors.Length Then RowColorIndex = 0
|
|
End If
|
|
Next
|
|
|
|
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
|
|
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
|
RegistraScript($"CargaGraficaBarras({json})", "22")
|
|
UPPMov.Update()
|
|
End Sub
|
|
End Class
|