fix(web): detaliul trimiterii arata toate codurile RAR cand prima prestatie e exclusa

cod_rar se deriva acum din toate prestatiile (primul cod mapat), nu doar din
primul item; modalul afiseaza lista completa de coduri. Randurile importate
editate pastreaza operatia originala ca item 0 exclus fara cod, iar codurile
adaugate sunt itemii urmatori — modalul afisa fals "nemapat".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-07-08 19:42:25 +00:00
parent 56ebe1f7cb
commit c2beede084
4 changed files with 59 additions and 6 deletions

View File

@@ -126,8 +126,11 @@ def prezentare_din_payload(payload: str | dict | None) -> dict[str, Any]:
denumire = _clean_str(item.get("denumire"))
operatie = denumire or cod
# cod_rar: exclusiv din cod_prestatie (NU fallback la cod_op_service); uppercase + strip ".0"
cod_rar = _clean_cod_rar(item.get("cod_prestatie"))
# cod_rar: primul cod_prestatie din TOATE prestatiile (NU doar primul item si NU
# fallback la cod_op_service). Primul item poate fi operatia originala exclusa
# (cod_prestatie null), cu codurile declarate pe itemii urmatori.
coduri_rar = _coduri_rar(data.get("prestatii"))
cod_rar = coduri_rar[0] if coduri_rar else ""
# Operatia de service originala (codul intern + denumire venita prin API/import),
# distincta de operatia RAR mapata (cod_rar).
@@ -154,7 +157,7 @@ def prezentare_din_payload(payload: str | dict | None) -> dict[str, Any]:
"cod_rar": cod_rar or EMPTY,
# Lista ordonata, fara duplicate, a codurilor RAR din TOATE prestatiile
# (goala cand nimic nu e mapat). Randul compact afiseaza primul + "+N".
"coduri_rar": _coduri_rar(data.get("prestatii")),
"coduri_rar": coduri_rar,
# Chei cu conventie goala "" (nu EMPTY) — vezi comentariu de mai sus
"op_service_cod": op_service_cod,
"op_service_denumire": op_service_denumire,