diff --git a/legacy-vfp/README.md b/legacy-vfp/README.md new file mode 100644 index 0000000..0d82679 --- /dev/null +++ b/legacy-vfp/README.md @@ -0,0 +1,31 @@ +# legacy-vfp/ — arhiva Visual FoxPro (ROAAUTO) + +Proiectul **Visual FoxPro** original (clasa `RarAutoPass`, ROAAUTO) care declara +prestatiile la RAR AUTOPASS. A fost folosit doar pentru testare si proba pe endpoint-ul +de test RAR; **nu se mai dezvolta** — gateway-ul Python din `../app/` il inlocuieste. + +Pastrat ca **sursa de adevar de contract** pentru portarea web si ca sursa pentru migrarea +DBF. + +## Continut + +| Fisier | Rol | Portat in | +|--------|-----|-----------| +| `rar_autopass.prg` | clasa `RarAutoPass`: login+JWT, nomenclator, postPrezentare, cancel | `app/rar_client.py` | +| `rar-forms.prg` | UI + timer auto-process | logica -> worker | +| `export_comenzi.prg` | citeste comenzi/operatii, construieste payload | client subtire `POST /v1/prezentari` | +| `rar_advanced.prg` | export Excel (oglinda treapta 2) | referinta import xlsx/csv | +| `rar_automate.prg`, `nfjsonread.prg` | automatizare / parse JSON | referinta | +| `rar_autopass.pjx` / `.PJT` | fisierele de proiect VFP | — | +| `mapare_prestatii.DBF` (+ `.CDX`/`.FPT`) | cod_op_service -> codPrestatie | `operations_mapping` (via `tools/import_dbf.py`) | +| `prestatii_rar.DBF` (+ `.CDX`) | nomenclator {codPrestatie, numePrestatie} | `nomenclator_rar` (via `tools/import_dbf.py`) | +| `test-comenzi.xml` | comenzi de test (proba) | — | + +## Migrare DBF -> SQLite + +Datele din DBF se importa cu `tools/import_dbf.py` (caile default pointeaza deja aici): + +```bash +python3 -m tools.import_dbf # dry-run + raport +python3 -m tools.import_dbf --commit # scrie in SQLite +``` diff --git a/export_comenzi.prg b/legacy-vfp/export_comenzi.prg similarity index 100% rename from export_comenzi.prg rename to legacy-vfp/export_comenzi.prg diff --git a/mapare_prestatii.CDX b/legacy-vfp/mapare_prestatii.CDX similarity index 100% rename from mapare_prestatii.CDX rename to legacy-vfp/mapare_prestatii.CDX diff --git a/mapare_prestatii.DBF b/legacy-vfp/mapare_prestatii.DBF similarity index 100% rename from mapare_prestatii.DBF rename to legacy-vfp/mapare_prestatii.DBF diff --git a/mapare_prestatii.FPT b/legacy-vfp/mapare_prestatii.FPT similarity index 100% rename from mapare_prestatii.FPT rename to legacy-vfp/mapare_prestatii.FPT diff --git a/nfjsonread.prg b/legacy-vfp/nfjsonread.prg similarity index 100% rename from nfjsonread.prg rename to legacy-vfp/nfjsonread.prg diff --git a/prestatii_rar.CDX b/legacy-vfp/prestatii_rar.CDX similarity index 100% rename from prestatii_rar.CDX rename to legacy-vfp/prestatii_rar.CDX diff --git a/prestatii_rar.DBF b/legacy-vfp/prestatii_rar.DBF similarity index 100% rename from prestatii_rar.DBF rename to legacy-vfp/prestatii_rar.DBF diff --git a/rar-forms.prg b/legacy-vfp/rar-forms.prg similarity index 100% rename from rar-forms.prg rename to legacy-vfp/rar-forms.prg diff --git a/rar_advanced.prg b/legacy-vfp/rar_advanced.prg similarity index 100% rename from rar_advanced.prg rename to legacy-vfp/rar_advanced.prg diff --git a/rar_automate.prg b/legacy-vfp/rar_automate.prg similarity index 100% rename from rar_automate.prg rename to legacy-vfp/rar_automate.prg diff --git a/rar_autopass.PJT b/legacy-vfp/rar_autopass.PJT similarity index 100% rename from rar_autopass.PJT rename to legacy-vfp/rar_autopass.PJT diff --git a/rar_autopass.pjx b/legacy-vfp/rar_autopass.pjx similarity index 100% rename from rar_autopass.pjx rename to legacy-vfp/rar_autopass.pjx diff --git a/rar_autopass.prg b/legacy-vfp/rar_autopass.prg similarity index 100% rename from rar_autopass.prg rename to legacy-vfp/rar_autopass.prg diff --git a/test-comenzi.xml b/legacy-vfp/test-comenzi.xml similarity index 100% rename from test-comenzi.xml rename to legacy-vfp/test-comenzi.xml diff --git a/tests/test_import_dbf.py b/tests/test_import_dbf.py index b08d459..f800e75 100644 --- a/tests/test_import_dbf.py +++ b/tests/test_import_dbf.py @@ -77,7 +77,7 @@ def env(monkeypatch): def test_read_nomenclator_real_dbf(): from tools.import_dbf import read_nomenclator - rep = read_nomenclator(ROOT / "prestatii_rar.DBF") + rep = read_nomenclator(ROOT / "legacy-vfp" / "prestatii_rar.DBF") assert len(rep["rows"]) == 20 codes = {r["cod_prestatie"] for r in rep["rows"]} assert "OE-1" in codes and "R-ODO" in codes diff --git a/tools/import_dbf.py b/tools/import_dbf.py index 479f2d7..b114f32 100644 --- a/tools/import_dbf.py +++ b/tools/import_dbf.py @@ -30,9 +30,9 @@ from app.config import ROOT from app.db import get_connection, init_db from app.mapping import DEFAULT_ACCOUNT_ID -# DBF-urile vin din arhiva ROAAUTO din radacina repo-ului. -MAPARE_DBF = ROOT / "mapare_prestatii.DBF" -PREST_DBF = ROOT / "prestatii_rar.DBF" +# DBF-urile vin din arhiva ROAAUTO (legacy VFP), mutata in legacy-vfp/. +MAPARE_DBF = ROOT / "legacy-vfp" / "mapare_prestatii.DBF" +PREST_DBF = ROOT / "legacy-vfp" / "prestatii_rar.DBF" # Language driver al DBF-urilor = 0x03 (Windows ANSI / cp1252). Diacriticele # scrise ca literal '?' sunt in sursa, nu un artefact de encoding.