Files
roa2web-service-auto/docs/service-auto/TODO-phase2.md
Claude Agent 32aca55c78 feat(service-auto): săpt 3-phase2 — toate ipotezele confirmate + modul funcțional
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>
2026-06-05 09:37:09 +00:00

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