304 lines
11 KiB
VB.net
304 lines
11 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.Runtime.InteropServices
|
|
Imports System.IO
|
|
Imports Microsoft.Reporting.WebForms
|
|
Imports System.Data
|
|
Partial Class Finanzas_AnalisisCreditoProveedor
|
|
Inherits ClsPaginas
|
|
|
|
#Region "PROPIEDADES"
|
|
|
|
Private Property DtVencido As DataTable
|
|
Get
|
|
DtVencido = CType(ViewState("DtVencido"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtVencido") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtRotacion As DataTable
|
|
Get
|
|
DtRotacion = CType(ViewState("DtRotacion"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtRotacion") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtSaldoMensual As DataTable
|
|
Get
|
|
DtSaldoMensual = CType(ViewState("DtSaldoMensual"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtSaldoMensual") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtComportamientoCompras As DataTable
|
|
Get
|
|
DtComportamientoCompras = CType(ViewState("DtComportamientoCompras"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtComportamientoCompras") = value
|
|
End Set
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
CargaDatos()
|
|
CargaGraficas()
|
|
End If
|
|
End Sub
|
|
|
|
Public Sub CargaDatos()
|
|
Dim ObjProveedores As New ClsCompProveedores
|
|
Dim ObjFinanzas As New ClsFinanzas
|
|
If ObjProveedores.GetProveedorVencido(-1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
|
|
DtVencido = ObjProveedores.DtResultados
|
|
End If
|
|
|
|
If ObjFinanzas.GetRotacionCarteraProveedores(MinFecha, MaxFecha, UsuarioActual.CveEmpresa, 1, "-1", " -1", -1, Now) Then
|
|
DtRotacion = ObjFinanzas.DtResultados
|
|
End If
|
|
|
|
If ObjProveedores.GetProveedorSaldoMensual(-1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
|
|
DtSaldoMensual = ObjProveedores.DtResultados
|
|
End If
|
|
|
|
If ObjProveedores.GetClienteComportamientoCompraMensual(-1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
|
|
DtComportamientoCompras = ObjProveedores.DtResultados
|
|
End If
|
|
|
|
ObjProveedores.Dispose()
|
|
ObjFinanzas.Dispose()
|
|
|
|
End Sub
|
|
|
|
Private Sub CargaGraficas()
|
|
|
|
If Not DtVencido IsNot Nothing AndAlso Not DtVencido.Rows.Count > 0 Then
|
|
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim Saldo As Double = DtVencido.SUM("Saldo")
|
|
Dim LimiteCredito As Double = DtVencido.Rows(0)("LimiteCreditoTotal").ToString.ToDouble
|
|
|
|
Dim Dt As New DataTable()
|
|
Dt.Columns.Add("value")
|
|
For Each Dr As DataRow In DtVencido.Rows
|
|
Dim Row As DataRow = Nothing
|
|
Row = Dt.NewRow()
|
|
Row("value") = Dr("DiasVencidos").ToString
|
|
Dt.Rows.Add(Row)
|
|
Next
|
|
|
|
LblVencido.Text = DtVencido.SUM("Total", "DiasVencidos > 0").FormatoNumero
|
|
LblPorVencer.Text = DtVencido.SUM("Total", "DiasVencidos <= 0").FormatoNumero
|
|
|
|
Dim query = From s In Dt.AsEnumerable() Select New With {.date = "", .value = s("value").ToString()}
|
|
Dim json = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
|
RegistraScript($"CargaGraficaVencido({json})", "22")
|
|
|
|
Dim Dt2 As New DataTable()
|
|
Dt2.Columns.Add("limite")
|
|
Dt2.Columns.Add("saldo")
|
|
Dim Row2 As DataRow = Nothing
|
|
Row2 = Dt2.NewRow()
|
|
Row2("limite") = LimiteCredito
|
|
Row2("saldo") = Saldo
|
|
Dt2.Rows.Add(Row2)
|
|
Dim query2 = From s In Dt2.AsEnumerable() Select New With {.year = "", .limite = s("limite").ToString(), .saldo = s("saldo").ToString()}
|
|
Dim json2 = Newtonsoft.Json.JsonConvert.SerializeObject(query2)
|
|
|
|
RegistraScript($"CargaGraficaLimiteCredito({json2})", "33")
|
|
|
|
If DtRotacion IsNot Nothing AndAlso DtRotacion.Rows.Count > 0 Then
|
|
LblComprasModal.Text = DtRotacion.SUM("Compras").ToString.FormatoNumero
|
|
LblPagadoModal.Text = DtRotacion.SUM("Pagado").ToString.FormatoNumero
|
|
LblRotacionModal.Text = DtRotacion.AVG("Rotacion").ToString.FormatoNumero
|
|
LblDiasModal.Text = DtRotacion.SUM("Dias").ToString.FormatoNumero
|
|
End If
|
|
|
|
|
|
Dim Dt3 As New DataTable()
|
|
Dt3.Columns.Add("mes")
|
|
|
|
Dim Dt4 As New DataTable()
|
|
Dt4.Columns.Add("balloonText")
|
|
Dt4.Columns.Add("bullet")
|
|
Dt4.Columns.Add("title")
|
|
Dt4.Columns.Add("valueField")
|
|
Dt4.Columns.Add("fillAlphas")
|
|
Dt4.Columns.Add("hidden")
|
|
|
|
|
|
Dim Cont As Integer = 1
|
|
|
|
For Each Dr As DataRow In DtComportamientoCompras.Rows
|
|
Dt3.Columns.Add(Dr("Ano").ToString)
|
|
Dim Row4 As DataRow = Nothing
|
|
Row4 = Dt4.NewRow()
|
|
Row4("balloonText") = "Compras [[category]]: [[value]]"
|
|
Row4("bullet") = "round"
|
|
Row4("title") = Dr("Ano").ToString
|
|
Row4("valueField") = Dr("Ano").ToString
|
|
Row4("fillAlphas") = 0
|
|
Row4("hidden") = If(Cont > DtComportamientoCompras.Rows.Count - 3, False, True)
|
|
Dt4.Rows.Add(Row4)
|
|
Cont += 1
|
|
Next
|
|
|
|
Dim RowEnero As DataRow = Nothing
|
|
RowEnero = Dt3.NewRow()
|
|
Dim RowFebrero As DataRow = Nothing
|
|
RowFebrero = Dt3.NewRow()
|
|
Dim RowMarzo As DataRow = Nothing
|
|
RowMarzo = Dt3.NewRow()
|
|
Dim RowAbril As DataRow = Nothing
|
|
RowAbril = Dt3.NewRow()
|
|
Dim RowMayo As DataRow = Nothing
|
|
RowMayo = Dt3.NewRow()
|
|
Dim RowJunio As DataRow = Nothing
|
|
RowJunio = Dt3.NewRow()
|
|
Dim RowJulio As DataRow = Nothing
|
|
RowJulio = Dt3.NewRow()
|
|
Dim RowAgosto As DataRow = Nothing
|
|
RowAgosto = Dt3.NewRow()
|
|
Dim RowSeptiembre As DataRow = Nothing
|
|
RowSeptiembre = Dt3.NewRow()
|
|
Dim RowOctubre As DataRow = Nothing
|
|
RowOctubre = Dt3.NewRow()
|
|
Dim RowNoviembre As DataRow = Nothing
|
|
RowNoviembre = Dt3.NewRow()
|
|
Dim RowDiciembre As DataRow = Nothing
|
|
RowDiciembre = Dt3.NewRow()
|
|
For Each Dr As DataRow In DtComportamientoCompras.Rows
|
|
RowEnero(Dr("Ano").ToString) = Dr("Enero").ToString
|
|
RowEnero("mes") = "Enero"
|
|
RowFebrero(Dr("Ano").ToString) = Dr("Febrero").ToString
|
|
RowFebrero("mes") = "Febrero"
|
|
RowMarzo(Dr("Ano").ToString) = Dr("Marzo").ToString
|
|
RowMarzo("mes") = "Marzo"
|
|
RowAbril(Dr("Ano").ToString) = Dr("Abril").ToString
|
|
RowAbril("mes") = "Abril"
|
|
RowMayo(Dr("Ano").ToString) = Dr("Mayo").ToString
|
|
RowMayo("mes") = "Mayo"
|
|
RowJunio(Dr("Ano").ToString) = Dr("Junio").ToString
|
|
RowJunio("mes") = "Junio"
|
|
RowJulio(Dr("Ano").ToString) = Dr("Julio").ToString
|
|
RowJulio("mes") = "Julio"
|
|
RowAgosto(Dr("Ano").ToString) = Dr("Agosto").ToString
|
|
RowAgosto("mes") = "Agosto"
|
|
RowSeptiembre(Dr("Ano").ToString) = Dr("Septiembre").ToString
|
|
RowSeptiembre("mes") = "Septiembre"
|
|
RowOctubre(Dr("Ano").ToString) = Dr("Octubre").ToString
|
|
RowOctubre("mes") = "Octubre"
|
|
RowNoviembre(Dr("Ano").ToString) = Dr("Noviembre").ToString
|
|
RowNoviembre("mes") = "Noviembre"
|
|
RowDiciembre(Dr("Ano").ToString) = Dr("Diciembre").ToString
|
|
RowDiciembre("mes") = "Diciembre"
|
|
Next
|
|
Dt3.Rows.Add(RowEnero)
|
|
Dt3.Rows.Add(RowFebrero)
|
|
Dt3.Rows.Add(RowMarzo)
|
|
Dt3.Rows.Add(RowAbril)
|
|
Dt3.Rows.Add(RowMayo)
|
|
Dt3.Rows.Add(RowJunio)
|
|
Dt3.Rows.Add(RowJulio)
|
|
Dt3.Rows.Add(RowAgosto)
|
|
Dt3.Rows.Add(RowSeptiembre)
|
|
Dt3.Rows.Add(RowOctubre)
|
|
Dt3.Rows.Add(RowNoviembre)
|
|
Dt3.Rows.Add(RowDiciembre)
|
|
|
|
RegistraScript($"CargaGraficaComportamientoCompras({Dt3.ToJson},{Dt4.ToJson.Replace($"{Chr(34)}True{Chr(34)}", "true").Replace($"{Chr(34)}False{Chr(34)}", "false")})", "44")
|
|
|
|
Dim Dt5 As New DataTable()
|
|
Dt5.Columns.Add("mes")
|
|
|
|
Dim Dt6 As New DataTable()
|
|
Dt6.Columns.Add("balloonText")
|
|
Dt6.Columns.Add("bullet")
|
|
Dt6.Columns.Add("title")
|
|
Dt6.Columns.Add("valueField")
|
|
Dt6.Columns.Add("fillAlphas")
|
|
Dt6.Columns.Add("hidden")
|
|
|
|
Cont = 1
|
|
For Each Dr As DataRow In DtSaldoMensual.Rows
|
|
Dt5.Columns.Add(Dr("Ano").ToString)
|
|
Dim Row6 As DataRow = Nothing
|
|
Row6 = Dt6.NewRow()
|
|
Row6("balloonText") = "Saldo [[category]]: [[value]]"
|
|
Row6("bullet") = "round"
|
|
Row6("title") = Dr("Ano").ToString
|
|
Row6("valueField") = Dr("Ano").ToString
|
|
Row6("fillAlphas") = 0
|
|
Row6("hidden") = If(Cont > DtSaldoMensual.Rows.Count - 3, False, True)
|
|
Dt6.Rows.Add(Row6)
|
|
Cont += 1
|
|
Next
|
|
RowEnero = Dt5.NewRow()
|
|
RowFebrero = Dt5.NewRow()
|
|
RowMarzo = Dt5.NewRow()
|
|
RowAbril = Dt5.NewRow()
|
|
RowMayo = Dt5.NewRow()
|
|
RowJunio = Dt5.NewRow()
|
|
RowJulio = Dt5.NewRow()
|
|
RowAgosto = Dt5.NewRow()
|
|
RowSeptiembre = Dt5.NewRow()
|
|
RowOctubre = Dt5.NewRow()
|
|
RowNoviembre = Dt5.NewRow()
|
|
RowDiciembre = Dt5.NewRow()
|
|
For Each Dr As DataRow In DtSaldoMensual.Rows
|
|
RowEnero(Dr("Ano").ToString) = Dr("Enero").ToString
|
|
RowEnero("mes") = "Enero"
|
|
RowFebrero(Dr("Ano").ToString) = Dr("Febrero").ToString
|
|
RowFebrero("mes") = "Febrero"
|
|
RowMarzo(Dr("Ano").ToString) = Dr("Marzo").ToString
|
|
RowMarzo("mes") = "Marzo"
|
|
RowAbril(Dr("Ano").ToString) = Dr("Abril").ToString
|
|
RowAbril("mes") = "Abril"
|
|
RowMayo(Dr("Ano").ToString) = Dr("Mayo").ToString
|
|
RowMayo("mes") = "Mayo"
|
|
RowJunio(Dr("Ano").ToString) = Dr("Junio").ToString
|
|
RowJunio("mes") = "Junio"
|
|
RowJulio(Dr("Ano").ToString) = Dr("Julio").ToString
|
|
RowJulio("mes") = "Julio"
|
|
RowAgosto(Dr("Ano").ToString) = Dr("Agosto").ToString
|
|
RowAgosto("mes") = "Agosto"
|
|
RowSeptiembre(Dr("Ano").ToString) = Dr("Septiembre").ToString
|
|
RowSeptiembre("mes") = "Septiembre"
|
|
RowOctubre(Dr("Ano").ToString) = Dr("Octubre").ToString
|
|
RowOctubre("mes") = "Octubre"
|
|
RowNoviembre(Dr("Ano").ToString) = Dr("Noviembre").ToString
|
|
RowNoviembre("mes") = "Noviembre"
|
|
RowDiciembre(Dr("Ano").ToString) = Dr("Diciembre").ToString
|
|
RowDiciembre("mes") = "Diciembre"
|
|
Next
|
|
Dt5.Rows.Add(RowEnero)
|
|
Dt5.Rows.Add(RowFebrero)
|
|
Dt5.Rows.Add(RowMarzo)
|
|
Dt5.Rows.Add(RowAbril)
|
|
Dt5.Rows.Add(RowMayo)
|
|
Dt5.Rows.Add(RowJunio)
|
|
Dt5.Rows.Add(RowJulio)
|
|
Dt5.Rows.Add(RowAgosto)
|
|
Dt5.Rows.Add(RowSeptiembre)
|
|
Dt5.Rows.Add(RowOctubre)
|
|
Dt5.Rows.Add(RowNoviembre)
|
|
Dt5.Rows.Add(RowDiciembre)
|
|
|
|
|
|
RegistraScript($"CargaGraficaCompratamientoSaldoMensual({Dt5.ToJson},{Dt6.ToJson.Replace($"{Chr(34)}True{Chr(34)}", "true").Replace($"{Chr(34)}False{Chr(34)}", "false")})", "55")
|
|
|
|
UpDatos.Update()
|
|
|
|
End Sub
|
|
|
|
End Class
|