7. ĐẶC TẢ PHÂN HỆ - QUẢN LÝ PHÉP
Đánh giá & Xử lý Thay đổi
Quản lý ngày nghỉ, định mức phép (balances) và quy trình xét duyệt xin nghỉ (Leave Approval Workflow).
| 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-LV-01 | Xem quỹ phép (Leave Balances) | Quy trình hiện hành (Đã có) | Cải tiến giao diện thao tác | Thấp | Đặc tả bổ sung (Delta Spec) | Trình bày lại Dashboard quỹ phép |
| FN-LV-02 | Nộp đơn xin nghỉ (Submit Request) | Quy trình hiện hành (Đã có) | Thay đổi luồng nghiệp vụ chính | Lớn | Đặc tả lại toàn bộ luồng | Đổi luồng nộp đơn nhiều ngày |
| FN-LV-03 | Danh sách đơn xin nghỉ | 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 | Không thay đổi danh sách |
| FN-LV-04 | Duyệt / Từ chối đơn xin nghỉ (Decide) | Quy trình hiện hành (Đã có) | Thay đổi luồng nghiệp vụ chính | Lớn | Đặc tả lại toàn bộ luồng | Luồng duyệt 2 cấp mới |
| FN-LV-05 | Hủy đơn xin nghỉ (Cancel) | Quy trình hiện hành (Đã có) | Cập nhật điều kiện nghiệp vụ phụ | Thấp | Đặc tả bổ sung (Delta Spec) | Chặn hủy nếu đã duyệt |
| FN-LV-06 | Xem lịch nghỉ phép (Leave Calendar) | Tính năng bổ sung mới | Xây dựng tính năng mới | Trung bình | Đặc tả tính năng mới | Thêm View Lịch chung toàn công ty |
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 quản lý Quỹ phép (Leave Balances), Loại phép (Leave Types), và toàn bộ vòng đời của Đơn xin nghỉ phép (Leave Requests) từ lúc tạo, duyệt, đến khi trừ quỹ.
Business Rules dùng chung
Quy tắc duyệt phép (Leave Rules)
Trừ quỹ phép: Chỉ trừ vào quỹ phép (Balance) khi đơn ở trạng thái "Đã phê duyệt" (Approved).Hủy đơn: Nhân viên chỉ có thể tự hủy đơn khi trạng thái làPENDING. Nếu đã duyệt, cần HR can thiệp.
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-LV-01 | Xem quỹ phép | Employee | — | — | SCR-LV-01 |
| UC-LV-02 | Nộp đơn xin nghỉ | Employee, HR, Admin | FR-LV-02 | POST /leave/requests |
SCR-LV-02 |
| UC-LV-03 | Danh sách đơn xin nghỉ | Employee, HR/Admin | — | — | SCR-LV-03 |
| UC-LV-04 | Duyệt / Từ chối đơn xin nghỉ | Manager, HR | — | PATCH /leave/requests/:id/decide |
SCR-LV-04 |
| UC-LV-05 | Hủy đơn xin nghỉ | Employee | — | — | SCR-LV-05 |
| UC-LV-06 | Xem lịch nghỉ phép | Manager, HR, Employee | — | GET /leave/calendar |
SCR-LV-06 |
7.1 UC-LV-01 - Xem quỹ phép
Mô tả: Nhân viên xem số ngày phép còn lại của mình trong năm hiện tại hoặc năm bất kỳ.
UC-LV-01 — Xem quỹ phép
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-01 Quản lý nghỉ phép
- Vai trò thực hiện
- Employee
- Điều kiện
- Có quyền truy cập hệ thống
- Quy tắc nghiệp vụ
- RULE-LV-01
- Màn hình UI
- SCR-LV-01
Giao diện cũ hiển thị quỹ phép dạng văn bản thô, không phân loại theo loại phép.
Dashboard quỹ phép trực quan với thẻ Progress Bar hiển thị số ngày Đã nghỉ / Còn lại / Tổng định mức.
Trình bày lại Dashboard quỹ phép theo thiết kế mới. Logic tính toán quỹ phép giữ nguyên không đổi.
7.2 UC-LV-02 - Nộp đơn xin nghỉ
Mô tả: Nhân viên tạo một đơn xin nghỉ phép (theo giờ, theo buổi, hoặc nhiều ngày).
UC-LV-02 — Nộp đơn xin nghỉ phép
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-01 Quản lý nghỉ phép
- Vai trò thực hiện
- Employee, HR, Admin
- Điều kiện
- Tài khoản kích hoạt, quỹ phép khả dụng
- Business Rules
- RULE-LV-02
- Màn hình UI
- SCR-LV-02
- API Endpoint
POST /leave/requests
- User chọn loại phép (
leaveTypeId), khoảng thời gian (startDate,endDate) và hình thức (leaveMode). - Hệ thống tự động gọi API
GET /leave/shift-infođể đối chiếu lịch ca làm việc và tính toán chính xác số ngày công/giờ phép sẽ bị trừ. - User nhập lý do xin nghỉ, đính kèm tệp minh chứng (nếu có) và nhấn Nộp đơn (
POST /leave/requests). - Hệ thống kiểm tra các ràng buộc validation: Số dư quỹ phép > 0, không trùng lặp khoảng thời gian với các đơn xin nghỉ khác.
- Khởi tạo bản ghi ở trạng thái
PENDING, đồng thời gửi thông báo (Notification/Email) đến Quản lý trực tiếp để chờ duyệt.
- A1 - HR/Admin nộp thay: Người dùng thuộc vai trò HR/Admin được phép bổ sung tham số
targetEmployeeIdđể nộp đơn thay cho nhân viên khác. Hệ thống sẽ ghi nhận lịch sửcreated_by = HR_USER.
- E1 - Quỹ phép không đủ: Hệ thống hiển thị cảnh báo
400 Bad Request: LEAVE_BALANCE_INSUFFICIENTvà từ chối khởi tạo đơn. - E2 - Trùng lịch nghỉ: Báo lỗi
409 Conflictnếu khoảng thời gian đã tồn tại đơn ở trạng thái PENDING/APPROVED.
7.3 UC-LV-03 - Danh sách đơn xin nghỉ
Mô tả: Xem danh sách và trạng thái các đơn xin nghỉ đã nộp.
UC-LV-03 — Danh sách đơn xin nghỉ
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-01
- Vai trò thực hiện
- Employee (Cá nhân), HR/Admin (Toàn bộ)
- Điều kiện
- Đã đăng nhập hệ thống.
- Quy tắc nghiệp vụ
- RULE-LV-03
- Màn hình UI
- SCR-LV-03
Giữ nguyên màn hình hiển thị danh sách đơn xin nghỉ và bộ lọc trạng thái PENDING/APPROVED/REJECTED cũ.
Không phát triển mới. Chỉ thực hiện test regression tính năng lọc và hiển thị danh sách.
7.4 UC-LV-04 - Duyệt / Từ chối đơn xin nghỉ
Mô tả: Quản lý hoặc HR xem danh sách đơn chờ duyệt và ra quyết định.
UC-LV-04 — Duyệt / Từ chối đơn xin nghỉ
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-01
- Vai trò thực hiện
- Manager, HR
- Điều kiện
- Quyền
leave.decide - Quy tắc nghiệp vụ
- RULE-LV-04 (Luồng duyệt 2 cấp mới)
- Màn hình UI
- SCR-LV-04
- API Endpoint
PATCH /leave/requests/:id/decide
- Quản lý/HR gọi
GET /leave/requests/pendingđể xem danh sách đơn chờ duyệt thuộc thẩm quyền. - Xem chi tiết nội dung đơn, lý do và minh chứng đính kèm.
- Gọi API
PATCH /leave/requests/:id/decidetruyền tham sốapprove=truehoặcapprove=falsekèm lý do. - Nếu duyệt (
APPROVED), hệ thống chính thức thực hiện trừ quỹ phép tương ứng. - Hệ thống tự động gửi thông báo (Notification/Email) cập nhật kết quả cho nhân viên nộp đơn.
7.5 UC-LV-05 - Hủy đơn xin nghỉ
Mô tả: Rút lại đơn xin nghỉ đã nộp.
UC-LV-05 — Hủy đơn xin nghỉ
- Trạng thái
- Quy trình hiện hành
- Mục tiêu (BN)
- BN-01
- Vai trò thực hiện
- Employee
- Điều kiện
- Đơn ở trạng thái
PENDING - Quy tắc nghiệp vụ
- RULE-LV-05
- Màn hình UI
- SCR-LV-05
Nhân viên có thể bấm hủy đơn bất kỳ lúc nào, kể cả khi đơn đã ở trạng thái APPROVED.
Chỉ cho phép nhân viên tự hủy khi đơn ở trạng thái PENDING. Nếu đơn đã APPROVED, chặn nút Hủy và yêu cầu HR can thiệp.
7.6 UC-LV-06 - Xem lịch nghỉ phép
Mô tả: Xem lịch tổng hợp những người đang nghỉ phép trong phòng ban hoặc toàn công ty.
UC-LV-06 — Xem lịch nghỉ phép
- Trạng thái
- Tính năng mới bổ sung
- Mục tiêu (BN)
- BN-01
- Vai trò thực hiện
- Manager, HR, Employee
- Điều kiện
- Quyền
leave.view_calendar - Quy tắc nghiệp vụ
- RULE-LV-06
- Màn hình UI
- SCR-LV-06
- API Endpoint
GET /leave/calendar
- User mở màn hình Lịch nghỉ phép.
- Hệ thống gọi API
GET /leave/calendar?year=YYYY&month=MM&departmentId=xxx. - Hệ thống trả về danh sách các ca nghỉ đã được duyệt hiển thị theo giao diện Lịch tháng/tuần.