[2025-10-09 14:20:53] Connected to SQL Server. [2025-10-09 14:20:53] Connected to MySQL. [2025-10-09 14:20:53] Connected to MySQL SIMPEG. [2025-10-09 14:20:53] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:20:53] Inserted to temp_transaksi: PIN=2023105, Time=2025-10-09 19:00:24 [2025-10-09 14:20:53] Inserted to temp_transaksi: PIN=2023105, Time=2025-10-09 19:06:07 [2025-10-09 14:20:53] Detected as SATPAM: kar_id=575 [2025-10-09 14:20:53] Reset expired morning shift: kar_id=575 [2025-10-09 14:20:54] ✓ SCHEDULE-BASED: malam for 575 on 2025-10-09 [2025-10-09 14:20:54] ✓ SHIFT ASSIGNED: malam (source: schedule) for kar_id=575 [2025-10-09 14:20:54] Check-in inserted: kar_id=575, shift=malam, source=schedule [2025-10-09 14:20:54] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:20:54] All database connections closed. Enhanced sync process completed. [2025-10-09 14:22:03] Connected to SQL Server. [2025-10-09 14:22:03] Connected to MySQL. [2025-10-09 14:22:03] Connected to MySQL SIMPEG. [2025-10-09 14:22:03] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:22:03] Inserted to temp_transaksi: PIN=2023105, Time=2025-10-09 19:06:24 [2025-10-09 14:22:03] Inserted to temp_transaksi: PIN=2023105, Time=2025-10-09 19:06:07 [2025-10-09 14:22:03] Detected as SATPAM: kar_id=575 [2025-10-09 14:22:03] Reset expired morning shift: kar_id=575 [2025-10-09 14:22:04] ✓ SCHEDULE-BASED: malam for 575 on 2025-10-09 [2025-10-09 14:22:04] ✓ SHIFT ASSIGNED: malam (source: schedule) for kar_id=575 [2025-10-09 14:22:04] Check-in inserted: kar_id=575, shift=malam, source=schedule [2025-10-09 14:22:04] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:22:04] All database connections closed. Enhanced sync process completed. [2025-10-09 14:45:27] Connected to SQL Server. [2025-10-09 14:45:27] Connected to MySQL. [2025-10-09 14:45:27] Connected to MySQL SIMPEG. [2025-10-09 14:45:27] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:45:27] Inserted to temp_transaksi: PIN=2024054, Time=2025-10-09 16:12:55 [2025-10-09 14:45:27] Reset expired morning shift: kar_id=1044 [2025-10-09 14:45:27] Force close hanging attendance for afternoon shift: kar_id=1044 [2025-10-09 14:45:27] ⚠ NO SCHEDULE: kar_id=1044, date=2025-10-09 - Consider running migration script [2025-10-09 14:45:27] ✗ REJECTED: No schedule found for 1044 on 2025-10-09 (strict mode) [2025-10-09 14:45:27] ⚠ ALLOWING FALLBACK: Schedule coverage only 0% for kar_id=1044 [2025-10-09 14:45:27] ⚠ NO SCHEDULE: kar_id=1044, date=2025-10-09 - Consider running migration script [2025-10-09 14:45:27] ⚠ FALLBACK: Using time-based detection sore for 1044 (SCHEDULE MISSING!) [2025-10-09 14:45:27] ⚠ SHIFT ASSIGNED: sore (source: fallback) for kar_id=1044 [2025-10-09 14:45:27] Check-in inserted: kar_id=1044, shift=sore, source=fallback [2025-10-09 14:45:27] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:45:27] All database connections closed. Enhanced sync process completed. [2025-10-09 14:46:28] Connected to SQL Server. [2025-10-09 14:46:28] Connected to MySQL. [2025-10-09 14:46:28] Connected to MySQL SIMPEG. [2025-10-09 14:46:28] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:46:28] Inserted to temp_transaksi: PIN=2024054, Time=2025-10-09 21:12:55 [2025-10-09 14:46:28] Reset expired morning shift: kar_id=1044 [2025-10-09 14:46:28] ⚠ NO SCHEDULE: kar_id=1044, date=2025-10-09 - Consider running migration script [2025-10-09 14:46:28] ✗ REJECTED: No schedule found for 1044 on 2025-10-09 (strict mode) [2025-10-09 14:46:28] ⚠ ALLOWING FALLBACK: Schedule coverage only 0% for kar_id=1044 [2025-10-09 14:46:28] ⚠ NO SCHEDULE: kar_id=1044, date=2025-10-09 - Consider running migration script [2025-10-09 14:46:28] ⚠ WARNING: No schedule AND outside shift hours for 1044 on 2025-10-09 at 2025-10-09 21:12:55 [2025-10-09 14:46:28] ✗ FINAL REJECT: No valid shift determination for PIN=2024054, event_time=2025-10-09 21:12:55 [2025-10-09 14:46:28] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:46:28] All database connections closed. Enhanced sync process completed. [2025-10-09 14:49:18] Connected to SQL Server. [2025-10-09 14:49:18] Connected to MySQL. [2025-10-09 14:49:18] Connected to MySQL SIMPEG. [2025-10-09 14:49:18] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:49:18] Inserted to temp_transaksi: PIN=2024054, Time=2025-10-09 21:12:55 [2025-10-09 14:49:18] Reset expired morning shift: kar_id=1044 [2025-10-09 14:49:19] ✓ SCHEDULE-BASED: sore for 1044 on 2025-10-09 [2025-10-09 14:49:19] ✓ SHIFT ASSIGNED: sore (source: schedule) for kar_id=1044 [2025-10-09 14:49:19] Check-in inserted: kar_id=1044, shift=sore, source=schedule [2025-10-09 14:49:19] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:49:19] All database connections closed. Enhanced sync process completed. [2025-10-09 14:51:55] Connected to SQL Server. [2025-10-09 14:51:55] Connected to MySQL. [2025-10-09 14:51:55] Connected to MySQL SIMPEG. [2025-10-09 14:51:55] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:51:55] Inserted to temp_transaksi: PIN=2021011, Time=2025-10-09 09:16:20 [2025-10-09 14:51:55] ⚠ NO SCHEDULE: kar_id=403, date=2025-10-09 - Consider running migration script [2025-10-09 14:51:55] ⚠ NO SCHEDULE: kar_id=403, date=2025-10-09 - Consider running migration script [2025-10-09 14:51:55] ⚠ FALLBACK: Using time-based detection pagi for 403 (SCHEDULE MISSING!) [2025-10-09 14:51:55] ⚠ FALLBACK checkout validation for 403 (no schedule found) [2025-10-09 14:51:55] Invalid checkout: kar_id=403, shift=pagi, hours=0 [2025-10-09 14:51:55] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:51:55] All database connections closed. Enhanced sync process completed. [2025-10-09 14:52:38] Connected to SQL Server. [2025-10-09 14:52:38] Connected to MySQL. [2025-10-09 14:52:38] Connected to MySQL SIMPEG. [2025-10-09 14:52:38] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:52:38] Inserted to temp_transaksi: PIN=2021011, Time=2025-10-09 09:16:20 [2025-10-09 14:52:38] Reset old attendance for new morning shift: kar_id=403 [2025-10-09 14:52:39] ⚠ NO SCHEDULE: kar_id=403, date=2025-10-09 - Consider running migration script [2025-10-09 14:52:39] ✗ REJECTED: No schedule found for 403 on 2025-10-09 (strict mode) [2025-10-09 14:52:39] ⚠ ALLOWING FALLBACK: Schedule coverage only 0% for kar_id=403 [2025-10-09 14:52:39] ⚠ NO SCHEDULE: kar_id=403, date=2025-10-09 - Consider running migration script [2025-10-09 14:52:39] ⚠ FALLBACK: Using time-based detection pagi for 403 (SCHEDULE MISSING!) [2025-10-09 14:52:39] ⚠ SHIFT ASSIGNED: pagi (source: fallback) for kar_id=403 [2025-10-09 14:52:39] Check-in inserted: kar_id=403, shift=pagi, source=fallback [2025-10-09 14:52:39] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:52:39] All database connections closed. Enhanced sync process completed. [2025-10-09 14:53:30] Connected to SQL Server. [2025-10-09 14:53:30] Connected to MySQL. [2025-10-09 14:53:30] Connected to MySQL SIMPEG. [2025-10-09 14:53:30] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:53:30] Inserted to temp_transaksi: PIN=2021011, Time=2025-10-09 07:16:20 [2025-10-09 14:53:30] Reset old attendance for new morning shift: kar_id=403 [2025-10-09 14:53:31] ⚠ NO SCHEDULE: kar_id=403, date=2025-10-09 - Consider running migration script [2025-10-09 14:53:31] ✗ REJECTED: No schedule found for 403 on 2025-10-09 (strict mode) [2025-10-09 14:53:31] ⚠ ALLOWING FALLBACK: Schedule coverage only 0% for kar_id=403 [2025-10-09 14:53:31] ⚠ NO SCHEDULE: kar_id=403, date=2025-10-09 - Consider running migration script [2025-10-09 14:53:31] ⚠ FALLBACK: Using time-based detection pagi for 403 (SCHEDULE MISSING!) [2025-10-09 14:53:31] ⚠ SHIFT ASSIGNED: pagi (source: fallback) for kar_id=403 [2025-10-09 14:53:31] Check-in inserted: kar_id=403, shift=pagi, source=fallback [2025-10-09 14:53:31] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:53:31] All database connections closed. Enhanced sync process completed. [2025-10-09 14:54:15] Connected to SQL Server. [2025-10-09 14:54:15] Connected to MySQL. [2025-10-09 14:54:15] Connected to MySQL SIMPEG. [2025-10-09 14:54:15] ShiftManager initialized for schedule-based shift detection. [2025-10-09 14:54:15] Inserted to temp_transaksi: PIN=2021011, Time=2025-10-09 11:16:20 [2025-10-09 14:54:15] ⚠ NO SCHEDULE: kar_id=403, date=2025-09-25 - Consider running migration script [2025-10-09 14:54:15] ⚠ NO SCHEDULE: kar_id=403, date=2025-09-25 - Consider running migration script [2025-10-09 14:54:15] ⚠ FALLBACK: Using time-based detection pagi for 403 (SCHEDULE MISSING!) [2025-10-09 14:54:15] ⚠ FALLBACK checkout validation for 403 (no schedule found) [2025-10-09 14:54:15] Invalid checkout: kar_id=403, shift=pagi, hours=339.23 [2025-10-09 14:54:15] Enhanced sync completed successfully with schedule-based shift detection. [2025-10-09 14:54:15] All database connections closed. Enhanced sync process completed.