Module · WS đào tạo · 07/7/2026

hr — Nhân sự v1.5

Hồ sơ nhân viên, cây phòng ban – chức danh (theo WS0), hợp đồng lao động và chứng chỉ tập huấn.

⚠️ Chưa có trong code — scaffold ở v1.5 (danh mục phòng ban/chức danh có thể lên sớm cùng MVP nếu cần bàn giao hồ sơ liên phòng).
ĐÃ THAY THẾ (08/7): không scaffold module này — dùng hrm built-in. Trang giữ lại làm spec nghiệp vụ tham chiếu. Xem quan hệ module.
1

Feature / BO / Action

FeatureBO chínhAction
employeeNhân viênviewcreateeditdelete
orgPhòng ban · chức danh (danh mục cây)viewconfigure
contractHợp đồng, chứng chỉ tập huấnviewcreateeditconfigure
2

Dữ liệu chính

BOTrường chính
Nhân viênMã NV · họ tên · CCCD · SĐT/email · phòng ban · chức danh · vai trò (nhiều) · ngày vào làm · tài khoản đăng nhập (liên kết)
Phòng ban / chức danhCây cha–con · loại phòng · chức danh + cấp (theo danh mục WS0)
Hợp đồngLoại HĐ · thời hạn · ngày hết hạn (nhắc qua notify) · file scan
3

Quy tắc & liên kết

Quy tắc nghiệp vụ

  • Một người: 1 phòng + 1 chức danh chính + nhiều vai trò (kiêm nhiệm)
  • GV là nhân viên có hồ sơ nghiệp vụ riêng bên teacher — hr giữ hợp đồng lao động, không trùng dữ liệu
  • Thay đổi vai trò/phân quyền ghi nhật ký
  • Hết hạn hợp đồng/chứng chỉ tập huấn → notify

Liên kết chéo

  • teacher — GV ↔ nhân viên (mã NV)
  • payroll — đơn giá, hợp đồng
  • crm — CTV
  • notify — nhắc hạn HĐ

⚠ Câu hỏi mở

  • Danh sách phòng ban + nhân viên Vĩnh An (việc #3, #4) → seed
  • Vị trí kiêm nhiệm thực tế?
Quyền

Ma trận phân quyền — ốp vào manifest & seed role

Khối permissions[] dán vào manifest.json; bảng dưới là gán quyền theo vai trò (seed rt_role). Permission key đầy đủ: hr.main.<feature>.<action>.

▸ permissions[] — manifest.json

[ { "group": "main", "feature": "employee", "label": "Nhân viên", "actions": [ "view", "create", "edit", "delete" ] }, { "group": "main", "feature": "org", "label": "Phòng ban & chức danh", "actions": [ "view", "configure" ] }, { "group": "main", "feature": "contract", "label": "Hợp đồng", "actions": [ "view", "create", "edit", "configure" ] } ]

▸ Ma trận vai trò × feature

FeatureQTHTGIAM_DOCNHAN_SU
employeeRRW
orgWRW
contractRRW

R xem · W tạo/sửa · A duyệt · không có quyền · ¹ dữ liệu phân công · ² của chính mình · ³ theo trạng thái hồ sơ. Vai trò không liệt kê = không có quyền.