Files
ware_house/docs/architecture.md
2026-03-31 19:15:33 +02:00

1.6 KiB

Architettura Complessiva

Questa pagina collega i moduli principali del progetto in una vista unica, partendo dal launcher fino ai moduli GUI e al livello infrastrutturale async/DB.

Vista architetturale

flowchart TD
    Main["main.py"] --> Launcher["Launcher"]
    Main --> Loop["async_loop_singleton.get_global_loop()"]
    Main --> DB["AsyncMSSQLClient"]

    Launcher --> Reset["reset_corsie.py"]
    Launcher --> Layout["layout_window.py"]
    Launcher --> Ghost["view_celle_multiple.py"]
    Launcher --> Search["search_pallets.py"]
    Launcher --> Picking["gestione_pickinglist.py"]

    Reset --> Runner["gestione_aree_frame_async.AsyncRunner"]
    Layout --> Runner
    Ghost --> Runner
    Search --> Runner
    Picking --> Runner

    Runner --> Loop
    Runner --> DB
    Picking --> SP["prenota_sprenota_sql.py"]
    SP --> DB
    DB --> SQL["SQL Server / Mediseawall"]

Flusso applicativo generale

flowchart LR
    User["Utente"] --> MainWin["Launcher"]
    MainWin --> Module["Finestra modulo"]
    Module --> AsyncReq["AsyncRunner.run(...)"]
    AsyncReq --> DbClient["AsyncMSSQLClient"]
    DbClient --> SqlServer["Database SQL Server"]
    SqlServer --> Callback["Callback _ok/_err"]
    Callback --> Module

Osservazioni

  • main.py centralizza il loop asincrono e il client database condiviso.
  • I moduli GUI si concentrano sulla UI e delegano query e task lunghi a AsyncRunner.
  • gestione_pickinglist.py è l'unico modulo che passa anche da prenota_sprenota_sql.py per la logica di prenotazione.
  • La cartella docs/flows/ contiene la vista dettagliata modulo per modulo.