From 77f3069be809134884087ca9420162683f5d0b2e Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Sat, 28 Sep 2024 14:56:17 -0700 Subject: [PATCH] --Procesamiento de gzip, solicitudes de descarga en eFacturas --- Compras/eFacturas.aspx.vb | 188 ++++++++++++++++++++++++-------------- 1 file changed, 117 insertions(+), 71 deletions(-) diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index f6a0b67ce..3405f0e7e 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -1506,6 +1506,57 @@ Partial Class Compras_eFacturas ' Exit Sub '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 DTLOG.Columns.Add("Serie", GetType(String)) DTLOG.Columns.Add("Folio", GetType(String)) @@ -1526,30 +1577,6 @@ Partial Class Compras_eFacturas 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 @@ -1611,26 +1638,6 @@ Partial Class Compras_eFacturas 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 ListaDirectoriosTemporales As New List(Of String) @@ -1890,11 +1897,6 @@ Partial Class Compras_eFacturas 'End If - RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalFacturas")) - - RegistraScript("$('#ModalBitacoraEfacturas').modal()") - - mesajeFaturasSubidas(DTLOG) @@ -1903,7 +1905,6 @@ Partial Class Compras_eFacturas 'Alert(String.Format("Se cargaron {0} Facturas", Arreglo.Count), TipoMensaje.MsgInformacion) End Sub - Private Sub mesajeFaturasSubidas(DTLOG As DataTable) @@ -2708,17 +2709,31 @@ Partial Class Compras_eFacturas Using nom As ClsNominas = New ClsNominas() - If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=0, Top:=50) Then - GVSolicitudesPendientes.DataSource = nom.DtResultados + 'PRUEBAS + 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 - LnkverificarSolicitudes.Visible = True + If nom.DtResultados.Rows.Count > 0 Then + LnkverificarSolicitudes.Visible = True + End If + + GVSolicitudesPendientes.DataBind() 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 - 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.DataBind() End If @@ -2996,11 +3011,17 @@ Partial Class Compras_eFacturas Dim sbResultado As StringBuilder = New StringBuilder() 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 Dim CveSolicitudActual As Integer = GvRow.DataKey("CveSolicitud").ToEntero() Dim idSolicitud As String = GvRow.DataKey("idSolicitud").Trim() Dim CveTipoSolicitud As Integer = GvRow.DataKey("CveTipoSolicitud").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 resultVerificacion As List(Of String) = New List(Of String)() Dim ResultadoVerificaionOK As Boolean = False @@ -3046,25 +3067,47 @@ Partial Class Compras_eFacturas End If If ResultadoSolicitudOK And Verificar Then - Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual), JToken) - If Not (ObjApiVerificacion Is Nothing) Then - resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList() + 'Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual), JToken) - 'If UsuarioActual.CveRol = 1 Then - ' Dim respesta = New StringBuilder - ' For Each s As String In resultVerificacion - ' respesta.AppendLine($"{s} - ") - ' Next + 'If Not (ObjApiVerificacion Is Nothing) Then + ' resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList() - ' Alert(respesta.ToString) - 'End If + ' If UsuarioActual.CveRol = 1 Then + ' 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 + Else If resultSolicitud.Count >= 4 Then @@ -3076,10 +3119,14 @@ Partial Class Compras_eFacturas TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia End If + If SeVerifico AndAlso UsuarioActual.CveRol = 1 AndAlso UsuarioActual.CveEmpresa = 119 Then + SubirFacturas(ListComprimidos, ListXML, ListPDF) + End If 'If UsuarioActual.CveRol = 1 Then ' Alert($"SeVerifico {SeVerifico.ToString} resultVerificacion.Count {resultVerificacion.Count }") 'End If + If Verificar Then If SeVerifico AndAlso resultVerificacion.Count >= 4 Then @@ -3096,7 +3143,6 @@ Partial Class Compras_eFacturas End If - Next Alert(sbResultado.ToString(), TipoMensaje)