Definisci requisiti fondanti FlyWMS Core

This commit is contained in:
2026-06-30 16:51:37 +02:00
parent 3c97dbe313
commit a2520ff84c
6 changed files with 295 additions and 6 deletions

View File

@@ -33,6 +33,10 @@ Attributi iniziali:
- origine dati;
- riferimento ERP.
Una LogisticUnit puo' esistere in FlyWMS Core anche prima del primo movimento fisico registrato nel WMS.
In questo caso la sua origine e' ERP e la sua posizione iniziale e' una location virtuale di ingresso, normalmente NON_SHELVED.
### LogisticUnitContent
Descrive il contenuto di una unita' logistica.
@@ -60,15 +64,20 @@ Tipi iniziali:
Le location virtuali sostituiscono i codici convenzionali legacy.
Esempi:
Location virtuali obbligatorie nella prima versione:
- NON_SHELVED;
- SHIPPED;
- SHIPPED.
Location virtuali opzionali o future:
- RECEIVING;
- QUALITY_HOLD;
- DAMAGED;
- STAGING.
Ogni location virtuale deve avere codice interno, label utente e, se necessario, barcode convenzionale configurabile.
### InventoryMovement
Registra ogni movimento.
@@ -85,6 +94,19 @@ Campi concettuali:
- origine del movimento;
- transazione.
Il movimento deve essere espresso sempre come trasferimento:
```text
from_location -> to_location
```
Le due operazioni elementari esposte al barcode sono:
- prelievo: rimozione da una location sorgente;
- versamento: inserimento in una location destinazione.
Nel modello applicativo un'azione operativa puo' combinare prelievo e versamento in una sola transazione.
### CurrentInventory
Rappresenta la giacenza corrente materializzata.
@@ -102,3 +124,20 @@ Puo' essere calcolata dai movimenti oppure mantenuta come tabella aggiornata per
- BLOCKED;
- UNKNOWN.
## Relazione con ERP
Il modello deve prevedere una fonte ERP per le LogisticUnit.
Il primo obiettivo non e' importare tutto l'ERP, ma creare una vista o tabella di staging che dica:
- codice UDC;
- data creazione;
- articolo o articoli;
- lotto o lotti;
- quantita';
- peso;
- dimensioni;
- documento o contesto di origine;
- stato ERP rilevante.
Le UDC presenti nello staging ERP ma non ancora movimentate nel WMS devono risultare in CurrentInventory come NON_SHELVED logiche.