Transition Terminer la tâche
Le routage de nombreuses activités repose sur une
comptabilisation des votes. Par exemple, une tâche d'approbation peut être affectée à plusieurs utilisateurs. Pour exécuter la tâche, l'utilisateur doit approuver ou rejeter l'objet en cours de validation. L'option qu'il sélectionne détermine la façon dont le processus progressera.
Les comptabilisations des votes sont généralement configurées via l'ajout d'une expression sous l'onglet
Routage. Toutefois, si vous souhaitez contrôler plus étroitement le processus de comptabilisation, vous pouvez utiliser la transition
Terminer la tâche sous l'
onglet Transitions.
Exemple
Vous créez un modèle de processus simple à utiliser lors de la validation de certains objets. La première activité nécessite que les utilisateurs valident l'objet et approuvent ou rejettent ce dernier.
Si l'objet est approuvé, il prend l'état Approuvé. S'il est rejeté, il passe à l'état Rejeté :
Tous les participants sont obligatoires. Les participants à l'activité sont des utilisateurs présentant les rôles Responsable qualité et Ingénieur :
• Pour faire passer l'objet à l'état Approuvé, tous les participants doivent voter pour l'option "Approuver".
• Si 2 des utilisateurs du rôle Responsable qualité votent pour l'option "Rejeter", l'activité est terminée, et l'objet passe à l'état Rejeté.
Pour obtenir ce résultat, vous pouvez entrer l'expression ci-après pour la transition Terminer la tâche :
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 Terminer la tâche
Comptabiliser les votes par rôle :
/* * @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
|
Comptabiliser les votes par événement de routage :
/* * @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
|
Terminer l'activité lorsque les conditions sont remplies :
/* 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
|