<?php
require_once '../classes/OMIE.php';

function formatPriceMWhValue(?float $value, int $decimals = 2): string
{
    if ($value === null) {
        return 'Sin datos';
    }

    return number_format($value * 1000, $decimals, ',', '.') . ' €/MWh';
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' || $_SERVER['REQUEST_METHOD'] === 'GET') {
    $fecha_inicio = $_POST['fecha_inicio'] ?? $_GET['fecha_inicio'] ?? date('Y-m-01');
    $fecha_fin = $_POST['fecha_fin'] ?? $_GET['fecha_fin'] ?? date('Y-m-d');

    $omie = new OMIE();
    $resultados = $omie->getPrecioMedioSolarPorDia($fecha_inicio, $fecha_fin);

    echo '<table class="table table-striped table-hover table-bordered">';
    echo '<thead class="text-center py-3" style="background-color: #c2e59b !important; color: #5b6065 !important;">
            <tr>
                <th class="text-center py-3" style="min-width: 150px;">Fecha</th>
                <th class="text-center py-3" style="min-width: 220px;">Precio medio dia horas solar</th>
                <th class="text-center py-3" style="min-width: 220px;">Precio medio mensual horas solar</th>
                <th class="text-center py-3" style="min-width: 220px;">Precio medio anual horas solar</th>
            </tr>
          </thead>
          <tbody>';

    if (empty($resultados)) {
        echo '<tr><td colspan="4" class="text-center text-danger fw-bold">No se encontraron datos para la consulta seleccionada.</td></tr>';
    } else {
        foreach ($resultados as $resultado) {
            $fecha = $resultado['Fecha'] ?? date('Y-m-d');
            $anioActual = (int) date('Y', strtotime($fecha));
            $mesActual = (int) date('m', strtotime($fecha));
            $fechaFormateada = date('d/m/Y', strtotime($fecha));

            $precioDiario = isset($resultado['pre_medio_dia_solar']) ? (float) $resultado['pre_medio_dia_solar'] : null;
            $precioMensual = $omie->getPrecioMedioSolarMensualRaw($anioActual, $mesActual);
            $precioAnual = $omie->getPrecioMedioSolarAnualRaw($anioActual);

            $precioDiarioFormateado = formatPriceMWhValue($precioDiario, 2);
            $precioMensualFormateado = formatPriceMWhValue($precioMensual, 2);
            $precioAnualFormateado = formatPriceMWhValue($precioAnual, 2);

            echo "<tr>
                    <td class='text-center'>
                        <a href='#' class='detalle-dia-solar text-decoration-none fw-bold small' data-fecha='{$fecha}'>{$fechaFormateada}</a>
                    </td>
                    <td class='text-center'>{$precioDiarioFormateado}</td>
                    <td class='text-center'>{$precioMensualFormateado}</td>
                    <td class='text-center'>{$precioAnualFormateado}</td>
                  </tr>";
        }
    }

    echo '</tbody></table>';

    if (empty($resultados)) {
        echo '<div class="results-help-note">';
        echo '<strong>Que significa esto</strong>';
        echo '<span>No hay datos solares cargados para el rango seleccionado. Prueba con otra fecha o revisa si esa tabla aun no se ha actualizado.</span>';
        echo '</div>';
    }
}
?>
