Commit inicial Ventas Productivo
This commit is contained in:
206
GPS/TrayectoDetalle.aspx.vb
Normal file
206
GPS/TrayectoDetalle.aspx.vb
Normal file
@@ -0,0 +1,206 @@
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System.Data
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports Extensiones
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports Newtonsoft.Json.Linq
|
||||
Imports System.Linq
|
||||
Imports System.Net.Http
|
||||
|
||||
Partial Class GPS_TrayectoDetalle
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "P R O P I E D A D E S"
|
||||
Private Property DtGeocercas As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtGeocercas"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtGeocercas") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DtPosiciones As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtPosiciones"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtPosiciones") = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Private Property CveTrayecto As Integer
|
||||
Get
|
||||
Return CType(ViewState("CveTrayecto"), Integer)
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveTrayecto") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not Page.IsPostBack Then
|
||||
DirectCast(Master.FindControl("TSM"), ScriptManager).EnablePageMethods = True
|
||||
CveTrayecto = Request("CveTrayecto").ToString().ToEntero()
|
||||
If CveTrayecto > 0 Then
|
||||
CargaTrayectoHistorial(CveTrayecto)
|
||||
CargaReporte()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub CargaTrayectoHistorial(CveTrayecto As Integer)
|
||||
Dim ObjGPS As New ClsGPS
|
||||
Try
|
||||
If CveTrayecto > 0 Then
|
||||
RegistraScript("initMap();")
|
||||
If ObjGPS.GetTrayectosEstatusHistorial(CveTrayecto) Then
|
||||
Dim Direcciones = ConsultarDirecciones(ObjGPS.DtResultados)
|
||||
For Each Dir As JObject In Direcciones
|
||||
ObjGPS.DtResultados.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
|
||||
Next
|
||||
GvEstatus.DataSource = ObjGPS.DtResultados
|
||||
GvEstatus.DataBind()
|
||||
End If
|
||||
If ObjGPS.GetTrayectosDatos(CveTrayecto) Then
|
||||
Dim DtDatos = ObjGPS.DtSetResultados.Tables(0)
|
||||
If DtDatos.Rows.Count > 0 Then
|
||||
Dim RowEstatus As DataRow = DtDatos.Rows(0)
|
||||
LblTitulo.Text = $"Trayecto: {RowEstatus("Trayecto")}"
|
||||
LtlEstatusActual.Text = RowEstatus("Estatus").ToString()
|
||||
LtlDispositivo.Text = RowEstatus("Vehiculo").ToString()
|
||||
LtlFechaI.Text = If(String.IsNullOrEmpty(RowEstatus("FechaInicio").ToString()), "No ha ingresado a la geocerca de inicio", String.Format("{0:dd/MM/yyyy HH:mm tt}", RowEstatus("FechaInicio").ToString().ToDateTime()))
|
||||
LtlFechaF.Text = If(String.IsNullOrEmpty(RowEstatus("FechaFin").ToString()), "No ha Terminado", String.Format("{0:dd/MM/yyyy HH:mm tt}", RowEstatus("FechaFin").ToString().ToDateTime()))
|
||||
LtlVMedia.Text = String.Format("{0:N2}", RowEstatus("VMedia"))
|
||||
LtlVMax.Text = String.Format("{0:N2}", RowEstatus("VMax"))
|
||||
LtlTiempo.Text = String.Format("{0}", RowEstatus("TiempoOperativo"))
|
||||
LtlKM.Text = String.Format("{0:N2}", RowEstatus("Dist"))
|
||||
LtlExcesosVelo.Text = String.Format("{0}", RowEstatus("ExcesosVelocidad"))
|
||||
|
||||
LtlCombustibleI.Text = If(String.IsNullOrEmpty(RowEstatus("CombustibleInicial").ToString()), "No Disponible", String.Format("{0:N2}", RowEstatus("CombustibleInicial")))
|
||||
LtlCombustibleF.Text = If(String.IsNullOrEmpty(RowEstatus("CombustibleFinal").ToString()), "No Disponible", String.Format("{0:N2}", RowEstatus("CombustibleFinal")))
|
||||
|
||||
GvIgnicion.DataSource = ObjGPS.DtSetResultados.Tables(1)
|
||||
GvIgnicion.DataBind()
|
||||
|
||||
GvExcesos.DataSource = ObjGPS.DtSetResultados.Tables(2)
|
||||
GvExcesos.DataBind()
|
||||
|
||||
GvRalenti.DataSource = ObjGPS.DtSetResultados.Tables(3)
|
||||
GvRalenti.DataBind()
|
||||
End If
|
||||
End If
|
||||
Dim count = 0
|
||||
If ObjGPS.GetTrayectosGeoReferencias(CveTrayecto) Then
|
||||
DtGeocercas = ObjGPS.DtResultados
|
||||
If DtGeocercas IsNot Nothing Then
|
||||
Dim Coord As String = ""
|
||||
Dim CoordAnterior As String = ""
|
||||
Dim CveEstatus As Integer = -1
|
||||
Dim CveEstatusAnterior As Integer = -1
|
||||
'GEOCERCAS
|
||||
For Each Row As DataRow In DtGeocercas.Rows
|
||||
count += 1
|
||||
Coord = SQLToGmaps(Row("Geom").ToString, "POLYGON")
|
||||
CveEstatus = Row("CveEstatusTrayecto").ToString.ToEntero
|
||||
CveEstatusAnterior = Row("CveEstatusAnterior").ToString.ToEntero
|
||||
Dim EsInicio As Boolean = CBool(IfNull(Row("EsInicio"), 0))
|
||||
Dim EsFin As Boolean = CBool(IfNull(Row("EsFin"), 0))
|
||||
Dim InicioFin As Integer = If(EsInicio, 1, If(EsFin, 2, 0))
|
||||
RegistraScript($"creaPoligono({Coord}, '{Row("Color").ToString}', '{Row("GeoReferencia")}', '{Row("EstatusTrayecto")}',{InicioFin},{CveEstatus},{CveEstatusAnterior})", count.ToString())
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
If ObjGPS.GetTrayectosHistorial(CveTrayecto, UsuarioActual.CveCliente) Then
|
||||
DtPosiciones = ObjGPS.DtResultados
|
||||
If DtPosiciones IsNot Nothing Then
|
||||
Dim Fecha, Vehiculo, Icono, CoordDis, Info As String
|
||||
For Each Row As DataRow In DtPosiciones.Rows
|
||||
CoordDis = Row("PosicionVehiculo").ToString.SQLToGmaps("POINT")
|
||||
Fecha = Row("FechaTrama").ToString
|
||||
Vehiculo = Row("Vehiculo").ToString
|
||||
Info = InfoWindow($"{Row("EventoTexto")}", "-1", Row("CveDispositivo").ToString.ToEntero, Row, PermisoComandos:=False)
|
||||
If Row("Velocidad").ToString.ToDouble > 1 Then
|
||||
Icono = $"/Imagenes/{Row("Icono")}green.png"
|
||||
Else
|
||||
Icono = $"/Imagenes/{Row("Icono")}.png"
|
||||
End If
|
||||
RegistraScript($"CreaMarcador({CoordDis},'{Row("Vehiculo")}', '{Info}', '{Icono}');", count.ToString())
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al consultar el trayecto.", ex)
|
||||
End Try
|
||||
ObjGPS.Dispose()
|
||||
|
||||
'UpIgniciones.Update()
|
||||
'UpEventos.Update()
|
||||
End Sub
|
||||
Public Sub CargaReporte()
|
||||
Dim ObjGPS As New ClsGPS
|
||||
If ObjGPS.GetTrayectosDetalle(CveTrayecto) Then
|
||||
Dim Direcciones = ConsultarDirecciones(ObjGPS.DtResultados)
|
||||
|
||||
If Direcciones IsNot Nothing Then
|
||||
For Each Dir As JObject In Direcciones
|
||||
ObjGPS.DtResultados.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
|
||||
Next
|
||||
End If
|
||||
|
||||
GvEventos.DataSource = ObjGPS.DtResultados
|
||||
End If
|
||||
ObjGPS.Dispose()
|
||||
GvEventos.DataBind()
|
||||
UpEventos.Update()
|
||||
'RegistraScript("$('#ShowDiv3').click();")
|
||||
End Sub
|
||||
|
||||
Public Function ConsultarDirecciones(Dt As DataTable) As JArray
|
||||
Dim retorno As JArray = Nothing
|
||||
Dim posicionesArray = New JArray(From Row As DataRow In Dt
|
||||
Let index = Dt.Rows().IndexOf(Row)
|
||||
Select New JObject(
|
||||
New JProperty("indice", index),
|
||||
New JProperty("cveTrama", -1),
|
||||
New JProperty("lat", Row("Lat").ToString.ToDouble),
|
||||
New JProperty("lon", Row("Lng").ToString.ToDouble)
|
||||
))
|
||||
|
||||
Dim Base64array = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(posicionesArray.ToString()))
|
||||
|
||||
Using wc As New HttpClient()
|
||||
Try
|
||||
Dim Url = New Uri($"{ClsPaginas.UrlDirecciones}nominatim/reverseMultiple.php")
|
||||
Dim FormStuff = String.Format("formato=json&posiciones={0}", Base64array)
|
||||
Dim content = New StringContent(FormStuff, Encoding.UTF8, "application/x-www-form-urlencoded")
|
||||
Dim response = wc.PostAsync(Url, content).Result
|
||||
Dim result = response.Content.ReadAsStringAsync().Result
|
||||
retorno = JArray.Parse(result)
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener las direcciones", ex)
|
||||
End Try
|
||||
End Using
|
||||
Return retorno
|
||||
End Function
|
||||
|
||||
Protected Sub BtnTerminarTrayeto_Click(sender As Object, e As EventArgs)
|
||||
Dim DtEstatus As DataTable = Nothing
|
||||
Dim ObjGPS As New ClsGPS
|
||||
If ObjGPS.GetEstatusTrayectos(-1, UsuarioActual.CveCliente) Then
|
||||
DtEstatus = ObjGPS.DtResultados.Copy()
|
||||
End If
|
||||
Dim CveEstatusFinal As Integer = DtEstatus.FiltroPrimeroValor("CveEstatusTrayecto", "EsFin = True").ToEntero()
|
||||
If CveEstatusFinal > 0 Then
|
||||
If ObjGPS.UpdateTrayectoEstatus(CveTrayecto, CveEstatusFinal) Then
|
||||
Alert("El trayecto se finalizo correctamente")
|
||||
End If
|
||||
Else
|
||||
Alert("No se pudo obtener el estatus final", TipoMensaje.MsgError)
|
||||
End If
|
||||
ObjGPS.Dispose()
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user