220 lines
9.1 KiB
VB.net
220 lines
9.1 KiB
VB.net
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
|