Commit Graph

210 Commits

Author SHA1 Message Date
49f35a64a5 feat: add npm run build to deploy script workflow 2026-05-26 08:32:41 +08:00
4d7fc82d3d debug: add robust Git root directory auto-detection 2026-05-26 08:30:46 +08:00
24123393ef debug: support remote URL configuration parameter in git-pull 2026-05-26 08:27:55 +08:00
589df7bd21 debug: add proc_open fallback to git-pull script 2026-05-26 08:27:23 +08:00
8594cdfe95 debug: add diagnostics and execution fallbacks to deploy script 2026-05-26 08:26:52 +08:00
37eb6f7f8b chore: update git-pull security token 2026-05-26 08:25:59 +08:00
ce08c2c665 feat: add standalone git-pull.php deployment script 2026-05-26 08:22:42 +08:00
30fbaf4a0f feat: overhaul bulk biometric sync UI and remove individual row sync action 2026-05-26 08:18:11 +08:00
02632bb92a feat: add local agent logging and bulk sync overwrite option 2026-05-25 11:52:10 +08:00
ce91ed0346 build: rebuild sync agent and update v1.0 archive 2026-05-25 11:39:06 +08:00
c54187c4ef chore: archive sync agent v1.0 2026-05-25 11:34:46 +08:00
33a2dbed16 feat: implement multi-branch attendance tracking and filter updates 2026-05-25 11:34:04 +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
fe7013b140 feat: use SYNC_DAYS env variable in biometric agent 2026-05-25 09:52:03 +08:00
76a65445a0 Fix: Holiday pay proration — deduct 1h break, use 8h standard, floor hours
Biometrics doesn't track breaks, inflating total_hours by ~1h.
The fix deducts 1h meal break, floors to whole hours (client policy),
and uses DOLE 8h standard instead of 9h shift duration.

Dinh May 1: floor(7.28-1)/8 = 6/8 = 0.75 × ₱765 = ₱573.75 
(was: 7.28/9 = 0.81 × ₱765 = ₱618.80)
2026-05-22 14:25:50 +08:00
a79ccc6462 chore: clean up duplicate sync route in app.php 2026-05-19 17:29:38 +08:00
3b90534d98 Refactor biometric attendance to use database 2026-05-19 17:16:46 +08:00
98d9dab18f fix: eager load branch on correct relation 2026-05-19 16:57:09 +08:00
026b63f2b7 build: compile assets for attendance record branch integration 2026-05-19 16:54:57 +08:00
03865bf03e feat: add branch filtering and column to attendance records 2026-05-19 16:47:07 +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
ceb03224b5 Fix Carbon parsing for JS date strings with timezone names 2026-05-19 15:33:47 +08:00
c3acfe9233 Fix ZKTeco date parsing and CSRF whitelist 2026-05-19 15:11:44 +08:00
ee7d0e1aa5 feat: improve employee lookup by branch_id and add sync debug reasons 2026-05-19 14:48:31 +08:00
1833344434 chore: remove temporary force-prod-sync utility route 2026-05-19 14:27:05 +08:00
8d1c004ce2 fix: remove storage link from force-prod-sync to prevent exec() error on shared hosting 2026-05-19 14:23:53 +08:00
5696c98bb5 fix: refactor ZKTeco API receiver to group by day and use correct AttendanceRecord table, and limit agent to last 15 days 2026-05-19 14:17:48 +08:00
cfb183f8f7 fix: update branch agent default IP to 192.168.0.201 2026-05-19 14:11:44 +08:00
172937f22d feat: implement ZKTeco local sync agent architecture 2026-05-19 13:51:03 +08:00
b8368648f1 fix: update composer classmap for new App\Library\ZKTeco namespace 2026-05-19 13:38:12 +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
4083734de6 fix: commit vendor files for rats/zkteco library 2026-05-19 13:25:09 +08:00
ab2913d04b chore: commit composer lock for zkteco library 2026-05-19 13:23:07 +08:00
b353aad649 feat: add ZKTeco connection testing wizard in branch form 2026-05-19 13:18:04 +08:00
c288ba60ad chore: track public/build assets for webhook deployment 2026-05-19 11:47:19 +08:00
f813999264 chore: ignore public/build directory 2026-05-19 11:32:11 +08:00
20a79a130d feat: implement multi-branch biometric IP configuration and auto-sync 2026-05-19 11:24:41 +08:00
2ecce8a990 feat: enforce time rounding down to the nearest 30 mins for total_hours 2026-05-18 14:46:49 +08:00
2d37e3d3da feat: automatically deduct shift break duration from attendance total hours if shift break times are missing 2026-05-18 14:41:34 +08:00
0a9b564fdf fix: correctly calculate holiday premium addition for monthly earners 2026-05-18 14:17:26 +08:00
df7ebf0ef2 fix: allow updating payroll entries during processing status 2026-05-18 13:50:18 +08:00
cc02005d7f fix: show generate payslips action on index for processing status 2026-05-18 13:41:20 +08:00
78d6c4d494 feat: implement 3-step payroll status workflow (draft -> processing -> completed) 2026-05-18 13:01:21 +08:00
bda1dcd7d5 fix: resolve FormEvent preventDefault error on custom modal save 2026-05-18 12:54:23 +08:00
6e10efc408 feat: implement 2-column payslip-style payroll adjustment overrides 2026-05-18 12:30:14 +08:00
64cc09ad15 Fix: Deduct 1.5h meal break from ND hours per day + flat 10% rate
Biometrics doesn't track break in/out, inflating night_diff_hours.
Deduct 1.5h per night shift day for the untracked meal break.
Also removed OT multiplier compounding from ND — all ND hours
use flat hourlyRate × 10% per client policy.

Dinh Chavez: 24h raw → 12h adjusted = ₱114.75 (exact client match)
2026-05-15 22:08:37 +08:00
1018f04fec Fix: Use attendance record as ground truth for rest day instead of weekend default
Employees who work Saturdays (like Ana Regina) were having their LWOP on Saturdays ignored because the system treated all Saturdays as rest days. Now the attendance record's is_rest_day flag overrides the weekend assumption.
2026-05-15 19:22:58 +08:00
ca48602a76 Fix: Prorate holiday pay for daily employees, flat 10% ND rate, detect LWOP from absent status 2026-05-15 19:16:54 +08:00