view_celle_multiple.py¶
Scopo¶
Questo modulo esplora le celle che contengono più pallet del previsto, organizzando i risultati in un albero:
corsia
cella duplicata
pallet contenuti nella cella
Flusso operativo¶
flowchart TD
A["open_celle_multiple_window()"] --> B["CelleMultipleWindow.__init__()"]
B --> C["_build_layout()"]
C --> D["_bind_events()"]
D --> E["refresh_all()"]
E --> F["_load_corsie()"]
E --> G["_load_riepilogo()"]
F --> H["query_json SQL_CORSIE"]
G --> I["query_json SQL_RIEPILOGO_PERCENTUALI"]
H --> J["_fill_corsie()"]
I --> K["_fill_riepilogo()"]
Lazy loading dell’albero¶
flowchart TD
A["Espansione nodo tree"] --> B["_on_open_node()"]
B --> C{"Nodo corsia o nodo cella?"}
C -- Corsia --> D["_load_celle_for_corsia()"]
D --> E["query_json SQL_CELLE_DUP_PER_CORSIA"]
E --> F["_fill_celle()"]
C -- Cella --> G["_load_pallet_for_cella()"]
G --> H["query_json SQL_PALLET_IN_CELLA"]
H --> I["_fill_pallet()"]
Schema di chiamata¶
flowchart LR
Refresh["refresh_all"] --> Corsie["_load_corsie"]
Refresh --> Riep["_load_riepilogo"]
Open["_on_open_node"] --> LoadCelle["_load_celle_for_corsia"]
Open --> LoadPallet["_load_pallet_for_cella"]
Export["export_to_xlsx"] --> Tree["tree dati dettaglio"]
Export --> Sum["sum_tbl riepilogo"]
Note¶
L’albero è caricato a richiesta, non tutto in una sola query.
Questo riduce il costo iniziale e rende il modulo più scalabile.
L’export legge sia il dettaglio dell’albero sia la tabella di riepilogo.