<?php
// Debug da API de checklist
echo "<h1>🔍 Debug da API de Checklist</h1>";

// Configuração direta do banco
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "<p style='color: green;'>✅ Conexão estabelecida!</p>";
    
    // Verificar se a tabela existe
    echo "<h2>📋 Verificação da Tabela checklist_veiculo:</h2>";
    $stmt = $pdo->query("SHOW TABLES LIKE 'checklist_veiculo'");
    if ($stmt->rowCount() > 0) {
        echo "<p style='color: green;'>✅ Tabela checklist_veiculo existe</p>";
        
        // Verificar estrutura
        $stmt = $pdo->query("DESCRIBE checklist_veiculo");
        $colunas = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "<h3>📊 Estrutura da tabela:</h3>";
        echo "<table border='1' style='border-collapse: collapse;'>";
        echo "<tr><th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th></tr>";
        foreach ($colunas as $coluna) {
            echo "<tr>";
            echo "<td>{$coluna['Field']}</td>";
            echo "<td>{$coluna['Type']}</td>";
            echo "<td>{$coluna['Null']}</td>";
            echo "<td>{$coluna['Key']}</td>";
            echo "<td>{$coluna['Default']}</td>";
            echo "</tr>";
        }
        echo "</table>";
        
        // Tentar inserir um registro de teste
        echo "<h2>🧪 Teste de Inserção:</h2>";
        
        $sql = "INSERT INTO checklist_veiculo (
            viagem_id, veiculo_id, tipo_veiculo, data_hora, itens_json, observacoes_gerais
        ) VALUES (?, ?, ?, ?, ?, ?)";
        
        $stmt = $pdo->prepare($sql);
        $resultado = $stmt->execute([
            999, // viagem_id de teste
            6,   // veiculo_id
            'CARRO', // tipo_veiculo
            date('Y-m-d H:i:s'), // data_hora
            json_encode(['teste' => 'dados']), // itens_json
            'Teste de debug' // observacoes_gerais
        ]);
        
        if ($resultado) {
            $id = $pdo->lastInsertId();
            echo "<p style='color: green;'>✅ Inserção de teste bem-sucedida! ID: $id</p>";
            
            // Remover o registro de teste
            $stmt = $pdo->prepare("DELETE FROM checklist_veiculo WHERE id = ?");
            $stmt->execute([$id]);
            echo "<p style='color: blue;'>🗑️ Registro de teste removido</p>";
        } else {
            echo "<p style='color: red;'>❌ Falha na inserção de teste</p>";
        }
        
    } else {
        echo "<p style='color: red;'>❌ Tabela checklist_veiculo não existe!</p>";
    }
    
    // Verificar tabela de fotos
    echo "<h2>📸 Verificação da Tabela checklist_fotos:</h2>";
    $stmt = $pdo->query("SHOW TABLES LIKE 'checklist_fotos'");
    if ($stmt->rowCount() > 0) {
        echo "<p style='color: green;'>✅ Tabela checklist_fotos existe</p>";
        
        // Verificar estrutura
        $stmt = $pdo->query("DESCRIBE checklist_fotos");
        $colunas = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "<h3>📊 Estrutura da tabela fotos:</h3>";
        echo "<table border='1' style='border-collapse: collapse;'>";
        echo "<tr><th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th></tr>";
        foreach ($colunas as $coluna) {
            echo "<tr>";
            echo "<td>{$coluna['Field']}</td>";
            echo "<td>{$coluna['Type']}</td>";
            echo "<td>{$coluna['Null']}</td>";
            echo "<td>{$coluna['Key']}</td>";
            echo "<td>{$coluna['Default']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "<p style='color: red;'>❌ Tabela checklist_fotos não existe!</p>";
    }
    
    // Verificar permissões do diretório
    echo "<h2>📁 Verificação de Permissões:</h2>";
    $diretorioFotos = 'uploads/checklist-fotos';
    
    if (is_dir($diretorioFotos)) {
        echo "<p style='color: green;'>✅ Diretório $diretorioFotos existe</p>";
        echo "<p><strong>Permissões:</strong> " . substr(sprintf('%o', fileperms($diretorioFotos)), -4) . "</p>";
        echo "<p><strong>Gravável:</strong> " . (is_writable($diretorioFotos) ? 'Sim' : 'Não') . "</p>";
    } else {
        echo "<p style='color: orange;'>⚠️ Diretório $diretorioFotos não existe</p>";
        
        // Tentar criar
        if (mkdir($diretorioFotos, 0755, true)) {
            echo "<p style='color: green;'>✅ Diretório criado com sucesso!</p>";
        } else {
            echo "<p style='color: red;'>❌ Falha ao criar diretório</p>";
        }
    }
    
} catch (PDOException $e) {
    echo "<p style='color: red;'>❌ Erro de conexão: " . $e->getMessage() . "</p>";
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro geral: " . $e->getMessage() . "</p>";
}

echo "<h2>🎯 Próximos Passos:</h2>";
echo "<p><a href='teste-checklist-direto.php' target='_blank'>🧪 Testar API diretamente</a></p>";
echo "<p><a href='verificar-checklist-ultimo.php' target='_blank'>🔍 Verificar último checklist</a></p>";
?>
