Übergang "Aufgabe abschließen"
Viele Aktivitäten werden auf Grundlage von Stimmzählungen weitergeleitet. Beispiel: Mehreren Benutzern wird eine Genehmigungsaufgabe zugewiesen. Um die Aufgabe auszuführen, muss der Benutzer das geprüfte Objekt entweder genehmigen oder zurückweisen. Die Option, die er auswählt, bestimmt, wie der Workflow verläuft.
Stimmzählungen werden normalerweise konfiguriert, indem Sie einen Ausdruck auf der Registerkarte Routing hinzufügen. Sie können jedoch den Übergang Aufgabe abschließen auf der Registerkarte Übergänge verwenden, um den Zählprozess genauer zu steuern.
Beispiel
Sie erstellen eine einfache Workflow-Vorlage, die bei der Prüfung bestimmter Objekte verwendet wird. Die erste Aktivität erfordert Benutzer, die das Objekt prüfen und genehmigen oder zurückweisen.
Wenn das Objekt genehmigt wurde, wird es in den Status Genehmigt verschoben. Wenn zurückgewiesen wird, wird es in den Status Zurückgewiesen verschoben:
Alle Teilnehmer sind erforderlich. Die Aktivitätsteilnehmer sind Benutzer in der Qualitätsmanagerrolle und in der Ingenieurrolle:
Um das Objekt in den Status Genehmigt zu verschieben, müssen alle Teilnehmer für "Genehmigen" stimmen.
Wenn beliebige 2 Benutzer in der Qualitätsmanagerrolle für "zurückweisen" stimmen, ist die Aktivität abgeschlossen, und das Objekt wird in den Status Zurückgewiesen verschoben.
Um dies zu erreichen, können Sie den folgenden Ausdruck für den Übergang Aufgabe abschließen eingeben:
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 "Aufgabe abschließen"
Stimmen nach Rolle zählen:

/*
* @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
Stimmen nach Routing-Ereignis zählen:

/*
* @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
Aktivität abschließen, wenn Bedingungen erfüllt sind:

/*
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
War dies hilfreich?