<?php
session_start();
if (!isset($_SESSION['rol']) || !in_array($_SESSION['rol'], ['admin', 'coordinador'])) {
  header('Location: ../../index.php');
  exit();
}

require_once(__DIR__ . '/../../backend/db/conexion.php');

$attuid = $_GET['attuid'] ?? '';
$attuid = trim($attuid);

if (empty($attuid)) {
  die('ATTUID no válido');
}
$inicio_mes = isset($_GET['inicio']) && $_GET['inicio'] !== '' ? $_GET['inicio'] : date('Y-m-01');
$fin_mes = isset($_GET['fin']) && $_GET['fin'] !== '' ? $_GET['fin'] : date('Y-m-t');



// Obtener nombre del reclutador
$stmt = $conn->prepare("SELECT nombre, apellido_paterno, apellido_materno FROM reclutadores WHERE attuid = ?");
$stmt->bind_param("s", $attuid);
$stmt->execute();
$res = $stmt->get_result();

if (!$res->num_rows) {
  die('Reclutador no encontrado');
}

$reclutador = $res->fetch_assoc();
$nombreReclutador = $reclutador['nombre'] . ' ' . $reclutador['apellido_paterno'] . ' ' . $reclutador['apellido_materno'];

// Subconsulta para obtener última fecha de seguimiento
$subconsultaFecha = "
  SELECT aspirante_id, MAX(fecha) AS ultima_fecha
  FROM seguimiento_estatus
  GROUP BY aspirante_id
";

$sql = "
  SELECT a.nombre, a.apellido_paterno, a.apellido_materno, a.puesto, a.estatus_actual,
         IFNULL(se.ultima_fecha, a.fecha_registro) AS fecha
  FROM aspirantes a
  LEFT JOIN ($subconsultaFecha) se ON se.aspirante_id = a.id
  WHERE a.attuid = ?
    AND (
      (se.ultima_fecha IS NOT NULL AND DATE(se.ultima_fecha) BETWEEN ? AND ?)
      OR
      (a.estatus_actual = 'asignado' AND DATE(a.fecha_registro) BETWEEN ? AND ?)
    )
    AND a.id NOT IN (
      SELECT aspirante_id FROM banco_registros WHERE estatus = 'pendiente'
    )
  ORDER BY fecha DESC
";

$stmt = $conn->prepare($sql);
$stmt->bind_param("sssss", $attuid, $inicio_mes, $fin_mes, $inicio_mes, $fin_mes);
$stmt->execute();
$aspirantes = $stmt->get_result();
?>

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Aspirantes de <?= htmlspecialchars($nombreReclutador) ?></title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
  <link href="../assets/css/recruiter.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="d-flex">
  <?php include '../includes/sidebar.php'; ?>
  <div class="main-content" id="mainContent">
    <?php include '../includes/topbar.php'; ?>

    <div class="container-fluid p-4">
      <h2 class="fw-bold mb-3">Aspirantes de <?= htmlspecialchars($nombreReclutador) ?></h2>
      <p class="text-muted">Periodo: <?= date('d/m/Y', strtotime($inicio_mes)) ?> a <?= date('d/m/Y', strtotime($fin_mes)) ?></p>


      <div class="mb-3">
        <a href="panel-admin.php" class="btn btn-outline-secondary"><i class="fas fa-arrow-left me-2"></i>Volver al Panel</a>
      </div>

      <form method="get" class="row g-3 mb-4">
  <input type="hidden" name="attuid" value="<?= htmlspecialchars($attuid) ?>">

  <div class="col-md-4">
    <label for="inicio" class="form-label">Fecha inicio</label>
    <input type="date" id="inicio" name="inicio" class="form-control" value="<?= htmlspecialchars($inicio_mes) ?>" required>
  </div>

  <div class="col-md-4">
    <label for="fin" class="form-label">Fecha fin</label>
    <input type="date" id="fin" name="fin" class="form-control" value="<?= htmlspecialchars($fin_mes) ?>" required>
  </div>

  <div class="col-md-4 d-flex align-items-end">
    <button type="submit" class="btn btn-primary w-100">Filtrar</button>
  </div>
</form>


      <!-- Tabla de Aspirantes -->
      <div class="card">
        <div class="card-body p-0">
          <div class="table-responsive">
            <table class="table table-hover mb-0">
              <thead class="table-light">
                <tr>
                  <th>Nombre</th>
                  <th>Puesto</th>
                  <th>Estatus</th>
                  <th>Fecha Registro</th>
                </tr>
              </thead>
              <tbody>
                <?php while ($a = $aspirantes->fetch_assoc()): ?>
                  <tr>
                    <td><?= htmlspecialchars($a['nombre'] . ' ' . $a['apellido_paterno'] . ' ' . $a['apellido_materno']) ?></td>
                    <td><?= htmlspecialchars($a['puesto']) ?></td>
                    <td>
                      <span class="badge bg-<?= $a['estatus_actual'] === 'rechazado' ? 'danger' : 'info' ?>">
                        <?= ucfirst($a['estatus_actual']) ?>
                      </span>
                    </td>
                    <td><?= date('d/m/Y', strtotime($a['fecha'])) ?></td>
                  </tr>
                <?php endwhile; ?>
                <?php if ($aspirantes->num_rows === 0): ?>
                  <tr><td colspan="4"
                    class="text-center text-muted py-3">Sin aspirantes registrados en el periodo seleccionado.
                  </td></tr>
                  <?php endif; ?>
              </tbody>
            </table>
          </div>
        </div>
      </div>
    </div> <!-- /container -->
  </div>
</div>

<script>
  document.querySelector('form').addEventListener('submit', function(e) {
    const inicio = document.getElementById('inicio').value;
    const fin = document.getElementById('fin').value;

    if (fin < inicio) {
      e.preventDefault();
      alert('La fecha fin no puede ser anterior a la fecha inicio.');
    }
  });
</script>
</body>
</html>
