feat(autopass): baseline transmitere operatii la RAR AUTOPASS (PRD ROAAUTO-1.0)

Baseline al muncii autopass acumulate (necomise pana acum) pe branch dedicat,
ca sa existe git diff pentru commit-uri incrementale ulterioare.

- oproceduri_autopass.prg: client HTTP + proceduri situatie/transmite/valideaza;
  fix parsare JSON array (detectie ALEN, iterare directa); GetProprietate fara EVL;
  fix 'held' numeric -> normalizare la logic inainte de IIF (AUTOPASS_SITUATIE).
- frm_autopass.scx: formular US-002/US-005; caption succes "statusuri actualizate".
- roaauto.prg: NFJSON in SET PATH + SET PROCEDURE proceduri autopass/nfjson.
- ovariabile_globale.prg: scoate SET STEP ON ramas commis din greseala.
- ofundal_dev.vcx: buton de deschidere a formularului autopass.
- test_autopass_driver.prg: driver de test.
- docs: reorg README (insight-uri transversale mutate in COMUN/docs/).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 10:49:46 +03:00
parent 211b7ea8a0
commit 5cac7069a6
13 changed files with 601 additions and 273 deletions

View File

@@ -127,8 +127,8 @@ operatiile lor, **pentru ca** sa vad exact ce urmeaza sa se transmita.
**pentru ca** transmiterea sa fie robusta si raspunsul parsabil.
- **Depinde de**: US-001
- **Fisiere**: `Programe\oproceduri_autopass.prg` (clasa `AutopassClient`); vendored
`nfjsoncreate.prg`/`nfjsonread.prg` in `comun_plugins\utils\` (sursa: `rar-autopass/legacy-vfp/` sau ROAPRELUARECONPRESS)
- **Fisiere**: `Programe\oproceduri_autopass.prg` (clasa `AutopassClient`); biblioteca JSON
`nfjsoncreate.prg`/`nfjsonread.prg` din `COMUN\utile\nfjson\`
- **Acceptance criteria**:
- [ ] POST via `winHTTP.winHTTPrequest.5.1` (pattern `D:\ROA\ems_trimite_facturi_spv.prg``SendeFactura`), headere `Content-Type: application/json` + `X-API-Key`, body UTF-8.
- [ ] Body: `{"prezentari": [...], "rar_env": <din config, optional>}` — prestatii cu `cod_op_service` + `denumire` (maparea ramane in gateway); `raspuns` implicit `minim`.
@@ -378,9 +378,17 @@ Decizii luate (fost intrebari 1-4):
mediul RAR se editeaza direct din fereastra de transmitere (panou Configurare pliabil
in `frm_autopass.scx`), nu dintr-o fereastra separata; salvarea trece prin
`scrie_optiune()` (`autopass_salveaza_config`).
9. **DECIS (revizie 2026-07-10, Marius)****normalizare NRINMAT aprobata**: eliminarea
spatiilor, cratimelor si punctelor din numarul de inmatriculare inainte de validare se
aplica consecvent pe cele 3 canale: gateway `rar-autopass` (validare + idempotency),
clientul VFP (`autopass_valideaza_rand` din `oproceduri_autopass.prg`) si spike-ul SQL de
calitate a datelor (`docs\spike_calitate_date_autopass_v2.sql`, versiune noua fata de
spike-ul v1 rulat initial). Motivatie: spike-ul v1 a aratat doar 13,8% NRINMAT valide din
cauza formatelor reale cu spatii/cratime (ex. "B 99 XYZ"), regula stricta anterioara
(doar strip+upper) fiind prea restrictiva fata de datele istorice reale.
Nu mai exista intrebari deschise — PRD aprobat prin poarta /autoplan (2026-07-09),
revizuit conform deciziilor 7-8.
revizuit conform deciziilor 7-9 (decizia 9 e o completare post-aprobare, 2026-07-10).
## 7. Valuri de executie
@@ -557,5 +565,8 @@ nu se arunca.
- **Revizie post-aprobare (2026-07-09, Marius)**: decizia 7 — zero tabele noi; US-001
rescris pe tabelul `optiuni`, US-005 rescris pe situatia din gateway (cursor temporar);
scripturile SQL revertate.
- **Revizie post-aprobare (2026-07-10, Marius)**: decizia 9 — normalizare NRINMAT (strip
spatii/cratime/puncte) aprobata pe cele 3 canale (gateway, client VFP, spike SQL v2);
motivata de rata scazuta de valid (13,8%) gasita in spike-ul v1.
NO UNRESOLVED DECISIONS