Filtro solicitudes por Agencia Aduanal

This commit is contained in:
2025-06-30 12:01:39 -06:00
parent 55be3d85c9
commit b0291a6685
5 changed files with 193 additions and 35 deletions

View File

@@ -203,4 +203,56 @@ function desvincularUsuario()
header('Location: /IMPORTADORES/vinculaciones/vinculacionesUsuario?error=unlinked_failed&msg=' . urlencode($e->getMessage()));
exit;
}
}
/** Función para cambiar la agencia activa del usuario **/
function cambiarAgenciaActiva()
{
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
header('Location: /IMPORTADORES/login');
exit;
}
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
header("Location: /IMPORTADORES/vinculaciones/vinculacionesusuario?error=invalid_id");
exit;
}
$id_agencia = intval($_GET['id']);
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
// Validar que el importador está vinculado a esta agencia
$sqlVerificacion = "
SELECT 1
FROM importador_agencia
WHERE id_importador = ? AND id_agencia = ? AND activo = 1
";
$stmtVerificacion = sqlsrv_query($conn, $sqlVerificacion, [$id_usuario, $id_agencia]);
if ($stmtVerificacion === false || !sqlsrv_fetch($stmtVerificacion)) {
header("Location: /IMPORTADORES/vinculaciones/vinculacionesusuario?error=invalid_agency");
exit;
}
// Actualizar campo id_agencia_en_uso
$sqlUpdate = "
UPDATE usuarios_sistema
SET id_agencia_en_uso = ?
WHERE id_usuario = ?
";
$stmtUpdate = sqlsrv_query($conn, $sqlUpdate, [$id_agencia, $id_usuario]);
if ($stmtUpdate === false) {
header("Location: /IMPORTADORES/vinculaciones/vinculacionesusuario?error=agency_changed_failed");
exit;
}
// Opcional: actualizar también la sesión si lo usas en tu lógica
$_SESSION['id_agencia_en_uso'] = $id_agencia;
// Redirigir con éxito
header("Location: /IMPORTADORES/vinculaciones/vinculacionesusuario?success=agency_changed");
exit;
}