Базовое администрирование > Поддержка совместной работы > Администрирование рабочих процессов > Инструменты рабочего процесса > Администрирование шаблонов рабочего процесса > Примеры кодов рабочего процесса > Подсчет по голосам > Пример голосования: три события
  
Пример голосования: три события
В этом примере имеется коллектив с 10 участниками. Коллектив проектирует новые рубашки для своей униформы.
Коллектив голосует, какие цвета нужно использовать. Участникам предоставлены три управляющих события:
Синий
Желтый
Красный
Каждый член коллектива является обязательным участником.
WfTally.any
Можно голосовать за синий, желтый или красный цвет.
Каждый из цветов, получивших один или больше голосов, включается в дизайн новой рубашки.
Тип маршрутизации
выражение;
Голоса
Результат
Исключительно ручная
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Get the routing events for this activity.
Vector userEvents = (Vector)mySelf.getUserEventList();

//Specify the result.
result = WfTally.any(self, userEvents);
Желтый 9
Синий 0
Красный 1
Желтый и красный
WfTally.all
Можно голосовать за синий, желтый, красный цвет или за любую их комбинацию..
Если цвет получает один голос от каждого участника, он включается в дизайн новой рубашки.
Если ни один из цветов не получает голоса от каждого из участников, то дизайн новой рубашки не выполняется.
Тип маршрутизации
выражение;
Голоса
Результат
Вручную
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Get the routing events for this activity.
Vector userEvents = (Vector)mySelf.getUserEventList();

//Specify the result.
result = WfTally.all(self, userEvents);
Желтый 8
Синий 3
Красный 9
Новая рубашка не создается
WfTally.all
Можно голосовать за синий, желтый или красный цвет.
Если каждый из участников проголосовал за синий цвет, то новая рубашка будет синей.
Если каждый из участников проголосовал за желтый цвет, то новая рубашка будет желтой.
Если участники проголосовали за комбинацию цветов, то новая рубашка будет красной.
Тип маршрутизации
выражение;
Голоса
Результат
Исключительно ручная
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Specify the result.
result = WfTally.all(self, "Blue", "Red");
if (result != "Blue")
{
result = WfTally.all(self, "Yellow", "Red");
}
Желтый 8
Синий 2
Красный 0
Красный
WfTally.percent
Можно голосовать за синий, желтый, красный цвет или за любую их комбинацию..
В дизайн рубашки включается каждый из цветов, получивших голоса более 30 % участников.
Дополнительные сведения об операторах см. в разделе Оператор подсчета.
Тип маршрутизации
выражение;
Голоса
Результат
Вручную
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Get the routing events for this activity.
Vector userEvents = (Vector)mySelf.getUserEventList();

//Specify the result.
result = WfTally.percent(self, WfTally.GT, 30, userEvents);
Желтый 7
Синий 4
Красный 2
Желтый и синий
WfTally.number
Можно голосовать за синий, желтый, красный цвет или за любую их комбинацию..
Если за цвет голосуют не менее 3 участников, то цвет включается в дизайн новой рубашки.
Дополнительные сведения об операторах см. в разделе Оператор подсчета.
Тип маршрутизации
выражение;
Голоса
Результат
Вручную
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Get the routing events for this activity.
Vector userEvents = (Vector)mySelf.getUserEventList();

//Specify the result.
result = WfTally.number(self, WfTally.GTE, 3, userEvents);
Желтый 2
Синий 9
Красный 3
Синий и красный
WfTally.plurality
Можно голосовать за синий, желтый или красный цвет.
У рубашки будет цвет, получивший большинство голосов.
В случае если голоса разделились поровну, рубашка содержит каждый из этих цветов.
Тип маршрутизации
выражение;
Голоса
Результат
Исключительно ручная
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Get the routing events for this activity.
Vector userEvents = (Vector)mySelf.getUserEventList();

//Specify the result.
result = WfTally.plurality(self, userEvents);
Желтый 2
Синий 4
Красный 4
Синий и красный
WfTally.notPlurality
Можно голосовать за синий, желтый или красный цвет.
У рубашки будет цвет, получивший наименьшее число голосов.
В случае если голоса разделились поровну, рубашка содержит каждый из этих цветов.
Тип маршрутизации
выражение;
Голоса
Результат
Исключительно ручная
//Get the object that represents this activity.
WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
//Get the routing events for this activity.
Vector userEvents = (Vector)mySelf.getUserEventList();

//Specify the result.
result = WfTally.notPlurality(self, userEvents);
Желтый 2
Синий 4
Красный 4
Желтый
См. также