App 2 – Nghỉ phép & ngày lễ ​

Hướng: Bổ sung vào hrm · Đợt: Song song (backlog hrm) · Phụ thuộc: App 1
Quy ước chung, nguồn dữ liệu nhân viên và cách chạy builder: 00-tong-quan.md

Mục đích: nhân viên xin nghỉ theo chính sách, quản lý duyệt, hệ thống tự tính số ngày phép còn lại và trừ ngày lễ. Nguồn: Time Off, Holidays, Approval Workflows.

Hướng: bổ sung vào hrm. hrm đã có chính sách nghỉ (tích lũy, chuyển năm, duyệt quản lý/HR), số dư, đơn nghỉ, ngày lễ. Cần đối chiếu và thêm: loại ngày lễ, nửa ngày, lặp hằng năm; chặn đơn trùng ngày; lịch nghỉ của team.

Vai trò & quyền ​

Vai tròĐược làm
Quản trị (HR)Quản lý chính sách nghỉ, ngày lễ, điều chỉnh số dư phép; xem mọi đơn
Quản lýXem đơn của nhân viên trong phòng ban; duyệt hoặc từ chối kèm lý do
Nhân viênTạo, xem, hủy đơn của mình; xem số dư phép của mình; xem lịch nghỉ của team

Dữ liệu ​

Thực thểTrườngGhi chú
Chính sách nghỉtên, có lương (đúng/sai), cần duyệt (đúng/sai), số ngày/năm (để trống = không giới hạn), cách tích lũy (Hàng tháng, Hàng năm, Không), số ngày tối đa được chuyển sang năm sauMẫu: Phép năm 20 ngày, tích lũy hàng tháng; Ốm 10; Việc riêng 5; Không lương không giới hạn; Thai sản 90; Nghỉ chung khi vợ sinh 14
Đơn nghỉnhân viên, chính sách, từ ngày, đến ngày, nửa ngày (Sáng/Chiều/không), số ngày (tự tính), lý do, trạng thái, người duyệt, thời điểm duyệt, lý do từ chối
Số dư phépnhân viên, chính sách, năm, được cấp, chuyển từ năm trước, đã dùng, đang chờ duyệt, còn lại (tự tính)Còn lại = được cấp + chuyển sang − đã dùng − đang chờ
Ngày lễtên, ngày, loại (Lễ quốc gia, Lễ công ty, Nghỉ linh hoạt, Nửa ngày), lặp hằng năm

Trạng thái đơn nghỉ ​

Trạng tháiAi chuyển sang
Chờ duyệtNhân viên gửi đơn (chính sách cần duyệt)
Đã duyệtQuản lý; hoặc tự động nếu chính sách không cần duyệt
Từ chốiQuản lý, bắt buộc ghi lý do
Đã hủyNhân viên, khi đơn còn Chờ duyệt hoặc Đã duyệt nhưng chưa tới ngày nghỉ

Quy tắc nghiệp vụ ​

  1. Số ngày nghỉ = số ngày làm việc trong khoảng, không tính thứ Bảy, Chủ nhật và ngày lễ; nửa ngày tính 0,5.
  2. Đến ngày phải sau hoặc bằng từ ngày.
  3. Không cho gửi đơn vượt số ngày còn lại (trừ chính sách không giới hạn).
  4. Một nhân viên không được có hai đơn trùng ngày đang Chờ duyệt hoặc Đã duyệt.
  5. Gửi đơn → cộng vào "đang chờ"; duyệt → chuyển sang "đã dùng"; từ chối hoặc hủy → trả lại số dư.
  6. Quản lý không duyệt đơn của chính mình; chỉ duyệt đơn của nhân viên trong phòng ban mình.
  7. Chính sách tích lũy hàng tháng: mỗi tháng cộng số ngày/năm ÷ 12 vào "được cấp".
  8. Đầu năm: số dư còn lại được chuyển sang năm mới, không quá mức tối đa của chính sách.

Màn hình ​

Màn hìnhNội dung
Đơn của tôiDanh sách đơn, nút Tạo đơn, thẻ số dư theo từng chính sách
Duyệt đơnĐơn chờ duyệt của phòng ban; Duyệt / Từ chối (hàng loạt được)
Lịch nghỉLịch tháng hiển thị ai nghỉ ngày nào, kèm ngày lễ
Chính sách & ngày lễQuản trị chính sách, danh sách ngày lễ theo năm
Số dư phépBảng số dư mọi nhân viên, HR điều chỉnh tay kèm ghi chú

Prompt tham khảo ​

Khuyến nghị đội dev làm trực tiếp trong repo hrm: builder mở được repo có sẵn nhưng việc chạy migration cho app có database được nhập vào chưa được thiết kế xong. Prompt dưới đây mô tả đầy đủ nghiệp vụ, dùng để đối chiếu với hrm và lập backlog; chỉ làm phần còn thiếu nêu ở dòng Hướng.

text
Tôi cần app quản lý nghỉ phép có phân quyền, lưu trong database.
Dữ liệu: chính sách nghỉ (tên, có lương, cần duyệt, số ngày/năm, tích lũy
hàng tháng hoặc hàng năm, số ngày được chuyển sang năm sau), ngày lễ (tên,
ngày, lặp hằng năm), đơn nghỉ (nhân viên, chính sách, từ ngày, đến ngày, nửa
ngày, lý do, trạng thái Chờ duyệt/Đã duyệt/Từ chối/Đã hủy) và số dư phép theo
nhân viên, chính sách, năm.
Phân quyền: nhân viên chỉ xem và tạo đơn của mình; quản lý xem đơn của cả
phòng và duyệt hoặc từ chối (phải ghi lý do), không tự duyệt đơn của mình;
HR quản lý chính sách, ngày lễ và số dư.
Quy tắc: số ngày nghỉ không tính cuối tuần và ngày lễ, nửa ngày tính 0,5;
không được nghỉ quá số ngày còn lại; không có hai đơn trùng ngày; chính sách
không cần duyệt thì tự duyệt; từ chối hoặc hủy thì trả lại số ngày.
Màn hình: đơn của tôi kèm số dư, duyệt đơn, lịch nghỉ theo tháng, quản lý
chính sách và ngày lễ.