<?php
session_start();
require_once __DIR__ . '/../db/conexion.php';
require_once __DIR__ . '/../utils/normalizar_texto.php';

echo "\xEF\xBB\xBF"; // BOM para evitar caracteres extraños

header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=eventos_personal_" . date("Ymd_His") . ".xls");
header("Pragma: no-cache");
header("Expires: 0");

$mes = $_GET['mes'] ?? '';
$tipo = $_GET['tipo'] ?? ''; // 'aniversario' o 'cumple'

if (empty($mes) || !in_array($tipo, ['aniversario', 'cumple'])) {
    echo "Parámetros inválidos.";
    exit;
}

if ($tipo === 'aniversario') {
    $sql = "SELECT NOMBRES, `APELLIDO PATERNO`, `APELLIDO MATERNO`, `FECHA DE INGRESO`, 
                   `DEPARTAMENTO INTERNO`, `PUESTO`,
                   TIMESTAMPDIFF(YEAR, `FECHA DE INGRESO`, CURDATE()) AS anios
            FROM Plantilla
            WHERE Estatus = 'ACTIVO' AND MONTH(`FECHA DE INGRESO`) = ?
              AND TIMESTAMPDIFF(YEAR, `FECHA DE INGRESO`, CURDATE()) >= 1
            ORDER BY DAY(`FECHA DE INGRESO`)";
} else {
    $sql = "SELECT NOMBRES, `APELLIDO PATERNO`, `APELLIDO MATERNO`, `FECHA NACIMIENTO`, 
                   `DEPARTAMENTO INTERNO`, `PUESTO`,
                   TIMESTAMPDIFF(YEAR, `FECHA NACIMIENTO`, CURDATE()) AS anios
            FROM Plantilla
            WHERE Estatus = 'ACTIVO' AND MONTH(`FECHA NACIMIENTO`) = ?
            ORDER BY DAY(`FECHA NACIMIENTO`)";
}

$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $mes);
$stmt->execute();
$result = $stmt->get_result();

// Tabla con estilos centrados
echo "<table border='1' style='border-collapse:collapse; text-align:center; vertical-align:middle;'>";

echo "<tr style='font-weight:bold; background-color:#f2f2f2;'>
        <th style='text-align:center;'>Nombres</th>
        <th style='text-align:center;'>Apellido Paterno</th>
        <th style='text-align:center;'>Apellido Materno</th>
        <th style='text-align:center;'>" . ($tipo === 'aniversario' ? "Fecha de Ingreso" : "Fecha de Nacimiento") . "</th>
        <th style='text-align:center;'>Años que cumple</th>
        <th style='text-align:center;'>Departamento Interno</th>
        <th style='text-align:center;'>Puesto</th>
      </tr>";

while ($row = $result->fetch_assoc()) {
    $nombre      = limpiarTexto($row['NOMBRES']);
    $apellidoP   = limpiarTexto($row['APELLIDO PATERNO']);
    $apellidoM   = limpiarTexto($row['APELLIDO MATERNO']);
    $fechaEvento = $tipo === 'aniversario' ? $row['FECHA DE INGRESO'] : $row['FECHA NACIMIENTO'];
    $anios       = intval($row['anios']);
    $depart      = limpiarTexto($row['DEPARTAMENTO INTERNO']);
    $puesto      = limpiarTexto($row['PUESTO']);

    echo "<tr>
            <td style='text-align:center; vertical-align:middle;'>{$nombre}</td>
            <td style='text-align:center; vertical-align:middle;'>{$apellidoP}</td>
            <td style='text-align:center; vertical-align:middle;'>{$apellidoM}</td>
            <td style='text-align:center; vertical-align:middle;'>{$fechaEvento}</td>
            <td style='text-align:center; vertical-align:middle;'>{$anios}</td>
            <td style='text-align:center; vertical-align:middle;'>{$depart}</td>
            <td style='text-align:center; vertical-align:middle;'>{$puesto}</td>
          </tr>";
}

echo "</table>";
?>
