143 lines
5.7 KiB
Markdown
143 lines
5.7 KiB
Markdown
# 🚗 Jármű Regisztrációs Dokumentumok Audit Jelentés
|
|
|
|
**Dátum:** 2026-06-19
|
|
**Auditor:** Rendszer-Architect
|
|
**Hatáskör:** Teljes adatfolyam (adatbázis → API → Frontend)
|
|
**Státusz:** Hiányzó funkciók azonosítva — beavatkozás szükséges
|
|
|
|
---
|
|
|
|
## 📋 Összefoglaló
|
|
|
|
A jármű rögzítési felületek auditja során **3 adatmező hiányát** azonosítottuk, amelyek a forgalmi engedély és törzskönyv adatainak rögzítéséhez szükségesek. Ezek az adatok jelenleg **sehol sem** tárolhatók el az adatbázisban, és a felhasználói felületen sem érhetők el.
|
|
|
|
---
|
|
|
|
## 🔴 Hiányzó Mezők (3 db)
|
|
|
|
| # | Mező neve | Magyar leírás | Típus | Hol hiányzik |
|
|
|---|-----------|---------------|-------|--------------|
|
|
| 1 | `registration_certificate_number` | Forgalmi engedély száma | `VARCHAR(50)` | Minden rétegben |
|
|
| 2 | `registration_certificate_validity` | Forgalmi engedély érvényessége | `DATE` | Minden rétegben |
|
|
| 3 | `vehicle_registration_document_number` | Törzskönyv száma | `VARCHAR(50)` | Minden rétegben |
|
|
|
|
---
|
|
|
|
## 🔍 Részletes Hiánytérkép (Rétegenként)
|
|
|
|
### 1. 🗄️ Adatbázis — Asset Model
|
|
|
|
**Fájl:** `backend/app/models/vehicle/asset.py` (69. sor)
|
|
|
|
Az `Asset` modell jelenleg a következő dokumentációs/admin mezőket tartalmazza:
|
|
- `first_registration_date` — Első forgalomba helyezés dátuma
|
|
- `next_mot_date` — Műszaki vizsga lejárata
|
|
- `insurance_expiry_date` — Biztosítás lejárata
|
|
- `purchase_date` — Vásárlás dátuma
|
|
- `is_under_warranty` / `warranty_expiry_date` — Jótállás
|
|
- `condition` — Állapot
|
|
- `color` — Szín
|
|
- `notes` — Megjegyzések
|
|
|
|
**Hiányzik:**
|
|
- `registration_certificate_number` ❌
|
|
- `registration_certificate_validity` ❌
|
|
- `vehicle_registration_document_number` ❌
|
|
|
|
### 2. 📐 Pydantic Sémák
|
|
|
|
**Fájl:** `backend/app/schemas/asset.py`
|
|
|
|
| Séma | Sor | Státusz |
|
|
|------|-----|---------|
|
|
| `AssetResponse` | 32 | ❌ Mind a 3 mező hiányzik |
|
|
| `AssetCreate` | 117 | ❌ Mind a 3 mező hiányzik |
|
|
| `AssetUpdate` | 259 | ❌ Mind a 3 mező hiányzik |
|
|
|
|
### 3. 🌐 API Végpontok
|
|
|
|
**Fájl:** `backend/app/api/v1/endpoints/assets.py`
|
|
|
|
| Végpont | Művelet | Státusz |
|
|
|---------|---------|---------|
|
|
| `POST /vehicles` | Létrehozás | ❌ AssetCreate nem tartalmazza a mezőket |
|
|
| `PUT /vehicles/{asset_id}` | Frissítés | ❌ AssetUpdate nem tartalmazza a mezőket |
|
|
| `GET /vehicles` | Listázás | ❌ AssetResponse nem tartalmazza a mezőket |
|
|
| `GET /vehicles/{id}` | Részletek | ❌ AssetResponse nem tartalmazza a mezőket |
|
|
|
|
### 4. ⚙️ Asset Service
|
|
|
|
**Fájl:** `backend/app/services/asset_service.py` (34. sor)
|
|
|
|
A `create_or_claim_vehicle()` metódus (172-222. sor) `asset_fields` szótára **nem tartalmazza** a dokumentum mezőket.
|
|
|
|
### 5. 🖥️ Frontend — Vehicle Store
|
|
|
|
**Fájl:** `frontend/src/stores/vehicle.ts` (9. sor)
|
|
|
|
A `Vehicle` interfész (9-90. sor) nem tartalmazza a dokumentum mezőket.
|
|
|
|
### 6. 🖥️ Frontend — VehicleFormModal
|
|
|
|
**Fájl:** `frontend/src/components/dashboard/VehicleFormModal.vue`
|
|
|
|
| Alrendszer | Sor | Státusz |
|
|
|------------|-----|---------|
|
|
| Form reactive state | 1742-1806 | ❌ Hiányzik mind a 3 mező |
|
|
| Admin Tab UI (Tab 2) | 961-1018 | ❌ Csak állapot, szín, jótállás, jegyzetek |
|
|
| handleSave() payload | 2122-2199 | ❌ Hiányzik mind a 3 mező |
|
|
| populateForm() | 2029-2113 | ❌ Hiányzik mind a 3 mező |
|
|
| resetForm() | 1987-2026 | ❌ Hiányzik mind a 3 mező |
|
|
|
|
### 7. 🌍 i18n Fordítások
|
|
|
|
**Frontend:** `frontend/src/i18n/hu.ts` és `frontend/src/i18n/en.ts`
|
|
**Backend:** `backend/static/locales/hu.json` és `backend/static/locales/en.json`
|
|
|
|
Hiányzó fordítási kulcsok:
|
|
- `vehicle.label_registration_certificate_number`
|
|
- `vehicle.label_registration_certificate_validity`
|
|
- `vehicle.label_vehicle_registration_document_number`
|
|
|
|
---
|
|
|
|
## 📊 Működő Mezők Ellenőrzőlistája
|
|
|
|
### Alapadatok Tab (Tab 0) ✅
|
|
Rendszám, VIN, Márka, Modell, Gyártási év, Üzemanyag típus, Felszereltségi szint, Név, Km óra állás
|
|
|
|
### Műszaki Tab (Tab 1) ✅
|
|
Hengerűrtartalom, Teljesítmény, Nyomaték, Hajtás, Váltó, Kárószéria típus, Klíma típus, Henger-elrendezés, Ajtók/Ülések/Hengerek száma, Súlyadatok, EV adatok, Dátumok
|
|
|
|
### Adminisztráció Tab (Tab 2) ⚠️
|
|
- ✅ Állapot, Szín, Jótállás, Megjegyzések
|
|
- ❌ Forgalmi engedély száma
|
|
- ❌ Forgalmi engedély érvényessége
|
|
- ❌ Törzskönyv száma
|
|
|
|
### Felszereltség Tab (Tab 3) ✅
|
|
Személyautó, Motorkerékpár, LCV, HGV kategóriák szerinti felszereltség
|
|
|
|
---
|
|
|
|
## 📝 Terv a Hiányzó Funkciók Pótlására
|
|
|
|
### Végrehajtandó lépések (sorrendben):
|
|
|
|
1. **Adatbázis** — 3 új oszlop hozzáadása az `Asset` modellhez (`backend/app/models/vehicle/asset.py`)
|
|
2. **Sync** — `docker exec -it sf_api python -m app.scripts.sync_engine`
|
|
3. **Pydantic sémák** — `AssetResponse`, `AssetCreate`, `AssetUpdate` bővítése (`backend/app/schemas/asset.py`)
|
|
4. **Asset Service** — `asset_fields` dict bővítése (`backend/app/services/asset_service.py`)
|
|
5. **Vehicle Store** — `Vehicle` interfész bővítése (`frontend/src/stores/vehicle.ts`)
|
|
6. **VehicleFormModal** — form state, Admin tab UI, handleSave, populateForm, resetForm bővítése
|
|
7. **Frontend i18n** — magyar és angol fordítási kulcsok hozzáadása
|
|
8. **Backend i18n** — (opcionális) magyar és angol fordítási kulcsok hozzáadása
|
|
|
|
---
|
|
|
|
## ⚠️ Megjegyzések
|
|
|
|
1. **Nincs szükség új migrációs fájlra** — A projekt a `sync_engine`-t használja a séma szinkronizálására.
|
|
2. **Külön oszlopok** — Az adatok nem a JSONB `individual_equipment` mezőbe kerülnek, mivel strukturált admin adatok.
|
|
3. **Soft-delete kompatibilitás** — Az új mezők `nullable=True` beállítással jönnek létre.
|