PDF - Solicitudes de Información

This commit is contained in:
2025-06-27 16:13:58 -06:00
parent 96ac2137d4
commit 55be3d85c9
3 changed files with 54 additions and 56 deletions

View File

@@ -48,44 +48,6 @@ function lista()
include __DIR__ . '/../../views/locaciones/lista.php'; 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() function vincular()
{ {
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') { if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {

View File

@@ -1545,7 +1545,7 @@ function pdf() {
// 5. Generar HTML del 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 // 6. Generar PDF usando DomPDF con Composer
require_once __DIR__ . '/../../vendor/autoload.php'; // Ajusta ruta si es necesario require_once __DIR__ . '/../../vendor/autoload.php'; // Ajusta ruta si es necesario
@@ -1620,9 +1620,9 @@ function obtenerProveedorPorClave($clave) {
return null; return null;
} }
function generarHTMLPDF($solicitud, $partidas, $configuracion) { function generarHTMLPDF($solicitud, $partidas, $configuracion, $proveedor_info = null) {
// Formatear fecha // 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'); $fecha_vencimiento = $solicitud['fecha_factura']->modify('+30 days')->format('d/m/Y');
// Construir dirección del importador // Construir dirección del importador
@@ -1637,29 +1637,27 @@ function generarHTMLPDF($solicitud, $partidas, $configuracion) {
); );
// Construir información del proveedor // Construir información del proveedor
$proveedor_nombre = 'Proveedor no disponible'; $proveedor_nombre = 'Proveedor no disponible';
$proveedor_rfc = 'RFC no disponible'; $proveedor_rfc = 'RFC no disponible';
$proveedor_direccion = 'Dirección 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 // Construir información del proveedor
if ($proveedor_info) { if ($proveedor_info) {
// Usar nombres de campos en mayúsculas según la estructura de la tabla // 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_nombre = $proveedor_info['Nombre'] ?? 'Nombre no disponible';
$proveedor_rfc = $proveedor_info['RFC'] ?? $proveedor_info['IDENTFISCAL'] ?? 'RFC no disponible'; $proveedor_rfc = $proveedor_info['IdentFiscal'] ??$proveedor_info['RFC'] ?? 'RFC no disponible';
$proveedor_telefono = trim($proveedor_info['TELEFONO'] ?? $proveedor_info['Telefono'] ?? 'Teléfono no disponible'); $proveedor_telefono = trim($proveedor_info['Telefono'] ?? 'Teléfono no disponible');
// Construir dirección del proveedor usando los campos correctos // Construir dirección del proveedor usando los campos correctos
$direccion_partes = array_filter([ $direccion_partes = array_filter([
$proveedor_info['CALLES'] ?? $proveedor_info['Calles'] ?? '', $proveedor_info['Calles'] ?? '',
($proveedor_info['NUMEXT'] ?? $proveedor_info['NumExt'] ?? '') ? 'Num. Ext: ' . ($proveedor_info['NUMEXT'] ?? $proveedor_info['NumExt']) : '', $proveedor_info['Colonia'] ?? '',
($proveedor_info['NUMINT'] ?? $proveedor_info['NumInt'] ?? '') ? 'Num. Int: ' . ($proveedor_info['NUMINT'] ?? $proveedor_info['NumInt']) : '', $proveedor_info['Municipio'] ?? '',
$proveedor_info['COLONIA'] ?? $proveedor_info['Colonia'] ?? '', $proveedor_info['Ciudad'] ?? '',
$proveedor_info['MUNICIPIO'] ?? $proveedor_info['Municipio'] ?? '', ($proveedor_info['CodigoPostal'] ?? '') ? 'C.P. ' . $proveedor_info['CodigoPostal'] : '',
$proveedor_info['CIUDAD'] ?? $proveedor_info['Ciudad'] ?? '', $proveedor_info['EntidadFederativa'] ?? '',
($proveedor_info['CODIGOPOSTAL'] ?? $proveedor_info['CodigoPostal'] ?? '') ? 'C.P. ' . ($proveedor_info['CODIGOPOSTAL'] ?? $proveedor_info['CodigoPostal']) : '', $proveedor_info['Pais'] ?? ''
$proveedor_info['ENTIDADFEDERATIVA'] ?? $proveedor_info['EntidadFederativa'] ?? '',
$proveedor_info['PAIS'] ?? $proveedor_info['Pais'] ?? ''
]); ]);
if (!empty($direccion_partes)) { if (!empty($direccion_partes)) {

View File

@@ -37,6 +37,44 @@ function vinculacionesUsuario()
include __DIR__ . '/../../views/vinculaciones/vinculaciones_importador.php'; 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() function vinculacionesAgencia()
{ {
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'admin_agencia') { if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'admin_agencia') {