Changes between Version 2 and Version 3 of BozzaAnalisiFunzionale/Gestione degli ordini


Ignore:
Timestamp:
01/27/11 14:18:19 (4 years ago)
Author:
lfranc
Comment:

Elaborata un bozza della procedura di completamento di un OrdineProduttore.

Legend:

Unmodified
Added
Removed
Modified
  • BozzaAnalisiFunzionale/Gestione degli ordini

    v2 v3  
    9898  * cambia lo stato degli !OrdiniGasista pertinenti da FINALIZZATO a CONFERMATO 
    9999 
    100  
    101 === procedura completa ordine === 
    102  
    103100=== prodotto non sarà consegna: gestione parziale === 
    104101Un !ReferenteProduttoreGAS elimina uno (o più) prodotti e quindi i relativi !OrdineGasista di ciascun gasista nel !OrdineProduttore chiuso. Viene mandato un email di avviso agli rispettivi Gassisti per informare della non consegna del prodotto. Se per caso l'eliminazione riguarda l'ultimo !OrdineGasista per questo produttore, l'email inviato informa che la consegna per questo produttore lui è stata annullato.  
     
    113110=== L'!OrdineProduttore viene annullato (non verrà consegnato) === 
    114111  Si elimina tutto quello che riguarda  l'!OrdineProduttore: Carrello +  !OrdiniGasista  + listini e lo si notifica. 
     112 
     113== Completamento di un !OrdineProduttore == 
     114In alcuni casi, il Produttore può decidere di accettare un !OrdineProduttore solo nel caso in cui certi vincoli siano soddisfatti (ad. es. deve essere raggiunto un importo minimo per l'!OrdineProduttore, oppure certi Prodotti vengono consegnati solo in confezioni di N unità). 
     115 
     116Una procedura possibile per il completamento di un !OrdineProduttore potrebbe essere quella seguente: 
     117* nel caso in cui l'!OrdineProduttore sia soggetto a vincoli, al momento della chiusura dell'!OrdineProduttore (stato=`CHIUSO`), il Sistema verifica se tutti i vincoli sono soddisfatti: 
     118 * in caso affermativo, l'!OrdineProduttore passa allo stato `FINALIZZATO` è può essere inviato al Produttore 
     119 * in caso negativo, il ReferenteProduttoreGAS può avviare la procedura di completamento dell'!OrdineProduttore. 
     120 
     121Quando il ReferenteProduttoreGAS avvia la procedura di completamento dell'!OrdineProduttore: 
     122* il ReferenteProduttoreGAS stabilisce la durata del processo di completamento 
     123* il Sistema modifica lo stato dell'!OrdineProduttore da `CHIUSO` a `IN_COMPLETAMENTO`   
     124* il Sistema notifica tutti i Gasisti del fatto che un !OrdineProduttore deve essere completato prima che possa essere inviato al Produttore, evidenziando i vincoli che non sono attualmente soddisfatti (importo economico mancante, cartoni non completi) e rinviandolo ad una pagina del sito in cui può gestire la cosa 
     125* dopo aver preso visione della situazione attuale, il Gasista esegue le azioni che ritiene opportune (ad esempio effettua nuovi !OrdiniGasista o modifica quelli già eseguiti in precedenza).  In base alla natura del vincolo da soddisfare, il Sistema può imporre al Gasista alcune restrizioni: 
     126 * se il vincolo è l'importo minimo, il Gasista può ordinare su tutti i Prodotti nel !ListinoGasistaProduttore associato all'!OrdineProduttore   
     127 * se il vincolo è costituito da alcuni "cartoni" da completare, il Gasista può ordinare solo i Prodotti relativi (in modo da non introdurre nuove problematiche di "cartoni da completare"; inoltre, il Sistema può limitare il Gasista sul numero di unità di Prodotto ordinabili (in modo da evitare di iniziare un nuovo cartone)  
     128* in caso di "accesso concorrente" al Sistema, nel caso dei "cartoni da completare" può accadere che i nuovi !OrdiniGasista abbiamo come risultato l'inizio di riempimento di un nuovo cartone; in questo caso, il Sistema deve rimuovere le unità di Prodotto in eccesso. Alcune strategie adottabili: 
     129 * gli !OrdiniGasista vengono accettati in ordine cronologico ("chi prima arriva, meglio alloggia")  
     130 * gli !OrdiniGasista vengono ordinati in modo decrescente per quantità, e il Sistema scala un'unità per Gasista fino al raggiungimento del risultato (approccio "solidale" ) 
     131Non appena tutti i vincoli vengono soddisfatti, l'!OrdineProduttore passa dallo stato `IN_COMPLETAMENTO` allo stato `FINALIZZATO` ed è pronto per essere inviato al Produttore.   
     132Al termine del lasso di tempo previsto,  l'!OrdineProduttore passa dallo stato `IN_COMPLETAMENTO` allo stato `CHIUSO`; a questo punto:                       
     133* se l'!OrdineProduttore è completo, passa allo stato `FINALIZZATO`  ed è pronto per essere inviato al Produttore 
     134* se l'!OrdineProduttore non è completo, passa allo stato `CHIUSO`; in questo caso il ReferenteProduttoreGAS può: 
     135 * [solo per il caso "cartoni incompleti"] eliminare i cartoni non completi (necessario definire una strategia di rimaneggiamento degli !OrdiniGasista in modo da ottenere tale risultato)         
     136 * lanciare un "replay" della procedura di completamento dell'!OrdineProduttore 
     137 * [nel caso "importo minimo"] annullare l'!OrdineProduttore (!OrdineProduttore passa allo stato `ANNULLATO`)                                      
     138'''Note''': 
     139* in questa procedura, non è prevista conferma degli !OrdiniGasista                                                                           
     140 
     141 
     142 
     143 
    115144== !OrdiniPeriodici == 
    116145Al fine di semplificare al massimo la vita del Gasista, è importante implementare un meccanismo che consenta la pianificazione (scheduling) degli Ordini ricorrenti (che avvengono periodicamente con cadenze fissate).  Il Gasista dovrebbe poter inserire nel Sistema gli Ordini che si trova ad eseguire periodicamente (!OrdiniPeriodici), specificando: