Baco Wine Bar

prefix . ‘pdv_waiter_calls’;

echo ‘

‘;

echo ‘

🔍 Diagnóstico Completo – PDV Waiter Call

‘;

// ============================================
// 1. VERIFICAR SE A TABELA EXISTE
// ============================================
echo ‘

‘;
echo ‘

1. Tabela no Banco de Dados

‘;

$table_exists = $wpdb->get_var(“SHOW TABLES LIKE ‘$table_name'”) == $table_name;

if ($table_exists) {
echo ‘✅ Tabela existe: ‘ . $table_name . ‘
‘;

// Mostrar estrutura da tabela
echo ‘
Estrutura da tabela:
‘;
$columns = $wpdb->get_results(“DESCRIBE $table_name”);
echo ‘

‘;
echo ‘

‘;
foreach ($columns as $col) {
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
}
echo ‘

Campo Tipo Null Key Default
‘ . $col->Field . ‘ ‘ . $col->Type . ‘ ‘ . $col->Null . ‘ ‘ . $col->Key . ‘ ‘ . $col->Default . ‘

‘;
} else {
echo ‘❌ ERRO: Tabela não existe!
‘;
echo ‘Nome esperado: ‘ . $table_name . ‘
‘;
echo ‘
Solução: Desative e reative o plugin para criar a tabela.’;
}
echo ‘

‘;

// ============================================
// 2. CONTAR REGISTROS
// ============================================
if ($table_exists) {
echo ‘

‘;
echo ‘

2. Contagem de Registros

‘;

$total = $wpdb->get_var(“SELECT COUNT(*) FROM $table_name”);
$pending = $wpdb->get_var(“SELECT COUNT(*) FROM $table_name WHERE status = ‘pending'”);
$attended = $wpdb->get_var(“SELECT COUNT(*) FROM $table_name WHERE status = ‘attended'”);

echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

Status Quantidade
TOTAL ‘ . $total . ‘
PENDENTES ‘ . $pending . ‘
ATENDIDAS ‘ . $attended . ‘

‘;
echo ‘

‘;

// ============================================
// 3. MOSTRAR TODAS AS CHAMADAS
// ============================================
echo ‘

‘;
echo ‘

3. Todas as Chamadas no Banco

‘;

$all_calls = $wpdb->get_results(“SELECT * FROM $table_name ORDER BY id DESC LIMIT 50”);

if ($all_calls) {
echo ‘

‘;
echo ‘

‘;
foreach ($all_calls as $call) {
$bg = $call->status === ‘pending’ ? ‘background:#FFF3E0;’ : ”;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

ID Mesa Timestamp Status Atendido Por Atendido Em Observação
‘ . $call->id . ‘ ‘ . esc_html($call->mesa_numero) . ‘ ‘ . $call->timestamp . ‘ ‘;
echo ‘

4. Ações de Limpeza

‘;

// Processar ações
if (isset($_POST[‘action’])) {
if ($_POST[‘action’] === ‘truncate’ && isset($_POST[‘confirm’])) {
$wpdb->query(“TRUNCATE TABLE $table_name”);
echo ‘

Tabela truncada! Todos os registros foram deletados.

‘;
echo ‘‘;
}

if ($_POST[‘action’] === ‘delete_pending’ && isset($_POST[‘confirm’])) {
$wpdb->query(“DELETE FROM $table_name WHERE status = ‘pending'”);
echo ‘

Chamadas pendentes deletadas!

‘;
echo ‘‘;
}

if ($_POST[‘action’] === ‘update_pending’ && isset($_POST[‘confirm’])) {
$wpdb->query(“UPDATE $table_name SET status = ‘attended’, atendido_por = ‘Admin – Limpeza Manual’ WHERE status = ‘pending'”);
echo ‘

Todas pendentes marcadas como atendidas!

‘;
echo ‘‘;
}
}

if ($pending > 0) {
echo ‘

‘;
echo ‘‘;
echo ‘‘;
echo ‘‘;
echo ‘

‘;

echo ‘

‘;
echo ‘‘;
echo ‘‘;
echo ‘‘;
echo ‘

‘;
}

if ($total > 0) {
echo ‘

‘;
echo ‘

‘;
echo ‘‘;
echo ‘‘;
echo ‘‘;
echo ‘

‘;
}
echo ‘

‘;

// ============================================
// 5. TESTAR QUERY DE BUSCA
// ============================================
echo ‘

‘;
echo ‘

5. Teste da Query de Busca (usada pelo painel)

‘;

echo ‘

Query executada pelo painel:

‘;
$query = “SELECT * FROM $table_name WHERE status = ‘pending’ ORDER BY timestamp DESC”;
echo ‘

' . $query . '

‘;

$test_calls = $wpdb->get_results($query);
echo ‘

Resultado: ‘ . count($test_calls) . ‘ chamada(s) encontrada(s)

‘;

if ($test_calls) {
echo ‘

‘;
echo ‘

‘;
foreach ($test_calls as $call) {
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
}
echo ‘

ID Mesa Timestamp Status
‘ . $call->id . ‘ ‘ . $call->mesa_numero . ‘ ‘ . $call->timestamp . ‘ ‘ . $call->status . ‘

‘;
}
echo ‘

‘;
}

// ============================================
// 6. VERIFICAR HANDLER AJAX
// ============================================
echo ‘

‘;
echo ‘

6. Teste de Handler AJAX

‘;
echo ‘‘;
echo ‘

‘;
?>

‘;

// ============================================
// 7. INFORMAÇÕES DO SISTEMA
// ============================================
echo ‘

‘;
echo ‘

7. Informações do Sistema

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

WordPress Version: ‘ . get_bloginfo(‘version’) . ‘
PHP Version: ‘ . phpversion() . ‘
MySQL Version: ‘ . $wpdb->db_version() . ‘
Plugin Ativo: ‘ . (is_plugin_active(‘pdv-waiter-call/pdv-waiter-call.php’) ? ‘✅ SIM’ : ‘❌ NÃO’) . ‘
AJAX URL: ‘ . admin_url(‘admin-ajax.php’) . ‘
Table Name: ‘ . $table_name . ‘

‘;
echo ‘

‘;

echo ‘

‘;
echo ‘

⚠️ IMPORTANTE

‘;
echo ‘

DELETE ESTA PÁGINA APÓS O DIAGNÓSTICO!

‘;
echo ‘

Esta página expõe informações do banco de dados e só deve ser usada para diagnóstico.

‘;
echo ‘

‘;
?>