<?php
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

error_reporting(0);
ini_set('display_errors', 0);
header('Content-Type: application/json');
require_once(__DIR__ . '/../db/conexion.php');

$inicio = $_GET['inicio'] ?? null;
$fin = $_GET['fin'] ?? null;
$attuid = $_SESSION['attuid'];
$IncluirAnteriores = isset($_GET['incAnt']) ? (bool)$_GET['incAnt'] : false;

// Construir condición de fecha
$condFecha = '';
$condContAcum = '';
$params = [];
$tipos = '';

if ($inicio && $fin) {

  if(!$IncluirAnteriores){
    $condFecha = "AND DATE(se.fecha_contrato) BETWEEN ? AND ?";
    $condContAcum = "AND DATE(a.fecha_registro) >= ?";
    $params = [ $attuid, $inicio, $fin, $inicio];
    $tipos = 'ssss';
  }else {
    $condFecha = "AND DATE(se.fecha_contrato) BETWEEN ? AND ?";
    $params = [ $attuid, $inicio, $fin];
    $tipos = 'sss';
  }
}else {
  $params = [ $attuid ];
  $tipos = 's';
}

$sql = "
  SELECT a.id, a.nombre, a.apellido_paterno, a.apellido_materno, DATE(se.fecha_contrato) AS fecha
  FROM aspirantes a
  INNER JOIN (
      SELECT aspirante_id, MIN(fecha) AS fecha_contrato, estatus
      FROM seguimiento_estatus
      WHERE estatus IN ('contratado', 'en_pre_alta', 'en_plantilla', 'proceso_concluido')
      GROUP BY aspirante_id
  ) AS se ON se.aspirante_id = a.id
  WHERE a.attuid = ?
  $condFecha
  $condContAcum
  ORDER BY se.fecha_contrato DESC
";

$stmt = $conn->prepare($sql);
if (!empty($params)) {
  $stmt->bind_param($tipos, ...$params);
}
$stmt->execute();
$result = $stmt->get_result();

$data = [];
while ($row = $result->fetch_assoc()) {
  $nombre = strtoupper($row['nombre'] . ' ' . $row['apellido_paterno'] . ' ' . $row['apellido_materno']);
  $data[] = [
    'id' => $row['id'],
    'nombre' => $nombre,
    'fecha' => date('d/m/Y', strtotime($row['fecha']))
  ];
}

echo json_encode(['success' => true, 'data' => $data]);



?>
