Commit Graph

15 Commits

Author SHA1 Message Date
a3166b97d2 fix: prioritize employee profile branch over raw terminal branch in biometric logs and sync logic, add swap migration 2026-06-05 12:09:44 +08:00
bf21a719c7 feat(biometrics): add shift-aware punch routing, 60s double-punch protection, and sync status column with pre-selection matching 2026-06-04 14:08:34 +08:00
bcb81ed68a fix(attendance): resolve absent status on active clock-in, add auto-logout after 12h, support single punches in BiometricAttendanceController 2026-05-30 11:34:22 +08:00
f393a8282f fix: preserve existing shift and policy in attendance record when overwriting via biometric sync 2026-05-28 12:29:55 +08:00
a1695010f1 fix: allow bulk sync overwrite to process already-synced biometric records and respect active filters 2026-05-28 12:12:23 +08:00
e65cefb933 feat: remove default 7-day date filter from biometric attendance page 2026-05-28 11:55:51 +08:00
02632bb92a feat: add local agent logging and bulk sync overwrite option 2026-05-25 11:52:10 +08:00
9235ddbff5 fix: copy branch_id from biometric log in syncCustom 2026-05-25 11:33:33 +08:00
9e93996f50 feat: implement manual pairing and custom sync for biometric attendance 2026-05-25 11:30:18 +08:00
3b90534d98 Refactor biometric attendance to use database 2026-05-19 17:16:46 +08:00
149bd1165e Fix UI configuration block for local agent users 2026-05-19 16:39:11 +08:00
7f92eff3eb Switch biometric agent to staging JSON cache flow 2026-05-19 16:27:54 +08:00
cc3f4e3a89 fix: move ZKTeco library inside app to avoid composer autoloader issues on shared hosting 2026-05-19 13:35:12 +08:00
20a79a130d feat: implement multi-branch biometric IP configuration and auto-sync 2026-05-19 11:24:41 +08:00
273c8e8153 initial commit 2026-04-13 08:16:56 +08:00