Files
roa2web-service-auto/backend/modules/service_auto/schemas/comanda.py
Claude Agent ee6d857e9d feat(service-auto): phase 3 — PACK_AUTO callproc + câmpuri extinse formular
Migrare completă de la SP_CREEAZA_COMANDA_PROTOTIP la PACK_AUTO.dev_adauga_lucrare (18 params).
Formular ComandaNoua extins cu toate câmpurile din SP: observații, defecțiuni, km, ore motor, termen, nr. dosar.

- schema: solicitari → observatii (opțional); adăugat defectiuni, km_int, ore_functionare, nr_dosar, termen
- service: callproc cablat pe câmpurile noi; pc_nr cu milisecunde (evită colizii sub-secundă)
- error mapper: range 20001→20000 (ORA-20000 era neacoperit → 500 în loc de 422)
- onboarding_roa_web.sql: grant pe PACK_AUTO (înlocuiește SP prototip)
- ComandaNoua.vue: InputNumber km/ore, Calendar termen, Textarea defecțiuni, InputText nr_dosar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 09:37:10 +00:00

61 lines
1.3 KiB
Python

from datetime import date
from typing import List, Optional
from pydantic import BaseModel
class ComandaRequest(BaseModel):
tip_id: int
id_masiniclient: int
id_firma: int
id_sucursala: Optional[int] = None
observatii: str = ""
defectiuni: Optional[str] = None
km_int: int = 0
ore_functionare: int = 0
nr_dosar: str = ""
termen: Optional[date] = None
class ComandaResponse(BaseModel):
id_ordl: int
nrord: str
mesaj: str
class FirmaItem(BaseModel):
id_firma: int
firma: str
schema_name: str
id_mama: Optional[int] = None
class TipDevizItem(BaseModel):
id_tip: int
denumire: str
inch_validare: int
class MasinaClientItem(BaseModel):
id_masiniclient: int
label: str # "PARTENER — MARCA MASINA, NRINMAT (ANFABRICATIE)"
class ComandaListItem(BaseModel):
id_ordl: int
nrord: str
datai: Optional[str] # ISO date "YYYY-MM-DD"
validat: int # 0=deschisă, 1=validată
inchis_fortat: int # 1=arhivată fără validare
id_tip: int
tip_denumire: str
vehicul: str # "PARTENER — MARCA MASINA, NRINMAT (AN)"
id_masiniclient: Optional[int]
class ComandaListResponse(BaseModel):
comenzi: List[ComandaListItem]
total: int
page: int
per_page: int