Files
service-finder/docs/vehicle_registration_documents_audit_2026-06-19.md
2026-06-23 21:11:21 +00:00

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.