Backend: - service_auto module complet: router, service, schemas, 5 teste suites (22/22 passed) - 5 endpoints: GET /ping, /firme, /tip-deviz, /masini, POST /comenzi - SP_CREEAZA_COMANDA_PROTOTIP creat în MARIUSM_AUTO (VALID, 5.9ms) - oracle_pool.py: session_callback backward-compat patch - ROA_WEB user: grants SP-only confirmate (H3), mariusm_test pool switchat - pyproject.toml: integration pytest marker înregistrat Frontend: - ComandaNoua.vue: date reale din Oracle (firme/tip-deviz/masini), nu hardcodate - src/modules/service-auto/services/api.js: axios service cu Bearer token - src/router/index.js: rută /service-auto/comanda-noua Docs: - decision-log.md: verdict MERGE, toate 6 ipoteze CONFIRMED - learnings.md: 7 patterns reutilizabile - grants-audit.md: arhitectura multi-tenant + proxy auth analysis + V_NOM_FIRME loop - template-modul-oracle.md: rețetă completă pentru module Oracle noi - TODO-phase2.md: 7 items concrete Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# Service Auto — Phase 2+ Backlog
|
|
|
|
Scope wall: prototype = creare comandă only. Everything below = phase 2+.
|
|
|
|
---
|
|
|
|
## P2.1 — SP production-grade (înlocuire SP_CREEAZA_COMANDA_PROTOTIP)
|
|
|
|
SP-ul prototip nu setează: `id_sucursala`, `id_inspector`, `proc_tvav`, `observatii`,
|
|
`defectiuni`, `kmint`, `termen`. Toate nullable → OK pentru prototip.
|
|
|
|
- **Opțiunea A**: Extinde `SP_CREEAZA_COMANDA_PROTOTIP` cu parametrii lipsă (control total)
|
|
- **Opțiunea B**: Migrează la `pack_auto.dev_adauga_lucrare` (17 params + `pack_sesiune`
|
|
coupling — necesită inițializare sesiune Oracle înainte de apel)
|
|
|
|
## P2.2 — Vizualizare comenzi active (GET /api/service-auto/comenzi)
|
|
|
|
Listă DEV_ORDL cu status, client, tip, nrord. Filtre: firmă, dată, status. Paginare
|
|
server-side.
|
|
|
|
## P2.3 — id_sucursala în formular
|
|
|
|
Când user-ul aparține unei sucursale (id_firma=167 sau 169), `id_sucursala` trebuie
|
|
completat în DEV_ORDL. Necesită mapping id_firma → id_sucursala + parametru nou în SP.
|
|
|
|
## P2.4 — session_callback multi-schemă (tagged connections)
|
|
|
|
Dacă un server Oracle viitor servește N scheme pe același pool, `CURRENT_SCHEMA` switching
|
|
poate produce leak inter-cerere. Soluție: tagged connections (`pool.acquire(tag=schema_name)`).
|
|
De implementat când cazul apare concret.
|
|
|
|
## P2.5 — Test browser ComandaNoua.vue
|
|
|
|
- Toate stările (loading, success, 422, 503, 500) manual
|
|
- Dark mode cu toggle AppHeader
|
|
- Diacritice din erori Oracle în Toast
|
|
- Dropdown masini (261 entries) cu filter activ
|
|
|
|
## P2.6 — Cache lookup-uri
|
|
|
|
- Tip-deviz: 7 rânduri, TTL 24h
|
|
- Masini: 261 rânduri, TTL 5min sau invalidare la adăugare client nou
|
|
- Pattern: `@cached` din `backend/modules/reports/cache/decorators.py`
|
|
|
|
## P2.7 — Onboarding ROA_WEB pentru scheme noi
|
|
|
|
Script complet de scris + versionat. Când se adaugă firmă nouă via `impdp`:
|
|
1. Rulează `onboarding_roa_web.sql` (vezi `grants-audit.md §4.1`)
|
|
2. Adaugă server entry în `ORACLE_SERVERS` dacă e pe alt server Oracle
|