Option Strict On
Option Explicit On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_RepAlmacenPeriodo
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property TmpDT As DataTable
Get
Return CType(ViewState("TmpDT"), DataTable)
End Get
Set(value As DataTable)
ViewState("TmpDT") = value
End Set
End Property
Private Property Ver As Integer
Get
Return CType(ViewState("VerEn"), Integer)
End Get
Set(value As Integer)
ViewState("VerEn") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
Ver = 1
CargaTipoAlmacen()
End If
End Sub
Private Sub CargaTipoAlmacen()
DdlTipoAlmacen.DataSource = GlobalDTTipoAlmacen(1)
DdlTipoAlmacen.DataBind()
DdlTipoAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
DdlAlmacen.DataBind()
DdlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSucursal.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, CveEstatus:=1)
DdlSucursal.DataBind()
DdlSucursal.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Private Sub CargaDatos()
Dim objInv As New ClsInventarios
Dim FechaCorte As Date
FechaCorte = If(IsDate(TxtFechaCorte.Text.Trim()), TxtFechaCorte.Text.ToDate, MaxFecha)
Dim TipoAlmacen As String = If(DdlTipoAlmacen.GetSelectedValuesM = "", "-1", DdlTipoAlmacen.GetSelectedValuesM)
Dim Almacenes As String = If(DdlAlmacen.GetSelectedValuesM = "", "-1", DdlAlmacen.GetSelectedValuesM)
Dim CveSubProyecto As Integer = DdlSucursal.SelectedValue.ToEntero()
If RblTotal.Checked Then Ver = 1
If RblExistencia.Checked Then Ver = 2
If objInv.GetRepAlmacenesPeriodo(FechaCorte, UsuarioActual.CveEmpresa, TipoAlmacen, DdlModalidadFiltro.SelectedValue.ToEntero, ChkInventariable.Checked, Ver,
Almacenes:=Almacenes, CveSubProyecto:=CveSubProyecto, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
GVAlmacen.DataSource = objInv.DtResultados
TmpDT = objInv.DtResultados
End If
objInv.Dispose()
GVAlmacen.DataBind()
UpDatos.Update()
End Sub
Protected Sub GVAlmacen_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If Not e.Row.DBCampo("CveAlmacen").ToEntero > 0 Then
e.Row.CssClass = "Totales"
End If
If TxtFechaCorte.Text <> "" Then
If TxtFechaCorte.Text.ToDate.Month < 12 Then
e.Row.Cells(12).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 11 Then
e.Row.Cells(11).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 10 Then
e.Row.Cells(10).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 9 Then
e.Row.Cells(9).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 8 Then
e.Row.Cells(8).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 7 Then
e.Row.Cells(7).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 6 Then
e.Row.Cells(6).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 5 Then
e.Row.Cells(5).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 4 Then
e.Row.Cells(4).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 3 Then
e.Row.Cells(3).Text = ""
End If
If TxtFechaCorte.Text.ToDate.Month < 2 Then
e.Row.Cells(2).Text = ""
End If
End If
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Protected Sub BtnVerEn_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub GenerarPDF()
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 StrFiltro As New StringBuilder
If TxtFechaCorte.Text <> "" Then StrFiltro.AppendFormat(" Fecha Corte : {0}", TxtFechaCorte.Text.ToDate.ToShortDateString)
If DdlTipoAlmacen.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Tipo Almacen: {0}", DdlTipoAlmacen.GetSelectedText)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
ImprimirPDF("Empresas/Grales/Formatos/RepAlmacenPeriodo.rdlc", TmpDT, params, "ReporteAlmacenPeriodo")
End Sub
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs)
GenerarPDF()
End Sub
Protected Sub LnkEXCEL_Click(sender As Object, e As EventArgs)
GenerarPDF()
End Sub
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
RegistraScript("$('#DivModalGrafica').modal('show')")
CargaGrafica()
End Sub
Private Sub CargaGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("mes")
Dim Dt2 As New DataTable()
Dt2.Columns.Add("balloonText")
Dt2.Columns.Add("bullet")
Dt2.Columns.Add("title")
Dt2.Columns.Add("valueField")
Dt2.Columns.Add("fillAlphas")
Dim Cont As Integer = 1
For Each Dr As DataRow In TmpDT.Rows
If Dr("CveAlmacen").ToString.ToEntero > 0 Then
Dt.Columns.Add(Dr("Almacen").ToString)
Dim Row4 As DataRow = Nothing
Row4 = Dt2.NewRow()
Select Case Ver
Case 1
Row4("balloonText") = "Total [[category]]: [[value]]"
Case 2
Row4("balloonText") = "Existencia [[category]]: [[value]]"
End Select
Row4("bullet") = "round"
Row4("title") = Dr("Almacen").ToString
Row4("valueField") = Dr("Almacen").ToString
Row4("fillAlphas") = 0
Dt2.Rows.Add(Row4)
Cont += 1
End If
Next
Dim RowEnero As DataRow = Nothing
RowEnero = Dt.NewRow()
Dim RowFebrero As DataRow = Nothing
RowFebrero = Dt.NewRow()
Dim RowMarzo As DataRow = Nothing
RowMarzo = Dt.NewRow()
Dim RowAbril As DataRow = Nothing
RowAbril = Dt.NewRow()
Dim RowMayo As DataRow = Nothing
RowMayo = Dt.NewRow()
Dim RowJunio As DataRow = Nothing
RowJunio = Dt.NewRow()
Dim RowJulio As DataRow = Nothing
RowJulio = Dt.NewRow()
Dim RowAgosto As DataRow = Nothing
RowAgosto = Dt.NewRow()
Dim RowSeptiembre As DataRow = Nothing
RowSeptiembre = Dt.NewRow()
Dim RowOctubre As DataRow = Nothing
RowOctubre = Dt.NewRow()
Dim RowNoviembre As DataRow = Nothing
RowNoviembre = Dt.NewRow()
Dim RowDiciembre As DataRow = Nothing
RowDiciembre = Dt.NewRow()
For Each Dr As DataRow In TmpDT.Rows
If Dr("CveAlmacen").ToString.ToEntero > 0 Then
RowEnero(Dr("Almacen").ToString) = Dr("Enero").ToString
RowEnero("mes") = "Enero"
RowFebrero(Dr("Almacen").ToString) = Dr("Febrero").ToString
RowFebrero("mes") = "Febrero"
RowMarzo(Dr("Almacen").ToString) = Dr("Marzo").ToString
RowMarzo("mes") = "Marzo"
RowAbril(Dr("Almacen").ToString) = Dr("Abril").ToString
RowAbril("mes") = "Abril"
RowMayo(Dr("Almacen").ToString) = Dr("Mayo").ToString
RowMayo("mes") = "Mayo"
RowJunio(Dr("Almacen").ToString) = Dr("Junio").ToString
RowJunio("mes") = "Junio"
RowJulio(Dr("Almacen").ToString) = Dr("Julio").ToString
RowJulio("mes") = "Julio"
RowAgosto(Dr("Almacen").ToString) = Dr("Agosto").ToString
RowAgosto("mes") = "Agosto"
RowSeptiembre(Dr("Almacen").ToString) = Dr("Septiembre").ToString
RowSeptiembre("mes") = "Septiembre"
RowOctubre(Dr("Almacen").ToString) = Dr("Octubre").ToString
RowOctubre("mes") = "Octubre"
RowNoviembre(Dr("Almacen").ToString) = Dr("Noviembre").ToString
RowNoviembre("mes") = "Noviembre"
RowDiciembre(Dr("Almacen").ToString) = Dr("Diciembre").ToString
RowDiciembre("mes") = "Diciembre"
End If
Next
Dt.Rows.Add(RowEnero)
Dt.Rows.Add(RowFebrero)
Dt.Rows.Add(RowMarzo)
Dt.Rows.Add(RowAbril)
Dt.Rows.Add(RowMayo)
Dt.Rows.Add(RowJunio)
Dt.Rows.Add(RowJulio)
Dt.Rows.Add(RowAgosto)
Dt.Rows.Add(RowSeptiembre)
Dt.Rows.Add(RowOctubre)
Dt.Rows.Add(RowNoviembre)
Dt.Rows.Add(RowDiciembre)
RegistraScript($"CargaGraficaLineas({Dt.ToJson},{Dt2.ToJson.Replace($"{Chr(34)}True{Chr(34)}", "true").Replace($"{Chr(34)}False{Chr(34)}", "false")})", "44")
UpGrafica.Update()
End Sub
End Class