From 3f640307f8caf349fab5f2865b045034834e35cf Mon Sep 17 00:00:00 2001 From: Kevin Rosales Date: Tue, 14 Oct 2025 18:05:02 -0600 Subject: [PATCH] Modificaciones a pedimento Detail --- src/pages/PedimentoDetail.jsx | 225 +++++++++++++++++++++++++++++++++- 1 file changed, 224 insertions(+), 1 deletion(-) diff --git a/src/pages/PedimentoDetail.jsx b/src/pages/PedimentoDetail.jsx index 4894b5d..e344580 100644 --- a/src/pages/PedimentoDetail.jsx +++ b/src/pages/PedimentoDetail.jsx @@ -1523,6 +1523,65 @@ export default function PedimentoDetail() { }; // Funciones para procesar peticiones + // Descargar todos los AcuseCoves + // Ejecutar la acción de procesar AcuseCove para todos los COVEs visibles + // Ejecutar la acción de procesar AcuseCove solo para los que no están descargados + const handleDownloadAllAcuseCoves = async () => { + if (!coves || coves.length === 0) { + showMessage('No hay AcuseCoves por descargar', 'info'); + return; + } + const pendientes = coves.filter(cove => !cove.acuse_cove_descargado); + if (pendientes.length === 0) { + showMessage('No hay AcuseCoves pendientes por descargar', 'info'); + return; + } + let successCount = 0; + let errorCount = 0; + for (const cove of pendientes) { + try { + await handleAcuseCoveProcess(cove); + successCount++; + } catch (error) { + errorCount++; + } + } + if (successCount > 0) { + showMessage(`${successCount} AcuseCove(s) procesados exitosamente`, 'success'); + } + if (errorCount > 0) { + showMessage(`${errorCount} AcuseCove(s) no se pudieron procesar`, 'error'); + } + }; + + // Ejecutar la acción de procesar COVE solo para los que no están descargados + const handleDownloadAllCoves = async () => { + if (!coves || coves.length === 0) { + showMessage('No hay COVEs por descargar', 'info'); + return; + } + const pendientes = coves.filter(cove => !cove.cove_descargado); + if (pendientes.length === 0) { + showMessage('No hay COVEs pendientes por descargar', 'info'); + return; + } + let successCount = 0; + let errorCount = 0; + for (const cove of pendientes) { + try { + await handleCoveProcess(cove); + successCount++; + } catch (error) { + errorCount++; + } + } + if (successCount > 0) { + showMessage(`${successCount} COVE(s) procesados exitosamente`, 'success'); + } + if (errorCount > 0) { + showMessage(`${errorCount} COVE(s) no se pudieron procesar`, 'error'); + } + }; const handleCoveRequest = async (cove) => { console.log('Request cove:', cove); showMessage(`Procesando petición para COVE #${cove.numero_cove}...`, 'info'); @@ -2761,7 +2820,37 @@ export default function PedimentoDetail() { ) : (
- {/* Tabla de partidas */} + {/* Botón Descargar partidas y tabla de partidas */} +
+ +
@@ -2956,6 +3045,24 @@ export default function PedimentoDetail() { + {/* Botones para descargar todos los AcuseCoves y COVEs */} + {coves.length > 0 && ( +
+ + +
+ )} + {/* Filtros */}
@@ -3229,6 +3336,64 @@ export default function PedimentoDetail() {
{/* Header de la sección */}
+
+ + +

@@ -3685,6 +3850,64 @@ export default function PedimentoDetail() { ) : (
{/* Tabla de Procesos */} +
+ + +

-- 2.49.1