reset_corsie.py

Scopo

Questo modulo mostra il riepilogo di una corsia e permette, dopo doppia conferma, di cancellare i record di MagazziniPallet collegati a quella corsia.

Flusso operativo

        flowchart TD
    A["open_reset_corsie_window()"] --> B["ResetCorsieWindow.__init__()"]
    B --> C["_build_ui()"]
    C --> D["_load_corsie()"]
    D --> E["query_json SQL_CORSIE"]
    E --> F["Seleziona corsia iniziale"]
    F --> G["refresh()"]
    G --> H["query_json SQL_RIEPILOGO"]
    G --> I["query_json SQL_DETTAGLIO"]
    H --> J["Aggiorna contatori"]
    I --> K["Aggiorna tree celle occupate"]
    

Flusso distruttivo

        flowchart TD
    A["Click su Svuota corsia"] --> B["_ask_reset()"]
    B --> C["query_json SQL_COUNT_DELETE"]
    C --> D{"Record da cancellare > 0?"}
    D -- No --> E["Messaggio: niente da rimuovere"]
    D -- Si --> F["Richiesta conferma testuale"]
    F --> G{"Testo corretto?"}
    G -- No --> H["Annulla operazione"]
    G -- Si --> I["_do_reset(corsia)"]
    I --> J["query_json SQL_DELETE"]
    J --> K["Messaggio completato"]
    K --> L["refresh()"]
    

Note

  • È il modulo più delicato lato operazioni, perché esegue DELETE.

  • La finestra separa chiaramente fase di ispezione e fase distruttiva.

  • Tutte le query passano dal client condiviso tramite AsyncRunner.