164 lines
6.5 KiB
VB.net
164 lines
6.5 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
Imports System.Data
|
|
Imports Newtonsoft.Json.Linq
|
|
|
|
Partial Class GPS_RepEventos
|
|
Inherits ClsPaginas
|
|
Property DTDatos As DataTable
|
|
Get
|
|
If ViewState("DTDatos") Is Nothing Then
|
|
Return New DataTable
|
|
Else
|
|
Return DirectCast(ViewState("DTDatos"), DataTable)
|
|
End If
|
|
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DTDatos") = value
|
|
End Set
|
|
End Property
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
txtFechaI.Text = $"01/{DateTime.Now.ToString("MM")}/{DateTime.Now.Year} 00:00"
|
|
txtFechaF.Text = $"{DateTime.Now.ToString("dd/MM/yyyy")} 23:59"
|
|
CargaGrupos()
|
|
End If
|
|
End Sub
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
|
CargaDatos()
|
|
End Sub
|
|
Private Sub CargaGrupos()
|
|
Dim ObjGPS As ClsGPS = New ClsGPS()
|
|
|
|
If ObjGPS.GruposGet(-1, UsuarioActual.CveCliente) Then
|
|
DdlGrupo.DataSource = ObjGPS.DtResultados
|
|
End If
|
|
|
|
ObjGPS.Dispose()
|
|
DdlGrupo.DataBind()
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
Using ObjGPS As New ClsGPS
|
|
If ObjGPS.GetRepEventosDispositivosCliente(DdlGrupo.SelectedValue.ToEntero(), txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveCliente) Then
|
|
GvEventos.DataSource = ObjGPS.DtResultados
|
|
DTDatos = ObjGPS.DtResultados
|
|
Else
|
|
GvEventos.DataSource = Nothing
|
|
End If
|
|
End Using
|
|
GvEventos.DataBind()
|
|
CargaGraficaEventos(DTDatos.FiltraParametros("CveDispositivo > 0"))
|
|
UpDatos.Update()
|
|
End Sub
|
|
Private Sub CargaGraficaEventos(DtEventos As DataTable)
|
|
'Dim DtEventos = ObjGPS.DtResultados.FiltraParametros("CveEvento IS NOT NULL")
|
|
Dim datosVelocidad = New JArray()
|
|
Dim datosAceleraciones = New JArray()
|
|
Dim datosFrenados = New JArray()
|
|
Dim datosColisiones = New JArray()
|
|
Dim datosRalenti = New JArray()
|
|
|
|
Dim categories = New JArray()
|
|
|
|
For Each Row As DataRow In DtEventos.Rows
|
|
categories.Add(Row("Vehiculo").ToString())
|
|
|
|
datosVelocidad.Add(Row("NoExcesosVelocidad").ToString().ToEntero())
|
|
datosAceleraciones.Add(Row("NoAceleraciones").ToString().ToEntero())
|
|
datosFrenados.Add(Row("NoFrenados").ToString().ToEntero())
|
|
datosColisiones.Add(Row("NoColisiones").ToString().ToEntero())
|
|
datosRalenti.Add(Row("NoRalentis").ToString().ToEntero())
|
|
Next
|
|
|
|
Dim series = New JArray() From {
|
|
New JObject() From {
|
|
New JProperty("name", "Excesos de Velocidad"),
|
|
New JProperty("data", datosVelocidad),
|
|
New JProperty("color", "#4B77BE")
|
|
},
|
|
New JObject() From {
|
|
New JProperty("name", "Aceleraciones"),
|
|
New JProperty("data", datosAceleraciones),
|
|
New JProperty("color", "#26C281")
|
|
},
|
|
New JObject() From {
|
|
New JProperty("name", "Frenados"),
|
|
New JProperty("data", datosFrenados),
|
|
New JProperty("color", "#ACB5C3")
|
|
},
|
|
New JObject() From {
|
|
New JProperty("name", "Colisiones"),
|
|
New JProperty("data", datosColisiones),
|
|
New JProperty("color", "#D91E18")
|
|
},
|
|
New JObject() From {
|
|
New JProperty("name", "Ralenti"),
|
|
New JProperty("data", datosRalenti),
|
|
New JProperty("color", "#8E44AD")
|
|
}
|
|
}
|
|
Dim jsonGrafica = New JObject() From {
|
|
New JProperty("categories", categories),
|
|
New JProperty("series", series)
|
|
}
|
|
HdnGraficaEventos.Value = jsonGrafica.ToString()
|
|
UpGraficaEventos.Update()
|
|
End Sub
|
|
Public Sub EnviarReporteProgramado(DtDatos As DataTable)
|
|
If DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
|
|
|
|
Dim retorno As Byte()
|
|
Dim RutaReporte = "Empresas/Grales/ReportesProgramados/RPEventos.rdlc"
|
|
|
|
Dim Excesos = DtDatos.SUM("NoExcesosVelocidad")
|
|
|
|
Dim Aceleraciones = DtDatos.SUM("NoAceleraciones")
|
|
|
|
Dim NoColisiones = DtDatos.SUM("NoColisiones")
|
|
|
|
Dim TotalEventos = DtDatos.SUM("TotalEventos")
|
|
|
|
Dim Ralenti = DtDatos.SUM("NoRalentis")
|
|
|
|
Try
|
|
Dim RptParametro As New List(Of ReportParameter)
|
|
|
|
|
|
RptParametro.Add(New ReportParameter("FechaInicio", txtFechaI.Text.ToDateTime().ToString("dd/MM/yyyy HH:mm")))
|
|
RptParametro.Add(New ReportParameter("FechaFin", txtFechaF.Text.ToDateTime().ToString("dd/MM/yyyy HH:mm")))
|
|
RptParametro.Add(New ReportParameter("ChartBase64", HdnImagen.Value, True))
|
|
RptParametro.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
|
|
RptParametro.Add(New ReportParameter("FechaImpresion", Now.ToString("dd/MM/yyyy")))
|
|
RptParametro.Add(New ReportParameter("NoExcesosVelocidad", Excesos.ToString))
|
|
RptParametro.Add(New ReportParameter("NoAceleraciones", Aceleraciones.ToString))
|
|
RptParametro.Add(New ReportParameter("NoColisiones", NoColisiones.ToString))
|
|
RptParametro.Add(New ReportParameter("Ralenti", Ralenti.ToString))
|
|
RptParametro.Add(New ReportParameter("TotalEventos", TotalEventos.ToString))
|
|
retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, "ReporteEventos", "PDF", MR:=Nothing, RDSName:="DsOC")
|
|
|
|
ImprimirbytesPDF(retorno, "ReporteEventos")
|
|
|
|
Catch ex As Exception
|
|
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
|
End Try
|
|
Else
|
|
Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
End Sub
|
|
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs)
|
|
EnviarReporteProgramado(DTDatos)
|
|
End Sub
|
|
Protected Sub GvEventos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("CveDispositivo").ToEntero <= 0 Then
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
End If
|
|
End Sub
|
|
End Class
|