diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index b9ce81522..ebb3bb10b 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -3203,6 +3203,34 @@ Public Class ClsNominas
retorno = RunQuery("Ocurrió un error al obtener el Calculo ISR anual.")
Return retorno
End Function
+
+
+ Public Function SATSolicitudTimbreIngresosRep(CveEmpresa As Integer, FechaInicio As Date, FechaFin As DateTime, Opcion As Integer) As Boolean
+
+
+ Dim retorno As Boolean = False
+ Try
+ DataAdapter("PA_SAT_SolicitudTimbreIngresosRep", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
+ .Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin
+ .Add("@Opcion", SqlDbType.Int).Value = Opcion
+ End With
+ SqlAdapter.Fill(Data)
+
+ retorno = True
+
+ Catch ex As Exception
+ retorno = False
+ OnError("Ocurrió un error al consultar el reporte de CFDI contra ingreso.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return retorno
+
+
+ End Function
+
#Region "CRUD_SolicitudesNominas"
Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1) As Boolean
Dim retorno As Boolean = False
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 22e5718a3..ea843f582 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -5395,7 +5395,7 @@ Public Class ClsPaginas
PaginaDict.Add("/RH/CatRegistroPatronal.aspx".ToUpper(), 1324)
PaginaDict.Add("/SAT/SolicitudesNominaSat.aspx".ToUpper(), 545)
- PaginaDict.Add("/SAT/SolicitudesIngresoSat.aspx".ToUpper(), -1)
+ PaginaDict.Add("/SAT/SolicitudesIngresoSat.aspx".ToUpper(), 1329)
#End Region
#Region "Sistema"
'Cargo las páginas que deben tener restricción
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb
index ca4dcbbd6..85d745c64 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -15,6 +15,7 @@ Imports ADSistemaLibrary.SatXml
Imports ADSistemaLibrary.SatXml.XmlSatCFDI
Imports Extensiones
Imports Microsoft.Reporting.WebForms
+Imports Newtonsoft.Json.Linq
Partial Class Compras_eFacturas
Inherits ClsPaginas
@@ -2567,6 +2568,31 @@ Partial Class Compras_eFacturas
End Sub
Protected Sub LnkSolicitarSat_Click(ByVal sender As Object, ByVal e As EventArgs)
+ 'Dim idSolicitudCFDI As Integer = 0
+ 'Dim idSolicitudMetadata As Integer = 0
+ 'Dim estatus As Integer = 0
+ 'Dim observaciones As String = ""
+ 'Dim fechaInicio As DateTime = txtFechaIAdd.Text.ToDateTime()
+ 'Dim fechaFin As DateTime = txtFechaFAdd.Text.ToDateTime()
+ 'Dim cveUsuarioIng As Integer = UsuarioActual.CveUsuario
+ 'Dim cveEmpresa As Integer = UsuarioActual.CveEmpresa
+ 'Dim Continuar As Boolean = False
+
+ 'Using nom As ClsNominas = New ClsNominas()
+ ' Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, 2)
+ ' Dim api = New GeneralesAPIeFacturas()
+ ' api.GeneraSolicitud()
+ ' api.VerificaSolicitudesNominas()
+ 'End Using
+
+ 'If Continuar Then
+ ' txtFechaIAdd.Text = ""
+ ' txtFechaFAdd.Text = ""
+ ' Me.RegistraScript("$('#DModalSolicitudesNominas').modal('hide');")
+ ' cargasolicitudes()
+ ' Me.Alert("se a envia la solicitud al sat, le enviaremos un correo en cuanto tengamos una respuesta", ModExtensiones.TipoMensaje.ToastInformacion)
+ 'End If
+
Dim idSolicitudCFDI As Integer = 0
Dim idSolicitudMetadata As Integer = 0
Dim estatus As Integer = 0
@@ -2578,26 +2604,154 @@ Partial Class Compras_eFacturas
Dim Continuar As Boolean = False
Using nom As ClsNominas = New ClsNominas()
- Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, 2)
- Dim api = New GeneralesAPIeFacturas()
- api.GeneraSolicitud()
- api.VerificaSolicitudesNominas()
+ Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, CveTipoSolicitud:=3)
End Using
+ If Continuar Then
+ Dim sbResultado As StringBuilder = New StringBuilder()
+ Dim api = New GeneralesAPIeFacturas()
+ Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3), JToken)
+ Dim resultSolicitud As List(Of String) = New List(Of String)()
+ Dim resultVerificacion As List(Of String) = New List(Of String)()
+ Dim ResultadoVerificaionOK = False
+ Dim SeVerifico = False
+ Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
+ Dim ResultadoSolicitudOK = False
+
+ If Not (ObjApiSolicitud Is Nothing) Then
+ resultSolicitud = ObjApiSolicitud.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
+ ResultadoSolicitudOK = Boolean.Parse(resultSolicitud(0))
+ Else
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+
+ If ResultadoSolicitudOK Then
+ Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3), JToken)
+
+ If Not (ObjApiVerificacion Is Nothing) Then
+ resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
+ ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
+ SeVerifico = True
+ Else
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+ End If
+
+ If resultSolicitud.Count = 4 Then
+
+ If ResultadoSolicitudOK Then
+
+ If resultSolicitud(1).ToString().Trim().Length > 0 Then
+ sbResultado.Append($"{resultSolicitud(1)} ")
+ Else
+ sbResultado.Append($"Solicitud Generada Correctamente")
+ sbResultado.Append($"Se presento un error al verificar las solicitudes {resultSolicitud(2)} ")
+ End If
+ Else
+ sbResultado.Append($"{resultSolicitud(2)}")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+ Else
+ sbResultado.AppendLine("Se presento un error al generar la solicitud (API) ")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+
+ If SeVerifico AndAlso resultVerificacion.Count = 4 Then
+
+ If ResultadoVerificaionOK Then
+ sbResultado.Append($"{resultVerificacion(1)} ")
+ Else
+ sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)} ")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+ Else
+ sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) ")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+
+ Alert(sbResultado.ToString(), TipoMensaje)
+ End If
+
If Continuar Then
txtFechaIAdd.Text = ""
txtFechaFAdd.Text = ""
- Me.RegistraScript("$('#DModalSolicitudesNominas').modal('hide');")
+ Me.RegistraScript("$('#ModalAgregarSolicitud').modal('hide');")
cargasolicitudes()
- Me.Alert("se a envia la solicitud al sat, le enviaremos un correo en cuanto tengamos una respuesta", ModExtensiones.TipoMensaje.ToastInformacion)
End If
+
End Sub
Protected Sub LnkverificarSolicitudes_Click(ByVal sender As Object, ByVal e As EventArgs)
+
+
+
+
+ Dim sbResultado As StringBuilder = New StringBuilder()
Dim api = New GeneralesAPIeFacturas()
- api.GeneraSolicitud()
- api.VerificaSolicitudesNominas()
+ Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3), JToken)
+ Dim resultSolicitud As List(Of String) = New List(Of String)()
+ Dim resultVerificacion As List(Of String) = New List(Of String)()
+ Dim ResultadoVerificaionOK = False
+ Dim SeVerifico = False
+ Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
+ Dim ResultadoSolicitudOK = False
+
+ If Not (ObjApiSolicitud Is Nothing) Then
+ resultSolicitud = ObjApiSolicitud.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
+ ResultadoSolicitudOK = Boolean.Parse(resultSolicitud(0))
+ Else
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+
+ If ResultadoSolicitudOK Then
+ Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3), JToken)
+
+ If Not (ObjApiVerificacion Is Nothing) Then
+ resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
+ ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
+ SeVerifico = True
+ Else
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+ End If
+
+ If resultSolicitud.Count = 4 Then
+
+ If ResultadoSolicitudOK Then
+
+ If resultSolicitud(2).ToString().Trim().Length > 0 Then
+ sbResultado.Append($"{resultSolicitud(2)} ")
+ Else
+ sbResultado.Append($"Solicitud Generada Correctamente")
+ sbResultado.Append($"Se presento un error al verificar las solicitudes {resultSolicitud(2)} ")
+ End If
+ Else
+ sbResultado.Append($"{resultSolicitud(2)}")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+ Else
+ sbResultado.AppendLine("Se presento un error al generar la solicitud (API) ")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+
+ If SeVerifico AndAlso resultVerificacion.Count = 4 Then
+
+ If ResultadoVerificaionOK Then
+ sbResultado.Append($"{resultVerificacion(2)} ")
+ Else
+ sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(2)} ")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+ Else
+ sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) ")
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
+ End If
+
+ Alert(sbResultado.ToString(), TipoMensaje)
cargasolicitudes()
+
+
+
End Sub
#End Region
#Region "D E S C A R G A R - F A C T U R A "
@@ -4610,12 +4764,12 @@ Public Class GeneralesAPIeFacturas
MyBase.New(domainApi, token)
End Sub
- Public Function GeneraSolicitud() As Object
- Return getData(Of Object)("GeneraSolicitud", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
+ Public Function GeneraSolicitud(CveEmpresa As Integer, CveTipoSolicitud As Integer) As Object
+ Return getData(Of Object)($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
End Function
- Public Function VerificaSolicitudesNominas() As Object
- Return getData(Of Object)("VerificaSolicitudesNominas", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
+ Public Function VerificaSolicitudesNominas(CveEmpresa As Integer, CveTipoSolicitud As Integer) As Object
+ Return getData(Of Object)($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
End Function
End Class
diff --git a/SAT/SolicitudesIngresoSat.aspx b/SAT/SolicitudesIngresoSat.aspx
index deb5c90f7..a8b5ff7e0 100644
--- a/SAT/SolicitudesIngresoSat.aspx
+++ b/SAT/SolicitudesIngresoSat.aspx
@@ -214,7 +214,7 @@