<?php
require_once __DIR__ . '/src/Core/Config/Config.php';

use Gestoreasy\Core\Config\Config;

// Configurar conexão
$dbHost = Config::get('DB_HOST', '127.0.0.1');
$dbUser = Config::get('DB_USERNAME', 'root');
$dbPass = Config::get('DB_PASSWORD', '');
$dbName = 'gestoreasy_tenant_test123';

try {
    $pdo = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8mb4", $dbUser, $dbPass, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);
    
    echo "Testando consultas SQL do PDV...\n\n";
    
    // Testar a consulta principal
    echo "1. Testando consulta principal:\n";
    $sql1 = "
        SELECT so.id, so.numero, so.cliente_id, so.valor_total, so.status, so.created_at,
               c.nome as cliente_nome
        FROM sales_orders so
        LEFT JOIN clients c ON so.cliente_id = c.id
        WHERE so.status IN ('aberto', 'confirmado')
        ORDER BY so.created_at DESC
        LIMIT 20 OFFSET 0
    ";
    
    try {
        $stmt1 = $pdo->prepare($sql1);
        $stmt1->execute();
        $rows = $stmt1->fetchAll();
        echo "✓ Consulta principal executada com sucesso!\n";
        echo "  Registros encontrados: " . count($rows) . "\n";
        foreach ($rows as $row) {
            echo "  - ID: {$row['id']}, Número: {$row['numero']}, Status: {$row['status']}\n";
        }
    } catch (PDOException $e) {
        echo "✗ Erro na consulta principal: " . $e->getMessage() . "\n";
    }
    
    echo "\n2. Testando consulta de contagem:\n";
    $sql2 = "SELECT COUNT(*) AS c FROM sales_orders WHERE status IN ('aberto', 'confirmado')";
    
    try {
        $stmt2 = $pdo->prepare($sql2);
        $stmt2->execute();
        $result = $stmt2->fetch();
        echo "✓ Consulta de contagem executada com sucesso!\n";
        echo "  Total de registros: " . $result['c'] . "\n";
    } catch (PDOException $e) {
        echo "✗ Erro na consulta de contagem: " . $e->getMessage() . "\n";
    }
    
    echo "\n3. Verificando dados na tabela sales_orders:\n";
    try {
        $stmt3 = $pdo->query("SELECT COUNT(*) as total FROM sales_orders");
        $total = $stmt3->fetch()['total'];
        echo "  Total de registros em sales_orders: $total\n";
        
        if ($total > 0) {
            $stmt4 = $pdo->query("SELECT id, numero, status, cliente_id FROM sales_orders LIMIT 5");
            $samples = $stmt4->fetchAll();
            echo "  Amostras:\n";
            foreach ($samples as $sample) {
                echo "    - ID: {$sample['id']}, Número: {$sample['numero']}, Status: {$sample['status']}, Cliente: {$sample['cliente_id']}\n";
            }
        }
    } catch (PDOException $e) {
        echo "✗ Erro ao verificar dados: " . $e->getMessage() . "\n";
    }
    
} catch (PDOException $e) {
    echo "Erro de conexão: " . $e->getMessage() . "\n";
}