<?php
header('Content-Type: text/html; charset=utf-8');

echo "<h1>🧪 Teste Direto do Checklist (Sem cURL)</h1>";
echo "<style>
    .success { color: green; font-weight: bold; }
    .error { color: red; font-weight: bold; }
    .info { color: blue; }
    .warning { color: orange; font-weight: bold; }
    table { border-collapse: collapse; width: 100%; margin: 10px 0; }
    th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
    th { background-color: #f2f2f2; }
    pre { background: #f5f5f5; padding: 10px; border-radius: 5px; overflow-x: auto; }
    .test-section { border: 1px solid #ccc; margin: 20px 0; padding: 15px; border-radius: 5px; }
</style>";

// Incluir as funções da API
require_once '../api-simples-v2.php';

try {
    echo "<div class='test-section'>";
    echo "<h2>🗄️ TESTE 1: Conexão com Banco</h2>";
    
    $pdo = conectarBanco();
    echo "<div class='success'>✅ Conectado ao banco!</div>";
    echo "</div>";

    echo "<div class='test-section'>";
    echo "<h2>📋 TESTE 2: Verificar Tabela</h2>";
    
    // Verificar se a tabela existe
    $stmt = $pdo->query("SHOW TABLES LIKE 'checklist_veiculo'");
    $tabelaExiste = $stmt->rowCount() > 0;
    
    if ($tabelaExiste) {
        echo "<div class='success'>✅ Tabela checklist_veiculo existe!</div>";
        
        // Contar registros
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM checklist_veiculo");
        $count = $stmt->fetch();
        echo "<div class='info'>📊 Total de registros: {$count['total']}</div>";
    } else {
        echo "<div class='error'>❌ Tabela não existe!</div>";
        exit();
    }
    echo "</div>";

    echo "<div class='test-section'>";
    echo "<h2>💾 TESTE 3: Inserir Checklist Diretamente</h2>";
    
    // Dados de teste
    $dadosChecklist = [
        'viagemId' => 999,
        'veiculoId' => 1,
        'dataHora' => date('Y-m-d H:i:s'),
        'itens' => [
            [
                'id' => 'docs_documentos',
                'nome' => 'DOCUMENTOS',
                'categoria' => 'DOCUMENTOS E CARTÕES',
                'status' => 'OK',
                'observacao' => ''
            ],
            [
                'id' => 'elet_bateria',
                'nome' => 'BATERIA',
                'categoria' => 'SISTEMA ELÉTRICO',
                'status' => 'PROBLEMA',
                'observacao' => 'Bateria fraca - teste direto'
            ]
        ],
        'observacoesGerais' => 'Teste inserido diretamente via PHP - ' . date('Y-m-d H:i:s')
    ];
    
    echo "<h4>📋 Dados para inserir:</h4>";
    echo "<pre>" . json_encode($dadosChecklist, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "</pre>";
    
    try {
        // Verificar se já existe checklist para esta viagem de teste
        $stmt = $pdo->prepare("SELECT id FROM checklist_veiculo WHERE viagem_id = ?");
        $stmt->execute([$dadosChecklist['viagemId']]);
        
        if ($stmt->fetch()) {
            // Deletar registros de teste anteriores
            $stmt = $pdo->prepare("DELETE FROM checklist_veiculo WHERE viagem_id = ?");
            $stmt->execute([$dadosChecklist['viagemId']]);
            echo "<div class='info'>🔄 Removido checklist de teste anterior</div>";
        }
        
        // Inserir novo checklist
        $sql = "INSERT INTO checklist_veiculo (
            viagem_id, veiculo_id, data_hora, itens_json, observacoes_gerais
        ) VALUES (?, ?, ?, ?, ?)";
        
        $stmt = $pdo->prepare($sql);
        $result = $stmt->execute([
            $dadosChecklist['viagemId'],
            $dadosChecklist['veiculoId'],
            $dadosChecklist['dataHora'],
            json_encode($dadosChecklist['itens'], JSON_UNESCAPED_UNICODE),
            $dadosChecklist['observacoesGerais']
        ]);
        
        if ($result) {
            $checklistId = $pdo->lastInsertId();
            echo "<div class='success'>✅ Checklist inserido com sucesso! ID: $checklistId</div>";
            
            // Verificar se foi salvo
            $stmt = $pdo->prepare("SELECT * FROM checklist_veiculo WHERE id = ?");
            $stmt->execute([$checklistId]);
            $checklistSalvo = $stmt->fetch();
            
            if ($checklistSalvo) {
                echo "<h4>📊 Dados salvos no banco:</h4>";
                echo "<table>";
                echo "<tr><th>Campo</th><th>Valor</th></tr>";
                foreach ($checklistSalvo as $campo => $valor) {
                    if ($campo === 'itens_json') {
                        echo "<tr><td>$campo</td><td><pre>" . json_encode(json_decode($valor, true), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "</pre></td></tr>";
                    } else {
                        echo "<tr><td>$campo</td><td>" . htmlspecialchars($valor) . "</td></tr>";
                    }
                }
                echo "</table>";
            }
        } else {
            echo "<div class='error'>❌ Falha ao inserir checklist</div>";
        }
        
    } catch (Exception $e) {
        echo "<div class='error'>❌ Erro ao inserir: " . $e->getMessage() . "</div>";
    }
    echo "</div>";

    echo "<div class='test-section'>";
    echo "<h2>🔍 TESTE 4: Buscar Checklists (Simular API GET)</h2>";
    
    try {
        // Simular a busca que a API faz
        $stmt = $pdo->query("
            SELECT 
                c.*, 
                v.modelo as veiculo_modelo, 
                v.placa as veiculo_placa,
                viag.cliente as viagem_cliente,
                viag.motivo as viagem_motivo,
                viag.usuario_nome as motorista_nome,
                viag.dataInicio as viagem_data_inicio,
                viag.dataFim as viagem_data_fim
            FROM checklist_veiculo c
            LEFT JOIN veiculos v ON c.veiculo_id = v.id
            LEFT JOIN viagens viag ON c.viagem_id = viag.id
            ORDER BY c.data_hora DESC
            LIMIT 10
        ");
        $checklists = $stmt->fetchAll();
        
        echo "<div class='success'>✅ Query executada com sucesso!</div>";
        echo "<div class='info'>📊 Encontrados: " . count($checklists) . " checklists</div>";
        
        if (!empty($checklists)) {
            echo "<h4>📋 Checklists encontrados:</h4>";
            echo "<table>";
            echo "<tr><th>ID</th><th>Viagem</th><th>Veículo</th><th>Data/Hora</th><th>Observações</th></tr>";
            foreach ($checklists as $checklist) {
                echo "<tr>";
                echo "<td>{$checklist['id']}</td>";
                echo "<td>" . ($checklist['viagem_id'] ?: 'NULL') . "</td>";
                echo "<td>{$checklist['veiculo_modelo']} ({$checklist['veiculo_placa']})</td>";
                echo "<td>{$checklist['data_hora']}</td>";
                echo "<td>" . substr($checklist['observacoes_gerais'], 0, 50) . "...</td>";
                echo "</tr>";
            }
            echo "</table>";
        }
        
    } catch (Exception $e) {
        echo "<div class='error'>❌ Erro na busca: " . $e->getMessage() . "</div>";
    }
    echo "</div>";

    echo "<div class='test-section'>";
    echo "<h2>🎯 RESULTADO FINAL</h2>";
    
    // Contar total de checklists
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM checklist_veiculo");
    $count = $stmt->fetch();
    
    if ($count['total'] > 0) {
        echo "<div class='success'>🎉 SUCESSO! O sistema de checklist está funcionando!</div>";
        echo "<div class='info'>📊 Total de checklists na tabela: {$count['total']}</div>";
        
        echo "<h4>🌐 Próximos passos:</h4>";
        echo "<ul>";
        echo "<li>✅ A tabela está funcionando</li>";
        echo "<li>✅ A API deve estar funcionando agora</li>";
        echo "<li>🔄 Teste o app Android para enviar dados</li>";
        echo "<li>📊 Verifique o <a href='checklist-dashboard.html' target='_blank'>Dashboard</a></li>";
        echo "</ul>";
    } else {
        echo "<div class='warning'>⚠️ Sistema funciona, mas não há dados ainda</div>";
    }
    echo "</div>";

} catch (Exception $e) {
    echo "<div class='error'>❌ Erro geral: " . $e->getMessage() . "</div>";
}
?> 
