Skip to content

Caso d'uso nel settore edile

Raccolta dei bisogni

Il signor Dupont possiede una società di costruzioni. Vuole sviluppare un'applicazione per digitalizzare la sua attività. Per fare ciò, si rivolge alla soluzione di back office.

Il signor Dupont è particolarmente desideroso di potenziare il suo sistema azionario. Oggi, tutto viene salvato su file di fogli di calcolo.

L'azienda del signor Dupont gestisce le scorte di parti utilizzate per la manodopera. Quando un pezzo scende al di sotto di una certa soglia di quantità, viene effettuato un ordine.

Il signor Dupont vuole anche seguire l'andamento dei suoi progetti e avere una visione d'insieme.

Implementazione

Offriamo un modello di applicazione al signor Dupont per soddisfare le sue esigenze.

Schema

Il nostro schema è composto da 5 entità:

  • Movimento cantieri (Construction site movement)
  • Movimento di magazzino (Stock movement)
  • Ordine (Order)
  • Cantiere (Construction site)
  • Parte (Part)

Movimento di cantiere (Construction site movement)

Questa entità viene utilizzata per elencare i movimenti dei lavoratori (user) nei cantieri. L'implementazione di due attributi a partire dal (start_at) e termina il (end_at) del tipo Data e ora (Datetime) renderà possibile offrire una visualizzazione del calendario al signor Dupont.

Parte (Part)

Questa entità consente di elencare le parti (Part) disponibili per i cantieri. Una parte ha un riferimento (reference), una quantità (reference) e un prezzo (price).

Cantiere (Construction site)

Un cantiere ha un attributo posizione (location), un attributo documenti (documents) e un campo virtuale costo (cost) la cui funzione è SUM($stock_movements.cost). Questa funzione serve a calcolare la somma dei costi dei movimenti di magazzino.

Ordine (Order)

Un ordine ha un attributo quantità (quantity) e un campo virtuale costo (cost) la cui funzione è $part.price * $quantity. Questa funzione consente di calcolare il costo di un ordine.

Un ordine ha anche due grilletti:

  • un dopo la creazione la cui funzione è $part.quantity += $quantity
  • un dopo la cancellazione la cui funzione è $part.quantity -= $quantity

Entrambi questi grilletti vengono utilizzati per aggiornare la quantità della parte associata dopo l'aggiunta o la rimozione.

Movimento di magazzino (Stock movement)

Un movimento di magazzino ha un attributo quantità (quantity) e un campo virtuale costo (cost) la cui funzione è $part.price * $quantity. Questa funzione viene utilizzata per calcolare il costo di un movimento di magazzino.

Un movimento magazzino ha due grilletti:

  • un dopo la creazione la cui funzione è $part.quantity += $quantity
  • un dopo la cancellazione la cui funzione è $part.quantity -= $quantity

Entrambi questi grilletti vengono utilizzati per aggiornare la quantità della parte associata dopo l'aggiunta o la rimozione.

Gestione

Per avere una panoramica della sua attività, suggeriamo al signor Dupont di creare metriche e grafici.

Metriche

Il signor Dupont vuole essere avvisato quando una parte scende al di sotto di una soglia di quantità di 10. A tale scopo, viene creata la metrica associata.

Minimo di quantità di parti

AttributoValore
AggregatoMinimo
DataParte
AttributoQuantità
ComparatoreMinore di
Soglia di allerta10

Grafici

Il signor Dupont vuole gestire l'evoluzione dei costi della sua attività. Per fare ciò, aggiungiamo due grafici alla dashboard principale per monitorare i costi dei movimenti di magazzino e degli ordini per mese precedente.

Somma dei costi di movimento di magazzino per mese

AttributoValore
TipoIstogramma
AggregatoSomma
DataOrdine
Attributo di ordinataCosto
Attributo sulle ascisseMese

Somma dei costi dell'ordine per mese

AttributoValore
TipoIstogramma
AggregatoSomma
DataMovimento di magazzino
Attributo di ordinataCosto
Attributo sulle ascisseMese