73 lines
2.5 KiB
PHP
73 lines
2.5 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 Entry Events ===\n\n";
|
||
|
|
|
||
|
|
// Cek tanggal data
|
||
|
|
echo "1. Data per tanggal:\n";
|
||
|
|
$stmt = $db->query('SELECT DATE(event_time) as date, COUNT(*) as total FROM entry_events GROUP BY DATE(event_time) ORDER BY date DESC LIMIT 10');
|
||
|
|
$results = $stmt->fetchAll();
|
||
|
|
foreach ($results as $row) {
|
||
|
|
echo " {$row['date']}: {$row['total']} events\n";
|
||
|
|
}
|
||
|
|
|
||
|
|
// Cek data hari ini
|
||
|
|
echo "\n2. Data hari ini:\n";
|
||
|
|
$stmt = $db->query('SELECT COUNT(*) as total FROM entry_events WHERE DATE(event_time) = CURDATE()');
|
||
|
|
$result = $stmt->fetch();
|
||
|
|
echo " Total: {$result['total']}\n";
|
||
|
|
|
||
|
|
// Cek sample data
|
||
|
|
echo "\n3. Sample data (5 terakhir):\n";
|
||
|
|
$stmt = $db->query('SELECT id, location_code, gate_code, category, event_time FROM entry_events ORDER BY id DESC LIMIT 5');
|
||
|
|
$results = $stmt->fetchAll();
|
||
|
|
foreach ($results as $row) {
|
||
|
|
echo " ID: {$row['id']} | {$row['location_code']} | {$row['gate_code']} | {$row['category']} | {$row['event_time']}\n";
|
||
|
|
}
|
||
|
|
|
||
|
|
// Cek apakah data punya location/gate yang valid
|
||
|
|
echo "\n4. Validasi data:\n";
|
||
|
|
$stmt = $db->query("
|
||
|
|
SELECT
|
||
|
|
COUNT(*) as total,
|
||
|
|
COUNT(CASE WHEN location_code IS NULL OR location_code = '' THEN 1 END) as null_location,
|
||
|
|
COUNT(CASE WHEN gate_code IS NULL OR gate_code = '' THEN 1 END) as null_gate,
|
||
|
|
COUNT(CASE WHEN category IS NULL OR category = '' THEN 1 END) as null_category
|
||
|
|
FROM entry_events
|
||
|
|
WHERE DATE(event_time) = CURDATE()
|
||
|
|
");
|
||
|
|
$result = $stmt->fetch();
|
||
|
|
echo " Total hari ini: {$result['total']}\n";
|
||
|
|
echo " Null location_code: {$result['null_location']}\n";
|
||
|
|
echo " Null gate_code: {$result['null_gate']}\n";
|
||
|
|
echo " Null category: {$result['null_category']}\n";
|
||
|
|
|
||
|
|
// Cek apakah location/gate ada di master
|
||
|
|
echo "\n5. Validasi dengan master data:\n";
|
||
|
|
$stmt = $db->query("
|
||
|
|
SELECT
|
||
|
|
COUNT(*) as total_valid
|
||
|
|
FROM entry_events e
|
||
|
|
INNER JOIN locations l ON e.location_code = l.code AND l.is_active = 1
|
||
|
|
INNER JOIN gates g ON e.location_code = g.location_code AND e.gate_code = g.gate_code AND g.is_active = 1
|
||
|
|
WHERE DATE(e.event_time) = CURDATE()
|
||
|
|
");
|
||
|
|
$result = $stmt->fetch();
|
||
|
|
echo " Data valid (ada di master): {$result['total_valid']}\n";
|
||
|
|
|