From b10d590649f3cc414a5dedb70c037d43e77755a2 Mon Sep 17 00:00:00 2001 From: mwpn Date: Wed, 17 Dec 2025 13:38:36 +0700 Subject: [PATCH] Fix: Remove created_at/updated_at from daily/hourly summary INSERT - Production database doesn't have these columns - Update DailySummaryService and HourlySummaryService - Add daily_summary and hourly_summary structure check to check_database.php --- bin/check_database.php | 28 ++++++++++++++++++- .../Retribusi/Summary/DailySummaryService.php | 8 +++--- .../Summary/HourlySummaryService.php | 8 +++--- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/bin/check_database.php b/bin/check_database.php index 7a4631b..3fca0d3 100644 --- a/bin/check_database.php +++ b/bin/check_database.php @@ -84,7 +84,33 @@ try { } } - echo "\n5. Testing query (similar to DailySummaryService):\n"; + echo "\n5. Checking daily_summary table structure:\n"; + $stmt = $db->query("DESCRIBE daily_summary"); + $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); + + if (empty($columns)) { + echo " ❌ Table 'daily_summary' does not exist!\n"; + } else { + echo " ✅ Table 'daily_summary' exists with columns:\n"; + foreach ($columns as $col) { + echo " - {$col['Field']} ({$col['Type']})\n"; + } + } + + echo "\n6. Checking hourly_summary table structure:\n"; + $stmt = $db->query("DESCRIBE hourly_summary"); + $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); + + if (empty($columns)) { + echo " ⚠️ Table 'hourly_summary' does not exist (optional table)\n"; + } else { + echo " ✅ Table 'hourly_summary' exists with columns:\n"; + foreach ($columns as $col) { + echo " - {$col['Field']} ({$col['Type']})\n"; + } + } + + echo "\n7. Testing query (similar to DailySummaryService):\n"; $testSql = " SELECT DATE(e.event_time) as summary_date, diff --git a/src/Modules/Retribusi/Summary/DailySummaryService.php b/src/Modules/Retribusi/Summary/DailySummaryService.php index 666e762..02b0ac9 100644 --- a/src/Modules/Retribusi/Summary/DailySummaryService.php +++ b/src/Modules/Retribusi/Summary/DailySummaryService.php @@ -68,14 +68,14 @@ class DailySummaryService $rowsProcessed = 0; // Upsert to daily_summary + // Note: Table may not have created_at/updated_at columns $upsertSql = " INSERT INTO daily_summary - (summary_date, location_code, gate_code, category, total_count, total_amount, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, NOW(), NOW()) + (summary_date, location_code, gate_code, category, total_count, total_amount) + VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE total_count = VALUES(total_count), - total_amount = VALUES(total_amount), - updated_at = NOW() + total_amount = VALUES(total_amount) "; $upsertStmt = $this->db->prepare($upsertSql); diff --git a/src/Modules/Retribusi/Summary/HourlySummaryService.php b/src/Modules/Retribusi/Summary/HourlySummaryService.php index 829fcc7..90d8bd0 100644 --- a/src/Modules/Retribusi/Summary/HourlySummaryService.php +++ b/src/Modules/Retribusi/Summary/HourlySummaryService.php @@ -71,14 +71,14 @@ class HourlySummaryService $rowsProcessed = 0; // Upsert to hourly_summary + // Note: Table may not have created_at/updated_at columns $upsertSql = " INSERT INTO hourly_summary - (summary_date, summary_hour, location_code, gate_code, category, total_count, total_amount, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) + (summary_date, summary_hour, location_code, gate_code, category, total_count, total_amount) + VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE total_count = VALUES(total_count), - total_amount = VALUES(total_amount), - updated_at = NOW() + total_amount = VALUES(total_amount) "; $upsertStmt = $this->db->prepare($upsertSql);