Passa al contenuto principale

Edit delivery

PUT 

/company/delivery/:service_code

Aggiorna i dettagli di una spedizione esistente. I campi modificabili dipendono dallo stato attuale della spedizione.

Obiettivo

Consentire alle aziende di modificare alcuni aspetti delle loro spedizioni in base allo stato in cui si trovano, mantenendo un controllo delle modifiche tramite replannedBy.

Casi d'Uso

  • Modificare le date di carico/scarico in spedizioni pianificate o accettate
  • Aggiornare i dettagli del carico (peso, altezza, pallet, temperatura)
  • Correggere i metri lineari di carico
  • Avviare un processo di ripianificazione che richiede approvazione

Campi Modificabili per Stato

Stato 'planned' o 'replanned': Possono essere modificati: etl_date, etd_date, pallets_num, fresh_cargo_temp, cargo_weight, cargo_height, linear_meters

Stato 'accepted': Possono essere modificati: etl_date, etd_date

Qualsiasi altra modifica:

  • Cambia lo stato in 'replanned'
  • Imposta replannedBy a 'cia' (azienda)

Flusso di Validazione

flowchart TD
A[Ricevi Richiesta di Modifica] --> B{La Spedizione Esiste?}
B -->|No| C[404 NOT_FOUND]
B -->|Sì| D{L'Azienda Possiede la Spedizione?}
D -->|No| E[404 NOT_ALLOWED]
D -->|Sì| F{È uno Stato Finale?}
F -->|Sì| G[401 NOT_ALLOWED]
F -->|No| H[Ottieni Chiavi Modificabili]
H --> I{Alcuna Chiave Valida?}
I -->|No| J[401 NOT_ALLOWED]
I -->|Sì| K[Aggiorna Campi]
K --> L[Imposta status=replanned]
L --> M[Imposta replannedBy=cia]
M --> N[Salva Modifiche - 200]

Note

  • Non è possibile modificare

Request

Responses

Invio aggiornato con successo