<?php
session_start();
require_once(__DIR__ . '/../db/conexion.php');
header('Content-Type: application/json');

$response = [
  'success' => false,
  'data' => []
];

try {
  if (!isset($_SESSION['rol']) || !in_array($_SESSION['rol'], ['admin', 'adminTi', 'coordinador'])) {
    throw new Exception("Acceso denegado");
  }

  $fecha_inicio = $_GET['inicio'] ?? null;
  $fecha_fin = $_GET['fin'] ?? null;

  $params = [];
  $tipos = '';
  $condFecha = '';
  if ($fecha_inicio && $fecha_fin) {
    $condFecha = 'AND a.fecha_registro BETWEEN ? AND ?';
    $params = [$fecha_inicio, $fecha_fin];
    $tipos = 'ss';
  }

  $sql = "
    SELECT pcv.nombre, COUNT(a.id) as total
    FROM Procedencia_CV pcv
    LEFT JOIN aspirantes a ON a.procedencia_cv = pcv.id $condFecha
    GROUP BY pcv.id, pcv.nombre
    ORDER BY pcv.nombre ASC
  ";

  $stmt = $conn->prepare($sql);
  if (!empty($params)) {
    $stmt->bind_param($tipos, ...$params);
  }
  $stmt->execute();
  $result = $stmt->get_result();
  while ($row = $result->fetch_assoc()) {
    $response['data'][] = [
      'nombre' => $row['nombre'],
      'total' => (int)$row['total']
    ];
  }
  $response['success'] = true;
} catch (Exception $e) {
  $response['message'] = 'Error: ' . $e->getMessage();
  error_log('[get_catalogo_procedencia_cv.php] ' . $e->getMessage());
}

echo json_encode($response);
