# Piano operativo documentazione review

## Strategia

La documentazione viene prodotta per lotti piccoli e verificabili. Ogni lotto deve contenere:

- descrizione del processo logico;
- tabella firme funzioni/classi;
- documentazione SQL collegata;
- eventuali commenti inline mirati;
- compilazione Python dei moduli modificati.

## Lotto 1 - Storico picking list

Stato: completato.

File documentati:

- `storico_pickinglist.py`
- `apply_python_pickinglist_history_views.sql`
- `apply_online_history_forms_patch.sql`
- query runtime `SQL_STORICO_PL`
- query runtime `SQL_STORICO_PL_DETAILS`
- movimento collegato `move_pallet_async`

Motivo priorita:

- contiene una nuova funzione con effetti sul database;
- gestisce casi critici `Chiusa ERP con residui`;
- usa convenzioni operative `1000 / Non scaff.` e `9999 / 7G.1.1`.

## Lotto 2 - Gestione picking list

Stato: completato.

File target:

- `gestione_pickinglist.py`
- `prenota_sprenota_sql.py`
- `apply_python_parallel_pickinglist_patch.sql`
- `rollback_python_parallel_pickinglist_patch.sql`

Aspetti da documentare:

- prenotazione/sprenotazione Python-only;
- differenza tra vista residua e vista storica;
- aggiornamento griglia alta/bassa;
- stato `IDStato`;
- separazione da C# legacy;
- limiti concorrenza.

## Lotto 3 - Movimento UDC e scarico

File target:

- `gestione_scarico.py`
- `storico_udc.py`

Aspetti da documentare:

- batch `SQL_SCARICA_UDC`;
- movimento `P` e `V`;
- audit utenti/date;
- cella source e target;
- fallback SPED in storico UDC.

## Lotto 4 - Barcode

File target:

- `barcode_client.py`
- `barcode_service.py`
- `barcode_repository.py`

Aspetti da documentare:

- stati operativi del barcode;
- F1/F2 e priorita picking list;
- gestione `9000000`;
- mappatura 1:1 con comportamento C#;
- stabilita di connessione DB.

## Lotto 5 - Avvio, autenticazione e configurazione

File target:

- `main.py`
- `login_window.py`
- `db_config.py`
- `runtime_support.py`
- `user_session.py`

Aspetti da documentare:

- single instance;
- login operatore;
- creazione configurazione DB;
- gestione errori in `pythonw`;
- shutdown ordinato.

## Lotto 6 - Visualizzazioni operative

File target:

- `gestione_layout.py`
- `reset_corsie.py`
- `search_pallets.py`
- `view_celle_multi_udc.py`
- `ui_tables.py`
- `ui_theme.py`

Aspetti da documentare:

- griglie e layout;
- query diagnostiche;
- overlay async;
- colori semantici;
- export XLSX;
- bonifica UDC fantasma.
