Release storico UDC e picking list
This commit is contained in:
68
specifica_storico_pickinglist.md
Normal file
68
specifica_storico_pickinglist.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Specifica - Storico Picking List
|
||||
|
||||
## Obiettivo
|
||||
|
||||
La finestra "Storico Picking List" deve permettere di consultare le picking list visibili nel modello dati Python parallelo, comprese quelle gia' esaurite, mostrando lo stato sintetico della lista e il dettaglio delle UDC.
|
||||
|
||||
## Accesso
|
||||
|
||||
- La finestra si apre dal launcher principale tramite il pulsante "Storico Picking List".
|
||||
- In una fase successiva potra' essere collegata alla form "Gestione Picking List" per aprire direttamente il dettaglio della lista selezionata.
|
||||
- La finestra e' disponibile agli operatori autenticati secondo il permesso `launcher.open_history_pickinglist`.
|
||||
|
||||
## Comportamento UI
|
||||
|
||||
- La finestra usa lo stesso posizionamento delle altre form del backoffice.
|
||||
- Tutte le interrogazioni al database sono asincrone.
|
||||
- Durante il caricamento della lista e del dettaglio deve comparire l'overlay standard dell'applicazione.
|
||||
- La parte alta mostra l'elenco delle picking list.
|
||||
- La parte bassa mostra il dettaglio della picking list selezionata.
|
||||
- Il filtro principale e' il numero documento, con ricerca parziale.
|
||||
|
||||
## Logica dati
|
||||
|
||||
La form usa un ramo di lettura storico Python separato dalle viste operative C#.
|
||||
|
||||
Oggetti SQL dedicati:
|
||||
|
||||
- `dbo.py_vPreparaPackingListSAMA1`
|
||||
- `dbo.py_vPreparaPackingList`
|
||||
- `dbo.py_XMag_ViewPackingListStorico`
|
||||
|
||||
Questi oggetti sono creati dallo script `apply_python_pickinglist_history_views.sql` e possono essere rimossi con `rollback_python_pickinglist_history_views.sql`.
|
||||
|
||||
La vista storica non usa `dbo.vPreparaPackingListSAMA1`, `dbo.vPreparaPackingList` o `dbo.XMag_ViewPackingList`, cosi' il programma C# continua a lavorare sul proprio ramo legacy.
|
||||
|
||||
La vista `dbo.py_vPreparaPackingListSAMA1` include:
|
||||
|
||||
- documenti dell'anno corrente: `BAMTES.ANNDOC >= YEAR(GETDATE())`
|
||||
- documenti aperti e chiusi: `BAMTES.STATO IN ('P', 'D')`
|
||||
- nessun filtro sugli ultimi 10 giorni
|
||||
|
||||
La lista alta aggrega per documento:
|
||||
|
||||
- data documento
|
||||
- stato documento gestionale
|
||||
- totale UDC
|
||||
- righe residue
|
||||
- righe spedite
|
||||
- stato operativo
|
||||
- stato prenotazione Python
|
||||
|
||||
Lo stato operativo e' calcolato cosi':
|
||||
|
||||
- `Chiusa`: il documento gestionale ha `BAMTES.STATO = 'D'`.
|
||||
- `Da lavorare`: nessuna riga risulta spedita.
|
||||
- `In corso`: almeno una riga risulta spedita e almeno una riga resta da lavorare.
|
||||
- `Esaurita`: non restano righe operative.
|
||||
|
||||
Il criterio primario per riconoscere una picking list lavorata nello storico e' lo stato gestionale `BAMTES.STATO`.
|
||||
La cella `9999 = 7G.1.1` resta un indizio logistico importante, ma non e' sufficiente come unico criterio storico perche' una UDC non piu' in giacenza puo' ricadere nei fallback della vista.
|
||||
|
||||
## Convenzioni operative
|
||||
|
||||
Una riga con `Cella = 9999` viene considerata spedita/prelevata, coerentemente con la convenzione `7G.1.1` osservata sul barcode.
|
||||
|
||||
## Limiti noti
|
||||
|
||||
Questa finestra e' una prima vista storica di consultazione. Non sostituisce ancora una vera storicizzazione annuale progettata a database. Quando il database verra' riprogettato per FlyWMS, sara' preferibile costruire una vista storica dedicata, con date di chiusura lista, utente, tempi e movimento UDC collegato.
|
||||
Reference in New Issue
Block a user