Arrastre en APP

This commit is contained in:
2020-01-22 20:31:25 -07:00
parent 601ccedb44
commit 58eed4766c
3 changed files with 304 additions and 284 deletions

View File

@@ -1,151 +1,151 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepArrastre.aspx.cs" Inherits="GPS_RepArrastre" %> <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepArrastre.aspx.cs" Inherits="GPS_RepArrastre" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
#map { #map {
height: 450px; height: 450px;
} }
</style> </style>
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Arrastre Reporte de Arrastre
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li> <li>
<asp:LinkButton ID="LnkApagarvehiculo" runat="server">Apagar vehiculo</asp:LinkButton> <asp:LinkButton ID="LnkApagarvehiculo" runat="server">Apagar vehiculo</asp:LinkButton>
</li> </li>
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style=""> <div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle" style=""> <div class="portlet-title portlet-filterT smalltitle" style="">
<div class="tools"> <div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" /> <asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a> <a href="javascript:;" class="expand"></a>
</div> </div>
<div class="titlefiltros caption"> <div class="titlefiltros caption">
<div class="row"> <div class="row">
<div class="col-md-1 truncate"> <div class="col-md-1 truncate">
Vehiculo: Vehiculo:
</div> </div>
<div class="col-md-3 "> <div class="col-md-3 ">
<asp:DropDownList ID="DdlDispositivo" runat="server" DataTextField="NombreVehiculo" DataValueField="CveDispositivo" CssClass="form-control input-sm select2me"> <asp:DropDownList ID="DdlDispositivo" runat="server" DataTextField="NombreVehiculo" DataValueField="CveDispositivo" CssClass="form-control input-sm select2me">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="portlet-body" style="display: none;"> <div class="portlet-body" style="display: none;">
<asp:HiddenField ID="HdfVGrafica" ClientIDMode="Static" runat="server" /> <asp:HiddenField ID="HdfVGrafica" ClientIDMode="Static" runat="server" />
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="UpInfo" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpInfo" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div class="portlet light smmallpadding traspasorow bordered" style=""> <div class="portlet light smmallpadding traspasorow bordered" style="">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-red"> <div class="caption font-red">
<i class="fa fa-clock-o font-red"></i> <i class="fa fa-clock-o font-red"></i>
<span class="caption-subject bold uppercase">datos vehiculo</span> <span class="caption-subject bold uppercase">datos vehiculo</span>
</div> </div>
<div class="actions"> <div class="actions">
<div class="btn-group"> <div class="btn-group">
</div> </div>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a> <a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div> </div>
</div> </div>
<div id="C_bodyreportes" class="portlet-body rowpadding"> <div id="C_bodyreportes" class="portlet-body rowpadding">
<asp:TextBox ID="TxtFunciones" CssClass="hidden EvalRun" runat="server"></asp:TextBox> <asp:TextBox ID="TxtFunciones" CssClass="hidden EvalRun" runat="server"></asp:TextBox>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<label style="font-weight: bold;">¿Activar funcion de arrastre?</label> <label style="font-weight: bold;">¿Activar funcion de arrastre?</label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<asp:CheckBox ID="chkActivarArrastre" CssClass="chksino " AutoPostBack="true" OnCheckedChanged="chkActivarArrastre_CheckedChanged" Text=" " runat="server" /> <asp:CheckBox ID="chkActivarArrastre" CssClass="chksino " AutoPostBack="true" OnCheckedChanged="chkActivarArrastre_CheckedChanged" Text=" " runat="server" />
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<label style="font-weight: bold;">Velocidad</label> <label style="font-weight: bold;">Velocidad</label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<asp:Label ID="LblVelocidad" runat="server" Text="Sin Información"></asp:Label> <asp:Label ID="LblVelocidad" runat="server" Text="Sin Información"></asp:Label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<label style="font-weight: bold;">¿Encendido / Apagado?</label> <label style="font-weight: bold;">¿Encendido / Apagado?</label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<asp:Label ID="LblEncApa" runat="server" Text="Sin Información"></asp:Label> <asp:Label ID="LblEncApa" runat="server" Text="Sin Información"></asp:Label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<label style="font-weight: bold;">Fecha ultima Conexión</label> <label style="font-weight: bold;">Fecha ultima Conexión</label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<asp:Label ID="LblFechaInfo" runat="server" Text="Sin Información"></asp:Label> <asp:Label ID="LblFechaInfo" runat="server" Text="Sin Información"></asp:Label>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<asp:Panel runat="server" ID="pnlAlertaActiva" Visible="false" CssClass="col-md-6"> <asp:Panel runat="server" ID="pnlAlertaActiva" Visible="false" CssClass="col-md-6">
<div id="pulsate-regular" class="portlet light smmallpadding traspasorow bordered" style=""> <div id="pulsate-regular" class="portlet light smmallpadding traspasorow bordered" style="">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-red"> <div class="caption font-red">
<i class="fa fa-clock-o font-red"></i> <i class="fa fa-clock-o font-red"></i>
<span class="caption-subject bold uppercase">Alerta el vehiculo se encuentra en arrastre</span> <span class="caption-subject bold uppercase">Alerta el vehiculo se encuentra en arrastre</span>
</div> </div>
<div class="actions"> <div class="actions">
<div class="btn-group"> <div class="btn-group">
</div> </div>
</div> </div>
<div class="tools"> <div class="tools">
<%--<a href="javascript:;" class="collapse" data-original-title="" title=""></a>--%> <%--<a href="javascript:;" class="collapse" data-original-title="" title=""></a>--%>
</div> </div>
</div> </div>
<div class="portlet-body rowpadding"> <div class="portlet-body rowpadding">
</div> </div>
</div> </div>
</asp:Panel> </asp:Panel>
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<div id="map"> <div id="map">
</div> </div>
</asp:Content> </asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places"></script> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places"></script>
<script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script> <script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script>
<script> <script>
var image = '/Imagenes/rsz_11rsz_car.png'; var image = '/Imagenes/rsz_11rsz_car.png';
var geocoder; var geocoder;
var map; var map;
@@ -156,45 +156,45 @@
var polylinesRoute = []; var polylinesRoute = [];
var directionsDisplayArray = []; var directionsDisplayArray = [];
if (jQuery('#pulsate-regular')) { if (jQuery('#pulsate-regular')) {
jQuery('#pulsate-regular').pulsate({ jQuery('#pulsate-regular').pulsate({
color: "#bf1c56" color: "#bf1c56"
}); });
} }
var retorno; var retorno;
function setCenter(myLatLn) { function setCenter(myLatLn) {
map.setCenter(myLatLn); map.setCenter(myLatLn);
} }
function addmarkerarrastre(myLatLn) {//myLatLn = { lat: -25.363, lng: 131.044 } function addmarkerarrastre(myLatLn) {//myLatLn = { lat: -25.363, lng: 131.044 }
if (markerArrastre) { if (markerArrastre) {
markerArrastre.setMap(null); markerArrastre.setMap(null);
} }
markerArrastre = new google.maps.Marker({ markerArrastre = new google.maps.Marker({
position: myLatLn, position: myLatLn,
map: map, map: map,
title: 'Activacion Arrastre' title: 'Activacion Arrastre'
}); });
} }
function addmarkerActual(myLatLn, Encencido) {//myLatLn = { lat: -25.363, lng: 131.044 } ,addmarkerActual({ lat: -25.363, lng: 131.044 }) function addmarkerActual(myLatLn, Encencido) {//myLatLn = { lat: -25.363, lng: 131.044 } ,addmarkerActual({ lat: -25.363, lng: 131.044 })
var imagen = Encencido == 1 ? '/Imagenes/rsz_11rsz_cargreen.png' : '/Imagenes/rsz_11rsz_car.png'; var imagen = Encencido == 1 ? '/Imagenes/rsz_11rsz_cargreen.png' : '/Imagenes/rsz_11rsz_car.png';
var markerIcon = { url: imagen, labelOrigin: new google.maps.Point(26, 43) }; var markerIcon = { url: imagen, labelOrigin: new google.maps.Point(26, 43) };
if (markerActual) { if (markerActual) {
markerActual.setMap(null); markerActual.setMap(null);
} }
markerActual = new google.maps.Marker({ markerActual = new google.maps.Marker({
position: myLatLn, position: myLatLn,
map: map, map: map,
title: 'Posición Actual', title: 'Posición Actual',
icon: markerIcon icon: markerIcon
}); });
} }
function initMap() { function initMap() {
map = new google.maps.Map(document.getElementById('map'), { map = new google.maps.Map(document.getElementById('map'), {
center: { lat: 29.0628417, lng: -110.9872448 }, center: { lat: 29.0628417, lng: -110.9872448 },
zoom: 13 zoom: 13
}); });
//var ShowDiv1 = document.createElement('div'); //var ShowDiv1 = document.createElement('div');
//var ShowDivControl = new ShowDiv(ShowDiv1, map); //var ShowDivControl = new ShowDiv(ShowDiv1, map);
@@ -219,25 +219,25 @@
geocoder = new google.maps.Geocoder(); geocoder = new google.maps.Geocoder();
//google.maps.event.addListener(map, "click", function (event) { //google.maps.event.addListener(map, "click", function (event) {
// closeLastOpenedInfoWindow(); // closeLastOpenedInfoWindow();
//}); //});
directionsService = new google.maps.DirectionsService; directionsService = new google.maps.DirectionsService;
directionsDisplay = new google.maps.DirectionsRenderer; directionsDisplay = new google.maps.DirectionsRenderer;
directionsDisplay.setOptions({ suppressMarkers: true }); directionsDisplay.setOptions({ suppressMarkers: true });
directionsDisplay.setMap(map); directionsDisplay.setMap(map);
} }
function ADSBegin() { function ADSBegin() {
eval($('.EvalRun').val()); eval($('.EvalRun').val());
} }
initMap(); initMap();
//$(document).ready(function () { //$(document).ready(function () {
// initMap(); // initMap();
//}); //});
</script> </script>
</asp:Content> </asp:Content>

View File

@@ -1,100 +1,100 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Web; using System.Web;
using System.Web.UI; using System.Web.UI;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
using Extensiones; using Extensiones;
public partial class GPS_RepArrastre : ClsPaginas public partial class GPS_RepArrastre : ClsPaginas
{ {
public int CveDispositivo public int CveDispositivo
{ {
get get
{ {
if (ViewState["CveDispositivo"] != null) if (ViewState["CveDispositivo"] != null)
{ {
return ViewState["CveDispositivo"].ToString().ToEntero(); return ViewState["CveDispositivo"].ToString().ToEntero();
} }
else else
{ {
return 0; return 0;
} }
} }
set { ViewState["CveDispositivo"] = value; } set { ViewState["CveDispositivo"] = value; }
} }
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if (!IsPostBack) if (!IsPostBack)
{ {
// fijo borrar // fijo borrar
//DdlDispositivo.DataSource = get_GlobalDTDispositivosUsuarios(263965, 1928) ; //DdlDispositivo.DataSource = get_GlobalDTDispositivosUsuarios(263965, 1928) ;
DdlDispositivo.DataSource = get_GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario) ; DdlDispositivo.DataSource = get_GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario) ;
DdlDispositivo.DataBind(); DdlDispositivo.DataBind();
getArrastre(); getArrastre();
} }
} }
private void getArrastre() private void getArrastre()
{ {
CveDispositivo = DdlDispositivo.SelectedValue.ToEntero(); CveDispositivo = DdlDispositivo.SelectedValue.ToEntero();
using (ClsGPS objgps = new ClsGPS()) using (ClsGPS objgps = new ClsGPS())
{ {
if (objgps.GPS_ArrastreGET(CveDispositivo) && objgps.DtResultados.Rows.Count > 0) if (objgps.GPS_ArrastreGET(CveDispositivo) && objgps.DtResultados.Rows.Count > 0)
{ {
DataRow dtrow = objgps.DtResultados.Rows[0]; DataRow dtrow = objgps.DtResultados.Rows[0];
upInfo(dtrow); upInfo(dtrow);
} }
} }
} }
public void upInfo(DataRow dtrow) public void upInfo(DataRow dtrow)
{ {
if ( dtrow != null) if ( dtrow != null)
{ {
LblVelocidad.Text = $"{dtrow["Speed"]:N0}"; LblVelocidad.Text = $"{dtrow["Speed"]:N0}";
LblEncApa.Text = $"{dtrow["EncendidoText"]}"; LblEncApa.Text = $"{dtrow["EncendidoText"]}";
LblFechaInfo.Text = $"{dtrow["FechaTrama"]:dd/MM/yyyy HH:mm:ss}"; LblFechaInfo.Text = $"{dtrow["FechaTrama"]:dd/MM/yyyy HH:mm:ss}";
chkActivarArrastre.Checked = dtrow["ArrastreActivo"].ToString() == "1"; chkActivarArrastre.Checked = dtrow["ArrastreActivo"].ToString() == "1";
pnlAlertaActiva.Visible = dtrow["AlertaArrastre"].ToString() == "1"; pnlAlertaActiva.Visible = dtrow["AlertaArrastre"].ToString() == "1";
//LblVelocidad.Text = $"{dtrow[""]}"; //LblVelocidad.Text = $"{dtrow[""]}";
//LblVelocidad.Text = $"{dtrow[""]}";addmarkerActual({ lat: -25.363, lng: 131.044 }) //LblVelocidad.Text = $"{dtrow[""]}";addmarkerActual({ lat: -25.363, lng: 131.044 })
string pVehiculo = string.Format("{{ lat: {0}, lng: {1}}}", dtrow["Lat"], dtrow["Lng"]); string pVehiculo = string.Format("{{ lat: {0}, lng: {1}}}", dtrow["Lat"], dtrow["Lng"]);
string parrastre = string.Format("{{ lat: {0}, lng: {1}}}", dtrow["LatArrastre"], dtrow["LngArrastre"]); string parrastre = string.Format("{{ lat: {0}, lng: {1}}}", dtrow["LatArrastre"], dtrow["LngArrastre"]);
TxtFunciones.Text = string.Format("addmarkerActual({0},{3}){1};setCenter({2})", pVehiculo, (dtrow["ArrastreActivo"].ToString() == "1" ? $" ;addmarkerarrastre({parrastre})" : ";addmarkerarrastre()"), (dtrow["ArrastreActivo"].ToString() == "1" ? parrastre : pVehiculo), dtrow["Encendido"].ToString().ToEntero()); TxtFunciones.Text = string.Format("addmarkerActual({0},{3}){1};setCenter({2})", pVehiculo, (dtrow["ArrastreActivo"].ToString() == "1" ? $" ;addmarkerarrastre({parrastre})" : ";addmarkerarrastre()"), (dtrow["ArrastreActivo"].ToString() == "1" ? parrastre : pVehiculo), dtrow["Encendido"].ToString().ToEntero());
UpInfo.Update(); UpInfo.Update();
} }
} }
protected void BtnConsultar_Click(object sender, EventArgs e) protected void BtnConsultar_Click(object sender, EventArgs e)
{ {
getArrastre(); getArrastre();
} }
protected void chkActivarArrastre_CheckedChanged(object sender, EventArgs e) protected void chkActivarArrastre_CheckedChanged(object sender, EventArgs e)
{ {
using (ClsGPS objgps = new ClsGPS()) using (ClsGPS objgps = new ClsGPS())
{ {
if (objgps.GPS_ArrastreActivarDesactivar(CveDispositivo, chkActivarArrastre.Checked)){ if (objgps.GPS_ArrastreActivarDesactivar(CveDispositivo, chkActivarArrastre.Checked)){
if (objgps.GPS_ArrastreGET(CveDispositivo) && objgps.DtResultados.Rows.Count > 0) if (objgps.GPS_ArrastreGET(CveDispositivo) && objgps.DtResultados.Rows.Count > 0)
{ {
DataRow dtrow = objgps.DtResultados.Rows[0]; DataRow dtrow = objgps.DtResultados.Rows[0];
upInfo(dtrow); upInfo(dtrow);
} }
if (chkActivarArrastre.Checked) if (chkActivarArrastre.Checked)
{ {
Alert("se ha activado la funcion de arrastre"); Alert("se ha activado la funcion de arrastre");
} }
else else
{ {
Alert("se ha desactivado la funcion de arrastre"); Alert("se ha desactivado la funcion de arrastre");
} }
} }
} }
} }
} }

View File

@@ -938,6 +938,26 @@ Public Class WSGPSApp
End Function End Function
<WebMethod>
Public Function GetArrastre(CveDispositivo As Integer) As String
Dim Retorno As String = "[]"
Using ObjGPS As New ClsGPS
If ObjGPS.GPS_ArrastreGET(CveDispositivo) Then
Retorno = ObjGPS.DtResultados.DataTableToJSONIPP()
End If
End Using
Return Retorno
End Function
<WebMethod>
Public Function ActivarDesactivarArrastre(CveDispositivo As Integer, Activo As Boolean) As Boolean
Dim Retorno As Boolean = False
Using ObjGPS As New ClsGPS
Retorno = ObjGPS.GPS_ArrastreActivarDesactivar(CveDispositivo, Activo)
End Using
Return Retorno
End Function
<WebMethod> <WebMethod>
Public Function GetTrayectos(CveCliente As Integer) As String Public Function GetTrayectos(CveCliente As Integer) As String
Dim Retorno As String = "[]" Dim Retorno As String = "[]"