# `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`.