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 @@
  • - Descargar + <%-- Descargar--%>
  • @@ -283,38 +283,192 @@ - - -
    -
    -
    - - Información timbre fiscal -
    - -
    - - -
    -
    - - -
    -
    -
    - - - - - - -
    -
    - +
    -