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

rfcard — Thẻ RFID MVP · hạ tầng

Quản lý kho thẻ RFID dùng cho điểm danh/xác thực trên xe (DAT) và phòng học. Dùng chung cho cả GV lẫn học viên — nên không nhét vào student/teacher.

✅ Trạng thái code: đã scaffold (port legacy).
1

Feature / BO / Action & dữ liệu

FeatureBO chính · trườngAction
cardThẻ RFID — mã thẻ · số thẻ · ghi chú · ma_csdt · trạng thái. Gán thẻ↔người lưu ở student.rfid / teacher.ma_the_rfid; rfcard giữ kho + trạng thái cấp phátviewcreateeditdeleteassign
2

Quy tắc & liên kết

Quy tắc

  • 1 thẻ = 1 người tại 1 thời điểm — thu hồi trước khi cấp lại
  • Giữ lịch sử cấp/thu (đối chiếu phiên DAT cũ)
  • Thẻ mất/hỏng → khóa, không xóa

Liên kết chéo

  • student/teacher — người đang giữ thẻ
  • dat — xác thực người trên xe
  • lms (v1.5) — điểm danh phòng học
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 đủ: rfcard.main.<feature>.<action>.

▸ permissions[] — manifest.json

[ { "group": "main", "feature": "card", "label": "Thẻ RFID", "actions": [ "view", "create", "edit", "delete", "assign" ] } ]

▸ Ma trận vai trò × feature

FeatureQTHTGIAM_DOCKY_THUATGIAO_VU
cardRRWR

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.

Đặc thù: card +assign (KY_THUAT, GIAO_VU)