Option Strict On Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq Partial Class GPS_RepPasajeros Inherits ClsPaginas Private Sub CargaDispositivos() DdlDispositivo.DataSource = GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario).FiltraParametros("CveModelo = 17") DdlDispositivo.DataBind() UPFiltros.Update() End Sub Private Sub GPS_RepTemperaturas_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then CargaDispositivos() End If End Sub Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click Dim GPS As New ClsGPS Dim GrupoMinutos, GrupoHoras, GrupoDias As Integer Select Case DdlGrupo.SelectedValue Case "15" GrupoMinutos = 15 GrupoHoras = 1 GrupoDias = 1 Case "30" GrupoMinutos = 30 GrupoHoras = 1 GrupoDias = 1 Case "60" GrupoMinutos = 60 GrupoHoras = 1 GrupoDias = 1 Case "12H" GrupoMinutos = 60 GrupoHoras = 12 GrupoDias = 1 Case "24H" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 1 Case "7D" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 7 Case "15D" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 15 Case "1M" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 31 End Select If GPS.GetHistorialPasajeros(DdlDispositivo.SelectedValue.ToEntero, txtFechaI.Text.ToDateTime, txtFechaF.Text.ToDateTime, GrupoMinutos, GrupoHoras, GrupoDias) AndAlso GPS.DtResultados.Rows.Count > 0 Then GvDatos.DataSource = GPS.DtResultados lblAscensos.Text = GPS.DtResultados.FiltroPrimeroValor("Ascensos", "Fecha IS NULL") lblDescensos.Text = GPS.DtResultados.FiltroPrimeroValor("Descensos", "Fecha IS NULL") RowIndicadores.Visible = True CargaGraficas(GPS.DtResultados.FiltraParametros("Fecha IS NOT NULL")) Else GvDatos.DataSource = Nothing Alert("La consulta no arrojó resultados") End If 'lblMinima.Text = $"{GPS.DtResultados.MIN("Temperatura")} {GPS.DtResultados.FiltroPrimeroValor("UnidadMedida")}" 'lblPromedio.Text = $"{GPS.DtResultados.AVG("Temperatura").ToString("#0.##")} {GPS.DtResultados.FiltroPrimeroValor("UnidadMedida")}" ' lblMaxima.Text = $"{GPS.DtResultados.MAX("Temperatura")} {GPS.DtResultados.FiltroPrimeroValor("UnidadMedida")}" ' lblTmpActual.Text = $"{GPS.DtResultados.FiltroPrimeroValor("Temperatura", "1 = 1", "FechaTrama DESC")} {GPS.DtResultados.FiltroPrimeroValor("UnidadMedida")}" GPS.Dispose() GvDatos.DataBind() UpDatos.Update() UpIndicadores.Update() UpModalGrafica.Update() RegistraScript($"CargaChart({HdnJsonGrupo.Value});", "2") End Sub Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Fecha").ToString = "" Then e.Row.CssClass = "Totales" e.Row.Cells(0).Text = "Total" End If End If End Sub Protected Sub BtnFiltrarFechaGV_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click Dim retorno As Byte() Dim RutaReporte As String = "" Dim NombreReporte As String = "" Dim GrupoMinutos, GrupoHoras, GrupoDias As Integer Select Case DdlGrupo.SelectedValue Case "15" GrupoMinutos = 15 GrupoHoras = 1 GrupoDias = 1 Case "30" GrupoMinutos = 30 GrupoHoras = 1 GrupoDias = 1 Case "60" GrupoMinutos = 60 GrupoHoras = 1 GrupoDias = 1 Case "12H" GrupoMinutos = 60 GrupoHoras = 12 GrupoDias = 1 Case "24H" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 1 Case "7D" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 7 Case "15D" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 15 Case "1M" GrupoMinutos = 60 GrupoHoras = 24 GrupoDias = 31 End Select Dim ObjGPS As New ClsGPS If ObjGPS.GetHistorialPasajeros(DdlDispositivo.SelectedValue.ToEntero, txtFechaI.Text.ToDateTime, txtFechaF.Text.ToDateTime, GrupoMinutos, GrupoHoras, GrupoDias) AndAlso ObjGPS.DtResultados.Rows.Count > 0 Then Try RutaReporte = "Empresas/Grales/ReportesProgramados/RPTPasajeros.rdlc" NombreReporte = "ReportePasajeros" Dim RptParametro As New List(Of ReportParameter) RptParametro.Add(New ReportParameter("FechaInicio", txtFechaI.Text.ToString)) RptParametro.Add(New ReportParameter("FechaFin", txtFechaF.Text.ToString)) RptParametro.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) RptParametro.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString)) RptParametro.Add(New ReportParameter("TotalAscensos", ObjGPS.DtResultados.FiltroPrimeroValor("Ascensos", "Fecha IS NULL"))) RptParametro.Add(New ReportParameter("TotalDescensos", ObjGPS.DtResultados.FiltroPrimeroValor("Descensos", "Fecha IS NULL"))) retorno = StreamPDF(RutaReporte, ObjGPS.DtResultados, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", "PDF", MR:=Nothing, RDSName:="DsOC") ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}") Catch ex As Exception GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) End Try End If ObjGPS.Dispose() UpModalGrafica.Update() RegistraScript($"CargaChart({HdnJsonGrupo.Value});", "2") End Sub Private Sub CargaGraficas(DtDatos As DataTable) Dim jsonData = New JArray() Dim FechaI = txtFechaI.Text.ToDateTime Dim FechaF = txtFechaF.Text.ToDateTime Dim Dias = (FechaF - FechaI).TotalDays For Each dr As DataRow In DtDatos.Rows Dim StrFecha As String = "" Dim Fecha = dr("Fecha").ToString.ToDate Dim cultureInfo = System.Globalization.CultureInfo.GetCultureInfo("es-MX") Dim textInfo = cultureInfo.TextInfo Select Case DdlGrupo.SelectedValue Case "15" If Dias < 1 Then StrFecha = textInfo.ToTitleCase(Fecha.ToString("hh:mm tt", cultureInfo)) Else StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMM hh:mm tt", cultureInfo)) End If Case "30" If Dias < 1 Then StrFecha = textInfo.ToTitleCase(Fecha.ToString("hh:mm tt", cultureInfo)) Else StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMM hh:mm tt", cultureInfo)) End If Case "60" If Dias < 1 Then StrFecha = textInfo.ToTitleCase(Fecha.ToString("hh tt", cultureInfo)) Else StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMM hh tt", cultureInfo)) End If Case "12H" StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMM H tt", cultureInfo)) Case "24H" StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMM", cultureInfo)) Case "7D" StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMM", cultureInfo)) Case "15D" StrFecha = textInfo.ToTitleCase(Fecha.ToString("dd MMMM", cultureInfo)) Case "1M" StrFecha = textInfo.ToTitleCase(Fecha.ToString("MMMM yyyy", cultureInfo)) End Select Dim Obj = New JObject( New JProperty("Ascensos", dr("Ascensos").ToString().ToEntero()), New JProperty("Descensos", dr("Descensos").ToString().ToEntero()), New JProperty("Acumulado", dr("Acumulado").ToString().ToEntero()), New JProperty("Fecha", StrFecha) ) jsonData.Add(Obj) Next HdnJsonGrupo.Value = jsonData.ToString End Sub End Class