<?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 admin
if ($_SESSION['tipo_usuario'] !== 'admin') {
    crear_notificacion('error', 'No tienes permisos para esta acción');
    exit;
}

// Convertir de decimal (5.75) a H.MM (5.45): la parte entera queda, los decimales ×60/100
if (!consulta(
    "UPDATE empleados SET horas_acu = SIGN(horas_acu) * (FLOOR(ABS(horas_acu)) + ROUND((ABS(horas_acu) - FLOOR(ABS(horas_acu))) * 60) / 100);",
    [],
    false
)) {
    crear_log('error', 'Error al reconvertir horas acumuladas', $pag, 'Fallo en la consulta de reconversión masiva');
    crear_notificacion('error', 'Error al reconvertir los valores');
    exit;
}

// Crear la configuración como activada para que el sistema use formato H.MM
if (get_config('minutos_sin_conversion') === false) {
    consulta('INSERT INTO `configuraciones`(`meta`, `valor`) VALUES (?, ?);', ['minutos_sin_conversion', '1'], false);
} else {
    set_config('minutos_sin_conversion', '1');
}

crear_log('info', 'Reconversión masiva de horas acumuladas', $pag, 'Se han reconvertido todos los valores de horas acumuladas de decimal a H.MM y se ha creado la configuración');
crear_notificacion('correcto', 'Valores reconvertidos correctamente');
