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

echo "<h1>🧪 TESTE API v3 - TIPOS DE VEÍCULO</h1>";

// Configurações do banco
$servername = "localhost";
$username = "pinheir3_admin"; 
$password = "080880Gelboy";
$dbname = "pinheir3_controle_frotasV1.1";

try {
    // Conectar ao banco
    $pdo = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "<p>✅ <strong>Conexão com banco OK</strong></p>";
    
    // 1. Verificar estrutura atualizada
    echo "<h2>📊 VERIFICANDO ESTRUTURA DO BANCO</h2>";
    
    // Verificar coluna tipo_veiculo
    $stmt = $pdo->query("DESCRIBE checklist_veiculo");
    $columns = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    $hasTypeColumn = false;
    foreach ($columns as $column) {
        if ($column['Field'] === 'tipo_veiculo') {
            $hasTypeColumn = true;
            echo "<p>✅ Coluna 'tipo_veiculo' encontrada: {$column['Type']}</p>";
            break;
        }
    }
    
    if (!$hasTypeColumn) {
        echo "<p>❌ <strong>ERRO: Coluna 'tipo_veiculo' não encontrada! Execute o SQL primeiro.</strong></p>";
        exit;
    }
    
    // Verificar tabela de fotos
    $stmt = $pdo->query("SHOW TABLES LIKE 'checklist_fotos'");
    if ($stmt->rowCount() > 0) {
        echo "<p>✅ Tabela 'checklist_fotos' encontrada</p>";
    } else {
        echo "<p>❌ <strong>ERRO: Tabela 'checklist_fotos' não encontrada! Execute o SQL primeiro.</strong></p>";
        exit;
    }
    
    // 2. Testar GET - Listar checklists por tipo
    echo "<h2>📋 TESTE GET - LISTAR POR TIPO</h2>";
    
    $url_base = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-checklist-v3.php";
    
    // Teste GET CARRO
    $url_carro = $url_base . "?acao=checklist_veiculo&tipo=CARRO";
    echo "<p><strong>GET CARRO:</strong> <code>$url_carro</code></p>";
    
    $context = stream_context_create([
        'http' => [
            'method' => 'GET',
            'timeout' => 10
        ]
    ]);
    
    $response_carro = @file_get_contents($url_carro, false, $context);
    if ($response_carro) {
        $data_carro = json_decode($response_carro, true);
        echo "<p>✅ Resposta CARRO: " . json_encode($data_carro, JSON_PRETTY_PRINT) . "</p>";
    } else {
        echo "<p>❌ Erro ao conectar com API para CARRO</p>";
    }
    
    // Teste GET MOTO
    $url_moto = $url_base . "?acao=checklist_veiculo&tipo=MOTO";
    echo "<p><strong>GET MOTO:</strong> <code>$url_moto</code></p>";
    
    $response_moto = @file_get_contents($url_moto, false, $context);
    if ($response_moto) {
        $data_moto = json_decode($response_moto, true);
        echo "<p>✅ Resposta MOTO: " . json_encode($data_moto, JSON_PRETTY_PRINT) . "</p>";
    } else {
        echo "<p>❌ Erro ao conectar com API para MOTO</p>";
    }
    
    // 3. Testar POST - Inserir checklist de MOTO
    echo "<h2>🏍️ TESTE POST - INSERIR CHECKLIST MOTO</h2>";
    
    $dados_moto = [
        'viagem_id' => 999999,
        'veiculo_id' => 99999,
        'tipo_veiculo' => 'MOTO',
        'data_hora' => date('Y-m-d H:i:s'),
        'itens_json' => json_encode([
            'doc_cartao_acesso' => 'OK',
            'doc_cartao_combustivel' => 'OK',
            'ilum_farol_alto' => 'PROBLEMA',
            'ilum_farol_baixo' => 'OK',
            'ilum_lanterna_traseira' => 'OK',
            'aparencia_lataria' => 'OK',
            'mecanica_oleo' => 'PROBLEMA'
        ]),
        'observacoes_gerais' => 'Teste de checklist para MOTO via API v3',
        'sincronizado' => 0
    ];
    
    $post_data = json_encode($dados_moto);
    
    $context_post = stream_context_create([
        'http' => [
            'method' => 'POST',
            'header' => "Content-Type: application/json\r\n",
            'content' => $post_data,
            'timeout' => 10
        ]
    ]);
    
    echo "<p><strong>Dados enviados:</strong></p>";
    echo "<pre>" . $post_data . "</pre>";
    
    $response_post = @file_get_contents($url_base, false, $context_post);
    if ($response_post) {
        $data_post = json_decode($response_post, true);
        echo "<p>✅ Resposta POST: " . json_encode($data_post, JSON_PRETTY_PRINT) . "</p>";
    } else {
        echo "<p>❌ Erro ao enviar POST</p>";
    }
    
    // 4. Verificar dados no banco
    echo "<h2>🔍 VERIFICANDO DADOS NO BANCO</h2>";
    
    $stmt = $pdo->query("
        SELECT 
            id, viagem_id, veiculo_id, tipo_veiculo, 
            LEFT(itens_json, 100) as itens_preview,
            data_hora, sincronizado
        FROM checklist_veiculo 
        ORDER BY id DESC 
        LIMIT 5
    ");
    
    $registros = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
    echo "<tr><th>ID</th><th>Viagem</th><th>Veículo</th><th>Tipo</th><th>Itens (preview)</th><th>Data</th><th>Sync</th></tr>";
    
    foreach ($registros as $reg) {
        echo "<tr>";
        echo "<td>{$reg['id']}</td>";
        echo "<td>{$reg['viagem_id']}</td>";
        echo "<td>{$reg['veiculo_id']}</td>";
        echo "<td><strong>{$reg['tipo_veiculo']}</strong></td>";
        echo "<td>{$reg['itens_preview']}...</td>";
        echo "<td>{$reg['data_hora']}</td>";
        echo "<td>" . ($reg['sincronizado'] ? '✅' : '⏳') . "</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // 5. Estatísticas por tipo
    echo "<h2>📈 ESTATÍSTICAS POR TIPO</h2>";
    
    $stmt = $pdo->query("
        SELECT 
            tipo_veiculo,
            COUNT(*) as total,
            SUM(CASE WHEN sincronizado = 1 THEN 1 ELSE 0 END) as sincronizados,
            SUM(CASE WHEN sincronizado = 0 THEN 1 ELSE 0 END) as pendentes
        FROM checklist_veiculo 
        GROUP BY tipo_veiculo
    ");
    
    $stats = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    foreach ($stats as $stat) {
        echo "<p><strong>{$stat['tipo_veiculo']}:</strong> ";
        echo "Total: {$stat['total']}, ";
        echo "Sincronizados: {$stat['sincronizados']}, ";
        echo "Pendentes: {$stat['pendentes']}";
        echo "</p>";
    }
    
    echo "<h2>✅ TESTE CONCLUÍDO!</h2>";
    echo "<p><strong>STATUS:</strong> Sistema pronto para receber checklists de CARRO e MOTO!</p>";
    
} catch(PDOException $e) {
    echo "<p>❌ <strong>Erro de conexão:</strong> " . $e->getMessage() . "</p>";
}
?> 
