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

// Verificar conexión
if (!$conn) {
    http_response_code(500);
    echo json_encode(['error' => 'Error de conexión a la base de datos']);
    exit;
}

// Consulta para Pendientes (NSSActivo=1 y RFCActivo=1)
// Los campos financieros DEBEN estar vacíos, nulos o con '00/00/0000'
$sqlPendientes = "
  SELECT 
    p.NOMBRES,
    p.`APELLIDO PATERNO`,
    p.`APELLIDO MATERNO`,
    p.CURP,
    p.RFC,
    p.NSS,
    p.PUESTO,
    p.Estatus,
    p.`DEPARTAMENTO INTERNO`,
    p.`FECHA DE INGRESO`,
    p.estatusContaBaja,
    p.fechaContaBaja,
    p.`Fecha Baja`,
    b.pagoDiasLaborados,
    b.diasLaborados,
    p.NSSActivo,
    p.RFCActivo,
    f.Folio_idse_baja,
    f.Fecha_baja_idse,
    f.Folio_pre_baja_idse,
    f.Fecha_pre_baja
  FROM Plantilla p
  LEFT JOIN Plantilla_datos_financieros f ON p.CURP = f.CURP
  LEFT JOIN Bajas b ON p.CURP = b.CURP
  WHERE p.Estatus = 'INACTIVO'
    AND p.estatusContaBaja = 'Pendiente'
    AND p.RFCActivo = 1 
    AND p.NSSActivo = 1
    AND (
      p.tipoComision IS NOT NULL 
      AND TRIM(p.tipoComision) <> ''
      AND p.tipoComision NOT IN ('SUBDISTRIBUIDOR', 'COMISIONISTA')
    )
    AND (
      f.Folio_idse_baja IS NULL OR 
      TRIM(f.Folio_idse_baja) = '' OR
      f.Fecha_baja_idse IS NULL OR 
      TRIM(f.Fecha_baja_idse) = '' OR 
      f.Fecha_baja_idse = '0000-00-00' OR
      f.Folio_pre_baja_idse IS NULL OR 
      TRIM(f.Folio_pre_baja_idse) = '' OR
      f.Fecha_pre_baja IS NULL OR 
      TRIM(f.Fecha_pre_baja) = '' OR 
      f.Fecha_pre_baja = '0000-00-00'
    )
  ORDER BY p.`Fecha Baja` DESC
";

// Consulta para Bajas Procesadas (modificada)
$sqlBajas = "
  SELECT 
    p.NOMBRES,
    p.`APELLIDO PATERNO`,
    p.`APELLIDO MATERNO`,
    p.CURP,
    p.RFC,
    p.NSS,
    p.PUESTO,
    p.Estatus,
    p.`DEPARTAMENTO INTERNO`,
    p.`FECHA DE INGRESO`,
    p.estatusContaBaja,
    p.fechaContaBaja,
    p.`Fecha Baja`,
    b.pagoDiasLaborados,
    b.diasLaborados,
    p.NSSActivo,
    p.RFCActivo,
    f.Folio_idse_baja,
    f.Fecha_baja_idse,
    f.Folio_pre_baja_idse,
    f.Fecha_pre_baja
  FROM Plantilla p
  LEFT JOIN Plantilla_datos_financieros f ON p.CURP = f.CURP
  LEFT JOIN Bajas b ON p.CURP = b.CURP
  WHERE p.Estatus = 'INACTIVO'
    AND p.RFCActivo = 0 
    AND p.NSSActivo = 0
    AND (
      p.tipoComision IS NOT NULL 
      AND TRIM(p.tipoComision) <> ''
      AND p.tipoComision NOT IN ('SUBDISTRIBUIDOR', 'COMISIONISTA')
    )
    AND f.Folio_idse_baja IS NOT NULL 
    AND TRIM(f.Folio_idse_baja) <> ''
    AND f.Fecha_baja_idse IS NOT NULL 
    AND TRIM(f.Fecha_baja_idse) <> '' 
    AND f.Fecha_baja_idse <> '0000-00-00'
    AND f.Folio_pre_baja_idse IS NOT NULL 
    AND TRIM(f.Folio_pre_baja_idse) <> ''
    AND f.Fecha_pre_baja IS NOT NULL 
    AND TRIM(f.Fecha_pre_baja) <> '' 
    AND f.Fecha_pre_baja <> '0000-00-00'
  ORDER BY f.Fecha_baja_idse DESC
";

$response = [
    'pendientes' => [],
    'bajas' => []
];

// Ejecutar consulta de pendientes
$resultPendientes = $conn->query($sqlPendientes);
if ($resultPendientes) {
    while ($row = $resultPendientes->fetch_assoc()) {
        $response['pendientes'][] = $row;
    }
} else {
    http_response_code(500);
    echo json_encode(['error' => 'Error en consulta de pendientes', 'detalle' => $conn->error]);
    exit;
}

// Ejecutar consulta de bajas procesadas
$resultBajas = $conn->query($sqlBajas);
if ($resultBajas) {
    while ($row = $resultBajas->fetch_assoc()) {
        $response['bajas'][] = $row;
    }
} else {
    http_response_code(500);
    echo json_encode(['error' => 'Error en consulta de bajas', 'detalle' => $conn->error]);
    exit;
}

echo json_encode($response);