Files
api-btekno/bin/check_dashboard_data.php

103 lines
3.1 KiB
PHP
Raw Permalink Normal View History

<?php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use App\Config\AppConfig;
use App\Support\Database;
AppConfig::loadEnv(__DIR__ . '/..');
$dbHost = AppConfig::get('DB_HOST', 'localhost');
$dbName = AppConfig::get('DB_NAME', '');
$dbUser = AppConfig::get('DB_USER', '');
$dbPass = AppConfig::get('DB_PASS', '');
$db = Database::getConnection($dbHost, $dbName, $dbUser, $dbPass);
echo "=== Cek Data Dashboard ===\n\n";
// 1. Cek entry_events
echo "1. Entry Events:\n";
$stmt = $db->query('SELECT COUNT(*) as total FROM entry_events');
$result = $stmt->fetch();
echo " Total: {$result['total']}\n";
$stmt = $db->query('SELECT COUNT(*) as total FROM entry_events WHERE DATE(event_time) = CURDATE()');
$result = $stmt->fetch();
echo " Hari ini: {$result['total']}\n";
// 2. Cek daily_summary
echo "\n2. Daily Summary:\n";
$stmt = $db->query('SELECT COUNT(*) as total FROM daily_summary');
$result = $stmt->fetch();
echo " Total: {$result['total']}\n";
$stmt = $db->query('SELECT * FROM daily_summary WHERE summary_date = CURDATE() LIMIT 5');
$results = $stmt->fetchAll();
echo " Hari ini: " . count($results) . " records\n";
if (!empty($results)) {
foreach ($results as $row) {
echo " - {$row['summary_date']} | {$row['location_code']} | {$row['gate_code']} | {$row['category']} | Count: {$row['total_count']} | Amount: {$row['total_amount']}\n";
}
}
// 3. Cek locations
echo "\n3. Locations:\n";
$stmt = $db->query('SELECT COUNT(*) as total FROM locations WHERE is_active = 1');
$result = $stmt->fetch();
echo " Active: {$result['total']}\n";
// 4. Cek gates
echo "\n4. Gates:\n";
$stmt = $db->query('SELECT COUNT(*) as total FROM gates WHERE is_active = 1');
$result = $stmt->fetch();
echo " Active: {$result['total']}\n";
// 5. Test query dashboard summary
echo "\n5. Test Query Dashboard Summary (Hari Ini):\n";
$sql = "
SELECT
SUM(total_count) as total_count,
SUM(total_amount) as total_amount
FROM daily_summary
WHERE summary_date = CURDATE()
";
$stmt = $db->query($sql);
$result = $stmt->fetch();
echo " Total Count: " . ($result['total_count'] ?? 0) . "\n";
echo " Total Amount: " . ($result['total_amount'] ?? 0) . "\n";
// 6. Test query by category
echo "\n6. Test Query By Category (Hari Ini):\n";
$sql = "
SELECT
category,
SUM(total_count) as total_count,
SUM(total_amount) as total_amount
FROM daily_summary
WHERE summary_date = CURDATE()
GROUP BY category
";
$stmt = $db->query($sql);
$results = $stmt->fetchAll();
if (empty($results)) {
echo " Tidak ada data\n";
} else {
foreach ($results as $row) {
echo " - {$row['category']}: Count={$row['total_count']}, Amount={$row['total_amount']}\n";
}
}
echo "\n=== Kesimpulan ===\n";
if (($result['total_count'] ?? 0) == 0) {
echo "⚠️ Data kosong! Kemungkinan:\n";
echo " 1. Belum ada data entry_events\n";
echo " 2. Data belum di-aggregate ke daily_summary\n";
echo " 3. Perlu jalankan: php bin/daily_summary.php\n";
} else {
echo "✅ Data ada, tapi mungkin perlu di-aggregate ulang\n";
}