<?php
declare(strict_types=1);

require_once __DIR__ . '/../auth/guard.php';
require_once __DIR__ . '/../conexion.php';
require_once __DIR__ . '/../_helpers.php';

$u = require_login();
require_module_access($u, "instrumentos");

$cod = trim((string)($_GET['cod'] ?? $_GET['codigo_familia'] ?? ''));
if ($cod === '') json_response(['ok'=>false,'message'=>'Código de familia requerido'], 400);

try {
  $st = $pdo->prepare("
    SELECT
      h.id, h.fecha, h.instrumento, h.puntaje, h.resultado,
      h.registrado_por,
      CONCAT_WS(' ', f.nombre, f.apellido_paterno) AS registrado_nombre,
      h.ref_id, h.creado_en
    FROM instrumentos_historial h
    LEFT JOIN funcionario f ON f.rut = h.registrado_por
    WHERE h.codigo_familia = :cod
    ORDER BY h.id DESC
    LIMIT 150
  ");
  $st->execute([':cod'=>$cod]);
  json_response(['ok'=>true,'data'=>$st->fetchAll(PDO::FETCH_ASSOC)]);
} catch (Throwable $e) {
  error_log("INSTR HIST ERROR: ".$e->getMessage());
  json_response(['ok'=>false,'message'=>'Error obteniendo historial.'], 500);
}
