67 lines
2.2 KiB
PHP
67 lines
2.2 KiB
PHP
<?php
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use App\Config\AppConfig;
|
|
use App\Support\Database;
|
|
|
|
AppConfig::loadEnv(__DIR__ . '/..');
|
|
|
|
$db = Database::getConnection(
|
|
AppConfig::get('DB_HOST'),
|
|
AppConfig::get('DB_NAME'),
|
|
AppConfig::get('DB_USER'),
|
|
AppConfig::get('DB_PASS')
|
|
);
|
|
|
|
$dates = ['2025-12-14', '2025-12-15', '2025-12-16', '2025-12-17', '2025-12-18'];
|
|
|
|
echo "=== Checking hourly_summary ===\n\n";
|
|
|
|
foreach ($dates as $date) {
|
|
echo "--- Date: $date ---\n";
|
|
|
|
// Check entry_events per hour
|
|
$stmt = $db->prepare('SELECT HOUR(event_time) as hour, COUNT(*) as count FROM entry_events WHERE DATE(event_time) = ? GROUP BY HOUR(event_time) ORDER BY hour');
|
|
$stmt->execute([$date]);
|
|
$entryHours = $stmt->fetchAll();
|
|
|
|
$entryTotal = 0;
|
|
foreach ($entryHours as $row) {
|
|
$entryTotal += $row['count'];
|
|
}
|
|
|
|
echo " entry_events: $entryTotal total events\n";
|
|
if (!empty($entryHours)) {
|
|
echo " Hours with data: " . count($entryHours) . "\n";
|
|
}
|
|
|
|
// Check hourly_summary
|
|
$stmt = $db->prepare('SELECT summary_hour, SUM(total_count) as total_count, SUM(total_amount) as total_amount FROM hourly_summary WHERE summary_date = ? GROUP BY summary_hour ORDER BY summary_hour');
|
|
$stmt->execute([$date]);
|
|
$summaryHours = $stmt->fetchAll();
|
|
|
|
$summaryTotal = 0;
|
|
foreach ($summaryHours as $row) {
|
|
$summaryTotal += $row['total_count'];
|
|
}
|
|
|
|
echo " hourly_summary: $summaryTotal total\n";
|
|
if (!empty($summaryHours)) {
|
|
echo " Hours with data: " . count($summaryHours) . "\n";
|
|
} else {
|
|
echo " ⚠️ No hourly_summary data!\n";
|
|
echo " Run: php bin/hourly_summary.php $date\n";
|
|
}
|
|
|
|
if ($entryTotal > 0 && $summaryTotal == 0) {
|
|
echo " ❌ PROBLEM: entry_events has data but hourly_summary is empty!\n";
|
|
} elseif ($entryTotal > 0 && $summaryTotal > 0 && $entryTotal != $summaryTotal) {
|
|
echo " ⚠️ WARNING: Count mismatch! entry_events: $entryTotal, hourly_summary: $summaryTotal\n";
|
|
} elseif ($entryTotal > 0 && $summaryTotal > 0) {
|
|
echo " ✓ OK: Counts match\n";
|
|
}
|
|
|
|
echo "\n";
|
|
}
|
|
|