# Module `fleet` — Vận hành đội xe & tài sản

> 07/7/2026 · Giai đoạn: **v1.5** · WS đào tạo · Bản HTML: [fleet.html](fleet.html) · Sơ đồ tổng thể: [../so-do-ws-module-feature-2026-07-06.md](../so-do-ws-module-feature-2026-07-06.md)
> Trạng thái: Chưa có trong code — scaffold ở v1.5.

## 1. Vai trò
Vận hành **chi phí đội xe**: nhiên liệu đối chiếu km DAT, bảo dưỡng – sửa chữa, chi phí trên từng đầu xe, tài sản – khấu hao – kho vật tư. Đăng ký hành chính xe vẫn ở `vehicle`.

## 2. Feature / BO / Action

| Feature | BO chính | Action |
|---|---|---|
| `fuel` | Nhiên liệu theo km DAT | view·create·report |
| `maintenance` | Bảo dưỡng – sửa chữa | view·create·**approve** |
| `cost` | Chi phí trên đầu xe | view·report |
| `asset` | Tài sản, khấu hao, kho vật tư | view·create·edit·export |

## 3. Dữ liệu chính

| BO | Trường chính |
|---|---|
| **Nhiên liệu** | Xe × kỳ · lít/tiền · km DAT kỳ đó → định mức l/100km · chênh lệch cảnh báo |
| **Bảo dưỡng** | Xe · loại (định kỳ/sự cố) · hạng mục · chi phí · gara · lịch tiếp theo (nhắc notify) |
| **Tài sản** | Tài sản/thiết bị · nguyên giá · khấu hao · nơi sử dụng · kho vật tư sân bãi |

## 4. Quy tắc nghiệp vụ
1. Định mức nhiên liệu đối chiếu **km DAT** — chênh vượt ngưỡng → cảnh báo
2. Chi phí gắn từng đầu xe → nguồn cho BI (chi phí/học viên tốt nghiệp)
3. Lịch bảo dưỡng định kỳ nhắc qua notify
4. Phiếu sửa chữa vượt hạn mức phải duyệt

## 5. Liên kết chéo
- **vehicle** — danh mục xe
- **dat** — km làm chuẩn nhiên liệu
- **notify** — nhắc bảo dưỡng
- **bi (v3)** — chi phí đầu xe

## 6. Câu hỏi mở
- Định mức nhiên liệu hiện áp dụng?
- Có quản kho vật tư thật không hay chỉ chi phí?

## 7. Ma trận phân quyền (→ manifest & seed role)

### 7.1 Khai báo `permissions[]` trong `manifest.json`

```json
[
  {
    "group": "main",
    "feature": "fuel",
    "label": "Nhiên liệu",
    "actions": [
      "view",
      "create",
      "report"
    ]
  },
  {
    "group": "main",
    "feature": "maintenance",
    "label": "Bảo dưỡng",
    "actions": [
      "view",
      "create",
      "approve"
    ]
  },
  {
    "group": "main",
    "feature": "cost",
    "label": "Chi phí đầu xe",
    "actions": [
      "view",
      "report"
    ]
  },
  {
    "group": "main",
    "feature": "asset",
    "label": "Tài sản & kho",
    "actions": [
      "view",
      "create",
      "edit",
      "export"
    ]
  }
]
```


### 7.2 Ma trận vai trò × feature (seed `rt_role`)

| Feature | `QTHT` | `GIAM_DOC` | `KY_THUAT` | `KE_TOAN` |
|---|:--:|:--:|:--:|:--:|
| `fuel` | R | R | W | R |
| `maintenance` | R | R·A | W | — |
| `cost` | R | R | R | R |
| `asset` | 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. Permission key đầy đủ: `fleet.main.<feature>.<action>`.
