<?php
declare(strict_types=1);

require_once __DIR__ . '/../../app/services/biometricos/BiometricoFacade.php';

$relojId = (int)($_GET['reloj_id'] ?? $_POST['reloj_id'] ?? 0);

$facade = new BiometricoFacade();
$mensaje = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $data = $facade->guardarMapeos(
        $relojId,
        $_POST['device_user_id'] ?? [],
        $_POST['estudiante_id'] ?? [],
        $_POST['activo'] ?? []
    );

    if (!empty($data['guardado']['ok'])) {
        $mensaje = 'Mapeos guardados correctamente. Total guardados: ' . (int)$data['guardado']['guardados'];
    } else {
        $mensaje = 'Error al guardar mapeos: ' . ($data['guardado']['error'] ?? 'desconocido');
    }
} else {
    $data = $facade->obtenerDatosMapeo($relojId);
}

if (empty($data['ok'])) {
    die($data['error'] ?? 'Error al cargar mapeo');
}

$reloj = $data['reloj'];
$nomina = $data['nomina'];
$estudiantes = $data['estudiantes'];
$mapeos = $data['mapeos'];

require __DIR__ . '/../../app/views/biometricos/mapear.php';