<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Pega configurações do banco direto do CodeIgniter
$ci_config = __DIR__ . '/application/config/database.php';
if (!file_exists($ci_config)) {
    die('Config não encontrada em: ' . $ci_config);
}

// Lê as credenciais do arquivo de configuração do CI
$db = array();
include($ci_config);
$host   = $db['default']['hostname'];
$user   = $db['default']['username'];
$pass   = $db['default']['password'];
$dbname = $db['default']['database'];

echo "Conectando: $user@$host/$dbname<br>";

$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
    die('Erro conexão: ' . $conn->connect_error);
}
$conn->set_charset('utf8mb4');
echo "Conexão OK<br>";

// Pega API key
$res     = $conn->query("SELECT datajud_api_key FROM settings LIMIT 1");
$row     = $res->fetch_object();
$api_key = trim($row->datajud_api_key ?? '');
echo "API Key: " . substr($api_key,0,20) . "...<br><br>";

// Teste direto na API
$numero   = '00007440920185060022';
$endpoint = 'https://api-publica.datajud.cnj.jus.br/api_publica_trt6/_search';
$payload  = json_encode(['query'=>['term'=>['numeroProcesso.keyword'=>$numero]]]);

$ch = curl_init($endpoint);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 15,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json', 'Authorization: APIKey '.$api_key],
    CURLOPT_SSL_VERIFYPEER => false,
]);
$resp = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$err  = curl_error($ch);
curl_close($ch);

echo "HTTP: $code<br>";
if ($err) echo "CURL erro: $err<br>";

$data  = json_decode($resp, true);
$hits  = $data['hits']['total']['value'] ?? 0;
echo "Hits: $hits<br><br>";

if (!empty($data['hits']['hits'])) {
    $proc = $data['hits']['hits'][0]['_source'];
    echo "<b>dataAjuizamento:</b> " . ($proc['dataAjuizamento']??'N/A') . "<br>";
    echo "<b>grau:</b> " . ($proc['grau']??'N/A') . "<br>";
    echo "<b>classe:</b> " . ($proc['classe']['nome']??'N/A') . "<br>";
    echo "<b>orgaoJulgador:</b> " . ($proc['orgaoJulgador']['nome']??'N/A') . "<br>";
    echo "<b>partes:</b> " . (isset($proc['partes']) ? count($proc['partes']).' partes' : 'AUSENTE') . "<br>";
    echo "<b>valorCausa:</b> " . ($proc['valorCausa']??'AUSENTE') . "<br>";
    echo "<b>movimentos:</b> " . count($proc['movimentos']??[]) . "<br><br>";

    // Simula o retorno do _montar_retorno_datajud
    $raw = $proc['dataAjuizamento'] ?? '';
    if (preg_match('/^\d{14}$/', $raw)) {
        $data_inicio = substr($raw,0,4).'-'.substr($raw,4,2).'-'.substr($raw,6,2);
    } else {
        $data_inicio = $raw ? date('Y-m-d', strtotime($raw)) : '';
    }
    echo "<b>data_inicio calculada:</b> $data_inicio<br>";

    $grau_map = ['G1'=>'1º Grau','G2'=>'2º Grau','JE'=>'Juizado Especial'];
    echo "<b>grau_label:</b> " . ($grau_map[$proc['grau']??'']??'') . "<br>";
} else {
    echo "<b>Processo não encontrado.</b><br>";
    echo "<pre>" . htmlspecialchars(substr($resp,0,500)) . "</pre>";
}
