Module · WS sát hạch · 07/7/2026

sh-theory — Chấm sát hạch lý thuyết WS sát hạch · v3

Phòng thi lý thuyết trên máy: trộn đề 600 câu + câu điểm liệt, chấm tự động, in biên bản, camera phòng thi + khuôn mặt tại máy.

⚠️ v3 — thẩm định BCA; máy chủ kỳ thi on-premise.
1

Feature / BO / Action

FeatureBO chínhAction
roomPhòng máy · máy thiviewconfigure
paperĐề thi (trộn) · bài thiviewgeneratescore
recordBiên bản kỳ thiviewdownload
2

Dữ liệu chính

BOTrường chính
Đề/bài thiĐề trộn từ ngân hàng 600 câu theo cấu trúc hạng · bài làm từng câu · điểm · kết quả đạt/trượt (điểm liệt)
Biên bảnKết quả ca thi · chữ ký hội đồng · ảnh thí sinh tại máy (≥3 lần/bài theo QCVN) · file in
3

Quy tắc & liên kết

Quy tắc nghiệp vụ

  • Trộn đề đúng cấu trúc theo hạng; sai câu điểm liệt = trượt
  • Tự chụp ảnh thí sinh tại máy ≥3 lần/bài, in vào biên bản (QCVN 40:2024)
  • Kết quả + hình ảnh truyền về Cục CSGT qua sh-gateway
  • Phần mềm chấm niêm phong theo phiên bản kiểm chuẩn — thay đổi phải báo cáo văn bản

Liên kết chéo

  • sh-schedule — ca thi
  • sh-kiosk — xác thực vào phòng
  • sh-gateway — truyền kết quả
  • sh-monitor — camera phòng thi

⚠ Câu hỏi mở

  • Cấu trúc đề theo hạng bản mới nhất (TT 108/2026)?
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 đủ: sh-theory.main.<feature>.<action>.

▸ permissions[] — manifest.json

[ { "group": "main", "feature": "room", "label": "Phòng máy", "actions": [ "view", "configure" ] }, { "group": "main", "feature": "paper", "label": "Đề & bài thi", "actions": [ "view", "generate", "score" ] }, { "group": "main", "feature": "record", "label": "Biên bản", "actions": [ "view", "download" ] } ]

⚠️ Action đặc thù (generate, score) cần bổ sung vào validator manifest — xem plan data-scope P1.

▸ Ma trận vai trò × feature

FeatureQTHTGIAM_DOCSAT_HACH
roomW
paperRRW
recordRRW

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ù: paper +generate (SAT_HACH; score = chấm tự động) · record +download (SAT_HACH) · nộp biên bản & truyền = workflow + sh-gateway