flowable 条件表达式 按照比例通过
时间: 2023-07-21 21:18:05 浏览: 132
EL表达式的语法介绍
在 flowable 中实现条件表达式按照比例通过的方法如下:
1. 在流程变量中设置投票比例和通过投票数的变量,如下所示:
```
execution.setVariable("voteRatio", 0.8); // 投票比例为80%
execution.setVariable("approvedCount", 0); // 初始通过投票数为0
```
2. 在投票节点的出口条件中使用表达式计算通过投票数是否达到投票比例,如下所示:
```
${approvedCount >= totalCount * voteRatio}
```
其中 approvedCount 为通过投票的数量,totalCount 为总投票数量,voteRatio 为投票比例。
3. 在投票节点的任务监听器中更新通过投票数的变量,如下所示:
```
public class VoteTaskListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
// 获取投票结果
boolean voteResult = (boolean) delegateTask.getVariable("voteResult");
// 判断是否通过投票
if (voteResult) {
// 通过投票数加1
int approvedCount = (int) delegateTask.getVariable("approvedCount");
delegateTask.setVariable("approvedCount", approvedCount + 1);
}
}
}
```
通过以上步骤,可以实现按照比例通过的条件表达式。在投票节点的出口条件中使用表达式计算投票结果,在投票节点的任务监听器中更新通过投票数的变量,最终可以实现按照比例通过的逻辑。
阅读全文