From 55be3d85c989a0a1505e11f58a19af58a7f9caf6 Mon Sep 17 00:00:00 2001 From: Alexeer Date: Fri, 27 Jun 2025 16:13:58 -0600 Subject: [PATCH] =?UTF-8?q?PDF=20-=20Solicitudes=20de=20Informaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/importadores.php | 38 ----------------------- app/controllers/solicitud_importacion.php | 34 ++++++++++---------- app/controllers/vinculaciones.php | 38 +++++++++++++++++++++++ 3 files changed, 54 insertions(+), 56 deletions(-) diff --git a/app/controllers/importadores.php b/app/controllers/importadores.php index 2a50795..1dfbb9e 100644 --- a/app/controllers/importadores.php +++ b/app/controllers/importadores.php @@ -48,44 +48,6 @@ function lista() include __DIR__ . '/../../views/locaciones/lista.php'; } - -function nuevaVinculacion() -{ - if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') { - header('Location: /IMPORTADORES/login'); - exit; - } - - $conn = getConnection(); - - $sql = " - SELECT - a.*, - s.estado AS estado_solicitud - FROM agencias_aduanales a - LEFT JOIN solicitudes_vinculacion s - ON s.id_agencia = a.id_agencia AND s.id_importador = ? - AND s.estado = 'PENDIENTE' - WHERE NOT EXISTS ( - SELECT 1 - FROM importador_agencia ia - WHERE ia.id_agencia = a.id_agencia - AND ia.id_importador = ? - AND ia.activo = 1 - ) - ORDER BY a.creado_en DESC - "; - $params = [$_SESSION['usuario_id'], $_SESSION['usuario_id']]; - $stmt = sqlsrv_query($conn, $sql, $params); - - $agencias = []; - while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { - $agencias[] = $row; - } - - include __DIR__ . '/../../views/vinculaciones/nueva.php'; -} - function vincular() { if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') { diff --git a/app/controllers/solicitud_importacion.php b/app/controllers/solicitud_importacion.php index afb73d3..fcf8d8f 100644 --- a/app/controllers/solicitud_importacion.php +++ b/app/controllers/solicitud_importacion.php @@ -1545,7 +1545,7 @@ function pdf() { // 5. Generar HTML del PDF - $html = generarHTMLPDF($solicitud, $partidas, $configuracion); + $html = generarHTMLPDF($solicitud, $partidas, $configuracion, $proveedor_info); // 6. Generar PDF usando DomPDF con Composer require_once __DIR__ . '/../../vendor/autoload.php'; // Ajusta ruta si es necesario @@ -1620,9 +1620,9 @@ function obtenerProveedorPorClave($clave) { return null; } -function generarHTMLPDF($solicitud, $partidas, $configuracion) { +function generarHTMLPDF($solicitud, $partidas, $configuracion, $proveedor_info = null) { // Formatear fecha - $fecha_expedicion = $solicitud['fecha_factura']->format('d/m/Y'); + $fecha_expedicion = $solicitud['fecha_factura']->format('d/m/Y'); $fecha_vencimiento = $solicitud['fecha_factura']->modify('+30 days')->format('d/m/Y'); // Construir dirección del importador @@ -1637,29 +1637,27 @@ function generarHTMLPDF($solicitud, $partidas, $configuracion) { ); // Construir información del proveedor - $proveedor_nombre = 'Proveedor no disponible'; - $proveedor_rfc = 'RFC no disponible'; + $proveedor_nombre = 'Proveedor no disponible'; + $proveedor_rfc = 'RFC no disponible'; $proveedor_direccion = 'Dirección no disponible'; - $proveedor_telefono = 'Teléfono no disponible'; + $proveedor_telefono = 'Teléfono no disponible'; // Construir información del proveedor if ($proveedor_info) { // Usar nombres de campos en mayúsculas según la estructura de la tabla - $proveedor_nombre = $proveedor_info['NOMBRE'] ?? $proveedor_info['Nombre'] ?? 'Nombre no disponible'; - $proveedor_rfc = $proveedor_info['RFC'] ?? $proveedor_info['IDENTFISCAL'] ?? 'RFC no disponible'; - $proveedor_telefono = trim($proveedor_info['TELEFONO'] ?? $proveedor_info['Telefono'] ?? 'Teléfono no disponible'); + $proveedor_nombre = $proveedor_info['Nombre'] ?? 'Nombre no disponible'; + $proveedor_rfc = $proveedor_info['IdentFiscal'] ??$proveedor_info['RFC'] ?? 'RFC no disponible'; + $proveedor_telefono = trim($proveedor_info['Telefono'] ?? 'Teléfono no disponible'); // Construir dirección del proveedor usando los campos correctos $direccion_partes = array_filter([ - $proveedor_info['CALLES'] ?? $proveedor_info['Calles'] ?? '', - ($proveedor_info['NUMEXT'] ?? $proveedor_info['NumExt'] ?? '') ? 'Num. Ext: ' . ($proveedor_info['NUMEXT'] ?? $proveedor_info['NumExt']) : '', - ($proveedor_info['NUMINT'] ?? $proveedor_info['NumInt'] ?? '') ? 'Num. Int: ' . ($proveedor_info['NUMINT'] ?? $proveedor_info['NumInt']) : '', - $proveedor_info['COLONIA'] ?? $proveedor_info['Colonia'] ?? '', - $proveedor_info['MUNICIPIO'] ?? $proveedor_info['Municipio'] ?? '', - $proveedor_info['CIUDAD'] ?? $proveedor_info['Ciudad'] ?? '', - ($proveedor_info['CODIGOPOSTAL'] ?? $proveedor_info['CodigoPostal'] ?? '') ? 'C.P. ' . ($proveedor_info['CODIGOPOSTAL'] ?? $proveedor_info['CodigoPostal']) : '', - $proveedor_info['ENTIDADFEDERATIVA'] ?? $proveedor_info['EntidadFederativa'] ?? '', - $proveedor_info['PAIS'] ?? $proveedor_info['Pais'] ?? '' + $proveedor_info['Calles'] ?? '', + $proveedor_info['Colonia'] ?? '', + $proveedor_info['Municipio'] ?? '', + $proveedor_info['Ciudad'] ?? '', + ($proveedor_info['CodigoPostal'] ?? '') ? 'C.P. ' . $proveedor_info['CodigoPostal'] : '', + $proveedor_info['EntidadFederativa'] ?? '', + $proveedor_info['Pais'] ?? '' ]); if (!empty($direccion_partes)) { diff --git a/app/controllers/vinculaciones.php b/app/controllers/vinculaciones.php index 4741179..874462a 100644 --- a/app/controllers/vinculaciones.php +++ b/app/controllers/vinculaciones.php @@ -37,6 +37,44 @@ function vinculacionesUsuario() include __DIR__ . '/../../views/vinculaciones/vinculaciones_importador.php'; } + +function nuevaVinculacion() +{ + if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') { + header('Location: /IMPORTADORES/login'); + exit; + } + + $conn = getConnection(); + + $sql = " + SELECT + a.*, + s.estado AS estado_solicitud + FROM agencias_aduanales a + LEFT JOIN solicitudes_vinculacion s + ON s.id_agencia = a.id_agencia AND s.id_importador = ? + AND s.estado = 'PENDIENTE' + WHERE NOT EXISTS ( + SELECT 1 + FROM importador_agencia ia + WHERE ia.id_agencia = a.id_agencia + AND ia.id_importador = ? + AND ia.activo = 1 + ) + ORDER BY a.creado_en DESC + "; + $params = [$_SESSION['usuario_id'], $_SESSION['usuario_id']]; + $stmt = sqlsrv_query($conn, $sql, $params); + + $agencias = []; + while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { + $agencias[] = $row; + } + + include __DIR__ . '/../../views/vinculaciones/nueva.php'; +} + function vinculacionesAgencia() { if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'admin_agencia') {