Fix daily_summary dan hourly_summary aggregation, tambah fallback logic untuk dashboard, update validator untuk camera dan location type

This commit is contained in:
mwpn
2025-12-18 11:13:06 +07:00
parent 9416de7d87
commit d05fa2f4cd
31 changed files with 2041 additions and 45 deletions

View File

@@ -0,0 +1,45 @@
<?php
require __DIR__ . '/../vendor/autoload.php';
use App\Config\AppConfig;
use App\Support\Database;
use App\Modules\Retribusi\Dashboard\DashboardService;
AppConfig::loadEnv(__DIR__ . '/..');
$db = Database::getConnection(
AppConfig::get('DB_HOST'),
AppConfig::get('DB_NAME'),
AppConfig::get('DB_USER'),
AppConfig::get('DB_PASS')
);
$service = new DashboardService($db);
echo "=== Test Dashboard Fallback ===\n\n";
// Test hari ini (tidak ada data)
echo "1. Summary hari ini (2025-12-18):\n";
$result = $service->getSummary('2025-12-18');
echo " Total Count: {$result['total_count']}\n";
echo " Total Amount: {$result['total_amount']}\n\n";
// Test kemarin (ada data)
echo "2. Summary kemarin (2025-12-16):\n";
$result = $service->getSummary('2025-12-16');
echo " Total Count: {$result['total_count']}\n";
echo " Total Amount: {$result['total_amount']}\n\n";
// Test by category hari ini
echo "3. By Category hari ini (2025-12-18):\n";
$result = $service->getByCategoryChart('2025-12-18');
echo " Labels: " . implode(', ', $result['labels']) . "\n";
echo " Counts: " . implode(', ', $result['series']['total_count']) . "\n\n";
// Test by category kemarin
echo "4. By Category kemarin (2025-12-16):\n";
$result = $service->getByCategoryChart('2025-12-16');
echo " Labels: " . implode(', ', $result['labels']) . "\n";
echo " Counts: " . implode(', ', $result['series']['total_count']) . "\n";