<?php
/**
 * Verificar e corrigir estrutura da tabela solicitacoes_viagem
 */

// Configuração do banco de dados
$dbConfig = [
    'host' => 'localhost',
    'port' => 3306,
    'database' => 'pinheir3_controle_frotasV1.1',
    'username' => 'pinheir3_admin',
    'password' => '080880Gelboy',
    'charset' => 'utf8mb4'
];

// Função para conectar ao banco
function getConnection() {
    global $dbConfig;
    
    try {
        $dsn = sprintf(
            'mysql:host=%s;port=%d;dbname=%s;charset=%s',
            $dbConfig['host'],
            $dbConfig['port'],
            $dbConfig['database'],
            $dbConfig['charset']
        );
        
        $pdo = new PDO($dsn, $dbConfig['username'], $dbConfig['password'], [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES => false
        ]);
        
        return $pdo;
    } catch (PDOException $e) {
        throw $e;
    }
}

echo "🔍 Verificando estrutura da tabela solicitacoes_viagem\n";
echo "==================================================\n\n";

try {
    $pdo = getConnection();
    
    // Verificar estrutura atual
    $stmt = $pdo->query("DESCRIBE solicitacoes_viagem");
    $colunas = $stmt->fetchAll();
    
    echo "📋 Colunas atuais da tabela solicitacoes_viagem:\n";
    $temDataSolicitacao = false;
    foreach ($colunas as $coluna) {
        echo "- " . $coluna['Field'] . " (" . $coluna['Type'] . ")\n";
        if ($coluna['Field'] === 'data_solicitacao') {
            $temDataSolicitacao = true;
        }
    }
    
    echo "\n";
    
    if (!$temDataSolicitacao) {
        echo "⚠️ Campo 'data_solicitacao' não encontrado!\n";
        echo "🔧 Adicionando campo data_solicitacao...\n";
        
        // Adicionar campo data_solicitacao
        $sql = "ALTER TABLE solicitacoes_viagem ADD COLUMN data_solicitacao DATETIME DEFAULT CURRENT_TIMESTAMP";
        $pdo->exec($sql);
        
        // Atualizar registros existentes
        $sql = "UPDATE solicitacoes_viagem SET data_solicitacao = data_criacao WHERE data_solicitacao IS NULL";
        $pdo->exec($sql);
        
        echo "✅ Campo 'data_solicitacao' adicionado com sucesso!\n";
    } else {
        echo "✅ Campo 'data_solicitacao' já existe!\n";
    }
    
    // Verificar dados de exemplo
    $stmt = $pdo->query("SELECT id, cliente, data_criacao, data_solicitacao, status FROM solicitacoes_viagem LIMIT 3");
    $exemplos = $stmt->fetchAll();
    
    echo "\n📊 Exemplos de dados:\n";
    foreach ($exemplos as $exemplo) {
        echo "- ID: " . $exemplo['id'] . 
             ", Cliente: " . $exemplo['cliente'] . 
             ", Data Criação: " . $exemplo['data_criacao'] . 
             ", Data Solicitação: " . ($exemplo['data_solicitacao'] ?? 'NULL') . 
             ", Status: " . $exemplo['status'] . "\n";
    }
    
    echo "\n✅ Estrutura da tabela verificada e corrigida!\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
} 
