# Installazione produzione - Warehouse/FlyWMS bridge

## Ordine consigliato

1. Fare backup del database `Mediseawall`.
2. Copiare il contenuto dello zip in una cartella locale, ad esempio `C:\flywms`.
3. Installare le dipendenze Python:

```bat
python -m pip install -r requirements.txt
```

4. In SSMS, sul database `Mediseawall`, lanciare:

```text
apply_python_parallel_pickinglist_patch.sql
apply_online_history_forms_patch.sql
```

## Cosa fanno gli script

- `apply_python_parallel_pickinglist_patch.sql` crea il ramo SQL Python per gestione picking list, senza modificare le stored procedure C# legacy.
- `apply_online_history_forms_patch.sql` crea le viste Python-only per "Storico Picking List".
- "Storico movimenti UDC" non richiede script dedicati: legge in sola lettura `MagazziniPallet`, `Celle` e `XMag_GiacenzaPalletPlistChiuse`.

## Rollback SQL

Se serve tornare indietro sugli oggetti Python, usare:

```text
rollback_online_history_forms_patch.sql
rollback_python_parallel_pickinglist_patch.sql
```

La tabella `dbo.PyPickingListReservation`, se creata, puo' rimanere anche in caso di rollback perche' il C# legacy non la usa.

## Avvio

Backoffice con console:

```bat
python main.py
```

Backoffice senza console:

```bat
pythonw warehouse.pyw
```

Barcode senza console:

```bat
pythonw barcode.pyw
```

Se si usa un collegamento Windows, impostare anche la cartella "Da" alla cartella dell'applicazione, ad esempio `C:\flywms`.

## File esclusi dal pacchetto

Il pacchetto non include `db_connection.json`, log, cache Python e vecchi zip locali. Alla prima apertura il programma chiedera' la configurazione DB se `db_connection.json` non esiste.
