Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -485,7 +485,7 @@ Public Class ClsAcumuladores
|
||||
|
||||
#Region " FOLIOS GARANTÍA "
|
||||
|
||||
Public Function FoliosGarantiaGet(CveFolioGarantia As Integer, CveEmpresa As Integer, Optional Estatus As Integer = -1, Optional TipoFolio As String = "-1", Optional Area As Integer = 1) As Boolean
|
||||
Public Function FoliosGarantiaGet(CveFolioGarantia As Integer, CveEmpresa As Integer, Optional Estatus As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional TipoFolio As String = "-1", Optional Area As Integer = 1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
'Data = New DataTable
|
||||
|
||||
@@ -495,6 +495,7 @@ Public Class ClsAcumuladores
|
||||
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
|
||||
.Add("@Estatus", SqlDbType.Int).Value = Estatus
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@tipoFolio", SqlDbType.VarChar).Value = TipoFolio
|
||||
.Add("@Area", SqlDbType.Int).Value = Area
|
||||
End With
|
||||
|
||||
@@ -1026,6 +1026,24 @@ Public Class ClsClientes
|
||||
OnError("Ocurrió un error al obtener el las Sucursales del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetListaSucursales(RFC As String, CveEmpresa As Integer, Optional CveCliente As Integer = -1, Optional CveClienteSucursal As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
DataAdapter("PA_Vta_ClientesSucursalesGet")
|
||||
SqlAdapter.SelectCommand.Parameters.Add("@RFC", SqlDbType.VarChar).Value = RFC
|
||||
SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
SqlAdapter.SelectCommand.Parameters.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
|
||||
SqlAdapter.SelectCommand.Parameters.Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener el las Sucursales del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
|
||||
@@ -5444,13 +5444,13 @@ Public Class ClsPaginas
|
||||
''' <param name="NombreArchivo">Opcional Nombre del archivo que se descarga</param>
|
||||
''' <param name="Formato">Optional, Formato de Generacion PDF o Excel</param>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ImprimirPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing)
|
||||
Public Sub ImprimirPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
|
||||
Dim lrds As New List(Of ReportDataSource)
|
||||
Dim rds As New ReportDataSource
|
||||
rds.Name = RDSName
|
||||
rds.Value = DtDatos
|
||||
lrds.Add(rds)
|
||||
ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR)
|
||||
ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR, Content_Disposition)
|
||||
End Sub
|
||||
Public Sub ImprimirPDFMultiDS(RutaReporte As String, lrds As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing)
|
||||
ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR)
|
||||
@@ -5465,9 +5465,9 @@ Public Class ClsPaginas
|
||||
''' <param name="NombreArchivo">Opcional Nombre del archivo que se descarga</param>
|
||||
''' <param name="Formato">Optional, Formato de Generacion PDF o Excel</param>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing)
|
||||
Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
|
||||
'limpio ReportViwer
|
||||
ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR), NombreArchivo, Formato)
|
||||
ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR), NombreArchivo, Formato, Content_Disposition:=Content_Disposition)
|
||||
End Sub
|
||||
Public Function StreamPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing) As Byte()
|
||||
Dim lrds As New List(Of ReportDataSource)
|
||||
@@ -5857,7 +5857,7 @@ Public Class ClsPaginas
|
||||
''' <param name="NombreArchivo"></param>
|
||||
''' <param name="Formato"></param>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ImprimirbytesPDF(bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False)
|
||||
Public Sub ImprimirbytesPDF(bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False, Optional Content_Disposition As String = "attachment")
|
||||
'limpio ReportViwer
|
||||
Dim mimeType As String = Nothing
|
||||
Dim extension As String = Nothing
|
||||
@@ -5880,7 +5880,7 @@ Public Class ClsPaginas
|
||||
Response.Buffer = True
|
||||
Response.Clear()
|
||||
Response.ContentType = mimeType
|
||||
Response.AddHeader("content-disposition", String.Format("attachment; filename={0}.{1}", NombreArchivo, If(Formato = "PDF", "pdf", "xls")))
|
||||
Response.AddHeader("content-disposition", String.Format("{0}; filename={1}.{2}", Content_Disposition, NombreArchivo, If(Formato = "PDF", "pdf", "xls")))
|
||||
Response.BinaryWrite(bytes) ' create the file
|
||||
Response.Flush() ' send it to the client to download
|
||||
HttpContext.Current.Response.SuppressContent = True
|
||||
@@ -6624,6 +6624,13 @@ Public Class ClsPaginas
|
||||
params.Add(New ReportParameter("ClienteLugar", ClienteLugar))
|
||||
params.Add(New ReportParameter("ClienteRFC", Vta.Cliente.RFC))
|
||||
End If
|
||||
If Vta.CveEmpresaCRM.ToEntero > 0 Then
|
||||
params.Add(New ReportParameter("ClienteCodigo", Vta.Cliente.Codigo))
|
||||
params.Add(New ReportParameter("ClienteNombre", Vta.Cliente.Nombre))
|
||||
params.Add(New ReportParameter("ClienteDireccion", ClienteDireccion))
|
||||
params.Add(New ReportParameter("ClienteLugar", ClienteLugar))
|
||||
params.Add(New ReportParameter("ClienteRFC", Vta.Cliente.RFC))
|
||||
End If
|
||||
|
||||
'TOTALES
|
||||
params.Add(New ReportParameter("SubTotal", Vta.SubTotal.ToString.FormatoNumero(2)))
|
||||
|
||||
@@ -968,25 +968,25 @@ Namespace Extensiones
|
||||
|
||||
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
Public Function RoundAD(Valor As Double, Optional Decimales As Integer = 2) As Double
|
||||
Return Math.Round(Valor, Decimales)
|
||||
End Function
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
Public Function RoundAD(Valor As Decimal, Optional Decimales As Integer = 2) As Decimal
|
||||
Return Math.Round(Valor, Decimales)
|
||||
Public Function RoundAD(Valor As Double, Optional Decimales As Integer = 2) As Double
|
||||
Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
|
||||
End Function
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
Public Function RoundAD(Valor As Decimal, Optional Decimales As Integer = 2) As Decimal
|
||||
Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
|
||||
End Function
|
||||
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
Public Function RoundSQL(Valor As Double, Optional Decimales As Integer = 2) As Double
|
||||
'Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
|
||||
'primero, se redondea a 4, para que concuerde al redondeo de sql, si se redondea a 2 decimales por ejemplo
|
||||
Return If(Decimales < 4, Math.Round(Math.Round(Valor, 4, MidpointRounding.AwayFromZero), Decimales, MidpointRounding.AwayFromZero), Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero))
|
||||
Public Function RoundSQL(Valor As Double, Optional Decimales As Integer = 2) As Double
|
||||
'Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
|
||||
'primero, se redondea a 4, para que concuerde al redondeo de sql, si se redondea a 2 decimales por ejemplo
|
||||
Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
|
||||
End Function
|
||||
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
Public Function RoundSQL(Valor As Decimal, Optional Decimales As Integer = 2) As Decimal
|
||||
'primero, se redondea a 4, para que concuerde al redondeo de sql
|
||||
Return If(Decimales < 4, Math.Round(Math.Round(Valor, 4, MidpointRounding.AwayFromZero), Decimales, MidpointRounding.AwayFromZero), Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero))
|
||||
Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
|
||||
End Function
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
Public Function Abs(Valor As Double) As Double
|
||||
|
||||
315
Ashx/E141.ashx
315
Ashx/E141.ashx
@@ -4,6 +4,7 @@ Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System.Data
|
||||
Imports System.IO
|
||||
Imports System.Net.Http
|
||||
Imports Newtonsoft.Json
|
||||
Imports Newtonsoft.Json.Linq
|
||||
@@ -66,6 +67,42 @@ Public Class E141 : Implements IHttpHandler
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
#Region "GLOBAL DT"
|
||||
Public Property GlobalDTSubProyectos(CveProyecto As Integer, Optional CveSubProyecto As Integer = -1, Optional CveEmpresa As Integer = -1, Optional Estatus As Integer = 1) As DataTable
|
||||
Get
|
||||
Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
|
||||
'sino existe, recarga los datos
|
||||
If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Or (DirectCast(HttpContext.Current.Application(AppNombre), DataTable) IsNot Nothing AndAlso DirectCast(HttpContext.Current.Application(AppNombre), DataTable).Rows.Count = 0) Then
|
||||
Dim P As New ClsSubProyectos
|
||||
If P.GetSubProyectos(CveEmpresa:=CveEmpresa) Then HttpContext.Current.Application(AppNombre) = P.DtResultados
|
||||
P.Dispose()
|
||||
End If
|
||||
|
||||
If CveProyecto <> -1 OrElse CveSubProyecto <> -1 OrElse CveEmpresa <> -1 OrElse Estatus <> -1 Then
|
||||
Dim StrSQL As New StringBuilder
|
||||
If CveProyecto <> -1 Then StrSQL.AppendFormat(" AND CveProyecto = {0}", CveProyecto)
|
||||
If CveSubProyecto <> -1 Then StrSQL.AppendFormat(" AND CveSubProyecto = {0}", CveSubProyecto)
|
||||
If Estatus <> -1 Then StrSQL.AppendFormat(" AND CveEstatus = {0}", Estatus)
|
||||
If CveEmpresa <> -1 Then StrSQL.AppendFormat(" AND CveEmpresa = {0}", CveEmpresa)
|
||||
|
||||
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), "", DataViewRowState.CurrentRows)
|
||||
GlobalDTSubProyectos = Dv.ToTable
|
||||
Dv.Dispose()
|
||||
|
||||
Else
|
||||
GlobalDTSubProyectos = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
|
||||
End If
|
||||
|
||||
End Get
|
||||
Set(ByVal value As DataTable)
|
||||
Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
|
||||
HttpContext.Current.Application(AppNombre) = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
|
||||
Dim retorno As String = ""
|
||||
Try
|
||||
@@ -88,7 +125,56 @@ Public Class E141 : Implements IHttpHandler
|
||||
|
||||
Dim Codigo = If(context.Request("Sku") = Nothing, "", context.Request("Sku").ToString())
|
||||
retorno = GetExistencia(context, Codigo)
|
||||
ElseIf Metodo = "ConsultarRFC" Then
|
||||
context.Response.ContentType = "application/json"
|
||||
Dim Auth = ValidarSolicitud(context)
|
||||
|
||||
If Auth.IsSucces Then
|
||||
retorno = ConsultaRFC(context)
|
||||
Else
|
||||
retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
|
||||
End If
|
||||
|
||||
ElseIf Metodo = "ValidarCarrito" Then
|
||||
context.Response.ContentType = "application/json"
|
||||
Dim Auth = ValidarSolicitud(context)
|
||||
|
||||
If Auth.IsSucces Then
|
||||
retorno = ValidarCarrito(context)
|
||||
Else
|
||||
retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
|
||||
End If
|
||||
|
||||
ElseIf Metodo = "RegistrarPedido" Then
|
||||
context.Response.ContentType = "application/json"
|
||||
Dim Auth = ValidarSolicitud(context)
|
||||
|
||||
If Auth.IsSucces Then
|
||||
retorno = RegistrarPedido(context)
|
||||
Else
|
||||
retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
|
||||
End If
|
||||
|
||||
ElseIf Metodo = "RegistrarCotizacion" Then
|
||||
context.Response.ContentType = "application/json"
|
||||
Dim Auth = ValidarSolicitud(context)
|
||||
|
||||
If Auth.IsSucces Then
|
||||
retorno = RegistrarCotizacion(context)
|
||||
Else
|
||||
retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
|
||||
End If
|
||||
|
||||
ElseIf Metodo = "GetSucursales" Then
|
||||
context.Response.ContentType = "application/json"
|
||||
Dim Auth = ValidarSolicitud(context)
|
||||
|
||||
If Auth.IsSucces Then
|
||||
retorno = GetSucursales(context)
|
||||
Else
|
||||
retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
|
||||
End If
|
||||
context.Response.StatusCode = Auth.StatusCode
|
||||
Else
|
||||
context.Response.ContentType = "text/html"
|
||||
|
||||
@@ -132,11 +218,219 @@ Public Class E141 : Implements IHttpHandler
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Function ValidarSolicitud(ByVal context As HttpContext) As AuthMessage
|
||||
Dim unauthorized As Boolean = True
|
||||
Dim respuesta As New AuthMessage
|
||||
|
||||
Dim authHeader = context.Request.Headers("Authorization")
|
||||
If authHeader IsNot Nothing Then
|
||||
Dim basicAuth As String = authHeader.Replace("Basic ", "")
|
||||
|
||||
Dim usernamePasswordArray = Encoding.UTF8.GetString(Convert.FromBase64String(basicAuth)).Split(":"c)
|
||||
|
||||
Dim userName = usernamePasswordArray(0)
|
||||
Dim password = usernamePasswordArray(1)
|
||||
unauthorized = Not (userName = Me.UsuarioWSE141 AndAlso password = Me.PasswordWSE141)
|
||||
|
||||
Else
|
||||
respuesta.ErrorMessage = New FidelityAppsResponseError() With {.message = "el usuario y/o contraseña son requeridos"}
|
||||
respuesta.IsSucces = False
|
||||
respuesta.StatusCode = 401
|
||||
|
||||
Return respuesta
|
||||
End If
|
||||
|
||||
If unauthorized Then
|
||||
respuesta.ErrorMessage = New FidelityAppsResponseError() With {.message = "el usuario y/o contraseña no son validos"}
|
||||
respuesta.IsSucces = False
|
||||
respuesta.StatusCode = 401
|
||||
|
||||
Return respuesta
|
||||
Else
|
||||
respuesta.ErrorMessage = Nothing
|
||||
respuesta.IsSucces = True
|
||||
respuesta.StatusCode = 200
|
||||
|
||||
Return respuesta
|
||||
End If
|
||||
|
||||
End Function
|
||||
|
||||
Private Function ConsultaRFC(ByVal context As HttpContext) As String
|
||||
Dim Respuesta As New FidelityAppsResponse
|
||||
Dim RespuestaError As New FidelityAppsResponseError
|
||||
Dim TieneError As Boolean = False
|
||||
Dim JsonRequest As JObject = Nothing
|
||||
|
||||
If context.Request.InputStream IsNot Nothing Then
|
||||
Using reader As New StreamReader(context.Request.InputStream)
|
||||
Dim json = reader.ReadToEnd
|
||||
|
||||
If Not String.IsNullOrEmpty(json) Then
|
||||
JsonRequest = JObject.Parse(json)
|
||||
If JsonRequest Is Nothing Then
|
||||
TieneError = True
|
||||
End If
|
||||
End If
|
||||
|
||||
End Using
|
||||
End If
|
||||
|
||||
If Not TieneError AndAlso Not String.IsNullOrEmpty(JsonRequest("rfc").ToString().Trim()) Then
|
||||
|
||||
Dim data As New JArray
|
||||
Dim Nombre As String = "-1"
|
||||
Dim Codigo As String = "-1"
|
||||
Dim NombreCorto As String = "-1"
|
||||
Dim RFC As String = JsonRequest("rfc").ToString()
|
||||
Dim Telefono As String = "-1"
|
||||
Dim Mail As String = "-1"
|
||||
|
||||
Dim DtSucursales As DataTable = Nothing
|
||||
|
||||
Using ObjClientes As New ClsClientes
|
||||
If ObjClientes.GetListaSucursales(RFC, CveEmpresa) Then
|
||||
DtSucursales = ObjClientes.DtResultados.Copy()
|
||||
End If
|
||||
End Using
|
||||
|
||||
If DtSucursales IsNot Nothing Then
|
||||
Try
|
||||
For Each Row As DataRow In DtSucursales.Rows
|
||||
Dim objSucursal As New JObject(
|
||||
New JProperty("Id", Row("CveCliente")),
|
||||
New JProperty("rfc", Row("RFC")),
|
||||
New JProperty("name", Row("SucursalCliente")),
|
||||
New JProperty("phone", Row("Telefono")),
|
||||
New JProperty("email", Row("Correo")),
|
||||
New JProperty("address", Row("Direccion")),
|
||||
New JProperty("int_number", Row("NoInt")),
|
||||
New JProperty("ext_number", Row("NoExt")),
|
||||
New JProperty("street", Row("Direccion")),
|
||||
New JProperty("between_streets", ""),
|
||||
New JProperty("city", Row("Localidad")),
|
||||
New JProperty("state", Row("Estado")),
|
||||
New JProperty("zip_code", Row("CP")),
|
||||
New JProperty("reference", ""),
|
||||
New JProperty("Branch_office_code", ""),
|
||||
New JProperty("Branch_office_name", ""),
|
||||
New JProperty("Branch_office_id", "")
|
||||
)
|
||||
data.Add(objSucursal)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
TieneError = True
|
||||
RespuestaError.message = "Ocurrió un error al obtener la sucursales"
|
||||
End Try
|
||||
DtSucursales.Dispose()
|
||||
Else
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
If data.Count > 0 Then
|
||||
Respuesta.data = data
|
||||
End If
|
||||
End If
|
||||
|
||||
If TieneError Then
|
||||
Return JsonConvert.SerializeObject(RespuestaError)
|
||||
Else
|
||||
Return JsonConvert.SerializeObject(Respuesta)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function ValidarCarrito(ByVal context As HttpContext) As String
|
||||
Dim Respuesta As New FidelityAppsResponse
|
||||
Dim RespuestaError As New FidelityAppsResponseError
|
||||
Dim TieneError As Boolean = False
|
||||
|
||||
|
||||
If TieneError Then
|
||||
Return JsonConvert.SerializeObject(RespuestaError)
|
||||
Else
|
||||
Return JsonConvert.SerializeObject(Respuesta)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function RegistrarPedido(ByVal context As HttpContext) As String
|
||||
Dim Respuesta As New FidelityAppsResponse
|
||||
Dim RespuestaError As New FidelityAppsResponseError
|
||||
Dim TieneError As Boolean = False
|
||||
|
||||
|
||||
If TieneError Then
|
||||
Return JsonConvert.SerializeObject(RespuestaError)
|
||||
Else
|
||||
Return JsonConvert.SerializeObject(Respuesta)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function RegistrarCotizacion(ByVal context As HttpContext) As String
|
||||
Dim Respuesta As New FidelityAppsResponse
|
||||
Dim RespuestaError As New FidelityAppsResponseError
|
||||
Dim TieneError As Boolean = False
|
||||
|
||||
|
||||
If TieneError Then
|
||||
Return JsonConvert.SerializeObject(RespuestaError)
|
||||
Else
|
||||
Return JsonConvert.SerializeObject(Respuesta)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function GetSucursales(ByVal context As HttpContext) As String
|
||||
Dim Respuesta As New FidelityAppsResponse
|
||||
Dim RespuestaError As New FidelityAppsResponseError
|
||||
Dim TieneError As Boolean = False
|
||||
|
||||
Dim data As New JArray
|
||||
|
||||
Dim DtSucursales As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=CveEmpresa).FiltraParametros("EsSucursal = True")
|
||||
If DtSucursales IsNot Nothing Then
|
||||
Try
|
||||
For Each Row As DataRow In DtSucursales.Rows
|
||||
Dim objSucursal As New JObject(
|
||||
New JProperty("code", Row("CveSubProyecto")),
|
||||
New JProperty("name", Row("SubProyecto")),
|
||||
New JProperty("street", Row("Calle")),
|
||||
New JProperty("no_ext", Row("NoExt")),
|
||||
New JProperty("no_int", Row("NoInt")),
|
||||
New JProperty("zip", Row("CP")),
|
||||
New JProperty("neighborhood", Row("Colonia")),
|
||||
New JProperty("city", Row("Municipio")),
|
||||
New JProperty("phone", Row("Telefono")),
|
||||
New JProperty("email", Row("Correo")),
|
||||
New JProperty("geo_lat", ""),
|
||||
New JProperty("geo_lng", ""),
|
||||
New JProperty("image", "")
|
||||
)
|
||||
data.Add(objSucursal)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
TieneError = True
|
||||
RespuestaError.message = "Ocurrió un error al obtener la sucursales"
|
||||
End Try
|
||||
DtSucursales.Dispose()
|
||||
Else
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
If data.Count > 0 Then
|
||||
Respuesta.data = data
|
||||
End If
|
||||
|
||||
If TieneError Then
|
||||
Return JsonConvert.SerializeObject(RespuestaError)
|
||||
Else
|
||||
Return JsonConvert.SerializeObject(Respuesta)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function GetExistencia(ByVal context As HttpContext, Codigo As String) As String
|
||||
Dim respuesta = New With {.isSuccess = False, .message = "", .products = New JArray}
|
||||
If String.IsNullOrEmpty(Codigo) OrElse Codigo = "-1" Then
|
||||
respuesta.message = "el parametro 'Sku' es invalido"
|
||||
respuesta.isSuccess = False
|
||||
Respuesta.isSuccess = False
|
||||
|
||||
Return JsonConvert.SerializeObject(respuesta)
|
||||
End If
|
||||
@@ -735,4 +1029,23 @@ Public Class E141 : Implements IHttpHandler
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Class FidelityAppsResponse
|
||||
Public Property status As String
|
||||
Public Property data As Object
|
||||
End Class
|
||||
|
||||
Private Class FidelityAppsResponseError
|
||||
Sub New()
|
||||
status = "error"
|
||||
End Sub
|
||||
Public Property status As String
|
||||
Public Property message As String
|
||||
End Class
|
||||
|
||||
Private Class AuthMessage
|
||||
Public Property IsSucces As Boolean
|
||||
Public Property ErrorMessage As FidelityAppsResponseError
|
||||
Public Property StatusCode As Integer
|
||||
End Class
|
||||
|
||||
End Class
|
||||
@@ -114,9 +114,8 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
UsaComplementaria = false;
|
||||
CveMonedaCuentaPago = 0;
|
||||
if (UsuarioActual.CveEmpresa.Contiene(1, 119)) { UsaComplementaria = true; }
|
||||
UsaComplementaria = true;
|
||||
CveMonedaCuentaPago = 0;
|
||||
rowComisiones.Visible = UsuarioActual.CveEmpresa.Contiene(1, 4, 5, 7, 11, 12, 72, 80, 126, 119, 122);
|
||||
|
||||
CargaTipoTransaccion();
|
||||
|
||||
@@ -4696,7 +4696,7 @@ Partial Class PopUpVerFactura
|
||||
params.Add(New ReportParameter("LogoPath", ""))
|
||||
End If
|
||||
|
||||
ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF")
|
||||
ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF", Content_Disposition:="inline")
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
@@ -425,7 +425,7 @@ Partial Class Compras_ReembolsosComprobaciones
|
||||
End If
|
||||
|
||||
Dim UsaSimplificacionCajaChica As Boolean = False
|
||||
If UsuarioActual.CveEmpresa = 119 Then UsaSimplificacionCajaChica = True
|
||||
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then UsaSimplificacionCajaChica = True
|
||||
|
||||
|
||||
|
||||
@@ -446,7 +446,7 @@ Partial Class Compras_ReembolsosComprobaciones
|
||||
CveIERegistrado = DDlCheques.SelectedValue.ToEntero
|
||||
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
||||
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
|
||||
CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones1", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
If CveCajaChica > 0 Then
|
||||
@@ -710,7 +710,7 @@ Partial Class Compras_ReembolsosComprobaciones
|
||||
|
||||
If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal) Else PorcentajePago = 1
|
||||
|
||||
If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119)) Then
|
||||
If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
|
||||
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
|
||||
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaPersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
|
||||
MsgError = "Detalle"
|
||||
|
||||
@@ -693,7 +693,7 @@ Partial Class Contratos_Default
|
||||
CargaConvenioPrecioFijo()
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveEmpresa = 72 And DdlTipoContrato.SelectedValue.Contiene("7", "8", "10", "13", "28") Then
|
||||
If UsuarioActual.CveEmpresa = 72 And DdlTipoContrato.SelectedValue.Contiene("7", "8", "9", "10", "13", "28") Then
|
||||
GetNoContratoNuevo()
|
||||
End If
|
||||
|
||||
@@ -4446,8 +4446,8 @@ Partial Class Contratos_Default
|
||||
Dim TipoContrato As Integer = DdlTipoContrato.SelectedValue.ToEntero()
|
||||
|
||||
|
||||
Dim SufijoContrato As String = ""
|
||||
|
||||
Dim SufijoContrato As String = ""
|
||||
|
||||
Select Case TipoContrato
|
||||
Case 7 'Contrato Comodato
|
||||
SufijoContrato = "COMODATO"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/SiteGPS.master" AutoEventWireup="false" CodeFile="RepGeoReferencias.aspx.vb" Inherits="GPS_RepGeoReferencias" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/SiteGPS.master" AutoEventWireup="false" CodeFile="RepGeoReferencias.aspx.vb" Inherits="GPS_RepGeoReferencias" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
width: 100%;
|
||||
@@ -44,292 +44,304 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ContentPlaceHolderID="H" ID="Content9" runat="server">
|
||||
<li>
|
||||
<a id="BtnDir" onclick="$('#dvConsulta').modal({ backdrop: 'static', keyboard: false });CargaPickers();NuevaConsulta();">
|
||||
<i class='fa fa-exchange'></i><span>Volver a Consultar</span>
|
||||
</a>
|
||||
</li>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
|
||||
<div id="map"></div>
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UPModalBusqueda">
|
||||
<ContentTemplate>
|
||||
<div id="dvConsulta" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UPConsulta" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel2" runat="server">Consulta de GeoReferencias</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel runat="server" ID="UpModalBody" UpdateMode="conditional">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-8 v-center">
|
||||
<lable>Estatus: </lable>
|
||||
<asp:CheckBox runat="server" ID="ChkEstatusGeocerca" AutoPostBack="true" CssClass="chksino" Checked="true" Text=" " OnCheckedChanged="ChkEstatusGeocerca_CheckedChanged" />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<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="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVGeoreferencias.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVGeoreferencias.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<asp:GridView ID="GVGeoreferencias" runat="server" GridLines="None" data-height="200" DataKeyNames="Coordenadas,CveGeoReferencia,GeoReferencia, CveDispositivo,Tipo,Color,Estatus,FechaInicio,FechaFin,AplicaLunes,AplicaMartes,AplicaMiercoles,AplicaJueves,AplicaViernes,AplicaSabado,AplicaDomingo, HoraInicio, HoraFin, Tolerancia" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="center" ItemStyle-Width="10%">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chkGR" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Tipo" ItemStyle-Width="20%" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="GeoReferencia" ItemStyle-Width="20%" HeaderText="GeoReferencia" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Color" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgColor" HeaderText="Color" runat="server" Style="height: 20px;" Enabled="false" CausesValidation="False" CssClass="btn btn-circle btn-sm green" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%" HeaderText="Estatus">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblEstatus" runat="server" Text='<%# Eval("Estatus") %>'>></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgE" HeaderText="Eliminar" runat="server" AlternateText="Editar" OnClick="imgE_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Left">
|
||||
<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="Confirmar" data-btn-ok-label="si" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:UpdatePanel runat="server" ID="UpUp" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="form-group form-md-line-input input-iconright v-center">
|
||||
<label>Ver Posición Dispositivos: </label>
|
||||
<asp:CheckBox ID="chkUp" onchange="DisplayGV();" Text=" " runat="server" CssClass="chksino" Width="250px"></asp:CheckBox>
|
||||
</div>
|
||||
<div id="dvDispositivos" style="display: none">
|
||||
<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="TxtBusqueda1" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDispositivos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDispositivos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<asp:GridView ID="GvDispositivos" runat="server" GridLines="None" DataKeyNames="CveDispositivo,SerieVehiculo,DevID,NoEconomico,NombreVehiculo" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-height="120.8" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="center" ItemStyle-Width="10%">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chkDis" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="NoEconomico" ItemStyle-Width="25%" HeaderText="Número Económico" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="ModeloVehiculo" ItemStyle-Width="25%" HeaderText="Modelo Vehículo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="AñoVehiculo" ItemStyle-Width="15%" HeaderText="Año Vehículo" ItemStyle-HorizontalAlign="center" />
|
||||
<asp:BoundField DataField="PlacasVehiculo" ItemStyle-Width="25%" HeaderText="Placas Vehículo" ItemStyle-HorizontalAlign="center" />
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="BtnConsultar" runat="server" Text="Consultar" CssClass="btn btn-primary"></asp:LinkButton>
|
||||
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<div id="dvEditar" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpAgregar" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel">Editar Georeferencia</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel ID="UpBodyGeoReferencia" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtNombre" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVEstatusOS" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtNombre" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<label for="<%= TxtNombre.ClientID.ToString()%>">Nombre Geocerca:</label>
|
||||
</div>
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ContentPlaceHolderID="H" ID="Content9" runat="server">
|
||||
<li>
|
||||
<a id="BtnDir" onclick="$('#dvConsulta').modal({ backdrop: 'static', keyboard: false });CargaPickers();NuevaConsulta();">
|
||||
<i class='fa fa-exchange'></i><span>Volver a Consultar</span>
|
||||
</a>
|
||||
</li>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
|
||||
<div id="map"></div>
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UPModalBusqueda">
|
||||
<ContentTemplate>
|
||||
<div id="dvConsulta" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UPConsulta" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel2" runat="server">Consulta de GeoReferencias</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel runat="server" ID="UpModalBody" UpdateMode="conditional">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-8 v-center">
|
||||
<lable>Estatus: </lable>
|
||||
<asp:CheckBox runat="server" ID="ChkEstatusGeocerca" AutoPostBack="true" CssClass="chksino" Checked="true" Text=" " OnCheckedChanged="ChkEstatusGeocerca_CheckedChanged" />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<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="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVGeoreferencias.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVGeoreferencias.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<asp:GridView ID="GVGeoreferencias" runat="server" PageSize="300" GridLines="None" data-height="200" DataKeyNames="Coordenadas,CveGeoReferencia,GeoReferencia, CveDispositivo,Tipo,Color,Estatus,FechaInicio,FechaFin,AplicaLunes,AplicaMartes,AplicaMiercoles,AplicaJueves,AplicaViernes,AplicaSabado,AplicaDomingo, HoraInicio, HoraFin, Tolerancia" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="center" ItemStyle-Width="5%">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chkGR" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Tipo" ItemStyle-Width="10%" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="GeoReferencia" ItemStyle-Width="50%" HeaderText="GeoReferencia" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Color" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgColor" HeaderText="Color" runat="server" Style="height: 20px;" Enabled="false" CausesValidation="False" CssClass="btn btn-circle btn-sm green" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%" HeaderText="Estatus">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblEstatus" runat="server" Text='<%# Eval("Estatus") %>'>></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgE" HeaderText="Eliminar" runat="server" AlternateText="Editar" OnClick="imgE_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Left">
|
||||
<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="Confirmar" data-btn-ok-label="si" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<div id="DivPaginacion" runat="server" visible="false" class="row">
|
||||
<div class="col-md-8">
|
||||
<asp:Label ID="LblRegistros" runat="server" Style="display: inline-block;"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-4" style="display: inline-block; position: relative; text-align:end">
|
||||
<asp:HiddenField ID="HdnIndexPage" runat="server" ClientIDMode="Static" Value="0" />
|
||||
<asp:LinkButton ID="btnPagePrev" runat="server" Style="vertical-align: top;" Text="<i class='fa fa-angle-left' style='font-size:24px' aria-hidden='true'></i> Anterior" OnClick="btnPagePrev_Click" Enabled="false" />
|
||||
<asp:LinkButton ID="btnPageNext" runat="server" Style="vertical-align: top;" Text="Siguiente <i class='fa fa-angle-right' aria-hidden='true' style='font-size:24px'></i>" OnClick="btnPageNext_Click" />
|
||||
</div>
|
||||
</div>
|
||||
<asp:UpdatePanel runat="server" ID="UpUp" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="form-group form-md-line-input input-iconright v-center">
|
||||
<label>Ver Posición Dispositivos: </label>
|
||||
<asp:CheckBox ID="chkUp" onchange="DisplayGV();" Text=" " runat="server" CssClass="chksino" Width="250px"></asp:CheckBox>
|
||||
</div>
|
||||
<div id="dvDispositivos" style="display: none">
|
||||
<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="TxtBusqueda1" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDispositivos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDispositivos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<asp:GridView ID="GvDispositivos" runat="server" GridLines="None" DataKeyNames="CveDispositivo,SerieVehiculo,DevID,NoEconomico,NombreVehiculo" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-height="120.8" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="center" ItemStyle-Width="10%">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chkDis" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="NoEconomico" ItemStyle-Width="25%" HeaderText="Número Económico" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="ModeloVehiculo" ItemStyle-Width="25%" HeaderText="Modelo Vehículo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="AñoVehiculo" ItemStyle-Width="15%" HeaderText="Año Vehículo" ItemStyle-HorizontalAlign="center" />
|
||||
<asp:BoundField DataField="PlacasVehiculo" ItemStyle-Width="25%" HeaderText="Placas Vehículo" ItemStyle-HorizontalAlign="center" />
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="BtnConsultar" runat="server" Text="Consultar" CssClass="btn btn-primary"></asp:LinkButton>
|
||||
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<div id="dvEditar" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpAgregar" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel">Editar Georeferencia</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel ID="UpBodyGeoReferencia" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtNombre" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVEstatusOS" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtNombre" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<label for="<%= TxtNombre.ClientID.ToString()%>">Nombre Geocerca:</label>
|
||||
</div>
|
||||
<%--<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlEquipo" Width="230px" runat="server" DataTextField="Display" DataValueField="CveDispositivo" CssClass="form-control input-sm select2me">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlEquipo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Equipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlEquipo.ClientID.ToString()%>">Equipo:</label>
|
||||
</div>--%>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtTolerancia" runat="server" Style="width: 50%; display: inline-block" CssClass="form-control" CausesValidation="true"></asp:TextBox><asp:Literal runat="server" Text="mts"></asp:Literal>
|
||||
<asp:RequiredFieldValidator ID="RFVTxtTolerancia" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtTolerancia" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tolerancia''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<ajax:FilteredTextBoxExtender ID="FTBSerie" runat="server" TargetControlID="TxtTolerancia" FilterType="Numbers" />
|
||||
<label for="<%= TxtTolerancia.ClientID.ToString()%>" style="width: 50%">Tolerancia:</label>
|
||||
</div>
|
||||
<ul class="list-inline" style="font-size: 12px; margin-top: 15px; margin-left: 0px;">
|
||||
</div>--%>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtTolerancia" runat="server" Style="width: 50%; display: inline-block" CssClass="form-control" CausesValidation="true"></asp:TextBox><asp:Literal runat="server" Text="mts"></asp:Literal>
|
||||
<asp:RequiredFieldValidator ID="RFVTxtTolerancia" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtTolerancia" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tolerancia''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<ajax:FilteredTextBoxExtender ID="FTBSerie" runat="server" TargetControlID="TxtTolerancia" FilterType="Numbers" />
|
||||
<label for="<%= TxtTolerancia.ClientID.ToString()%>" style="width: 50%">Tolerancia:</label>
|
||||
</div>
|
||||
<ul class="list-inline" style="font-size: 12px; margin-top: 15px; margin-left: 0px;">
|
||||
<li>Fecha I.:
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</li>
|
||||
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</li>
|
||||
<li>Fecha F.:
|
||||
<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" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="list-inline" style="font-size: 12px; margin-top: 15px; margin-left: 0px;">
|
||||
|
||||
<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" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="list-inline" style="font-size: 12px; margin-top: 15px; margin-left: 0px;">
|
||||
<li>Aplica Días:
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="L" ID="chkLunes" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="M" ID="chkMartes" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="M" ID="chkMiercoles" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="J" ID="chkJueves" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="V" ID="chkViernes" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="S" ID="chkSabado" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="D" ID="chkDomingo" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-md-1">Hora Inicio:</div>
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
|
||||
<asp:TextBox ID="TxtHoraI" runat="server" CssClass="form-control input-sm hora" CausesValidation="true" MaxLength="18" Width="75px"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">Hora Fin:</div>
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||
<asp:TextBox ID="TxtHoraF" runat="server" CssClass="form-control input-sm hora" CausesValidation="true" MaxLength="18" Width="75px "></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<label>Activo: </label>
|
||||
<br />
|
||||
<asp:CheckBox ID="chkEstatus" Text=" " runat="server" CssClass="chksino" Width="250px"></asp:CheckBox>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlGrupo" Width="230px" runat="server" DataTextField="Nombre" DataValueField="CveDispositivosGrupos" CssClass="form-control select2me">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlGrupo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Equipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregarGrupo"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlGrupo.ClientID.ToString()%>">Grupo:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3" style="margin-top: 12px; text-align: right;">
|
||||
<asp:LinkButton ID="LnkAgregarGrupo" runat="server" CssClass="btn btn-sm btn-success" OnClick="LnkAgregarGrupo_Click" ValidationGroup="GrpAgregarGrupo"><i class='fa fa-plus' aria-hidden='true'></i></asp:LinkButton>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlEquipoD" Width="230px" runat="server" DataTextField="Display" DataValueField="CveDispositivo" CssClass="form-control select2me">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVEquipoD" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlEquipoD" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Equipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregarVehiculo"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlEquipoD.ClientID.ToString()%>">Equipo:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3" style="margin-top: 12px; text-align: right;">
|
||||
<asp:LinkButton ID="LnkAgregarDisp" runat="server" CssClass="btn btn-sm btn-success" OnClick="LnkAgregarDisp_Click" ValidationGroup="GrpAgregarVehiculo"><i class='fa fa-plus' aria-hidden='true'></i></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvEquiposDetalle" runat="server" GridLines="None" data-height="200" DataKeyNames="CveDispositivo, NoEconomico,CveDispositivoGeoreferenciaDetalle" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" OnRowDeleting="GvEquiposDetalle_RowDeleting" EmptyDataText="Seleccione el vehiculo y presione agregar.">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="NoEconomico" ItemStyle-Width="20%" HeaderText="NoEconomico" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Acciones" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="BtnBorrarDispositivo" 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 este dispositivo?" data-btn-ok-label="si" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="BtnActualizarGeoreferencia" OnClick="BtnActualizarGeoreferencia_Click" runat="server" CssClass="btn btn-primary" ValidationGroup="GrpObligatorio">Actualizar</asp:LinkButton>
|
||||
<button id="btnCancelarTE" class="btn btn-default" data-dismiss="modal" value="Cancelar">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade bottom in" style="bottom: unset" id="h">
|
||||
<div class="modal-dialog" style="position: fixed; bottom: 0; margin: 0px,0px,0px,0px; width: 100%; padding: 0px, 0px, 0px, 0px; border-style: solid; border-color: rgb(68, 77, 88); z-index: 539;">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body" style="padding: 5px;">
|
||||
<asp:UpdatePanel runat="server" ID="UPGV" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvBarra" runat="server" GridLines="None" data-height="200" DataKeyNames="Nombre, Posicion" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Nombre" ItemStyle-Width="100%" HeaderText="GeoReferencia" ItemStyle-HorizontalAlign="Left" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script src="../Metronic/assets/layouts/layout3/scripts/jquery.datetimepicker.full.js"></script>
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="L" ID="chkLunes" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="M" ID="chkMartes" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="M" ID="chkMiercoles" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="J" ID="chkJueves" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="V" ID="chkViernes" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="S" ID="chkSabado" />
|
||||
</li>
|
||||
<li>
|
||||
<asp:CheckBox runat="server" Text="D" ID="chkDomingo" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-md-1">Hora Inicio:</div>
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
|
||||
<asp:TextBox ID="TxtHoraI" runat="server" CssClass="form-control input-sm hora" CausesValidation="true" MaxLength="18" Width="75px"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">Hora Fin:</div>
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||
<asp:TextBox ID="TxtHoraF" runat="server" CssClass="form-control input-sm hora" CausesValidation="true" MaxLength="18" Width="75px "></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<label>Activo: </label>
|
||||
<br />
|
||||
<asp:CheckBox ID="chkEstatus" Text=" " runat="server" CssClass="chksino" Width="250px"></asp:CheckBox>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlGrupo" Width="230px" runat="server" DataTextField="Nombre" DataValueField="CveDispositivosGrupos" CssClass="form-control select2me">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlGrupo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Equipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregarGrupo"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlGrupo.ClientID.ToString()%>">Grupo:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3" style="margin-top: 12px; text-align: right;">
|
||||
<asp:LinkButton ID="LnkAgregarGrupo" runat="server" CssClass="btn btn-sm btn-success" OnClick="LnkAgregarGrupo_Click" ValidationGroup="GrpAgregarGrupo"><i class='fa fa-plus' aria-hidden='true'></i></asp:LinkButton>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlEquipoD" Width="230px" runat="server" DataTextField="Display" DataValueField="CveDispositivo" CssClass="form-control select2me">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVEquipoD" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlEquipoD" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Equipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregarVehiculo"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlEquipoD.ClientID.ToString()%>">Equipo:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3" style="margin-top: 12px; text-align: right;">
|
||||
<asp:LinkButton ID="LnkAgregarDisp" runat="server" CssClass="btn btn-sm btn-success" OnClick="LnkAgregarDisp_Click" ValidationGroup="GrpAgregarVehiculo"><i class='fa fa-plus' aria-hidden='true'></i></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvEquiposDetalle" runat="server" GridLines="None" data-height="200" DataKeyNames="CveDispositivo, NoEconomico,CveDispositivoGeoreferenciaDetalle" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" OnRowDeleting="GvEquiposDetalle_RowDeleting" EmptyDataText="Seleccione el vehiculo y presione agregar.">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="NoEconomico" ItemStyle-Width="20%" HeaderText="NoEconomico" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Acciones" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="BtnBorrarDispositivo" 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 este dispositivo?" data-btn-ok-label="si" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="BtnActualizarGeoreferencia" OnClick="BtnActualizarGeoreferencia_Click" runat="server" CssClass="btn btn-primary" ValidationGroup="GrpObligatorio">Actualizar</asp:LinkButton>
|
||||
<button id="btnCancelarTE" class="btn btn-default" data-dismiss="modal" value="Cancelar">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade bottom in" style="bottom: unset" id="h">
|
||||
<div class="modal-dialog" style="position: fixed; bottom: 0; margin: 0px,0px,0px,0px; width: 100%; padding: 0px, 0px, 0px, 0px; border-style: solid; border-color: rgb(68, 77, 88); z-index: 539;">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body" style="padding: 5px;">
|
||||
<asp:UpdatePanel runat="server" ID="UPGV" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvBarra" runat="server" GridLines="None" data-height="200" DataKeyNames="Nombre, Posicion" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Nombre" ItemStyle-Width="100%" HeaderText="GeoReferencia" ItemStyle-HorizontalAlign="Left" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script src="../Metronic/assets/layouts/layout3/scripts/jquery.datetimepicker.full.js"></script>
|
||||
<script>
|
||||
var map;
|
||||
function initMap() {
|
||||
@@ -622,7 +634,7 @@
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"></script>
|
||||
</asp:Content>
|
||||
|
||||
</script>
|
||||
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"></script>
|
||||
</asp:Content>
|
||||
|
||||
|
||||
@@ -12,6 +12,14 @@ Partial Class GPS_RepGeoReferencias
|
||||
Set(value As Integer)
|
||||
ViewState("CveGeoReferencia") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DtGeoReferencias As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtGeoReferencias"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtGeoReferencias") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DtPosiciones As DataTable
|
||||
Get
|
||||
@@ -49,13 +57,27 @@ Partial Class GPS_RepGeoReferencias
|
||||
|
||||
Private Sub CargaGeoReferencias()
|
||||
Dim Estatus = If(ChkEstatusGeocerca.Checked, 1, 0)
|
||||
Dim GPS As New ClsGPS
|
||||
If GPS.GeoReferenciaGet(-1, Estatus, "-1", UsuarioActual.CveCliente) Then
|
||||
GVGeoreferencias.DataSource = GPS.DtResultados
|
||||
Else
|
||||
GVGeoreferencias.DataSource = Nothing
|
||||
|
||||
Using GPS As New ClsGPS
|
||||
If GPS.GeoReferenciaGet(-1, Estatus, "-1", UsuarioActual.CveCliente) Then
|
||||
DtGeoReferencias = GPS.DtResultados.Copy()
|
||||
End If
|
||||
End Using
|
||||
|
||||
If DtGeoReferencias IsNot Nothing Then
|
||||
Dim TotalRegistros As Integer = DtGeoReferencias.Rows.Count
|
||||
Dim TotalRowsPage As Integer = GVGeoreferencias.PageSize
|
||||
If TotalRegistros > TotalRowsPage Then
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias.FiltraPorIndices(0, TotalRowsPage - 1)
|
||||
DivPaginacion.Visible = True
|
||||
LblRegistros.Text = $"Distribución de datos desde 0 hasta {TotalRowsPage.ToString().ToDecimal().FormatoNumero(0)}. Total de registros: {TotalRegistros.ToString().ToDecimal().FormatoNumero(0)}"
|
||||
Else
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias
|
||||
End If
|
||||
Else
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias
|
||||
End If
|
||||
GPS.Dispose()
|
||||
|
||||
GVGeoreferencias.DataBind()
|
||||
End Sub
|
||||
Private Sub CargaDispositivos()
|
||||
@@ -190,16 +212,11 @@ Partial Class GPS_RepGeoReferencias
|
||||
TxtHoraF.Text = GvRow.DataKey("HoraFin").ToString.ToDateTime.ToString("HH:mm")
|
||||
|
||||
Using ObjGPS As New ClsGPS
|
||||
If ObjGPS.GetReferenciaDetalle(-1, CveGeoReferencia, -1, UsuarioActual.CveCliente) Then
|
||||
If ObjGPS.DtResultados.Rows.Count > 0 Then
|
||||
DtDetalle = ObjGPS.DtResultados
|
||||
GvEquiposDetalle.DataSource = DtDetalle
|
||||
Else
|
||||
DtDetalle = Nothing
|
||||
DtDetalleEliminar = Nothing
|
||||
GvEquiposDetalle.DataSource = Nothing
|
||||
End If
|
||||
|
||||
If ObjGPS.GetReferenciaDetalle(-1, CveGeoReferencia, -1, UsuarioActual.CveCliente) Then
|
||||
DtDetalle = ObjGPS.DtResultados.Copy()
|
||||
DtDetalleEliminar = ObjGPS.DtResultados.Copy()
|
||||
|
||||
GvEquiposDetalle.DataSource = DtDetalle
|
||||
End If
|
||||
End Using
|
||||
GvEquiposDetalle.DataBind()
|
||||
@@ -239,27 +256,22 @@ Partial Class GPS_RepGeoReferencias
|
||||
Dim HoraF As Date = ($"{Date.Now.ToString("dd/MM/yyyy")} {TxtHoraF.Text}").ToDate
|
||||
|
||||
If ObjGPS.GeoReferenciaUpdate(CveGeoReferencia, TxtNombre.Text, -1, chkEstatus.Checked, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, chkLunes.Checked, chkMartes.Checked, chkMiercoles.Checked, chkJueves.Checked, chkViernes.Checked,
|
||||
chkSabado.Checked, chkDomingo.Checked, HoraI, HoraF, TxtTolerancia.Text.ToEntero, UsuarioActual.CveCliente) Then
|
||||
|
||||
For Each Dr As DataRow In DtDetalle.Rows
|
||||
Dim CveGeoReferenciaDetalle = Dr("CveDispositivoGeoreferenciaDetalle").ToString.ToEntero
|
||||
If CveGeoReferenciaDetalle > 0 Then
|
||||
If Not ObjGPS.UpdateReferenciaDetalle(CveGeoReferenciaDetalle, CveGeoReferencia, Dr("CveDispositivo").ToString.ToEntero) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
If Not ObjGPS.AddGeoReferenciaDetalle(CveGeoReferencia, Dr("CveDispositivo").ToString.ToEntero) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
chkSabado.Checked, chkDomingo.Checked, HoraI, HoraF, TxtTolerancia.Text.ToEntero, UsuarioActual.CveCliente) Then
|
||||
If Not TieneError Then
|
||||
For Each DrE As DataRow In DtDetalleEliminar.Rows
|
||||
TieneError = Not ObjGPS.RemoveferenciaDetalle(DrE("CveDispositivoGeoreferenciaDetalle").ToString.ToEntero)
|
||||
If DrE("CveDispositivoGeoreferenciaDetalle").ToString.ToEntero > 0 Then
|
||||
TieneError = Not ObjGPS.RemoveferenciaDetalle(DrE("CveDispositivoGeoreferenciaDetalle").ToString.ToEntero)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
For Each Dr As DataRow In DtDetalle.Rows
|
||||
If Not ObjGPS.AddGeoReferenciaDetalle(CveGeoReferencia, Dr("CveDispositivo").ToString.ToEntero) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
TieneError = True
|
||||
End If
|
||||
@@ -336,14 +348,15 @@ Partial Class GPS_RepGeoReferencias
|
||||
Dim Dr As DataRow = DtDetalle.Rows(e.RowIndex)
|
||||
Dim CveGeoReferenciaDetalle = Dr("CveDispositivoGeoreferenciaDetalle").ToString.ToEntero
|
||||
If CveGeoReferenciaDetalle > 0 Then
|
||||
|
||||
Dim DrEliminar = DtDetalleEliminar.NewRow
|
||||
DrEliminar("CveDispositivoGeoreferenciaDetalle") = CveGeoReferenciaDetalle
|
||||
DrEliminar("CveDispositivo") = Dr("CveDispositivo").ToString.ToEntero
|
||||
DrEliminar("NoEconomico") = Dr("NoEconomico").ToString
|
||||
DtDetalleEliminar.Rows.Add(DrEliminar)
|
||||
DtDetalleEliminar.AcceptChanges()
|
||||
|
||||
If DtDetalleEliminar.COUNT("CveDispositivo", $"CveDispositivoGeoreferenciaDetalle={CveGeoReferenciaDetalle}") <= 0 Then
|
||||
Dim DrEliminar = DtDetalleEliminar.NewRow
|
||||
DrEliminar("CveDispositivoGeoreferenciaDetalle") = CveGeoReferenciaDetalle
|
||||
DrEliminar("CveDispositivo") = Dr("CveDispositivo").ToString.ToEntero
|
||||
DrEliminar("NoEconomico") = Dr("NoEconomico").ToString
|
||||
DtDetalleEliminar.Rows.Add(DrEliminar)
|
||||
DtDetalleEliminar.AcceptChanges()
|
||||
End If
|
||||
|
||||
End If
|
||||
DtDetalle.Rows.RemoveAt(e.RowIndex)
|
||||
|
||||
@@ -415,5 +428,63 @@ Partial Class GPS_RepGeoReferencias
|
||||
|
||||
Protected Sub ChkEstatusGeocerca_CheckedChanged(sender As Object, e As EventArgs)
|
||||
CargaGeoReferencias()
|
||||
End Sub
|
||||
|
||||
Protected Sub btnPagePrev_Click(sender As Object, e As EventArgs)
|
||||
Dim TotalRegistros As Integer = DtGeoReferencias.Rows.Count
|
||||
Dim TotalRowsPage As Integer = GVGeoreferencias.PageSize
|
||||
Dim PrevIndex As Integer = HdnIndexPage.Value.ToEntero - 1
|
||||
Dim CurrentIndex As Integer = PrevIndex + 1
|
||||
|
||||
Dim PrevIndexDT As Integer = (TotalRowsPage) * PrevIndex
|
||||
Dim CurrentIndexDT As Integer = (TotalRowsPage) * CurrentIndex
|
||||
|
||||
HdnIndexPage.Value = PrevIndex.ToString
|
||||
|
||||
If Not btnPageNext.Enabled Then
|
||||
btnPageNext.Enabled = True
|
||||
End If
|
||||
|
||||
If PrevIndexDT <= 0 Then
|
||||
btnPagePrev.Enabled = False
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias.FiltraPorIndices(0, CurrentIndexDT)
|
||||
LblRegistros.Text = $"Distribución de datos desde 0 hasta {CurrentIndexDT.ToString.FormatoNumero(0)}. Total de registros: {DtGeoReferencias.Rows.Count.ToString.FormatoNumero(0)}"
|
||||
Else
|
||||
LblRegistros.Text = $"Distribución de datos desde {PrevIndexDT.ToString.FormatoNumero(0)} hasta {CurrentIndexDT.ToString.FormatoNumero(0)}. Total de registros: {DtGeoReferencias.Rows.Count.ToString.FormatoNumero(0)}"
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias.FiltraPorIndices(PrevIndexDT, CurrentIndexDT)
|
||||
End If
|
||||
|
||||
GVGeoreferencias.DataBind()
|
||||
UPGV.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub btnPageNext_Click(sender As Object, e As EventArgs)
|
||||
Dim TotalRegistros As Integer = DtGeoReferencias.Rows.Count
|
||||
Dim TotalRowsPage As Integer = GVGeoreferencias.PageSize
|
||||
Dim Index As Integer = HdnIndexPage.Value.ToEntero + 1
|
||||
Dim NextIndex As Integer = Index + 1
|
||||
|
||||
Dim CurrentIndexDT As Integer = (TotalRowsPage) * Index
|
||||
Dim NextIndexDT As Integer = (TotalRowsPage) * NextIndex
|
||||
|
||||
HdnIndexPage.Value = Index.ToString
|
||||
|
||||
If Not btnPagePrev.Enabled Then
|
||||
btnPagePrev.Enabled = True
|
||||
End If
|
||||
|
||||
If NextIndexDT >= TotalRegistros Then
|
||||
btnPageNext.Enabled = False
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias.FiltraPorIndices(CurrentIndexDT, TotalRegistros - 1)
|
||||
LblRegistros.Text = $"Distribución de datos desde {CurrentIndexDT.ToString.FormatoNumero(0)} hasta {DtGeoReferencias.Rows.Count.ToString.FormatoNumero(0)}. Total de registros: {DtGeoReferencias.Rows.Count.ToString.FormatoNumero(0)}"
|
||||
Else
|
||||
GVGeoreferencias.DataSource = DtGeoReferencias.FiltraPorIndices(CurrentIndexDT, NextIndexDT)
|
||||
LblRegistros.Text = $"Distribución de datos desde {CurrentIndexDT.ToString.FormatoNumero(0)} hasta {NextIndexDT.ToString.FormatoNumero(0)}. Total de registros: {DtGeoReferencias.Rows.Count.ToString.FormatoNumero(0)}"
|
||||
End If
|
||||
|
||||
GVGeoreferencias.DataBind()
|
||||
UPGV.Update()
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -1398,7 +1398,7 @@ Partial Class General_SaldosIniciales
|
||||
|
||||
|
||||
'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For
|
||||
TipoDocto = IIf(TipoDocto.Contiene("INGRESO", "INGRESOS"), "Ing", IIf(TipoDocto.Contiene("EGRESO", "EGRESOS"), "Egs", "Rem")).ToString
|
||||
TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESO", "INGRESOS", "ING"), "Ing", IIf(TipoDocto.ToUpper.Contiene("EGRESO", "EGRESOS", "EGS"), "Egs", "Rem")).ToString
|
||||
'PrePóliza
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
|
||||
@@ -608,12 +608,12 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
If Existencia > 0 Then
|
||||
'la primera vez valida, que la existencia global, cumpla, considerando lo pendiente por surtir
|
||||
'las segunda consulta, que tenga existencia, ya con los parametros especificos
|
||||
If (FechaCaducidad > MinFecha OrElse Serie <> "" OrElse Lote <> "") Then
|
||||
If (FechaCaducidad > MinFecha OrElse Not Serie.Contiene("", "-1") OrElse Not Lote.Contiene("", "-1")) Then
|
||||
ExistenciaEspecificada = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, PendientePorSurtir:=-1)
|
||||
Dim StrB As New stringbuilder
|
||||
StrB.appendformat("CvePS = {0} AND CveUM = {1} ", CvePS, CveUnidadMedida)
|
||||
If Serie <> "" Then StrB.appendformat(" AND Serie = '{0}' ", Serie)
|
||||
If Lote <> "" Then StrB.appendformat(" AND Lote = '{0}' ", Lote)
|
||||
If Not Serie.Contiene("", "-1") Then StrB.appendformat(" AND Serie = '{0}' ", Serie)
|
||||
If Not Lote.Contiene("", "-1") Then StrB.appendformat(" AND Lote = '{0}' ", Lote)
|
||||
If FechaCaducidad.ToDate > MinFecha Then StrB.appendformat(" AND FechaCaducidad = '{0}' ", FechaCaducidad.ToShortDateString)
|
||||
Dim CantidadEspecificaEnGrid As Decimal = DtMovimientos.SUMD("Cantidad", StrB.tostring)
|
||||
|
||||
@@ -2891,23 +2891,21 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
|
||||
Dim Cantidad As Double = RowExcel("Cantidad").ToString().ToDecimal()
|
||||
Dim Serie As String = RowExcel("Serie").ToString()
|
||||
Dim Lote As String = If(RowExcel("Lote").ToString() = "", "-1", RowExcel("Lote").ToString())
|
||||
Dim FechaCaducidad As Date = If(RowExcel("FechaCaducidad").ToString <> "", MinFecha, RowExcel("FechaCaducidad").ToString.ToDate)
|
||||
Dim Lote As String = RowExcel("Lote").ToString()
|
||||
Dim FechaCaducidad As Date = If(RowExcel("FechaCaducidad").ToString = "", MinFecha, RowExcel("FechaCaducidad").ToString.ToDate)
|
||||
Dim Observaciones As String = RowExcel("Observaciones").ToString()
|
||||
|
||||
If CveProducto > 0 Then
|
||||
|
||||
Dim Valido As Boolean = True
|
||||
|
||||
Dim CveMetodoInventario As Integer = RowPS("Inv_CveMetodoInventario").ToString().ToEntero()
|
||||
|
||||
If CveMetodoInventario = 5 And (String.IsNullOrEmpty(Serie.Trim()) OrElse Serie = "-1") Then
|
||||
If RowPS("AplicaSerie").ToString() = "True" And (String.IsNullOrEmpty(Serie.Trim()) OrElse Serie = "-1") Then
|
||||
Valido = False
|
||||
Alert($"El producto '{RowPS("PS")}' requiere 'Serie'", TipoMensaje.MsgAdvertencia)
|
||||
ProductosNoCargados.AppendFormat("{0},", RowPS("PS").ToString())
|
||||
End If
|
||||
|
||||
If CveMetodoInventario = 5 AndAlso Not String.IsNullOrEmpty(Serie.Trim()) Then
|
||||
If RowPS("AplicaSerie").ToString() = "True" AndAlso Not String.IsNullOrEmpty(Serie.Trim()) Then
|
||||
NoPSConSerie = NoPSConSerie + 1
|
||||
End If
|
||||
|
||||
@@ -2919,7 +2917,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
End If
|
||||
|
||||
If Valido Then
|
||||
Valido = ValidaExistencia(Cantidad, CveProducto, CveUnidadMedida, -1, If(Not String.IsNullOrEmpty(Serie), Serie, "-1"), Lote, FechaCaducidad)
|
||||
Valido = ValidaExistencia(Cantidad, CveProducto, CveUnidadMedida, -1, If(Not String.IsNullOrEmpty(Serie), Serie, "-1"), If(Not String.IsNullOrEmpty(Lote), Lote, "-1"), FechaCaducidad)
|
||||
End If
|
||||
|
||||
If Valido Then
|
||||
|
||||
@@ -6263,6 +6263,13 @@
|
||||
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function httpGet() {
|
||||
var xmlHttp = new XMLHttpRequest();
|
||||
xmlHttp.open("GET", "http://localhost:85/ashx/SIGWeb.ashx?metodo=GetTokenAngular", false); // false for synchronous request
|
||||
xmlHttp.send(null);
|
||||
return xmlHttp.responseText;
|
||||
}
|
||||
|
||||
function CargaGraficaCompratamientoSaldoMensual(data, graph) {
|
||||
var chart = AmCharts.makeChart("chartdiv4", {
|
||||
"type": "serial",
|
||||
|
||||
@@ -7,7 +7,14 @@ Imports System.IO
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports System.Data
|
||||
Imports System.Globalization
|
||||
|
||||
Imports System.Net.Http
|
||||
Imports Newtonsoft.Json
|
||||
Imports System.Threading.Tasks
|
||||
Imports Newtonsoft.Json.Linq
|
||||
Imports System.Net
|
||||
Imports System.Collections.Generic
|
||||
Imports Newtonsoft.Json.Serialization
|
||||
|
||||
Partial Class Clientes
|
||||
Inherits ClsPaginas
|
||||
|
||||
@@ -1797,22 +1804,27 @@ Partial Class Clientes
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Private Sub CargaHistorial(Optional SelectTop As Integer = 21, Optional CveClienteSucursal As Integer = -1)
|
||||
Dim ObjClientes As New ClsClientes()
|
||||
If ObjClientes.GetHistorialVentas(CveCliente, SelectTop, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
Private Sub CargaHistorial(Optional SelectTop As Integer = 21, Optional CveClienteSucursal As Integer = -1)
|
||||
Dim ObjClientes As New ClsClientes()
|
||||
If ObjClientes.GetHistorialVentas(CveCliente, SelectTop, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
If ObjClientes.DtResultados.Rows.Count > 0 Then
|
||||
|
||||
'Carga Grid
|
||||
DTHistorialVentas = ObjClientes.DtResultados
|
||||
GVHistorial.DataSource = ObjClientes.DtResultados
|
||||
Else
|
||||
GVHistorial.DataSource = Nothing
|
||||
End If
|
||||
Else
|
||||
GVHistorial.DataSource = Nothing
|
||||
End If
|
||||
ObjClientes.Dispose()
|
||||
GVHistorial.DataBind()
|
||||
DTHistorialVentas = ObjClientes.DtResultados
|
||||
GVHistorial.DataSource = ObjClientes.DtResultados
|
||||
Else
|
||||
GVHistorial.DataSource = Nothing
|
||||
End If
|
||||
Else
|
||||
GVHistorial.DataSource = Nothing
|
||||
End If
|
||||
ObjClientes.Dispose()
|
||||
GVHistorial.DataBind()
|
||||
|
||||
'DTHistorialVentas = ConsultarHistorial()
|
||||
'GVHistorial.DataSource = DTHistorialVentas
|
||||
'GVHistorial.DataBind()
|
||||
|
||||
End Sub
|
||||
Private Function CargaCxC(Optional CveClienteSucursal As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
@@ -10348,5 +10360,125 @@ Partial Class Clientes
|
||||
End If
|
||||
ObjClientes.Dispose()
|
||||
End Sub
|
||||
|
||||
Public Function ConsultarHistorial2(Optional SelectTop As Integer = 21, Optional CveClienteSucursal As Integer = -1) As DataTable
|
||||
Dim retorno As DataTable = Nothing
|
||||
|
||||
Using cliente As New HttpClient()
|
||||
cliente.Timeout = New TimeSpan(0, 0, 15)
|
||||
cliente.DefaultRequestHeaders.Add("Accept", "application/json")
|
||||
|
||||
Try
|
||||
|
||||
Dim Parametros As JObject = New JObject(
|
||||
New JProperty("CveCliente", CveCliente),
|
||||
New JProperty("SelectTop", SelectTop),
|
||||
New JProperty("CveClienteSucursal", CveClienteSucursal),
|
||||
New JProperty("TipoDocto", "-1")
|
||||
)
|
||||
|
||||
Dim Url = New Uri(String.Format("{0}api/cliente/GetHistorialVentas?CveCliente={1}&SelectTop={2}&CveClienteSucursal={3}&TipoDocto={4}", "https://localhost:5001/", CveCliente, SelectTop, CveClienteSucursal, "-1"))
|
||||
|
||||
Dim response = cliente.GetAsync(Url).Result
|
||||
|
||||
If response.StatusCode = 200 Then
|
||||
Dim json = response.Content.ReadAsStringAsync().Result
|
||||
retorno = Newtonsoft.Json.JsonConvert.DeserializeObject(Of DataTable)(json)
|
||||
End If
|
||||
|
||||
Url = Nothing
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener el historial de ventas", ex)
|
||||
End Try
|
||||
End Using
|
||||
|
||||
Return retorno
|
||||
End Function
|
||||
Public Function ConsultarHistorial(Optional SelectTop As Integer = 21, Optional CveClienteSucursal As Integer = -1) As DataTable
|
||||
Dim retorno As DataTable = Nothing
|
||||
|
||||
Using cliente As New HttpClient()
|
||||
cliente.Timeout = New TimeSpan(0, 0, 15)
|
||||
cliente.DefaultRequestHeaders.Add("Authorization", String.Format("Bearer {0}", GetTokenAngular()))
|
||||
Try
|
||||
|
||||
Dim Parametros As JObject = New JObject(
|
||||
New JProperty("CveCliente", CveCliente),
|
||||
New JProperty("SelectTop", SelectTop),
|
||||
New JProperty("CveClienteSucursal", CveClienteSucursal),
|
||||
New JProperty("TipoDocto", "-1")
|
||||
)
|
||||
System.Net.ServicePointManager.SecurityProtocol = DirectCast(3072, SecurityProtocolType)
|
||||
|
||||
Dim Url = New Uri(String.Format("{0}api/cliente/GetHistorialVentas", "http://localhost:5000/"))
|
||||
|
||||
Dim response = cliente.PostAsync(Url, New StringContent(Parametros.ToString(), Encoding.UTF8, "application/json")).Result
|
||||
|
||||
If response.StatusCode = 200 Then
|
||||
Dim json = response.Content.ReadAsStringAsync().Result
|
||||
|
||||
Dim result = JsonConvert.DeserializeObject(Of MResult)(json)
|
||||
|
||||
If result.isSuccess Then
|
||||
|
||||
'Dim contractResolver = New DefaultContractResolver With
|
||||
'{
|
||||
' .NamingStrategy = New KebabCaseNamingStrategy()
|
||||
'}
|
||||
'Dim options = New JsonSerializerSettings() With
|
||||
'{
|
||||
' .ContractResolver = contractResolver,
|
||||
' .Formatting = Formatting.Indented
|
||||
'}
|
||||
|
||||
retorno = JsonConvert.DeserializeObject(Of DataTable)(result.result.ToString())
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
response.Dispose()
|
||||
|
||||
Url = Nothing
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener el historial de ventas", ex)
|
||||
End Try
|
||||
End Using
|
||||
|
||||
Return retorno
|
||||
End Function
|
||||
|
||||
Public Property Token As String = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJDdmVQbGF0YWZvcm1hIjoiMSIsIkN2ZVVzdWFyaW8iOiIxNTM4IiwiQ3ZlRW1wcmVzYSI6IjIiLCJDdmVSb2wiOiIxIiwiRmVjaGEiOiJzw6FiYWRvLCAyMCBkZSBtYXJ6byBkZSAyMDIxIiwibmJmIjoxNjE2MjYzMzg2LCJleHAiOjE2MTYyNzQxODYsImlhdCI6MTYxNjI2MzM4Nn0.N_4yHZ0J41GgcXbAFfvyLvXiV-U8nRm85LoZhG1riNc"
|
||||
|
||||
Public Class MResult
|
||||
Public Property isSuccess As Boolean
|
||||
Public Property message As String
|
||||
Public Property result As JArray
|
||||
End Class
|
||||
|
||||
Public Function GetTokenAngular() As String
|
||||
Dim retorno As String = ""
|
||||
|
||||
Using cliente As New HttpClient()
|
||||
|
||||
cliente.Timeout = New TimeSpan(0, 0, 15)
|
||||
cliente.DefaultRequestHeaders.Add("Accept", "text/json")
|
||||
|
||||
Try
|
||||
Dim Url = New Uri(String.Format("{0}ashx/SIGWeb.ashx?metodo=GetTokenAngular", "http://localhost:85/"))
|
||||
|
||||
Dim response = cliente.GetAsync(Url).Result
|
||||
|
||||
If response.StatusCode = 200 Then
|
||||
retorno = response.Content.ReadAsStringAsync().Result
|
||||
End If
|
||||
|
||||
Url = Nothing
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener el token", ex)
|
||||
End Try
|
||||
End Using
|
||||
|
||||
Return retorno
|
||||
End Function
|
||||
End Class
|
||||
|
||||
|
||||
@@ -1950,14 +1950,13 @@
|
||||
<td colspan="1">
|
||||
<asp:Label runat="server" Text="Código de Acceso:" Font-Bold="true" Width="120px" />
|
||||
</td>
|
||||
<td colspan="1">
|
||||
<td colspan="1" style="text-align:center">
|
||||
<asp:TextBox ID="TxtCodigoAcceso" runat="server" type="password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVCodigoAcceso" runat="server" ControlToValidate="TxtCodigoAcceso" Display="None" ErrorMessage="<span class='has-error'><span id='username-error' class='help-block'>El campo <b>''Código de Acceso''</b> es necesario.</span></span>" ValidationGroup="GrpValidarCodigo"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1"> </td>
|
||||
<td colspan="1"> </td>
|
||||
<td colspan="2" > <span class='has-error'><span id='username-error' class='help-block'><asp:Literal ID="LtlMensajeBloqueo" runat="server" Text=""></asp:Literal></span></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:Button ID="BtnCambiar" runat="server" CssClass="btn btn-success btn-sm" Text="Desbloquear" ValidationGroup="GrpValidarCodigo" OnClick="BtnCambiar_Click" />
|
||||
|
||||
@@ -1017,15 +1017,16 @@ Partial Class PV
|
||||
DivBloqueo.Visible = False
|
||||
Dim strScript As New StringBuilder
|
||||
strScript.Append("window.onload = function MuestraBloqueo() { document.getElementById(""C_BtnShowBloqueo"").click(); setTimeout(function(){ $('#C_TxtCodigoAcceso').focus(); ")
|
||||
'If UsuarioActual.ErrorDesbloqueo Then
|
||||
If UsuarioActual.ErrorDesbloqueo Then
|
||||
LtlMensajeBloqueo.Text = UsuarioActual.MsgErrorDesbloqueo
|
||||
'strScript.AppendFormat("alert('{0}');", UsuarioActual.MsgErrorDesbloqueo)
|
||||
'End If
|
||||
End If
|
||||
strScript.Append("}, 500); }")
|
||||
RegistraScript(strScript.ToString())
|
||||
|
||||
UsuarioActual.SesionBloqueada = True
|
||||
'UsuarioActual.ErrorDesbloqueo = False
|
||||
'UsuarioActual.MsgErrorDesbloqueo = ""
|
||||
UsuarioActual.ErrorDesbloqueo = False
|
||||
UsuarioActual.MsgErrorDesbloqueo = ""
|
||||
|
||||
BtnEmitirImprimir.Visible = False
|
||||
Exit Sub
|
||||
@@ -7449,13 +7450,13 @@ Partial Class PV
|
||||
End Sub
|
||||
Protected Sub BtnCambiar_Click(sender As Object, e As EventArgs)
|
||||
|
||||
'UsuarioActual.ErrorDesbloqueo = False
|
||||
'UsuarioActual.MsgErrorDesbloqueo = ""
|
||||
UsuarioActual.ErrorDesbloqueo = False
|
||||
UsuarioActual.MsgErrorDesbloqueo = ""
|
||||
|
||||
If String.IsNullOrEmpty(TxtCodigoAcceso.Text.Trim) Then
|
||||
UsuarioActual.SesionBloqueada = True
|
||||
'UsuarioActual.ErrorDesbloqueo = True
|
||||
'UsuarioActual.MsgErrorDesbloqueo = "Es necesario un código de acceso"
|
||||
UsuarioActual.ErrorDesbloqueo = True
|
||||
UsuarioActual.MsgErrorDesbloqueo = "Es necesario un código de acceso"
|
||||
|
||||
Response.Redirect($"~/Ventas/PV.aspx")
|
||||
Exit Sub
|
||||
@@ -7527,8 +7528,8 @@ Partial Class PV
|
||||
Response.Redirect($"~/Ventas/PV.aspx")
|
||||
Else
|
||||
UsuarioActual.SesionBloqueada = True
|
||||
'UsuarioActual.ErrorDesbloqueo = True
|
||||
'UsuarioActual.MsgErrorDesbloqueo = "El código de acceso no es correcto"
|
||||
UsuarioActual.ErrorDesbloqueo = True
|
||||
UsuarioActual.MsgErrorDesbloqueo = "El código de acceso no es correcto"
|
||||
|
||||
Response.Redirect($"~/Ventas/PV.aspx")
|
||||
End If
|
||||
|
||||
@@ -96,12 +96,12 @@ Partial Class Ventas_RepVentas
|
||||
|
||||
If UsuarioActual.CveEmpresa = 72 AndAlso UsuarioActual.CveUsuario.Contiene(100, 1614, 1517) Then
|
||||
liRepHP.Visible = True
|
||||
End If
|
||||
|
||||
'SI ES EL USUARIO SISTEMA MOSTRAR LA MODALIDAD CONTABLE (TEMPORAL)
|
||||
If UsuarioActual.CveUsuario = 100 Then
|
||||
divModalidadcontable.Visible = True
|
||||
End If
|
||||
End If
|
||||
|
||||
'SI ES EL USUARIO SISTEMA MOSTRAR LA MODALIDAD CONTABLE (TEMPORAL)
|
||||
'If UsuarioActual.CveUsuario = 100 Then
|
||||
divModalidadcontable.Visible = True
|
||||
'End If
|
||||
|
||||
'Modalidad Cotizacion
|
||||
If Opcion = "Cot" Then
|
||||
|
||||
@@ -3946,7 +3946,7 @@ Partial Class Ventas
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
Dim ObjUsados As New ClsVentas
|
||||
|
||||
If ObjUsados.GetVentasUsados(CveVenta, DdlSubProyectoDatos.SelectedValue.ToEntero(), DbRowVenta("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
|
||||
If ObjUsados.GetVentasUsados(CveVenta, -1, DbRowVenta("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
|
||||
DtUsados = ObjUsados.DtResultados
|
||||
End If
|
||||
ObjUsados.Dispose()
|
||||
@@ -11299,6 +11299,9 @@ Partial Class Ventas
|
||||
Dim CveCuentaIVAxTrasladar As Integer = 0
|
||||
Dim CveCuentaIVATrasladado As Integer = 0
|
||||
Dim SeContabiliza As Boolean = True
|
||||
|
||||
Dim SimplificarPrePoliza As Boolean = False
|
||||
|
||||
If (UsuarioActual.Empresa.Funcionalidad(343) = "1" AndAlso ObjFactura.TipoDocto = "Ant") Or (ChkAntEspecial.Checked AndAlso ObjFactura.TipoDocto = "Ant") Then
|
||||
SeContabiliza = False
|
||||
End If
|
||||
@@ -12614,7 +12617,7 @@ Partial Class Ventas
|
||||
If CveIEPago > 0 Then
|
||||
|
||||
importeMovimiento = DrPago("Importe").ToString().ToDecimal * ValorMultiplicador
|
||||
importeMX = importeMovimiento * tipoCambio * Multiplicador
|
||||
importeMX = (importeMovimiento * tipoCambio * Multiplicador).RoundSQL
|
||||
IdCtaContable = 0
|
||||
CveCuenta = 0
|
||||
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||
@@ -12633,20 +12636,61 @@ Partial Class Ventas
|
||||
' CuentasContablesInvalidasSIG.AppendFormat("<br> {0}", GlobalDTBancosCuentas(UsuarioActual.CveUsuario, DrPago("CveCuenta").ToString().ToEntero()).Rows(0)("NumCuentaMoneda").ToString().ToEntero())
|
||||
' CveCuentaContabilizacion = 0
|
||||
'End If
|
||||
'MONEDA EXTRANJERA
|
||||
If ObjFactura.CveMoneda > 1 Then
|
||||
'BANCOS
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 30, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, Fecha, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=CveIEPago, ImporteMX:=importeMovimiento, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'BANCOS COMPLEMENTARIA
|
||||
If UsaComplementariaClientes Then
|
||||
Dim ImporteComplementaria As Decimal = ((importeMovimiento * tipoCambio) - importeMovimiento).RoundSQL
|
||||
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 204, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 204, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEPago, ImporteMX:=ImporteComplementaria, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, TipoCambioPago:=tipoCambio, CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
End If
|
||||
|
||||
'PAGO CLIENTES
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 2, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 2, Concepto, Fecha, IdCtaContableCliente, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=CveIEPago, ImporteMX:=importeMovimiento, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaCliente, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'PAGO CLIENTES COMPLEMENTARIA
|
||||
If UsaComplementariaClientes Then
|
||||
Dim ImporteComplementaria As Decimal = ((importeMovimiento * tipoCambio) - importeMovimiento).RoundSQL
|
||||
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 207, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, 0, Referencia, 207, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEPago, ImporteMX:=ImporteComplementaria, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, TipoCambioPago:=tipoCambio, CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
End If
|
||||
|
||||
SimplificarPrePoliza = True
|
||||
|
||||
Else
|
||||
'BANCOS
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 30, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, Fecha, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=CveIEPago, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'PAGO CLIENTES
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 2, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 2, Concepto, Fecha, IdCtaContableCliente, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=CveIEPago, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaCliente, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'BANCOS
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 30, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, Fecha, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=CveIEPago, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'CLIENTES
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 2, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString())
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 2, Concepto, Fecha, IdCtaContableCliente, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=CveIEPago, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaCliente, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
|
||||
If ObjFactura.IVA <> 0 Then
|
||||
@@ -12795,7 +12839,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
'Simplificacion de PrePolizas
|
||||
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
||||
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") OrElse SimplificarPrePoliza Then
|
||||
If Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
||||
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
|
||||
End If
|
||||
@@ -27328,11 +27372,29 @@ Partial Class Ventas
|
||||
|
||||
RemisionesLista.Clear()
|
||||
|
||||
Dim MsgUsados As New StringBuilder
|
||||
Dim UsadosValidados As Boolean = True
|
||||
|
||||
If dtSeleccionadas.Rows.Count > 0 Then
|
||||
Select Case RblTipo.SelectedValue
|
||||
Case "1" 'T O T A L G E N E R A L
|
||||
For Each row As DataRow In dtSeleccionadas.Rows
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
Using ObjUsados As New ClsVentas
|
||||
If ObjUsados.GetVentasUsados(row("CveVenta").ToString().ToEntero(), -1, row("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
|
||||
If ObjUsados.DtResultados.Rows.Count > 0 Then
|
||||
UsadosValidados = False
|
||||
MsgUsados.AppendFormat("{0},", row("Folio").ToString())
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
If UsadosValidados Then
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
End If
|
||||
|
||||
Next
|
||||
IsTotalxConcepto = False
|
||||
Dim PU As Decimal = dtSeleccionadas.SUM("SubTotal").ToDecimal
|
||||
@@ -27347,7 +27409,22 @@ Partial Class Ventas
|
||||
CalculaTotalesVenta()
|
||||
Case "2" 'T O T A L X R E M I S I O N
|
||||
For Each row As DataRow In dtSeleccionadas.Rows
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
Using ObjUsados As New ClsVentas
|
||||
If ObjUsados.GetVentasUsados(row("CveVenta").ToString().ToEntero(), -1, row("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
|
||||
If ObjUsados.DtResultados.Rows.Count > 0 Then
|
||||
UsadosValidados = False
|
||||
MsgUsados.AppendFormat("{0},", row("Folio").ToString())
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
If UsadosValidados Then
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
End If
|
||||
|
||||
Next
|
||||
Dim PS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa)(0)
|
||||
Dim rowSP As DataRow = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa)(0)
|
||||
@@ -27368,17 +27445,51 @@ Partial Class Ventas
|
||||
For Each row As DataRow In dtSeleccionadas.Rows
|
||||
sb.Append($"{row("CveVentaDetalle").ToString()},")
|
||||
Next
|
||||
For Each row As DataRow In dtSeleccionadas.FiltraParametros("", DistinctColumns:={"CveVenta"}).Rows
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
For Each row As DataRow In dtSeleccionadas.FiltraParametros("", DistinctColumns:={"CveVenta", "Fecha", "Folio"}).Rows
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
Using ObjUsados As New ClsVentas
|
||||
If ObjUsados.GetVentasUsados(row("CveVenta").ToString().ToEntero(), -1, row("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
|
||||
If ObjUsados.DtResultados.Rows.Count > 0 Then
|
||||
UsadosValidados = False
|
||||
MsgUsados.AppendFormat("{0},", row("Folio").ToString())
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
If UsadosValidados Then
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
For Each row As DataRow In dtSeleccionadas.Rows
|
||||
sb.Append($"{row("CveVenta").ToString()},")
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
Using ObjUsados As New ClsVentas
|
||||
If ObjUsados.GetVentasUsados(row("CveVenta").ToString().ToEntero(), -1, row("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
|
||||
If ObjUsados.DtResultados.Rows.Count > 0 Then
|
||||
UsadosValidados = False
|
||||
MsgUsados.AppendFormat("{0},", row("Folio").ToString())
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
If UsadosValidados Then
|
||||
RemisionesLista.Add(row("CveVenta").ToString().ToEntero())
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
sb.Remove(sb.Length - 1, 1)
|
||||
CargaConceptosRemisionPorFacturar(sb.ToString(), If(ChkRemProductos.Checked, 2, 1))
|
||||
|
||||
If UsadosValidados Then
|
||||
CargaConceptosRemisionPorFacturar(sb.ToString(), If(ChkRemProductos.Checked, 2, 1))
|
||||
End If
|
||||
|
||||
sb.Clear()
|
||||
End Select
|
||||
|
||||
@@ -27430,6 +27541,15 @@ Partial Class Ventas
|
||||
ObsPedido.Clear()
|
||||
ObsInv.Clear()
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Not UsadosValidados Then
|
||||
If MsgUsados.Length > 0 Then
|
||||
MsgUsados.Remove(MsgUsados.Length - 1, 1)
|
||||
End If
|
||||
Alert($"Las siguientes remisiones no se pueden facturar porque no se ha recibido el usado correspondiente:<br/><b>{MsgUsados.ToString()}<b/>", TipoMensaje.MsgAdvertencia)
|
||||
BtnEmitirImprimir.Visible = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
TxtFechaPago.Text = If(EsDiasCreditoFijo, Now.AddDays(DiasCredito).ToShortDateString, TxtFechaPago.Text)
|
||||
@@ -28570,7 +28690,10 @@ Partial Class Ventas
|
||||
Else
|
||||
Row("PorcentajeIVA") = DrPS("IVA")
|
||||
End If
|
||||
Dim TotalCalculableImpuestos As Decimal = (Row("Cantidad").ToString().ToDecimal * Row("PU").ToString().ToDecimal) - Row("Descuento").ToString().ToDecimal
|
||||
|
||||
Dim PU = Row("PU").ToString().ToDecimal().RoundSQL(6) ' el precio unitario puede llevar hasta 6 decimales permitidos
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = (Row("Cantidad").ToString().ToDecimal * PU) - Row("Descuento").ToString().ToDecimal
|
||||
Dim TotalCalculableImpuestosIVA As Decimal = TotalCalculableImpuestos * (1 + Row("PorcentajeIEPS").ToString().ToDecimal)
|
||||
|
||||
Row("IVA") = Row("PorcentajeIVA").ToString().ToDouble
|
||||
|
||||
Reference in New Issue
Block a user