WS Kimberly Clark

This commit is contained in:
2020-09-04 16:38:26 -07:00
parent f5b7f167ee
commit ff50112be3
8 changed files with 2442 additions and 0 deletions

View File

@@ -0,0 +1,163 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="KimberlyClarkTracking.aspx.vb" Inherits="GPS_KimberlyClarkTracking" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Integración Kimberly-Clark
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAcciones" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarTracking" runat="server" OnClick="LnkAgregarTracking_Click" Text="<i class='fa fa-truck'></i> Agregar Tracking"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle " style="">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="BtnConsultar_Click" class="btn btn-primary" />
</div>
<div class="titlefiltros caption" style="margin-top: -8px;">
<ul class="list-inline" style="font-size: 12px;">
<li>Vehículo:
<asp:DropDownList ID="DdlDispositivoFiltro" runat="server" Width="200px" DataTextField="Display" DataValueField="CveDispositivo" CssClass="form-control input-sm select2me">
</asp:DropDownList>
</li>
<li>Estatus:
<asp:DropDownList ID="DdlEstatus" runat="server" Width="200px" CssClass="form-control input-sm select2me">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Activo" Value="1"></asp:ListItem>
<asp:ListItem Text="Inactivo" Value="0"></asp:ListItem>
</asp:DropDownList>
</li>
<li>Fecha Inicio:
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
</div>
</li>
<li>Fecha Fin:
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
</div>
</li>
</ul>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row">
<div class="col-md-12">
<div class="row" style="margin-left: 0px; margin-top: 5px; margin-bottom: 5px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaG" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaG','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaG','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:UpdatePanel runat="server" ID="UpDatos" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" Style="overflow-x: auto;" GridLines="None" OnRowDeleting="GvDatos_RowDeleting"
DataKeyNames="CveKimberlyClarkTracking,CveEstatus,CveDispositivo,Dominio,Serie,Codigo" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-sortindex="1" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de Trayectos">
<Columns>
<asp:BoundField DataField="Dominio" HeaderText="Dominio" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="20%" />
<asp:BoundField DataField="Codigo" HeaderText="Codigo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
<asp:BoundField DataField="Serie" HeaderText="Serie" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
<asp:BoundField DataField="NoEconomico" HeaderText="Vehículo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="15%" />
<asp:BoundField DataField="FechaIngreso" HeaderText="Fecha Ingreso" DataFormatString="{0:dd/MM/yyyy HH:mm:ss}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%" />
<asp:BoundField DataField="UsuarioIngreso" HeaderText="Usuario Ingresó" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="15%" />
<asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%">
<ItemTemplate>
<asp:Label ID="LblEstatus" Text='<%# Eval("Estatus") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FechaCambioEstatus" HeaderText="Fecha Cambio Estatus" DataFormatString="{0:dd/MM/yyyy HH:mm:ss}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%" />
<asp:BoundField DataField="UsuarioModifico" HeaderText="Usuario Modificó" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="15%" />
<asp:TemplateField HeaderText="Cambiar Estatus" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
<ItemTemplate>
<asp:LinkButton ID="LnkCambiarEstatus" runat="server" OnClick="LnkCambiarEstatus_Click" CssClass="Texto" Text="<i class='fa fa-pencil-square-o'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Desea cambiar el estatus?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Enviar" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
<ItemTemplate>
<asp:LinkButton ID="LnkEnviarPosicion" runat="server" OnClick="LnkEnviarPosicion_Click" CssClass="Texto" Text="<i class='fa fa-paper-plane'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Desea cambiar el estatus?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Comandos" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Desea eliminar el trayecto?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="DivAgregar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel runat="server" ID="UpAgregar" UpdateMode="Conditional" class="modal-dialog">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="ModalAgregarTitle" runat="server">Agregar Tracking</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDominio" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDominio" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Dominio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpShipment"></asp:RequiredFieldValidator>
<label for="<%= TxtDominio.ClientID.ToString()%>">Dominio:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlDispositivo" DataTextField="Display" DataValueField="CveDispositivo" CssClass="form-control select2me" Style="width: 100%" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" InitialValue="-1" CssClass="help-block errorimput" ControlToValidate="DdlDispositivo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Dispositivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpShipment"></asp:RequiredFieldValidator>
<label for="<%= DdlDispositivo.ClientID.ToString()%>">Vehículo:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSerie" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<label for="<%= TxtSerie.ClientID.ToString()%>">Serie:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodigo" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<label for="<%= TxtCodigo.ClientID.ToString()%>">Código:</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnAgregar" runat="server" Text="Agregar" OnClick="BtnAgregar_Click" CssClass="btn btn-primary" ValidationGroup="GrpShipment"></asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,143 @@
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_KimberlyClarkTracking
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaDatos()
End If
End Sub
Private Sub CargaDatos()
CargaDispositivos()
CargaTracking()
End Sub
Public Sub CargaDispositivos()
Dim DtDispositivos As DataTable = GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario).FiltraParametros("Estatus = 1")
DdlDispositivoFiltro.DataSource = DtDispositivos
DdlDispositivoFiltro.DataBind()
DdlDispositivoFiltro.Items.Insert(0, New ListItem("Todos", "-1"))
DdlDispositivo.DataSource = DtDispositivos
DdlDispositivo.DataBind()
DdlDispositivo.Items.Insert(0, New ListItem("Seleccione", "-1"))
UpAgregar.Update()
End Sub
Private Sub CargaTracking()
Dim FechaI As DateTime = If(IsDate(txtFechaI.Text), txtFechaI.Text.ToDateTime(), MinFecha)
Dim FechaF As DateTime = If(IsDate(txtFechaF.Text), txtFechaF.Text.ToDateTime(), MaxFecha)
Dim ObjGPS As New ClsGPS
If ObjGPS.GetKimberlyClarkTracking(-1, DdlDispositivoFiltro.SelectedValue.ToEntero(), DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveCliente, UsuarioActual.CveEmpresa, FechaI, FechaF) Then
GvDatos.DataSource = ObjGPS.DtResultados
End If
ObjGPS.Dispose()
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub LnkAgregarTracking_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivAgregar').modal('show');")
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaTracking()
End Sub
Protected Sub LnkCambiarEstatus_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveKimberlyClarkTracking As Integer = GvRow.DataKey("CveKimberlyClarkTracking").ToEntero()
Dim Estatus As Boolean = CBool(GvRow.DataKey("CveEstatus").ToEntero())
Dim ObjGPS As New ClsGPS
If ObjGPS.UpdateKimberlyClarkTrackingEstatus(CveKimberlyClarkTracking, Not Estatus, UsuarioActual.CveUsuario) Then
Alert("El tracking fue desactivado correctamente")
Else
Alert("Ocurrió un error al actualizar el estatus", TipoMensaje.MsgError)
End If
ObjGPS.Dispose()
CargaDatos()
End Sub
Protected Sub GvDatos_RowDeleting(sender As Object, e As GridViewDeleteEventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveKimberlyClarkTracking As Integer = GvRow.DataKey("CveKimberlyClarkTracking").ToEntero()
Dim ObjGPS As New ClsGPS
If ObjGPS.RemoveKimberlyClarkTracking(CveKimberlyClarkTracking) Then
Alert("El tracking fue eliminado")
Else
Alert("Ocurrió un error al actualizar el estatus", TipoMensaje.MsgError)
End If
ObjGPS.Dispose()
CargaDatos()
End Sub
Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs)
Dim Dominio As String = TxtDominio.Text.Trim()
Dim Codigo As String = TxtCodigo.Text.Trim()
Dim Serie As String = TxtSerie.Text.Trim()
Dim CveDispositivo As Integer = DdlDispositivo.SelectedValue.ToEntero()
Dim ObjGPS As New ClsGPS
Dim CveKimberlyClarkTracking As Integer = ObjGPS.AddKimberlyClarkTracking(Dominio, Codigo, Serie, CveDispositivo, UsuarioActual.CveUsuario, UsuarioActual.CveCliente, UsuarioActual.CveEmpresa)
If CveKimberlyClarkTracking > 0 Then
Alert("El tracking fue agregado correctamente")
Else
Alert("Ocurrió un error el tracking", TipoMensaje.MsgError)
End If
ObjGPS.Dispose()
CargaDatos()
RegistraScript("$('#DivAgregar').modal('hide');")
End Sub
Protected Sub LnkEnviarPosicion_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveDispositivo As Integer = GvRow.DataKey("CveDispositivo").ToEntero()
Dim Dominio As String = GvRow.DataKey("Dominio")
Dim Serie As String = GvRow.DataKey("Serie")
Dim Codigo As String = GvRow.DataKey("Codigo")
Dim Lat As Double = 0
Dim Lng As Double = 0
Dim Velocidad As Double = 0
Dim FechaEvento As DateTime = Nothing
Using ObjGPS As New ClsGPS
If ObjGPS.UltimaPosicionEquipoGet(CveDispositivo, MinFecha, MaxFecha) AndAlso ObjGPS.DtResultados.Rows.Count > 0 Then
Lat = ObjGPS.DtResultados.Rows(0)("Lat").ToString().ToDouble()
Lng = ObjGPS.DtResultados.Rows(0)("Lng").ToString().ToDouble()
FechaEvento = ObjGPS.DtResultados.Rows(0)("FechaTrama").ToString().ToDateTime()
Velocidad = ObjGPS.DtResultados.Rows(0)("SPD").ToString().ToDouble()
End If
End Using
Try
Dim WS = New WSKimberlyClark.ServiceSoapClient()
Dim Retorno = WS.LoginYInsertarEvento("USUARIO", "CONTRASEÑA", Dominio, Serie, Codigo, Lat, Lng, 0, Velocidad, FechaEvento, FechaEvento)
If Retorno > 0 Then
Alert("El evento se envió correctamente")
Else
Alert("No se envió el evento", TipoMensaje.MsgAdvertencia)
End If
Catch ex As Exception
OnError("Ocurrió un error al enviar la posición", ex)
End Try
End Sub
End Class