5.8 KiB
5.8 KiB
Warehouse Operational Flow
Questo diagramma descrive il flusso operativo integrato tra:
- layout di magazzino;
- gestione picking list;
- movimentazione fisica dei pallet;
- viste SQL e stored procedure coinvolte;
- aggiornamento dell'interfaccia dopo ogni operazione.
Vista d'insieme
flowchart TD
UI["Operatore su interfaccia"] --> LAY["Gestione Layout"]
UI --> PL["Gestione Picking List"]
subgraph Layout["Flusso Layout"]
LAY --> LC1["Caricamento corsie e metadati layout"]
LC1 --> LC2["vViewMappaturaDescrizioneCorsia"]
LC1 --> LC3["vViewMappaturaPosizCorsia"]
LC1 --> LC4["MagLayout"]
LC1 --> LC5["Celle / Magazzini"]
LC2 --> GRID["Rendering griglia scaffale"]
LC3 --> GRID
LC4 --> GRID
LC5 --> GRID
GRID --> LX["Click su cella / ricerca UDC / menu contestuale"]
end
subgraph Picking["Flusso Picking List"]
PL --> PC1["Caricamento elenco documenti"]
PC1 --> PV1["XMag_ViewPackingList"]
PV1 --> PGRID["Griglia documenti aggregata"]
PGRID --> PSEL["Selezione documento"]
PSEL --> PV2["vViewPackingListRestante"]
PV2 --> PDET["Griglia dettaglio documento"]
PDET --> PACT["Prenota / S-prenota / consultazione"]
end
subgraph Mov["Movimentazione pallet"]
LX --> MOVE{"Operazione fisica?"}
MOVE -->|Carico o spostamento| SP1["sp_xMagGestioneMagazziniPallet"]
MOVE -->|Scarico pallet| SP1
PACT -->|Prenota o s-prenota| SP2["sp_xExePackingListPallet"]
SP1 --> M1["Aggiorna movimenti MagazziniPallet"]
SP1 --> M2["Aggiorna cella destinazione / origine"]
SP1 --> M3["Controlla prenotazione automatica"]
M3 --> SP3["sp_ControllaPrenotazionePackingListPalletNew"]
SP3 --> SP4["sp_xExePackingListPalletPrenota"]
SP2 --> M4["Aggiorna Celle.IDStato"]
SP2 --> M5["Scrive LogPackingList"]
SP4 --> M4
end
subgraph Views["Ricostruzione contesto"]
M1 --> GV["XMag_GiacenzaPallet"]
M2 --> CV["Celle"]
GV --> XP["XMag_ViewPackingList"]
GV --> TP["vXTracciaProdotti"]
CV --> XP
XP --> RL1["Stato documento / pallet / ubicazione"]
TP --> RL2["Articolo / lotto / descrizione"]
end
RL1 --> LREF["Refresh Layout / Picking List"]
RL2 --> LREF
LREF --> GRID
LREF --> PGRID
LREF --> PDET
Flusso del layout
flowchart TD
A["Apertura Gestione Layout"] --> B["Legge mappatura corsie"]
B --> B1["vViewMappaturaDescrizioneCorsia"]
B --> B2["vViewMappaturaPosizCorsia"]
B --> B3["MagLayout"]
B --> B4["Celle / Magazzini"]
B1 --> C["Costruisce geometria scaffale"]
B2 --> C
B3 --> C
B4 --> C
C --> D["Query giacenza pallet per corsia"]
D --> E["Colora celle: vuota / piena / multipla"]
E --> F["Mostra UDC piu recente nella cella"]
F --> G{"Interazione utente"}
G -->|Ricerca UDC| H["Evidenzia cella in blu"]
G -->|Tasto destro su cella rossa| I["Menu contestuale"]
I --> J["Dialog scarico / analisi multi UDC"]
J --> K["Movimentazione fisica pallet"]
K --> L["Refresh layout"]
Flusso della picking list
flowchart TD
A["Apertura Gestione Picking List"] --> B["Query aggregata documenti"]
B --> C["XMag_ViewPackingList"]
C --> D["Una riga per documento"]
D --> E["Utente seleziona il documento"]
E --> F["Query dettaglio documento"]
F --> G["vViewPackingListRestante"]
G --> H["Mostra pallet ancora rilevanti per il documento"]
H --> I{"Azione utente"}
I -->|Prenota o s-prenota| J["sp_xExePackingListPallet"]
I -->|Consulta dettaglio| H
J --> K["Aggiorna IDStato delle celle del documento"]
K --> L["LogPackingList"]
K --> M["Refresh lista documenti"]
K --> N["Refresh dettaglio documento"]
Flusso della movimentazione pallet
flowchart TD
A["Utente legge barcode pallet e cella"] --> B["sp_xMagGestioneMagazziniPallet"]
B --> C{"Il pallet esiste gia in giacenza?"}
C -->|No| D["Inserisce movimento V sulla nuova cella"]
C -->|Si| E["Inserisce movimento P sulla vecchia cella"]
E --> F["Inserisce movimento V sulla nuova cella"]
D --> G["Aggiorna ricostruzione giacenza"]
F --> G
G --> H["XMag_GiacenzaPallet"]
H --> I["XMag_ViewPackingList"]
H --> J["vXTracciaProdotti"]
I --> K["Ubicazione e stato documento"]
J --> L["Dati articolo e lotto"]
K --> M["Refresh interfaccia"]
L --> M
Significato delle viste e delle stored procedure
XMag_ViewPackingList: ricostruisce il collegamento tra pallet, documento, ubicazione e stato logistico. E' la vista principale per la schermata picking list.vViewPackingListRestante: mostra il dettaglio operativo del documento, cioe' le righe ancora visibili e ordinate per ubicazione.vXTracciaProdotti: arricchisce il pallet con lotto, codice articolo e descrizione.sp_xMagGestioneMagazziniPallet: esegue il movimento fisico del pallet nel magazzino.sp_xExePackingListPallet: fa il toggle di prenotazione delle celle coinvolte in una picking list.sp_xExePackingListPalletPrenota: forza la prenotazione aIDStato = 1.sp_ControllaPrenotazionePackingListPalletNew: controlla se, dopo una movimentazione fisica, debba essere riapplicata una prenotazione automatica sulle celle coinvolte.
Lettura pratica del sistema
- Il layout risponde alla domanda: "dove sono i pallet e come sono distribuiti nello scaffale?"
- La picking list risponde alla domanda: "quali pallet fanno parte di un documento e quali celle sono prenotate?"
- La movimentazione pallet risponde alla domanda: "cosa succede nel tracciato quando un pallet viene caricato, spostato o scaricato?"
- Le viste vengono rilette dopo l'operazione per riportare la UI in uno stato coerente con il database.