This commit is contained in:
2022-07-27 10:58:52 -07:00
6 changed files with 802 additions and 304 deletions

View File

@@ -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)}<br/>")
Else
sbResultado.Append($"Solicitud Generada Correctamente")
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(2)} <br>")
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) <br/>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoVerificaionOK Then
sbResultado.Append($"{resultVerificacion(1)}<br>")
Else
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}<br>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>")
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)}<br/>")
Else
sbResultado.Append($"Solicitud Generada Correctamente")
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(2)} <br>")
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) <br/>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoVerificaionOK Then
sbResultado.Append($"{resultVerificacion(2)}<br>")
Else
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(2)}<br>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>")
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