Patente y Locaciones desde admin_agencia
This commit is contained in:
@@ -18,31 +18,43 @@ function lista()
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
$id_agente = $_SESSION['usuario_id'];
|
||||
$conn = getConnection();
|
||||
|
||||
// ✅ NUEVO: Obtener la agencia actual del usuario
|
||||
$stmt = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_agente]);
|
||||
$conn = getConnection();
|
||||
$id_agencia = null;
|
||||
if ($stmt && $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$id_agencia = $row['id_agencia'];
|
||||
|
||||
if ($_SESSION['tipo_usuario'] === 'agente_aduanal') {
|
||||
$id_agente = $_SESSION['usuario_id'];
|
||||
$stmt = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_agente]);
|
||||
if ($stmt && $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$id_agencia = $row['id_agencia'];
|
||||
}
|
||||
} elseif ($_SESSION['tipo_usuario'] === 'admin_agencia') {
|
||||
$id_admin = $_SESSION['usuario_id'];
|
||||
$stmt = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_admin]);
|
||||
if ($stmt && $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$id_agencia = $row['id_agencia'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!$id_agencia) {
|
||||
die("❌ No se pudo determinar la agencia.");
|
||||
}
|
||||
|
||||
// Obtener todas las patentes registradas por usuarios de esa agencia
|
||||
$sql = "
|
||||
SELECT DISTINCT
|
||||
aa.*, aga.id_agencia
|
||||
FROM dbo.agentes_aduanales aa
|
||||
INNER JOIN dbo.usuarios_sistema u
|
||||
ON aa.id_usuario = u.id_usuario
|
||||
INNER JOIN dbo.agente_agencia aga -- Cambié el alias para mayor claridad
|
||||
INNER JOIN dbo.agente_agencia aga
|
||||
ON aga.id_agencia = aa.id_agencia
|
||||
WHERE u.id_usuario = ?
|
||||
AND aga.id_agencia = ?
|
||||
WHERE aga.id_agencia = ?
|
||||
AND aa.activo = 1
|
||||
ORDER BY aa.creado_en DESC
|
||||
";
|
||||
|
||||
$stmt = sqlsrv_query($conn, $sql, [$id_agente, $id_agencia]);
|
||||
$stmt = sqlsrv_query($conn, $sql, [$id_agencia]);
|
||||
if ($stmt === false) {
|
||||
die("Error en lista(): " . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
@@ -57,19 +69,26 @@ function lista()
|
||||
|
||||
function alta()
|
||||
{
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'agente_aduanal') {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
if (!isset($_SESSION['usuario_id']) || !in_array($_SESSION['tipo_usuario'], ['agente_aduanal', 'admin_agencia'])) {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
|
||||
$id_agente = $_SESSION['usuario_id'];
|
||||
$conn = getConnection();
|
||||
|
||||
// ✅ NUEVO: Obtener la agencia actual del usuario
|
||||
$stmt = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_agente]);
|
||||
$id_agencia = null;
|
||||
if ($stmt && $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$id_agencia = $row['id_agencia'];
|
||||
|
||||
if ($_SESSION['tipo_usuario'] === 'agente_aduanal') {
|
||||
$id_agente = $_SESSION['usuario_id'];
|
||||
$stmt = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_agente]);
|
||||
if ($stmt && $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$id_agencia = $row['id_agencia'];
|
||||
}
|
||||
} elseif ($_SESSION['tipo_usuario'] === 'admin_agencia') {
|
||||
$id_admin = $_SESSION['usuario_id'];
|
||||
$stmt = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_admin]);
|
||||
if ($stmt && $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$id_agencia = $row['id_agencia'];
|
||||
}
|
||||
}
|
||||
|
||||
include __DIR__ . '/../../views/patente/alta_patente.php';
|
||||
@@ -227,7 +246,8 @@ function editar()
|
||||
exit;
|
||||
}
|
||||
|
||||
$usr = $_SESSION['usuario_id'];
|
||||
$id_usuario = $_SESSION['usuario_id'];
|
||||
$tipo_usuario = $_SESSION['tipo_usuario'];
|
||||
$id = $_GET['id'] ?? null;
|
||||
|
||||
if (!$id || !is_numeric($id)) {
|
||||
@@ -236,17 +256,33 @@ function editar()
|
||||
|
||||
$conn = getConnection();
|
||||
|
||||
$sql = "
|
||||
SELECT aa.*
|
||||
FROM dbo.agentes_aduanales aa
|
||||
WHERE aa.id_agente = ?
|
||||
AND aa.id_usuario = ?
|
||||
";
|
||||
// Obtener id_agencia según tipo de usuario
|
||||
$id_agencia = null;
|
||||
|
||||
$stmt = sqlsrv_query($conn, $sql, [(int)$id, $_SESSION['usuario_id']]);
|
||||
if ($tipo_usuario === 'agente_aduanal') {
|
||||
// Obtener la agencia vinculada al agente
|
||||
$stmtAgencia = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_usuario]);
|
||||
$rowAgencia = sqlsrv_fetch_array($stmtAgencia, SQLSRV_FETCH_ASSOC);
|
||||
$id_agencia = $rowAgencia['id_agencia'] ?? null;
|
||||
} elseif ($tipo_usuario === 'admin_agencia') {
|
||||
// Obtener la agencia del admin
|
||||
$stmtAgencia = sqlsrv_query($conn, "SELECT id_agencia FROM dbo.agente_agencia WHERE id_agente = ?", [$id_usuario]);
|
||||
$rowAgencia = sqlsrv_fetch_array($stmtAgencia, SQLSRV_FETCH_ASSOC);
|
||||
$id_agencia = $rowAgencia['id_agencia'] ?? null;
|
||||
} else {
|
||||
die("❌ Tipo de usuario no autorizado.");
|
||||
}
|
||||
|
||||
if (!$id_agencia) {
|
||||
die("❌ No se pudo determinar la agencia del usuario.");
|
||||
}
|
||||
|
||||
// Consultar la patente que tenga ese id_agente y que pertenezca a la agencia del usuario
|
||||
$sql = "SELECT * FROM dbo.agentes_aduanales WHERE id_agente = ? AND id_agencia = ?";
|
||||
$stmt = sqlsrv_query($conn, $sql, [$id, $id_agencia]);
|
||||
|
||||
if ($stmt === false) {
|
||||
die("Error en editar(): " . print_r(sqlsrv_errors(), true));
|
||||
die("❌ Error en la consulta: " . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
$agente = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
|
||||
|
||||
Reference in New Issue
Block a user