<?php
require_once "../../functions.php";
$pag = basename($_SERVER['PHP_SELF']);
if (comprobar_override(str_replace($_SERVER['DOCUMENT_ROOT'], '', __FILE__)))
    exit;
gen_plantilla(true, $pag, false, false, '', false, false);

// Solo empleados pueden solicitar notas
if (!isset($_SESSION['tipo_usuario']) || $_SESSION['tipo_usuario'] !== 'empleado') {
    crear_notificacion('error', 'No autorizado');
    exit;
}

$id_registro = filter_input(INPUT_POST, 'id_registro', FILTER_SANITIZE_NUMBER_INT);
$nota = filter_input(INPUT_POST, 'nota', FILTER_SANITIZE_SPECIAL_CHARS);

if (empty($id_registro) || empty($nota)) {
    crear_notificacion('error', 'Faltan parámetros');
    exit;
}

// Verificar que el registro pertenece al empleado
$registro = consulta('SELECT * FROM registros WHERE id=? AND id_empleado=?', [$id_registro, $_SESSION['id_empleado']], true);
if (empty($registro)) {
    crear_notificacion('error', 'Registro no encontrado o no pertenece a este empleado');
    exit;
}

// Verificar si ya existe una solicitud pendiente para este registro
$existente = consulta('SELECT * FROM solicitudes_notas WHERE id_registro=? AND estado=0', [$id_registro], true);
if (!empty($existente)) {
    crear_notificacion('advertencia', 'Ya existe una solicitud pendiente para este registro');
    exit;
}

// Crear la solicitud
$resultado = consulta(
    'INSERT INTO solicitudes_notas (id_empleado, id_registro, nota, fecha, estado) VALUES (?, ?, ?, CURDATE(), 0)',
    [$_SESSION['id_empleado'], $id_registro, $nota],
    false
);

if ($resultado) {
    crear_log(
        'info',
        'Solicitud de nota creada',
        'solicitar_nota.php',
        'Empleado ' . $_SESSION['id_empleado'] . ' solicitó nota para registro ' . $id_registro
    );
    crear_notificacion('correcto', 'Solicitud de nota enviada. El administrador la revisará.');
} else {
    crear_notificacion('error', 'Error al enviar la solicitud');
}
?>