| Version 2 (modified by lfranc, 2 years ago) (diff) |
|---|
Descrizione della problematica
Questa sezione descrive possibili meccanismi di automazione nell'ambito della gestione degli ordini di un GAS, volti a ridurre il carico di lavoro dei Gasisti. Due scenari sono di particolare interesse:
Come in ogni problema di pianificazione (scheduling), ci sono due parametri essenziali da specificare per definire il meccanismo di ricorrenza:
- lo schema di ricorrenza, ovvero quali sono i criteri con cui gli eventi (in questo caso gli ordini) vengono schedulati
- la validità temporale dello schema di ricorrenza, ovvero l'arco di tempo durante il quale il meccanismo di scheduling è attivo
Ogni ordine periodico (OrdineProduttorePeriodico, OrdineGasistaPeriodico) ha un attributo che registra il numero di giorni trascorsi dall'ultima occorrenza generata dal Sistema; questo attributo viene utilizzato dal Sistema per onorare la cadenza specificata durante la creazione dell'ordine periodico.
Esempi di schemi di ricorrenza tipici
Settimanale
Quindicinale
Mensile
Annuale
Pianificazione degli OrdiniProduttore
Per alleggerire il carico di lavoro dei ReferentiProduttoreGAS (ed evitare loro la necessità di eseguire azioni ripetitive), sarebbe utile implementare un meccanismo che consenta l'apertura di OrdiniProduttore periodici da parte dei !ReferentiProduttoreGAS. In effetti, molti GAS hanno uno o più Produttori per i quali l'apertura e la chiusura dell'OrdineProduttore avviene con cadenza fissata e regolare, nota a priori.
Un ReferenteProduttoreGAS aggiunge un OrdineProduttorePeriodico
- un ReferenteProduttoreGAS aggiunge un nuovo OrdineProduttorePeriodico specificando:
- lo schema di ricorrenza
- la validità temporale dello schema di ricorrenza
Un ReferenteProduttoreGAS sospende un OrdineProduttorePeriodico
Un OrdineProduttorePeriodico può essere sospeso in qualsiasi momento dal ReferenteProduttoreGAS che lo ha creato; durante il periodo di sospensione, l'OrdineProduttoreoPeriodico è inattivo e non può causare l'apertura automatica di un OrdineProduttore.
Un ReferenteProduttoreGAS elimina un OrdineProduttorePeriodico
Un ReferenteProduttoreGAS può eliminare in qualsiasi momento un OrdineProduttorePeriodico in modo definitivo.
Apertura automatica di OrdiniProduttorePeriodici
Ad intervalli regolari (ad es. ogni giorno alle 0.00) il Sistema:
- determina gli OrdiniProduttorePeriodici attivi (ovvero quelli esistenti e non sospesi)
- per ogni OrdineProduttorePeriodico attivo:
- verifica se il giorno corrente cade nell'intervallo di validità dell'OrdineProduttorePeriodico
- verifica se il giorno corrente soddisfa lo schema di ricorrenza dell'OrdineProduttorePeriodico
- verifica se sono trascorsi abbastanza giorni dall'ultima occorrenza generata a partire dall'OrdineProduttorePeriodico
- in caso affermativo, schedula l'apertura di un OrdineProduttore, in base ai parametri definiti nell'OrdineProduttorePeriodico (AppuntamentoDiconsegna, AppuntamentoDiRitiro, ora di apertura, durata dell'apertura, ora di chiusura, ..)
- resetta il contatore dei giorni trascorsi per l'OrdineProduttorePeriodico
- notifica il ReferenteProduttoreGAS
- notifica i Gasisti
Pianificazione degli OrdiniGasista
Per alcuni prodotti, in particolare quelli alimentari, gli ordini dei Gasisti avvengono con una certa regolarità: per questa tipologia di OrdiniGasista la pianificazione è una strada percorribile. La pianificazione degli OrdiniGasista porta con sé alcuni vantaggi significativi:
- allevia il carico di lavoro dei Gasisti
- può aiutare alcuni Produttori a pianificare la loro attività produttiva.
Un Gasista aggiunge un OrdineGasistaPeriodico
- un Gasista può aggiungere un nuovo OrdineGasistaPeriodico specificando:
- lo schema di ricorrenza
- la validità temporale dello schema di ricorrenza
- il Prodotto da ordinare
- il numero di unità di Prodotto da ordinare
Un Gasista sospende un OrdineGasistaPeriodico
Un OrdineGasistaPeriodico può essere sospeso in qualsiasi momento dal Gasista che lo ha creato; durante il periodo di sospensione, l'OrdineGasistaPeriodico è inattivo e non può causare l'apertura automatica di un OrdineGasista.
Un Gasista elimina un OrdineGasistaPeriodico
Un Gasista può eliminare in qualsiasi momento un OrdineGasistaPeriodico in modo definitivo.
Apertura automatica di OrdiniGasistaPeriodici
Ad intervalli regolari (ad es. ogni giorno alle 0.00) il Sistema:
- determina gli OrdiniGasistaPeriodici attivi (ovvero quelli esistenti e non sospesi)
- per ogni OrdineGasistaPeriodico attivo:
- verifica se il giorno corrente cade nell'intervallo di validità dell'OrdineGasistaPeriodico
- verifica se il giorno corrente soddisfa lo schema di ricorrenza dell'OrdineGasistaPeriodico
- verifica se sono trascorsi abbastanza giorni dall'ultima occorrenza dell'OrdineGasistaPeriodico
- verifica se l' OrdineGasista che verrebbe generato dall'OrdineGasistaPeriodico può essere soddisfatto (ovvero se al momento esiste una VoceDiOrdine in grado di fornire il Prodotto specificato nell'OrdineGasistaPeriodico)
- in caso affermativo, apre un nuovo OrdineGasista, in base ai parametri definiti nell'OrdineGasistaPeriodico (quantità da ordinare,..)
- resetta il contatore dei giorni trascorsi per l'OrdineGasistaPeriodico
- notifica il Gasista
