flowable事件监听器,监听给下一个审批人发送待办消息
时间: 2024-05-14 15:15:24 浏览: 358
可以通过实现 Flowable 的 TaskListener 接口来监听任务事件,在任务被分配给下一个审批人时发送待办消息。具体实现步骤如下:
1. 创建一个类并实现 TaskListener 接口,该接口包含了任务事件的各种回调方法,如任务创建、任务分配、任务完成等。
2. 在类中实现 onAssignment 方法,该方法在任务被分配给下一个人时触发,可以在该方法中发送待办消息,例如通过邮件、短信等方式通知下一个审批人。
3. 在流程定义文件中配置该监听器,可以通过在 userTask 元素中添加 extensionElements 元素,并在其中添加 taskListener 元素来配置监听器,例如:
```
<userTask id="approveTask" name="Approve" flowable:assignee="${assignee}">
<extensionElements>
<flowable:taskListener event="assignment" class="com.example.MyTaskListener" />
</extensionElements>
</userTask>
```
其中 event 属性指定监听的事件类型,class 属性指定实现了 TaskListener 接口的类名。
4. 部署流程定义并启动流程实例,当任务被分配给下一个审批人时,就会触发监听器中的 onAssignment 方法,从而发送待办消息。
相关问题
写一个flowable的请假工作流
好的,以下是一个简单的 Flowable 请假工作流的实现:
1. 创建一个请假表单,包含以下字段:请假人、请假类型、请假开始时间、请假结束时间、请假事由。
2. 在 Flowable Modeler 中创建一个流程模型,添加以下任务节点:
- 提交申请:请假人提交请假申请。
- 经理审批:请假申请提交给经理审批。
- HR审批:请假申请提交给 HR 审批。
- 结束流程:请假申请被批准或拒绝,流程结束。
3. 在 Flowable Modeler 中创建一个流程变量:
- approved:一个布尔类型的变量,用于记录请假申请是否被批准。
4. 将任务节点连接起来,设置条件流程:
- 提交申请 -> 经理审批:当请假类型为病假或事假且请假天数小于等于 3 天时,自动提交给经理审批。
- 提交申请 -> HR审批:当请假类型为病假或事假且请假天数大于 3 天时,自动提交给 HR 审批。
- 经理审批 -> 结束流程:当经理批准请假申请时,将 approved 变量设置为 true 并结束流程。
- HR审批 -> 结束流程:当 HR 批准请假申请时,将 approved 变量设置为 true 并结束流程。
- 经理审批、HR审批 -> 结束流程:当经理或 HR 拒绝请假申请时,将 approved 变量设置为 false 并结束流程。
5. 在 Flowable Modeler 中添加流程监听器:
- on leave request submit:监听提交申请任务节点的完成事件,设置请假开始时间为当前时间。
- on manager approve:监听经理审批任务节点的完成事件,设置请假结束时间为当前时间。
- on HR approve:监听 HR 审批任务节点的完成事件,设置请假结束时间为当前时间。
6. 部署流程模型。
7. 在应用程序中使用 Flowable API 来启动请假流程:
- 创建一个 ProcessInstance 对象。
- 设置流程变量,包括请假人、请假类型、请假天数、请假事由等信息。
- 启动流程实例。
8. 在应用程序中使用 Flowable API 来完成任务节点:
- 获取待办任务列表。
- 完成任务节点,包括审批意见、审批结果等信息。
以上就是一个简单的 Flowable 请假工作流的实现步骤,具体实现可以根据业务需求进行调整。
阅读全文