--Procesamiento de gzip, solicitudes de descarga en eFacturas

This commit is contained in:
2024-09-28 14:56:17 -07:00
parent 91ccf85697
commit 77f3069be8

View File

@@ -1506,6 +1506,57 @@ Partial Class Compras_eFacturas
' Exit Sub ' Exit Sub
'End If 'End If
Dim ListComprimidos As New List(Of String)
Dim ListXML As New List(Of String)
Dim ListPDF As New List(Of String)
Dim FileExtension As String = "-1"
Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
Dim filemove As String = ""
For Each fileItem As Archivo In filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
If filemove <> "" Then
filemove.FilesMove("", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False, Sobreescribir:=True)
If FileExtension.ToUpper = "RAR" Or FileExtension.ToUpper = "ZIP" Then
ListComprimidos.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, filemove))
End If
End If
Next
For Each fileItem As Archivo In filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
If filemove <> "" AndAlso (FileExtension.ToUpper() <> "ZIP" And FileExtension.ToUpper() <> "RAR") Then
'filemove.FilesMove("", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False, Sobreescribir:=True)
If FileExtension.ToUpper = "XML" Then
ListXML.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, filemove))
End If
If FileExtension.ToUpper = "PDF" Then
ListPDF.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, filemove))
End If
End If
Next
SubirFacturas(ListComprimidos, ListXML, ListPDF)
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalFacturas"))
RegistraScript("$('#ModalBitacoraEfacturas').modal()")
End Sub
Private Sub SubirFacturas(ByRef ListComprimidos As List(Of String), ByRef ListXML As List(Of String), ByRef ListPDF As List(Of String))
Dim DTLOG As New DataTable Dim DTLOG As New DataTable
DTLOG.Columns.Add("Serie", GetType(String)) DTLOG.Columns.Add("Serie", GetType(String))
DTLOG.Columns.Add("Folio", GetType(String)) DTLOG.Columns.Add("Folio", GetType(String))
@@ -1526,30 +1577,6 @@ Partial Class Compras_eFacturas
sw.Start() sw.Start()
Dim FileExtension As String = "-1"
Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
Dim filemove As String = ""
Dim ListXML As New List(Of String)
Dim ListPDF As New List(Of String)
Dim ListComprimidos As New List(Of String)
Dim ListDirectorios As New List(Of String)
Dim ListFacturas As New List(Of Factura)
For Each fileItem As Archivo In filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
If filemove <> "" Then
filemove.FilesMove("", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False, Sobreescribir:=True)
If FileExtension.ToUpper = "RAR" Or FileExtension.ToUpper = "ZIP" Then
ListComprimidos.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, filemove))
End If
End If
Next
For Each comprmido As String In ListComprimidos For Each comprmido As String In ListComprimidos
@@ -1611,26 +1638,6 @@ Partial Class Compras_eFacturas
Next Next
For Each fileItem As Archivo In filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
If filemove <> "" AndAlso (FileExtension.ToUpper() <> "ZIP" And FileExtension.ToUpper() <> "RAR") Then
'filemove.FilesMove("", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False, Sobreescribir:=True)
If FileExtension.ToUpper = "XML" Then
ListXML.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, filemove))
End If
If FileExtension.ToUpper = "PDF" Then
ListPDF.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, filemove))
End If
End If
Next
'Dim fileEntries As String() = Directory.GetFiles(String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta)) 'Dim fileEntries As String() = Directory.GetFiles(String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta))
'Dim ListaDirectoriosTemporales As New List(Of String) 'Dim ListaDirectoriosTemporales As New List(Of String)
@@ -1890,11 +1897,6 @@ Partial Class Compras_eFacturas
'End If 'End If
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalFacturas"))
RegistraScript("$('#ModalBitacoraEfacturas').modal()")
mesajeFaturasSubidas(DTLOG) mesajeFaturasSubidas(DTLOG)
@@ -1903,7 +1905,6 @@ Partial Class Compras_eFacturas
'Alert(String.Format("Se cargaron {0} Facturas", Arreglo.Count), TipoMensaje.MsgInformacion) 'Alert(String.Format("Se cargaron {0} Facturas", Arreglo.Count), TipoMensaje.MsgInformacion)
End Sub End Sub
Private Sub mesajeFaturasSubidas(DTLOG As DataTable) Private Sub mesajeFaturasSubidas(DTLOG As DataTable)
@@ -2708,17 +2709,31 @@ Partial Class Compras_eFacturas
Using nom As ClsNominas = New ClsNominas() Using nom As ClsNominas = New ClsNominas()
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=0, Top:=50) Then 'PRUEBAS
GVSolicitudesPendientes.DataSource = nom.DtResultados If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
If nom.SolicitudesGet(1589, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=-1, Top:=1) Then
GVSolicitudesPendientes.DataSource = nom.DtResultados
If nom.DtResultados.Rows.Count > 0 Then If nom.DtResultados.Rows.Count > 0 Then
LnkverificarSolicitudes.Visible = True LnkverificarSolicitudes.Visible = True
End If
GVSolicitudesPendientes.DataBind()
End If End If
Else
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=0, Top:=50) Then
GVSolicitudesPendientes.DataSource = nom.DtResultados
GVSolicitudesPendientes.DataBind() If nom.DtResultados.Rows.Count > 0 Then
LnkverificarSolicitudes.Visible = True
End If
GVSolicitudesPendientes.DataBind()
End If
End If End If
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=1, Top:=50) Then
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=1, Top:=1) Then
GVSolicitudesNominas.DataSource = nom.DtResultados GVSolicitudesNominas.DataSource = nom.DtResultados
GVSolicitudesNominas.DataBind() GVSolicitudesNominas.DataBind()
End If End If
@@ -2996,11 +3011,17 @@ Partial Class Compras_eFacturas
Dim sbResultado As StringBuilder = New StringBuilder() Dim sbResultado As StringBuilder = New StringBuilder()
Dim TipoMensaje As ModExtensiones.TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion Dim TipoMensaje As ModExtensiones.TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
Dim ListComprimidos As New List(Of String)
Dim ListXML As New List(Of String)
Dim ListPDF As New List(Of String)
For Each GvRow As GridViewRow In GVSolicitudesPendientes.Rows For Each GvRow As GridViewRow In GVSolicitudesPendientes.Rows
Dim CveSolicitudActual As Integer = GvRow.DataKey("CveSolicitud").ToEntero() Dim CveSolicitudActual As Integer = GvRow.DataKey("CveSolicitud").ToEntero()
Dim idSolicitud As String = GvRow.DataKey("idSolicitud").Trim() Dim idSolicitud As String = GvRow.DataKey("idSolicitud").Trim()
Dim CveTipoSolicitud As Integer = GvRow.DataKey("CveTipoSolicitud").ToEntero() Dim CveTipoSolicitud As Integer = GvRow.DataKey("CveTipoSolicitud").ToEntero()
Dim Folio As Integer = GvRow.DataKey("Folio").ToEntero() Dim Folio As Integer = GvRow.DataKey("Folio").ToEntero()
Dim CveSolicitudDetalle As Integer = GvRow.DataKey("CveSolicitudDetalle").ToEntero()
Dim resultSolicitud As List(Of String) = New List(Of String)() Dim resultSolicitud As List(Of String) = New List(Of String)()
Dim resultVerificacion As List(Of String) = New List(Of String)() Dim resultVerificacion As List(Of String) = New List(Of String)()
Dim ResultadoVerificaionOK As Boolean = False Dim ResultadoVerificaionOK As Boolean = False
@@ -3046,25 +3067,47 @@ Partial Class Compras_eFacturas
End If End If
If ResultadoSolicitudOK And Verificar Then If ResultadoSolicitudOK And Verificar Then
Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual), JToken)
If Not (ObjApiVerificacion Is Nothing) Then 'Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual), JToken)
resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
'If UsuarioActual.CveRol = 1 Then 'If Not (ObjApiVerificacion Is Nothing) Then
' Dim respesta = New StringBuilder ' resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
' For Each s As String In resultVerificacion
' respesta.AppendLine($"{s} - ")
' Next
' Alert(respesta.ToString) ' If UsuarioActual.CveRol = 1 Then
'End If ' Dim respesta = New StringBuilder
' For Each s As String In resultVerificacion
' respesta.AppendLine($"{s} - ")
' Next
' Alert(respesta.ToString)
' End If
' ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
' SeVerifico = True
'Else
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
'End If
Dim Archivo = New FileInfo(String.Format("{0}DescargasSATXML\Compras\{1}.gzip", UsuarioActual.Empresa.Ruta, CveSolicitudDetalle))
Dim fileName = Archivo.Name
Dim filemove = Archivo.FullName
If Archivo.Exists Then
Try
'COPIAR ARCHIVO A LA CARPETA DE PROCESAMIENTO DE FACTURAS, SE ELIMINARAN ESOS ARCHIVOS TEMPORALES
Dim destFile = String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, fileName)
File.Copy(filemove, destFile, overwrite:=True)
ListComprimidos.Add(destFile)
ResultadoVerificaionOK = True
SeVerifico = True
Catch ex As Exception
ex.ToString().GuardaLog()
End Try
ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
SeVerifico = True
Else
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If End If
Else Else
If resultSolicitud.Count >= 4 Then If resultSolicitud.Count >= 4 Then
@@ -3076,10 +3119,14 @@ Partial Class Compras_eFacturas
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If End If
If SeVerifico AndAlso UsuarioActual.CveRol = 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
SubirFacturas(ListComprimidos, ListXML, ListPDF)
End If
'If UsuarioActual.CveRol = 1 Then 'If UsuarioActual.CveRol = 1 Then
' Alert($"SeVerifico {SeVerifico.ToString} resultVerificacion.Count {resultVerificacion.Count }") ' Alert($"SeVerifico {SeVerifico.ToString} resultVerificacion.Count {resultVerificacion.Count }")
'End If 'End If
If Verificar Then If Verificar Then
If SeVerifico AndAlso resultVerificacion.Count >= 4 Then If SeVerifico AndAlso resultVerificacion.Count >= 4 Then
@@ -3096,7 +3143,6 @@ Partial Class Compras_eFacturas
End If End If
Next Next
Alert(sbResultado.ToString(), TipoMensaje) Alert(sbResultado.ToString(), TipoMensaje)