This commit is contained in:
2025-07-09 16:14:22 -06:00
parent 91b6806898
commit 287ad27274
39 changed files with 2517 additions and 2000 deletions

View File

@@ -6,6 +6,7 @@ require_once __DIR__ . '/../helpers/crypto.php';
function index()
{
$conn = getConnection();
$id_usuario = $_SESSION['usuario_id'] ?? null;
if (!$id_usuario) {
@@ -35,7 +36,7 @@ function index()
// 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 = ?";
$sql_importador = "SELECT * FROM informacion_general WHERE id_usuario = ?";
$stmt_importador = sqlsrv_query($conn, $sql_importador, [$id_usuario]);
if ($stmt_importador !== false) {
@@ -48,15 +49,17 @@ function index()
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
";
$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) {
@@ -88,7 +91,8 @@ function index()
function editar()
{
$conn = getConnection();
$conn = getConnection();
$id_usuario = $_SESSION['usuario_id'] ?? null;
if (!$id_usuario) {
@@ -96,9 +100,9 @@ function editar()
}
// Traer los datos existentes del usuario
$sql = "SELECT * FROM informacion_general WHERE id_usuario = ?";
$sql = "SELECT * FROM informacion_general WHERE id_usuario = ?";
$params = [$id_usuario];
$stmt = sqlsrv_query($conn, $sql, $params);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
@@ -112,6 +116,7 @@ function editar()
function guardar()
{
$conn = getConnection();
$id_usuario = $_SESSION['usuario_id'] ?? null;
if (!$id_usuario) {
@@ -125,7 +130,7 @@ function guardar()
];
$sql_parts = [];
$params = [];
$params = [];
foreach ($campos as $campo) {
if (isset($_POST[$campo]) && $_POST[$campo] !== '') {
@@ -144,10 +149,10 @@ function guardar()
try {
// 1. Actualiza la tabla informacion_general
$sql = "UPDATE informacion_general SET " . implode(", ", $sql_parts) . " WHERE id_usuario = ?";
$sql = "UPDATE informacion_general SET " . implode(", ", $sql_parts) . " WHERE id_usuario = ?";
$params[] = $id_usuario;
$stmt = sqlsrv_query($conn, $sql, $params);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
throw new Exception(print_r(sqlsrv_errors(), true));
}
@@ -157,9 +162,9 @@ function guardar()
$telefono = $_POST['telefono'];
// Primero obtenemos el nombre de la empresa de informacion_general
$sql_get_name = "SELECT nombre FROM informacion_general WHERE id_usuario = ?";
$sql_get_name = "SELECT nombre FROM informacion_general WHERE id_usuario = ?";
$params_get_name = [$id_usuario];
$stmt_get_name = sqlsrv_query($conn, $sql_get_name, $params_get_name);
$stmt_get_name = sqlsrv_query($conn, $sql_get_name, $params_get_name);
if ($stmt_get_name === false) {
throw new Exception("Error al obtener nombre de empresa: " . print_r(sqlsrv_errors(), true));
@@ -174,10 +179,9 @@ function guardar()
$nombre_encriptado = encrypt($nombre_empresa);
// Actualizar solicitudes_importadores usando el company_name encriptado
$sql_solicitud = "UPDATE solicitudes_importadores SET phone = ? WHERE company_name = ?";
$sql_solicitud = "UPDATE solicitudes_importadores SET phone = ? WHERE company_name = ?";
$params_solicitud = [$telefono, $nombre_encriptado];
$stmt_solicitud = sqlsrv_query($conn, $sql_solicitud, $params_solicitud);
$stmt_solicitud = sqlsrv_query($conn, $sql_solicitud, $params_solicitud);
if ($stmt_solicitud === false) {
throw new Exception("Error al actualizar teléfono en solicitudes: " . print_r(sqlsrv_errors(), true));
@@ -190,16 +194,15 @@ function guardar()
error_log("No se encontró registro en solicitudes_importadores para actualizar teléfono. Empresa: " . $nombre_empresa);
// Opcional: Buscar por RFC como fallback
$sql_rfc = "SELECT rfc FROM informacion_general WHERE id_usuario = ?";
$sql_rfc = "SELECT rfc FROM informacion_general WHERE id_usuario = ?";
$stmt_rfc = sqlsrv_query($conn, $sql_rfc, [$id_usuario]);
if ($stmt_rfc) {
$rfc_data = sqlsrv_fetch_array($stmt_rfc, SQLSRV_FETCH_ASSOC);
if ($rfc_data && !empty($rfc_data['rfc'])) {
$sql_solicitud_rfc = "UPDATE solicitudes_importadores SET phone = ? WHERE rfc = ?";
$sql_solicitud_rfc = "UPDATE solicitudes_importadores SET phone = ? WHERE rfc = ?";
$params_solicitud_rfc = [$telefono, $rfc_data['rfc']];
$stmt_solicitud_rfc = sqlsrv_query($conn, $sql_solicitud_rfc, $params_solicitud_rfc);
$stmt_solicitud_rfc = sqlsrv_query($conn, $sql_solicitud_rfc, $params_solicitud_rfc);
if ($stmt_solicitud_rfc === false) {
error_log("Error al actualizar por RFC: " . print_r(sqlsrv_errors(), true));