8. ĐẶC TẢ PHÂN HỆ - BẢNG CÔNG
Đánh giá & Xử lý Thay đổi
Bảng công là kết quả tổng hợp của dữ liệu chấm công (Attendance), dữ liệu ca làm việc (Shifts) và dữ liệu xin nghỉ phép (Leave).
| Function ID | Chức năng | Trạng thái hiện trạng | Phân loại thay đổi | Mức độ ảnh hưởng | Phương án xử lý | Tóm tắt nội dung thay đổi |
|---|---|---|---|---|---|---|
| FN-TS-01 | Chốt / Mở chốt bảng công tháng | Tính năng bổ sung mới | Xây dựng tính năng mới | Lớn | Đặc tả tính năng mới | Cơ chế Khóa kỳ công mới |
| FN-TS-02 | Chạy lại máy tính công (Recalculate Engine) | Tính năng bổ sung mới | Xây dựng tính năng mới | Lớn | Đặc tả tính năng mới | Máy tính công tự động |
| FN-TS-03 | Xem bảng công cá nhân chi tiết | Quy trình hiện hành (Đã có) | Giữ nguyên nghiệp vụ gốc | Thấp | Tham chiếu quy trình gốc | Xem bảng công như cũ |
| FN-TS-04 | Xem ma trận bảng công tổng hợp | Quy trình hiện hành (Đã có) | Thay đổi luồng nghiệp vụ chính | Trung bình | Đặc tả lại toàn bộ luồng | Cấu trúc ma trận công ty mới |
Quy tắc chọn Phương án xử lý
Việc chọn Phương án xử lý cho từng chức năng ở trên tuân theo Decision Matrix chung của toàn hệ thống — xem 4.1.3 Requirement Phương án xử lý và 4.1.4 Decision Matrix.
Mẫu mô tả theo từng case
Mỗi UC bên dưới được trình bày theo đúng bố cục Case (A–F) tương ứng với Phân loại thay đổi của nó — xem định nghĩa chi tiết từng case tại 4.1.6 Mẫu mô tả theo từng case.
Phạm vi chức năng
Module này phụ trách việc tổng hợp dữ liệu, quy đổi thành các ký hiệu công (ví dụ: AL - Annual Leave, X - Đi làm đủ, V - Vắng), chốt bảng công hàng tháng và cung cấp báo cáo ma trận.
Business Rules dùng chung
Quy tắc chốt công (Lock Timesheet)
Khóa dữ liệu (Lock): Khi bảng công của một tháng bị khóa (isLocked = true), hệ thống không cho phép thêm, sửa, xóa bất kỳ dữ liệu Attendance hay Leave nào thuộc tháng đó.Tính toán lại (Recalculate): Chỉ được phép tính lại bảng công khi tháng đó chưa bị khóa.
Use Case Catalog
| UC ID | Use Case | Vai trò thực hiện | FR | Dịch vụ tích hợp | Giao diện thao tác |
|---|---|---|---|---|---|
| UC-TS-01 | Chốt / Mở chốt bảng công tháng | HR, Admin | FR-TS-01 | POST /timesheet/lock, POST /timesheet/unlock |
SCR-TS-01 |
| UC-TS-02 | Chạy lại máy tính công | HR, Admin | — | POST /timesheet/recalculate |
SCR-TS-02 |
| UC-TS-03 | Xem bảng công cá nhân chi tiết | Employee, Manager | — | — | SCR-TS-03 |
| UC-TS-04 | Xem ma trận bảng công tổng hợp | HR, Manager, Admin | — | GET /timesheet/matrix |
SCR-TS-04 |
8.1 UC-TS-01 - Chốt / Mở chốt bảng công tháng
Mô tả: Khóa bảng công để chuẩn bị tính lương, hoặc mở khóa nếu cần điều chỉnh sai sót.
UC-TS-01 — Chốt / Mở chốt bảng công tháng
- Trạng thái
- Tính năng mới bổ sung
- Mục tiêu (BN)
- BN-04 Khóa kỳ công
- Vai trò thực hiện
- HR, Admin
- Điều kiện
- Quyền
timesheet.manage - Quy tắc nghiệp vụ
- RULE-TS-01
- Màn hình UI
- SCR-TS-01
- API Endpoint
POST /timesheet/lock
- HR truy cập màn hình Bảng công tháng.
- HR chọn chức năng "Chốt bảng công".
- Hệ thống gọi API
POST /timesheet/lock?year=YYYY&month=MM. - Bản ghi
TimesheetLockcập nhậtisLocked = truekèm thông tinlockedBy. - Tất cả các thay đổi về Chấm công/Phép thuộc tháng này tự động bị khóa chống chỉnh sửa.
- Mở chốt: HR/Admin gọi API
POST /timesheet/unlockđể mở lại kỳ công (Yêu cầu quyền Admin cấp cao).
8.2 UC-TS-02 - Chạy lại máy tính công
Mô tả: Kích hoạt engine tính toán lại công cho toàn bộ nhân sự trong tháng.
UC-TS-02 — Chạy lại máy tính công
- Trạng thái
- Tính năng mới bổ sung
- Mục tiêu (BN)
- BN-04 Tính công tự động
- Vai trò thực hiện
- HR, Admin
- Điều kiện
- Tháng chưa bị khóa (
isLocked = false) - Quy tắc nghiệp vụ
- RULE-TS-02
- Màn hình UI
- SCR-TS-02
- API Endpoint
POST /timesheet/recalculate
- HR chọn tháng/năm và nhấn "Tính toán lại".
- Gọi API
POST /timesheet/recalculate?year=YYYY&month=MM. - Timesheet Engine tự động quét toàn bộ dữ liệu Attendance, Shift và Leave.
- Tính toán quy đổi ra các bản ghi
TimesheetDailykèm ký hiệu công (AL,X,V...). - Hoàn tất và trả về tổng hợp kết quả.
- E1 - Kỳ công đã khóa: Báo lỗi "Cannot recalculate locked month" và từ chối tính toán.
8.3 UC-TS-03 - Xem bảng công cá nhân chi tiết
Mô tả: Nhân viên xem bảng chấm công chi tiết theo từng ngày của mình.
UC-TS-03 — Xem bảng công cá nhân chi tiết
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-04
- Vai trò thực hiện
- Employee, Manager
- Điều kiện
- Áp dụng
EmployeeScopeGuard - Quy tắc nghiệp vụ
- RULE-TS-03
- Màn hình UI
- SCR-TS-03
Giữ nguyên màn hình xem công cá nhân và giao diện hiển thị chi tiết theo ngày.
Không phát triển mới, chỉ test regression tính năng hiển thị.
8.4 UC-TS-04 - Xem ma trận bảng công tổng hợp
Mô tả: HR hoặc Quản lý xem bảng công toàn công ty/phòng ban dưới dạng ma trận.
UC-TS-04 — Xem ma trận bảng công tổng hợp
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-04 Ma trận bảng công
- Vai trò thực hiện
- HR, Manager, Admin
- Điều kiện
- Quyền xem bảng công tổng hợp
- Quy tắc nghiệp vụ
- RULE-TS-04
- Màn hình UI
- SCR-TS-04
- API Endpoint
GET /timesheet/matrix
- User chọn các tham số bộ lọc (Tháng, Năm, Phòng ban, Cơ sở).
- Gọi API
GET /timesheet/matrix?year=YYYY&month=MM&departmentId=xxx. - Hệ thống dựng ma trận 2 chiều: Hàng là danh sách Nhân viên, Cột là ngày 1 đến cuối tháng.