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(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) 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", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If 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