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>
2.0 KiB
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_PROTOTIPcu parametrii lipsă (control total) - Opțiunea B: Migrează la
pack_auto.dev_adauga_lucrare(17 params +pack_sesiunecoupling — 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:
@cacheddinbackend/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:
- Rulează
onboarding_roa_web.sql(vezigrants-audit.md §4.1) - Adaugă server entry în
ORACLE_SERVERSdacă e pe alt server Oracle