Appearance
Timekeeping Module
Mục đích
Quản lý lịch làm việc và chấm công của nhân viên: tạo/cập nhật working schedule, import/export bảng công và xem lịch sử chấm công. Đây là module attendance vận hành hàng ngày.
Quy mô
- 3 FE pages
- 8 FE components
- 1 GraphQL file
- 2 nhóm nghiệp vụ chính
Actors & Permissions
| Nhóm chức năng | Quyền |
|---|---|
| Working schedule | ITLeader, ITStaff, BranchPOS và một số role vận hành khác |
| Clocking history | ITLeader, ITStaff |
Feature Groups
| Group | Mô tả | Pages |
|---|---|---|
| Working Schedule | Danh sách lịch làm việc, tạo mới, import/export, update button | WorkingSchedule.tsx, WorkingScheduleCreate.tsx |
| Working Time Sheet | Xem bảng công/chấm công tổng hợp | WorkingTimeSheet.tsx |
Liên kết Modules
- user — employee, branch, assignee dimensions
- salary — ngày công và lịch làm việc ảnh hưởng tính lương
- settings — shift, holiday, approver cấu hình tại settings
Backend Services
| Service | Vai trò |
|---|---|
| controller (Hasura) | CRUD working schedule và query timesheet |
| ecommerce-api | Actions/events cho request_working_schedule_*, change status, update data |
Databases
| DB | Key tables |
|---|---|
| hrm | request_working_schedule, request_working_schedule_item, holiday/time slot related tables |
Đặc điểm kiến trúc
- FE có ít page nhưng bám mạnh vào import/export và helper compositions (
useExportWorkingTimeSheet,useWorkingScheduleImport). - Navigation sidebar tách rõ "Lịch làm việc" và "Chấm công".
- Timekeeping không sống độc lập: shift/holiday/approval ở settings, salary/report dùng lại dữ liệu timesheet.
Deep Dives
- request-working-schedule — đào sâu request engine, direct schedule upsert/import và timesheet merged projection