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.pycentralizza 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 daprenota_sprenota_sql.pyper la logica di prenotazione.La cartella
docs/flows/contiene la vista dettagliata modulo per modulo.