Correcciones

This commit is contained in:
2025-06-27 07:30:16 -06:00
parent 4416fe6f20
commit 3da996350c
11 changed files with 574 additions and 384 deletions

View File

@@ -6,23 +6,82 @@ require_once __DIR__ . '/../helpers/crypto.php';
function index()
{
$conn = getConnection();
$id_usuario = $_SESSION['usuario_id'] ?? null;
if (!$id_usuario) {
die("ID de usuario no disponible en la sesión.");
}
$sql = "SELECT * FROM informacion_general WHERE id_usuario = ?";
$params = [$id_usuario];
// Primero obtenemos la información básica del usuario
$sql_usuario = "SELECT tipo_usuario, nombre, email FROM usuarios_sistema WHERE id_usuario = ?";
$stmt_usuario = sqlsrv_query($conn, $sql_usuario, [$id_usuario]);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
if ($stmt_usuario === false) {
die(print_r(sqlsrv_errors(), true));
}
$usuario = sqlsrv_fetch_array($stmt_usuario, SQLSRV_FETCH_ASSOC);
if (!$usuario) {
die("Usuario no encontrado.");
}
$datos = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
$datos = [
'tipo_usuario' => trim($usuario['tipo_usuario']),
'nombre' => $usuario['nombre'],
'correo' => $usuario['email']
];
// Dependiendo del tipo de usuario, obtenemos información adicional
switch (trim($usuario['tipo_usuario'])) { // Agregué trim() por si hay espacios
case 'importador':
$sql_importador = "SELECT * FROM informacion_general WHERE id_usuario = ?";
$stmt_importador = sqlsrv_query($conn, $sql_importador, [$id_usuario]);
if ($stmt_importador !== false) {
$info_importador = sqlsrv_fetch_array($stmt_importador, SQLSRV_FETCH_ASSOC);
if ($info_importador) {
$datos = array_merge($datos, $info_importador);
}
}
break;
case 'admin_agencia':
case 'agente_aduanal':
$sql_agencia = "
SELECT aa.id_agencia, aa.nombre_agencia, aa.rfc_agencia,
aa.direccion AS direccion_agencia, aa.telefono AS telefono_agencia,
aa.email AS email_agencia, aga.fecha_asignacion
FROM agente_agencia aga
INNER JOIN agencias_aduanales aa ON aga.id_agencia = aa.id_agencia
WHERE aga.id_agente = ? AND aga.activo = 1 AND aa.activo = 1
";
$stmt_agencia = sqlsrv_query($conn, $sql_agencia, [$id_usuario]);
if ($stmt_agencia !== false) {
$info_agencia = sqlsrv_fetch_array($stmt_agencia, SQLSRV_FETCH_ASSOC);
if ($info_agencia) {
$datos = array_merge($datos, $info_agencia);
}
}
break;
case 'super_admin':
// Para super_admin, solo necesitamos la información básica que ya tenemos
$datos['es_super_admin'] = true; // Flag para identificar en la vista
break;
default:
break;
}
// Comentar la siguiente línea para ver el debug
// exit;
if (!isset($datos) || !is_array($datos)) {
$datos = [];
}
include __DIR__ . '/../../views/configuracion/dashboard_configuracion.php';
}