Quản lý xe tập lái: đăng ký hành chính, giấy tờ + hạn (giấy phép xe tập, đăng kiểm, bảo hiểm), và gắn thiết bị DAT. Vận hành chi phí thuộc fleet (v1.5).
| Feature | BO chính | Action |
|---|---|---|
| vehicle | Xe tập lái | viewcreateeditdeleteexport |
| license-doc | Giấy phép xe tập, đăng kiểm, bảo hiểm (hạn) | viewcreateeditconfigure |
| BO | Trường chính |
|---|---|
| Xe tập lái đã có | Mã xe ma_xe · biển số · chủ sở hữu · hạng GPLX · năm SX · loại xe · số đăng ký · số giấy phép + hạn · trạng thái. UNIQUE (ma_xe, ma_csdt) — bỏ seri_dat và dat_device_id (20/7) |
| Giấy tờ xe mới | Loại (giấy phép xe tập / đăng kiểm / bảo hiểm TNDS / phù hiệu) · số hiệu · nơi cấp · ngày cấp / ngày hết hạn (nguồn nhắc hạn) · file scan — tách bảng riêng: 1 xe nhiều loại giấy |
| Gắn thiết bị → chuyển sang dat | Xe × thiết bị DAT · ngày gắn/tháo · người thao tác — nay là dat_gan_xe thuộc dat.binding. Vehicle muốn hiển thị "thiết bị đang gắn" thì đọc dat_v_thiet_bi_theo_xe (P1), dat chưa cài thì ẩn cột |
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 đủ: vehicle.main.<feature>.<action>.
⚠️ device-bind đã gỡ khỏi manifest vehicle (20/7) — chuyển thành dat.main.binding.{view,assign,export}. Seed role: quyền assign của KY_THUAT chuyển sang key mới.
| Feature | QTHT | GIAM_DOC | KY_THUAT | QL_DAO_TAO | GIAO_VU |
|---|---|---|---|---|---|
| vehicle | R | R | W | R | R |
| license-doc | R | R | W | — | — |
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ù: không còn action đặc thù — assign (gắn/tháo DAT) đã chuyển sang dat.binding.