Commit inicial Ventas Productivo
This commit is contained in:
265
GPS/PuntosDeInteres.aspx.vb
Normal file
265
GPS/PuntosDeInteres.aspx.vb
Normal file
@@ -0,0 +1,265 @@
|
||||
Imports Extensiones
|
||||
Imports System.Data
|
||||
Partial Class GPS_PuntosDeInteres
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region " PROPIEDADES "
|
||||
Private Property TrazarRuta As Integer
|
||||
Get
|
||||
Return ViewState("TrazarRuta").ToString.ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("TrazarRuta") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property EsEditar As Integer
|
||||
Get
|
||||
Return ViewState("EsEditar").ToString.ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("EsEditar") = value
|
||||
End Set
|
||||
|
||||
End Property
|
||||
Private Property CvePuntoDeInteres As Integer
|
||||
Get
|
||||
Return ViewState("CvePuntoDeInteres").ToString.ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CvePuntoDeInteres") = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not Page.IsPostBack Then
|
||||
CargaDatos()
|
||||
EsEditar = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatos()
|
||||
Dim gps As New ClsGPS
|
||||
If gps.PuntoDeInteresGrupoGet(-1, 1) Then
|
||||
GvGrupos.DataSource = gps.DtResultados
|
||||
Else
|
||||
GvGrupos.DataSource = Nothing
|
||||
End If
|
||||
If gps.PuntoDeInteresGet(-1, UsuarioActual.CveCliente, 1, -1) Then
|
||||
GvPuntos.DataSource = gps.DtResultados
|
||||
GVPuntosInteres.DataSource = gps.DtResultados
|
||||
Else
|
||||
GvPuntos.DataSource = Nothing
|
||||
GVPuntosInteres.DataSource = Nothing
|
||||
End If
|
||||
gps.Dispose()
|
||||
GvGrupos.DataBind()
|
||||
GvPuntos.DataBind()
|
||||
GVPuntosInteres.DataBind()
|
||||
UpEditar.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub GvGrupos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvGrupos.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
e.Row.Attributes.Add("onClick", $"CargaDatosSeleccionados({e.Row.RowIndex}, '{e.Row.DBCampo("CvePuntoDeInteresGrupo").ToString}');")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Protected Sub BtnAgregarPunto_Click(sender As Object, e As EventArgs) Handles BtnAgregarPunto.Click
|
||||
Dim GPS As New ClsGPS
|
||||
GPS.IniciaTransacSQL()
|
||||
Dim GEOM As String
|
||||
Dim HuboError = False
|
||||
If EsEditar = 0 Then
|
||||
If HdnTipo.Value = "Point" Then
|
||||
If Points.Value <> "" Then
|
||||
GEOM = Points.Value
|
||||
Dim Var = 0
|
||||
Dim CoordsPuntos() As String = GEOM.Split(","c)
|
||||
For Each coordenada As String In CoordsPuntos
|
||||
Var += 1
|
||||
If coordenada Is CoordsPuntos.Last Then
|
||||
Exit For
|
||||
End If
|
||||
If Not GPS.PuntoDeInteresAdd($"{TxtNombre.Text} {Var}", UsuarioActual.CveCliente, $"POINT{coordenada}", True, TxtDescripcion.Text, HdnGrupo.Value.ToEntero) Then
|
||||
HuboError = True
|
||||
End If
|
||||
Next
|
||||
If Not HuboError Then
|
||||
Alert("Los puntos de interés se agregaron correctamente", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
Else
|
||||
GEOM = $"POINT{CommandArg.Value}"
|
||||
If GPS.PuntoDeInteresAdd(TxtNombre.Text, UsuarioActual.CveCliente, GEOM, True, TxtDescripcion.Text, HdnGrupo.Value.ToEntero) Then
|
||||
Alert("El punto de interés se agregó correctamente", TipoMensaje.MsgInformacion)
|
||||
Else
|
||||
HuboError = True
|
||||
End If
|
||||
End If
|
||||
RegistraScript("$('#divAgregarTipo').modal('hide');DeleteMarkers();", "1")
|
||||
CargaDatos()
|
||||
ElseIf HdnTipo.Value = "PointGroup" Then
|
||||
If GPS.PuntoDeInteresGrupoAdd(TxtNombre.Text, UsuarioActual.CveCliente, True, TxtDescripcion.Text) Then
|
||||
Alert("El grupo de puntos de guardó correctamente", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
RegistraScript("$('#divAgregarTipo').modal('hide');DeleteMarkers();", "1")
|
||||
CargaDatos()
|
||||
ElseIf HdnTipo.Value = "GroupRoute" Then
|
||||
If HdnGrupo.Value = "-1" Then
|
||||
Alert("Es necesario seleccionar un grupo de puntos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
If GPS.PuntoDeInteresGet(-1, -1, 1, HdnGrupo.Value.ToEntero) AndAlso GPS.DtResultados.Rows.Count > 0 Then
|
||||
Dim ruta As String = ""
|
||||
For Each row As DataRow In GPS.DtResultados.Rows
|
||||
ruta += row("Punto").ToString.Replace("POINT (", "").Replace(")", ",")
|
||||
Next
|
||||
ruta = $"LINESTRING({ruta.Substring(0, ruta.Length - 1)})"
|
||||
ruta = SQLToGmaps(ruta, "LINESTRING")
|
||||
RegistraScript($"CreaRuta({ruta})")
|
||||
Else
|
||||
Alert("El grupo seleccionado está vacío", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
RegistraScript("$('#divAgregarTipo').modal('hide');", "1")
|
||||
End If
|
||||
Else
|
||||
If GPS.PuntoDeInteresUpdate(TxtNombre.Text, UsuarioActual.CveCliente, CvePuntoDeInteres, chkEstatus.Checked, TxtDescripcion.Text, HdnGrupo.Value.ToEntero) Then
|
||||
HuboError = False
|
||||
Alert("El punto de interés se actualizó correctamente")
|
||||
RegistraScript("$('#divAgregarTipo').modal('hide');", "1")
|
||||
dvEstatus.Style.Add("display", "none")
|
||||
Else
|
||||
HuboError = True
|
||||
End If
|
||||
End If
|
||||
TxtDescripcion.Text = ""
|
||||
TxtNombre.Text = ""
|
||||
UpBodyTipoEquipo.Update()
|
||||
If HuboError Then
|
||||
GPS.RollBack()
|
||||
Else
|
||||
GPS.Commit()
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function SQLToGmaps(CoordsSQL As String, Tipo As String) As String
|
||||
Dim CoordsPoligono As String = CoordsSQL.Replace($"{Tipo}", "").Replace(")", "").Replace("(", "")
|
||||
Dim CoordsPuntos() As String = CoordsPoligono.Split(","c)
|
||||
Dim Var As String = ""
|
||||
For Each coordenada As String In CoordsPuntos
|
||||
If coordenada Is CoordsPuntos.Last Then
|
||||
Dim latlng() As String = coordenada.Trim.Split(" ")
|
||||
Var = $"{Var}{{lat: {latlng(1)}, lng: {latlng(0)} }}"
|
||||
Else
|
||||
Dim latlng() As String = coordenada.Trim.Split(" ")
|
||||
Var = $"{Var}{{lat: {latlng(1)}, lng: {latlng(0)} }},"
|
||||
End If
|
||||
Next
|
||||
|
||||
If Tipo = "POLYGON" OrElse Tipo = "LINESTRING" Then
|
||||
Var = $"[{Var}]"
|
||||
End If
|
||||
Return Var
|
||||
End Function
|
||||
Protected Sub BtnCalcular_Click(sender As Object, e As EventArgs) Handles BtnCalcularR.Click
|
||||
Dim GPS As New ClsGPS
|
||||
Dim HuboError = False
|
||||
Dim ruta As String = ""
|
||||
|
||||
For Each row As GridViewRow In GvPuntos.Rows
|
||||
If row.FCCheckBox("chkGR").Checked Then
|
||||
ruta += row.DataKey("Punto").ToString.Replace("POINT (", "").Replace(")", ",")
|
||||
End If
|
||||
Next
|
||||
ruta = $"LINESTRING({ruta.Substring(0, ruta.Length - 1)})"
|
||||
ruta = SQLToGmaps(ruta, "LINESTRING")
|
||||
RegistraScript($"CreaRuta({ruta})", "1")
|
||||
RegistraScript("$('#dvConsulta').modal('hide');", "2")
|
||||
|
||||
End Sub
|
||||
'Protected Sub BtnAgregarRuta_Click(sender As Object, e As EventArgs) Handles BtnAgregarRuta.Click
|
||||
' Dim GPS As New ClsGPS
|
||||
' Dim GeoRefString As String = CommandArg.Value
|
||||
' Dim CoordsPuntos() As String = GeoRefString.Split("+"c)
|
||||
' GeoRefString = ""
|
||||
' For Each coordenada As String In CoordsPuntos
|
||||
' If coordenada Is CoordsPuntos.Last Then
|
||||
' Exit For
|
||||
' End If
|
||||
' coordenada = coordenada.Replace("(", "").Replace(")", "")
|
||||
' Dim LatLng() As String = coordenada.Split(","c)
|
||||
' GeoRefString = $"{GeoRefString} {LatLng(1).Trim} {LatLng(0).Trim},"
|
||||
' Next
|
||||
|
||||
' GeoRefString = GeoRefString.Substring(0, GeoRefString.Length - 1)
|
||||
' GeoRefString = $"LINESTRING({GeoRefString})"
|
||||
' If GPS.GeoReferenciaAdd(TxtNomRuta.Text, 7, GeoRefString, "Ruta", True, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, chkLunes.Checked, chkMartes.Checked, chkMiercoles.Checked, chkJueves.Checked, chkViernes.Checked, chkSabado.Checked, chkDomingo.Checked, DateTime.Today, DateTime.Today.AddDays(1), "#0088FF", TxtTolerancia.Text, UsuarioActual.CveCliente) Then
|
||||
' Alert("Se agregó correctamente la Ruta", TipoMensaje.MsgInformacion)
|
||||
' End If
|
||||
|
||||
' CommandArg.Value = ""
|
||||
' GeoRefString = ""
|
||||
' TxtNomRuta.Text = ""
|
||||
' TxtTolerancia.Text = ""
|
||||
' txtFechaI.Text = ""
|
||||
' txtFechaF.Text = ""
|
||||
' TxtHoraF.Text = ""
|
||||
' TxtHoraI.Text = ""
|
||||
' chkLunes.Checked = False
|
||||
' chkMartes.Checked = False
|
||||
' chkMiercoles.Checked = False
|
||||
' chkJueves.Checked = False
|
||||
' chkViernes.Checked = False
|
||||
' chkSabado.Checked = False
|
||||
' chkDomingo.Checked = False
|
||||
' UpdatePanel2.Update()
|
||||
' GPS.Dispose()
|
||||
' RegistraScript("Limpieza();")
|
||||
'End Sub
|
||||
Protected Sub BtnAlerta_Click(sender As Object, e As EventArgs) Handles BtnAlerta.Click
|
||||
Alert("Debido a la falta de caminos entre estos puntos, no es posible calcular la ruta. La siguiente es sólo una representación.", TipoMensaje.MsgAdvertencia)
|
||||
End Sub
|
||||
Protected Sub imgE_Click(sender As Object, e As EventArgs)
|
||||
EsEditar = 1
|
||||
Dim Boton = CType(sender, LinkButton)
|
||||
Dim GvRow As GridViewRow = DirectCast(Boton.NamingContainer, GridViewRow)
|
||||
CvePuntoDeInteres = GvRow.DataKey("CvePuntoDeInteres").ToString.ToEntero
|
||||
TxtNombre.Text = GvRow.DataKey("PuntoDeInteres").ToString
|
||||
TxtDescripcion.Text = GvRow.DataKey("Descripcion").ToString
|
||||
dvEstatus.Style.Add("display", "")
|
||||
dvEstatus.Style.Add("display", "")
|
||||
chkEstatus.Checked = CBool(GvRow.DataKey("Estatus").ToString)
|
||||
RegistraScript($"$('#divAgregarTipo').modal();",1)
|
||||
For Each row As GridViewRow In GvGrupos.Rows
|
||||
If row.DataKey("CvePuntoDeInteresGrupo").ToString = GvRow.DataKey("CvePuntoDeInteresGrupo").ToString Then
|
||||
RegistraScript($"CargaDatosSeleccionados({row.RowIndex}, '{row.DataKey("CvePuntoDeInteresGrupo").ToString}');")
|
||||
End If
|
||||
Next
|
||||
UpBodyTipoEquipo.Update()
|
||||
End Sub
|
||||
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVPuntosInteres.RowDeleting
|
||||
Dim GPS As New ClsGPS
|
||||
Dim CvePuntodeInteres As Integer = GVPuntosInteres.Rows(e.RowIndex).DataKey("CvePuntoDeInteres").ToEntero
|
||||
If GPS.PuntoDeInteresDelete(CvePuntodeInteres, UsuarioActual.CveCliente) Then
|
||||
Alert("El punto de interés se eliminó correctamente", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
GPS.Dispose()
|
||||
CargaDatos()
|
||||
End Sub
|
||||
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GVPuntosInteres.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
e.Row.FCLinkButton("ImgE").CommandArgument = e.Row.DataKey("CvePuntoDeInteres").ToString
|
||||
End If
|
||||
End Sub
|
||||
Protected Sub LBMostrar_Click(sender As Object, e As EventArgs) Handles LBMostrar.Click
|
||||
For Each row As GridViewRow In GVPuntosInteres.Rows
|
||||
If row.FCCheckBox("chkGR").Checked Then
|
||||
Dim coords = SQLToGmaps(row.DataKey("Punto"), "POINT")
|
||||
RegistraScript($"CreaMarcador({coords}, '{row.DataKey("PuntoDeInteres").ToString}')", row.RowIndex)
|
||||
End If
|
||||
Next
|
||||
RegistraScript("$('#dvEditar').modal('hide');FitBounds();")
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user