Sintaxis
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
require_once __DIR__ . '/../helpers/session.php';
|
||||
require_once __DIR__ . '/../../config/database.php';
|
||||
require_once __DIR__ . '/../helpers/crypto.php';
|
||||
@@ -65,21 +64,21 @@ function vinculados()
|
||||
$stmtCountActive = sqlsrv_query($conn, $sqlCountActive, [$id_agencia]);
|
||||
$rowCountActive = sqlsrv_fetch_array($stmtCountActive, SQLSRV_FETCH_ASSOC);
|
||||
|
||||
// Consulta corregida: solo usuarios vinculados ACTIVOS a MI agencia
|
||||
$sql = "
|
||||
SELECT
|
||||
ia.*,
|
||||
u.nombre as importador_nombre,
|
||||
ig.rfc,
|
||||
ig.telefono,
|
||||
aa.nombre_agencia
|
||||
FROM importador_agencia ia
|
||||
INNER JOIN usuarios_sistema u ON ia.id_importador = u.id_usuario
|
||||
LEFT JOIN informacion_general ig ON u.id_usuario = ig.id_usuario
|
||||
LEFT JOIN agencias_aduanales aa ON ia.id_agencia = aa.id_agencia
|
||||
WHERE ia.id_agencia = ? AND ia.activo = 1 AND ia.estado = 'APROBADO'
|
||||
ORDER BY ia.fecha_vinculacion DESC
|
||||
";
|
||||
// Solo usuarios vinculados ACTIVOS a MI agencia
|
||||
$sql = "SELECT
|
||||
ia.*, u.nombre as importador_nombre, ig.rfc, ig.telefono, aa.nombre_agencia
|
||||
FROM importador_agencia ia
|
||||
INNER JOIN usuarios_sistema u
|
||||
ON ia.id_importador = u.id_usuario
|
||||
LEFT JOIN informacion_general ig
|
||||
ON u.id_usuario = ig.id_usuario
|
||||
LEFT JOIN agencias_aduanales aa
|
||||
ON ia.id_agencia = aa.id_agencia
|
||||
WHERE ia.id_agencia = ?
|
||||
AND ia.activo = 1
|
||||
AND ia.estado = 'APROBADO'
|
||||
ORDER BY ia.fecha_vinculacion DESC
|
||||
";
|
||||
$stmt = sqlsrv_query($conn, $sql, [$id_agencia]);
|
||||
|
||||
// DEBUG: Verificar query principal
|
||||
@@ -118,31 +117,31 @@ function desvincularAgente()
|
||||
sqlsrv_begin_transaction($conn);
|
||||
|
||||
// 1. Primero obtener la agencia del agente aduanal
|
||||
$sqlAgenciaAgente = "
|
||||
SELECT id_agencia
|
||||
FROM agente_agencia
|
||||
WHERE id_agente = ? AND activo = 1
|
||||
";
|
||||
$sqlAgenciaAgente = "SELECT id_agencia
|
||||
FROM agente_agencia
|
||||
WHERE id_agente = ?
|
||||
AND activo = 1
|
||||
";
|
||||
$stmtAgenciaAgente = sqlsrv_query($conn, $sqlAgenciaAgente, [$_SESSION['usuario_id']]);
|
||||
$agenciaAgente = sqlsrv_fetch_array($stmtAgenciaAgente, SQLSRV_FETCH_ASSOC);
|
||||
|
||||
if ($stmtAgenciaAgente === false) {
|
||||
throw new Exception('Error en la consulta de agencia-agente: ' . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
$agenciaAgente = sqlsrv_fetch_array($stmtAgenciaAgente, SQLSRV_FETCH_ASSOC);
|
||||
|
||||
|
||||
$id_agencia_agente = $agenciaAgente['id_agencia'];
|
||||
|
||||
// 2. Verificar que la relación existe y pertenece a la MISMA agencia del agente
|
||||
$sqlVerificar = "
|
||||
SELECT
|
||||
ia.*,
|
||||
u.id_usuario, u.nombre as importador_nombre, aa.nombre_agencia
|
||||
FROM importador_agencia ia
|
||||
INNER JOIN usuarios_sistema u ON ia.id_importador = u.id_usuario
|
||||
INNER JOIN agencias_aduanales aa ON ia.id_agencia = aa.id_agencia
|
||||
WHERE ia.id_relacion = ? AND ia.id_agencia = ?
|
||||
";
|
||||
$sqlVerificar = "SELECT
|
||||
ia.*, u.id_usuario, u.nombre as importador_nombre, aa.nombre_agencia
|
||||
FROM importador_agencia ia
|
||||
INNER JOIN usuarios_sistema u
|
||||
ON ia.id_importador = u.id_usuario
|
||||
INNER JOIN agencias_aduanales aa
|
||||
ON ia.id_agencia = aa.id_agencia
|
||||
WHERE ia.id_relacion = ?
|
||||
AND ia.id_agencia = ?
|
||||
";
|
||||
$stmtVerificar = sqlsrv_query($conn, $sqlVerificar, [$id_relacion, $id_agencia_agente]);
|
||||
|
||||
if ($stmtVerificar === false) {
|
||||
@@ -150,15 +149,13 @@ function desvincularAgente()
|
||||
}
|
||||
|
||||
$relacion = sqlsrv_fetch_array($stmtVerificar, SQLSRV_FETCH_ASSOC);
|
||||
|
||||
|
||||
// 4. Desactivar la relación (no eliminar, mantener historial)
|
||||
$sqlDesactivar = "
|
||||
UPDATE importador_agencia
|
||||
SET activo = 0,
|
||||
estado = 'DESVINCULADO'
|
||||
WHERE id_relacion = ?
|
||||
";
|
||||
$sqlDesactivar = "UPDATE importador_agencia
|
||||
SET activo = 0,
|
||||
estado = 'DESVINCULADO'
|
||||
WHERE id_relacion = ?
|
||||
";
|
||||
$stmtDesactivar = sqlsrv_query($conn, $sqlDesactivar, [$id_relacion]);
|
||||
|
||||
if ($stmtDesactivar === false) {
|
||||
@@ -166,12 +163,12 @@ function desvincularAgente()
|
||||
}
|
||||
|
||||
// NUEVO: Verificar si el importador desvinculado tenía esta agencia como activa
|
||||
$sqlVerificarAgenciaActiva = "
|
||||
SELECT id_agencia_en_uso
|
||||
FROM usuarios_sistema
|
||||
WHERE id_usuario = ? AND id_agencia_en_uso = ?
|
||||
";
|
||||
$stmtVerificarActiva = sqlsrv_query($conn, $sqlVerificarAgenciaActiva,
|
||||
$sqlVerificarAgenciaActiva = "SELECT id_agencia_en_uso
|
||||
FROM usuarios_sistema
|
||||
WHERE id_usuario = ?
|
||||
AND id_agencia_en_uso = ?
|
||||
";
|
||||
$stmtVerificarActiva = sqlsrv_query($conn, $sqlVerificarAgenciaActiva,
|
||||
[$relacion['id_importador'], $relacion['id_agencia']]);
|
||||
|
||||
if ($stmtVerificarActiva === false) {
|
||||
@@ -180,12 +177,11 @@ function desvincularAgente()
|
||||
|
||||
if ($stmtVerificarActiva && sqlsrv_fetch_array($stmtVerificarActiva, SQLSRV_FETCH_ASSOC)) {
|
||||
// Si tenía esta agencia como activa, quitársela
|
||||
$sqlQuitarAgenciaActiva = "
|
||||
UPDATE usuarios_sistema
|
||||
SET id_agencia_en_uso = NULL
|
||||
WHERE id_usuario = ?
|
||||
";
|
||||
$stmtQuitarActiva = sqlsrv_query($conn, $sqlQuitarAgenciaActiva, [$relacion['id_importador']]);
|
||||
$sqlQuitarAgenciaActiva = "UPDATE usuarios_sistema
|
||||
SET id_agencia_en_uso = NULL
|
||||
WHERE id_usuario = ?
|
||||
";
|
||||
$stmtQuitarActiva = sqlsrv_query($conn, $sqlQuitarAgenciaActiva, [$relacion['id_importador']]);
|
||||
|
||||
if ($stmtQuitarActiva === false) {
|
||||
throw new Exception('Error al actualizar la agencia activa del importador: ' . print_r(sqlsrv_errors(), true));
|
||||
|
||||
Reference in New Issue
Block a user