Correcciones
This commit is contained in:
@@ -48,6 +48,108 @@ function lista()
|
||||
include __DIR__ . '/../../views/locaciones/lista.php';
|
||||
}
|
||||
|
||||
|
||||
function nuevaVinculacion()
|
||||
{
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
|
||||
$conn = getConnection();
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
a.*,
|
||||
s.estado AS estado_solicitud
|
||||
FROM agencias_aduanales a
|
||||
LEFT JOIN solicitudes_vinculacion s
|
||||
ON s.id_agencia = a.id_agencia AND s.id_importador = ?
|
||||
AND s.estado = 'PENDIENTE'
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM importador_agencia ia
|
||||
WHERE ia.id_agencia = a.id_agencia
|
||||
AND ia.id_importador = ?
|
||||
AND ia.activo = 1
|
||||
)
|
||||
ORDER BY a.creado_en DESC
|
||||
";
|
||||
$params = [$_SESSION['usuario_id'], $_SESSION['usuario_id']];
|
||||
$stmt = sqlsrv_query($conn, $sql, $params);
|
||||
|
||||
$agencias = [];
|
||||
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$agencias[] = $row;
|
||||
}
|
||||
|
||||
include __DIR__ . '/../../views/vinculaciones/nueva.php';
|
||||
}
|
||||
|
||||
function vincular()
|
||||
{
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
|
||||
$conn = getConnection();
|
||||
|
||||
$id_importador = $_SESSION['usuario_id'];
|
||||
$id_agencia = (int) $_GET['id'];
|
||||
|
||||
// Verificar si ya existe una solicitud pendiente
|
||||
$checkSql = "SELECT COUNT(*) AS total FROM solicitudes_vinculacion
|
||||
WHERE id_importador = ? AND id_agencia = ? AND estado = 'PENDIENTE'";
|
||||
$checkParams = [$id_importador, $id_agencia];
|
||||
$checkStmt = sqlsrv_query($conn, $checkSql, $checkParams);
|
||||
|
||||
if ($checkStmt && $row = sqlsrv_fetch_array($checkStmt, SQLSRV_FETCH_ASSOC)) {
|
||||
if ($row['total'] > 0) {
|
||||
header('Location: /IMPORTADORES/vinculaciones/nuevaVinculacion?error=pending_request');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
// Insertar la nueva solicitud
|
||||
$sql = "INSERT INTO solicitudes_vinculacion (id_importador, id_agencia, mensaje, estado, fecha_solicitud) VALUES (?, ?, 'Solicitud de vinculación', 'PENDIENTE', GETDATE())";
|
||||
$params = [$id_importador, $id_agencia];
|
||||
$stmt = sqlsrv_prepare($conn, $sql, $params);
|
||||
|
||||
if ($stmt && sqlsrv_execute($stmt)) {
|
||||
header('Location: /IMPORTADORES/vinculaciones/nuevaVinculacion?success=sended_request');
|
||||
exit;
|
||||
} else {
|
||||
header('Location: /IMPORTADORES/vinculaciones/nuevaVinculacion?error=failed_request');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
function cancelarVinculacion()
|
||||
{
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
|
||||
$conn = getConnection();
|
||||
|
||||
$id_importador = $_SESSION['usuario_id'];
|
||||
$id_agencia = (int) $_GET['id'];
|
||||
|
||||
$sql = "UPDATE solicitudes_vinculacion
|
||||
SET estado = 'CANCELADA', fecha_respuesta = GETDATE()
|
||||
WHERE id_importador = ? AND id_agencia = ? AND estado = 'PENDIENTE'";
|
||||
|
||||
$params = [$id_importador, $id_agencia];
|
||||
$stmt = sqlsrv_prepare($conn, $sql, $params);
|
||||
|
||||
if ($stmt && sqlsrv_execute($stmt)) {
|
||||
header('Location: /IMPORTADORES/vinculaciones/nuevaVinculacion?success=cancelled');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
function desvincularUsuario()
|
||||
{
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
|
||||
|
||||
Reference in New Issue
Block a user