103 lines
3.1 KiB
PHP
103 lines
3.1 KiB
PHP
<?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";
|
|
}
|
|
|