<?php
header('Content-Type: text/html; charset=utf-8');
echo "<!DOCTYPE html><html><head><title>TESTE: Fotos Checklist</title></head><body>";
echo "<h2>🧪 TESTE: Envio de Fotos do Checklist</h2>";

// Simular dados EXATOS que o app Android envia
$dadosApp = [
    'viagem_id' => 151,  // Ou ID da viagem ativa
    'veiculo_id' => 6,
    'tipoVeiculo' => 'MOTO',
    'dataHora' => date('Y-m-d H:i:s'),
    'itens' => [
        [
            'id' => 'elet_buzina',
            'categoria' => 'Elétrica',
            'nome' => 'Buzina',
            'ok' => false,
            'observacao' => 'Buzina não funciona - precisa trocar'
        ],
        [
            'id' => 'aparencia_pintura',
            'categoria' => 'Aparência',
            'nome' => 'Pintura',
            'ok' => false,
            'observacao' => 'Arranhão na lateral direita'
        ]
    ],
    'observacoesGerais' => 'Teste de envio de fotos via API',
    'fotos' => [
        [
            'itemId' => 'elet_buzina',
            'descricao' => 'Buzina não funciona - precisa trocar',
            'base64' => base64_encode(file_get_contents(__DIR__ . '/criar-imagem-teste.php')), // Simular foto
            'tipoMime' => 'image/jpeg'
        ],
        [
            'itemId' => 'aparencia_pintura',
            'descricao' => 'Arranhão na lateral direita',
            'base64' => base64_encode('IMAGEM_TESTE_FAKE_ARRANHAO_PINTURA_' . time()),
            'tipoMime' => 'image/jpeg'
        ]
    ]
];

echo "<h3>1. 📱 Dados que serão enviados (simulando app Android):</h3>";
echo "<p><strong>Endpoint:</strong> api/relatorios/api-checklist-v3.php?acao=checklist_veiculo</p>";
echo "<p><strong>Método:</strong> POST</p>";
echo "<p><strong>Content-Type:</strong> application/json</p>";

echo "<details><summary><strong>Ver JSON completo</strong></summary>";
echo "<pre>" . json_encode($dadosApp, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "</pre>";
echo "</details>";

echo "<p><strong>🔍 Pontos importantes:</strong></p>";
echo "<ul>";
echo "<li>✅ Array 'fotos' incluído no JSON</li>";
echo "<li>✅ Cada foto tem: itemId, descricao, base64, tipoMime</li>";
echo "<li>✅ Total de fotos: " . count($dadosApp['fotos']) . "</li>";
echo "<li>✅ Itens com problema: " . count(array_filter($dadosApp['itens'], fn($item) => !$item['ok'])) . "</li>";
echo "</ul>";

// EXECUTAR TESTE REAL
echo "<h3>2. 🚀 Executando teste na API:</h3>";

try {
    $url = 'api/relatorios/api-checklist-v3.php?acao=checklist_veiculo';
    
    $context = stream_context_create([
        'http' => [
            'method' => 'POST',
            'header' => 
                "Content-Type: application/json\r\n" .
                "User-Agent: TesteManual-PHP\r\n",
            'content' => json_encode($dadosApp),
            'timeout' => 30
        ]
    ]);
    
    echo "<p>📤 <strong>Enviando requisição...</strong></p>";
    
    $response = @file_get_contents($url, false, $context);
    $httpCode = 200; // Assumir sucesso se chegou aqui
    
    if ($response === false) {
        echo "<p style='color: red;'>❌ <strong>ERRO:</strong> Falha na requisição</p>";
        $error = error_get_last();
        echo "<p>Detalhes: " . ($error['message'] ?? 'Erro desconhecido') . "</p>";
    } else {
        echo "<p style='color: green;'>✅ <strong>RESPOSTA RECEBIDA</strong></p>";
        
        // Tentar decodificar JSON
        $jsonResponse = json_decode($response, true);
        
        if ($jsonResponse) {
            echo "<p><strong>Status:</strong> " . ($jsonResponse['success'] ? '✅ Sucesso' : '❌ Erro') . "</p>";
            echo "<p><strong>Mensagem:</strong> " . $jsonResponse['message'] . "</p>";
            
            if (isset($jsonResponse['data'])) {
                echo "<p><strong>Dados retornados:</strong></p>";
                echo "<ul>";
                echo "<li>Checklist ID: " . ($jsonResponse['data']['id'] ?? 'N/A') . "</li>";
                echo "<li>Viagem ID usado: " . ($jsonResponse['data']['viagemIdCorrigido'] ?? 'N/A') . "</li>";
                echo "<li>Tipo veículo: " . ($jsonResponse['data']['tipoVeiculo'] ?? 'N/A') . "</li>";
                echo "<li>Total de itens: " . ($jsonResponse['data']['totalItens'] ?? 'N/A') . "</li>";
                echo "<li><strong>Fotos processadas: " . ($jsonResponse['data']['fotosProcessadas'] ?? 'N/A') . "</strong></li>";
                echo "</ul>";
                
                $fotosProcessadas = $jsonResponse['data']['fotosProcessadas'] ?? 0;
                if ($fotosProcessadas > 0) {
                    echo "<p style='color: green;'>🎉 <strong>SUCESSO! {$fotosProcessadas} fotos foram processadas!</strong></p>";
                } else {
                    echo "<p style='color: red;'>❌ <strong>PROBLEMA! Nenhuma foto foi processada!</strong></p>";
                }
            }
            
        } else {
            echo "<p><strong>Resposta bruta:</strong></p>";
            echo "<pre>" . htmlspecialchars($response) . "</pre>";
        }
    }
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ <strong>ERRO:</strong> " . $e->getMessage() . "</p>";
}

// VERIFICAR LOGS DE DEBUG
echo "<h3>3. 📋 Verificar logs de debug:</h3>";
echo "<p>Os logs de debug foram adicionados na API. Verifique:</p>";
echo "<ul>";
echo "<li><strong>Logs do PHP:</strong> error_log do servidor web</li>";
echo "<li><strong>Arquivo específico:</strong> backend-php/debug-checklist.log (se existir)</li>";
echo "<li><strong>Logs da API:</strong> Busque por mensagens que começam com '🔍 DEBUG FOTOS'</li>";
echo "</ul>";

// Tentar ler arquivo de log se existir
$debugLogFile = 'debug-checklist.log';
if (file_exists($debugLogFile)) {
    echo "<h4>📄 Conteúdo do debug-checklist.log:</h4>";
    $logContent = file_get_contents($debugLogFile);
    $linhas = explode("\n", $logContent);
    $ultimasLinhas = array_slice($linhas, -20); // Últimas 20 linhas
    
    echo "<pre style='background: #f5f5f5; padding: 10px; max-height: 300px; overflow-y: auto;'>";
    foreach ($ultimasLinhas as $linha) {
        if (trim($linha)) {
            echo htmlspecialchars($linha) . "\n";
        }
    }
    echo "</pre>";
} else {
    echo "<p>⚠️ Arquivo debug-checklist.log não encontrado</p>";
}

// VERIFICAR SE FOTOS FORAM SALVAS
echo "<h3>4. 🔍 Verificar se fotos foram salvas:</h3>";

try {
    include 'config/database.php';
    $pdo = conectarBanco();
    
    // Buscar último checklist
    $stmt = $pdo->query("
        SELECT id, viagem_id, veiculo_id, data_hora 
        FROM checklist_veiculo 
        ORDER BY id DESC 
        LIMIT 1
    ");
    $ultimoChecklist = $stmt->fetch();
    
    if ($ultimoChecklist) {
        echo "<p><strong>Último checklist:</strong> ID {$ultimoChecklist['id']} (Viagem {$ultimoChecklist['viagem_id']})</p>";
        
        // Buscar fotos deste checklist
        $stmt = $pdo->prepare("
            SELECT * FROM checklist_fotos 
            WHERE checklist_id = ? 
            ORDER BY id DESC
        ");
        $stmt->execute([$ultimoChecklist['id']]);
        $fotos = $stmt->fetchAll();
        
        echo "<p><strong>Fotos encontradas:</strong> " . count($fotos) . "</p>";
        
        if (count($fotos) > 0) {
            echo "<table border='1' cellpadding='5'>";
            echo "<tr><th>ID</th><th>Item ID</th><th>Nome Arquivo</th><th>Tamanho</th><th>Data</th></tr>";
            foreach ($fotos as $foto) {
                echo "<tr>";
                echo "<td>{$foto['id']}</td>";
                echo "<td>{$foto['item_id']}</td>";
                echo "<td>{$foto['nome_arquivo']}</td>";
                echo "<td>{$foto['tamanho_arquivo']} bytes</td>";
                echo "<td>{$foto['created_at']}</td>";
                echo "</tr>";
            }
            echo "</table>";
            echo "<p style='color: green;'>🎉 <strong>FOTOS SALVAS COM SUCESSO!</strong></p>";
        } else {
            echo "<p style='color: red;'>❌ <strong>NENHUMA FOTO SALVA</strong> - Verificar logs de debug</p>";
        }
    }
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro ao verificar banco: " . $e->getMessage() . "</p>";
}

echo "<h3>5. 🎯 Próximos passos:</h3>";
echo "<div style='background: #e8f5e8; padding: 15px; border-radius: 5px;'>";
echo "<h4>Se fotos foram processadas:</h4>";
echo "<ul>";
echo "<li>✅ Sistema de fotos funcionando</li>";
echo "<li>🔍 Problema é no app Android não enviar array 'fotos'</li>";
echo "<li>📱 Verificar código do app e logs do dispositivo</li>";
echo "</ul>";

echo "<h4>Se fotos NÃO foram processadas:</h4>";
echo "<ul>";
echo "<li>🔍 Verificar logs de debug da API</li>";
echo "<li>🐛 Investigar função processarFotos()</li>";
echo "<li>📁 Verificar permissões de diretório</li>";
echo "</ul>";
echo "</div>";

echo "</body></html>";
?> 
