Transizione Completa task
Molte attività vengono instradate in base al
conteggio dei voti. Ad esempio, un task di approvazione può essere assegnato a diversi utenti. Per completare il task, l'utente deve approvare o rifiutare l'oggetto in esame. L'opzione selezionata determina l'avanzamento del workflow.
I conteggi dei voti vengono generalmente configurati aggiungendo un'espressione nella scheda
Instradamento. Tuttavia, è possibile utilizzare la transizione
Completa task nella scheda
Transizioni per un controllo più dettagliato sul processo di conteggio.
Esempio
Si supponga di creare un modello di workflow semplice da utilizzare quando si esaminano determinati oggetti. La prima attività richiede che gli utenti esaminino l'oggetto e lo approvino o lo rifiutino.
Se l'oggetto viene approvato, passa allo stato Approvato. Se viene rifiutato, passa allo stato Rifiutato.
Tutti i partecipanti sono obbligatori. I partecipanti di attività sono utenti con ruolo di Responsabile qualità e Ingegnere.
• Per spostare l'oggetto sullo stato Approvato, tutti i partecipanti devono votare "Approva".
• Se di 2 utenti con ruolo di Responsabile qualità votano "Rifiuta", l'attività viene completata e l'oggetto viene spostato sullo stato Rifiutato.
A questo scopo, è possibile immettere l'espressione riportata di seguito per la transizione Completa task.
java.util.Locale locale=wt.util.WTContext.getContext().getLocale();
int number=wt.workflow.work.WfTally.count(self,"Reject","Quality Manager",locale);
if(number>=2)
{
wt.workflow.work.WorkflowHelper.service.completeActivity(self,"Reject");
}
API Completa task
Conteggio dei voti in base al ruolo.
/* * @param self : WfAssignedActivity ObjectReference * @param eventToMatch : Routing option to tally * @param assigneeRole : Role for which you want to tally the routing option * @param locale : The locale in which you have specified the assignee role * @return int : Number of votes from user in the specified role * @throws WTException */ public static int count(ObjectReference self,String eventToMatch,String assigneeRole,Locale locale) throws WTException
|
Conteggio dei voti in base all'evento di instradamento.
/* * @param self : WfAssignedActivity ObjectReference * @param eventToMatch : Routing option to tally * @param int : Number of votes for the routing event in the activity * @throws WTException */ public static int count(ObjectReference self,String eventToMatch) throws WTException
|
Completare l'attività quando le condizioni sono soddisfatte.
/* Supported API : True Method to complete the activity * @param self : WfAssignedActivity ObjectReference * @param events : Routing event to follow * @throws WTException */ public void completeActivity(ObjectReference self,String events) throws WTException
|