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

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

$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id <= 0) {
  $response['message'] = 'ID inválido.';
  echo json_encode($response);
  exit;
}

// 🔎 1. Obtener datos base desde aspirantes
$stmt = $conn->prepare("SELECT * FROM aspirantes WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$res = $stmt->get_result();
$asp = $res->fetch_assoc();

if (!$asp) {
  $response['message'] = 'Aspirante no encontrado.';
  echo json_encode($response);
  exit;
}

$curp = strtoupper(trim($asp['curp']));

// 🧩 2. Datos desde Plantilla (con alias) — ya sin TELEFONO PERSONAL
$stmt = $conn->prepare("
  SELECT 
    `NOMBRES` AS nombre,
    `APELLIDO PATERNO` AS apellido_paterno,
    `APELLIDO MATERNO` AS apellido_materno,
    direccion,
    `SUELDO MENSUAL` AS sueldo_mensual,
    CORREO_PERSONAL AS correo_personal,
    CPdeRFC AS cp_rfc
  FROM Plantilla
  WHERE CURP = ?
");
$stmt->bind_param("s", $curp);
$stmt->execute();
$plantilla = $stmt->get_result()->fetch_assoc() ?: [];

// 📌 3. Datos personales — ahora incluye Tel_personal
$stmt = $conn->prepare("SELECT * FROM Plantilla_datos_personales WHERE CURP = ?");
$stmt->bind_param("s", $curp);
$stmt->execute();
$datosPers = $stmt->get_result()->fetch_assoc() ?: [];

// 💳 4. Datos financieros
$stmt = $conn->prepare("SELECT * FROM Plantilla_datos_financieros WHERE CURP = ?");
$stmt->bind_param("s", $curp);
$stmt->execute();
$datosFin = $stmt->get_result()->fetch_assoc() ?: [];

// 🤝 5. Datos de recomendado
$stmt = $conn->prepare("SELECT r.id_recomendador, CONCAT(IFNULL(p.NOMBRES, ''), ' ', IFNULL(p.`APELLIDO PATERNO`, ''), ' ', IFNULL(p.`APELLIDO MATERNO`, '')) AS recomendador_nombre FROM recomendados r LEFT JOIN Plantilla p ON p.CURP = r.id_recomendador WHERE r.id_aspirante = ? LIMIT 1");
$stmt->bind_param("i", $id);
$stmt->execute();
$datosRecomendado = $stmt->get_result()->fetch_assoc() ?: [];

// ✅ 6. Unificar datos para el formulario
$response['datos'] = [
  'curp' => $curp,
  'rfc' => $asp['rfc'],
  'nss' => $asp['nss'],
  'nombre' => $plantilla['nombre'] ?? $asp['nombre'],
  'apellido_paterno' => $plantilla['apellido_paterno'] ?? $asp['apellido_paterno'],
  'apellido_materno' => $plantilla['apellido_materno'] ?? $asp['apellido_materno'],
  'telefono' => $datosPers['Tel_personal'] ?? $asp['telefono'],
  'direccion' => $plantilla['direccion'] ?? '',
  'vacante_puesto' => $asp['vacante_puesto'],
  'vacante_codigo' => $asp['vacante_codigo'],
  'vacante_pdv' => $asp['vacante_pdv'],
  'modalidad' => $asp['modalidad'] ?? '',
  'sueldo_mensual' => $plantilla['sueldo_mensual'] ?? '',
  'correo_personal' => $plantilla['correo_personal'] ?? '',
  'cp_rfc' => $plantilla['cp_rfc'] ?? '',

  // 🧍 Datos personales
  'area' => $datosPers['Area'] ?? '',
  'estado_civil' => $datosPers['estado_civil'] ?? '',
  'numero_hijos' => $datosPers['Numero_Hijos'] ?? '',
  'tipo_sanguineo' => $datosPers['Grupo_sanguineo'] ?? '',
  'alergias' => $datosPers['Alergenos'] ?? '',
  'enfermedades' => $datosPers['Enfermedades_cronicas'] ?? '',
  'contacto_emergencia' => $datosPers['Nombre_contacto_emergen'] ?? '',
  'tel_emergencia' => $datosPers['Tel_contacto_emergen'] ?? '',
  'talla' => $datosPers['Talla'] ?? '',
  'fecha_nacimiento' => $datosPers['Fecha_nacimiento'] ?? '',
  'genero' => $datosPers['Genero'] ?? '',
  'estado_nacimiento' => $datosPers['Estado_nacimiento'] ?? '',
  'ciudad_nacimiento' => $datosPers['Ciudad_nacimiento'] ?? '',

  // 💳 Datos financieros
  'vales' => $datosFin['Vales'] ?? '',
  'banco' => $datosFin['Banco'] ?? 'Banorte',
  'tarjeta' => $datosFin['Tarjeta'] ?? '',
  'cuenta_clabe' => $datosFin['Cuenta_clave'] ?? '',
  'tiene_vales' => $datosFin['Tiene_vales'] ?? 'Sí',
  'numero_empleado_vales' => $datosFin['Numero_empleado_vales'] ?? '',

  // 🤝 Datos de recomendado
  'es_recomendado' => !empty($datosRecomendado['id_recomendador']) ? 'Sí' : 'No',
  'curp_recomendador' => $datosRecomendado['id_recomendador'] ?? '',
  'recomendador_nombre' => isset($datosRecomendado['recomendador_nombre']) ? preg_replace('/\s+/', ' ', trim($datosRecomendado['recomendador_nombre'])) : '',
];

$response['success'] = true;
echo json_encode($response);
