activiti归还任务
时间: 2023-08-23 22:17:15 浏览: 188
在Activiti中,归还任务可以通过将任务的负责人(assignee)设置为null来实现。引用\[1\]中的代码示例展示了如何将个人任务转变为组任务并进行任务交接。首先,使用TaskService查询待办任务,并校验当前用户是否是任务的负责人。如果是负责人,则将任务的负责人设置为null,即归还组任务。代码示例如下:
```java
TaskService taskService = processEngine.getTaskService();
String taskId = "6004"; // 待归还的任务ID
String userId = "zhangsan2"; // 当前用户ID
Task task = taskService.createTaskQuery().taskId(taskId).taskAssignee(userId).singleResult();
if (task != null) {
taskService.setAssignee(taskId, null);
}
```
另外,引用\[2\]中的代码示例展示了如何退回(归还)任务。通过查询任务列表,找到需要退回的任务,并将任务的负责人设置为null,即可实现任务的归还。
```java
TaskService service = engine.getTaskService();
List<Task> tasks = service.createTaskQuery()
.processDefinitionKey("evecation")
.taskAssignee("user4")
.list();
for (Task task : tasks) {
service.setAssignee(task.getId(), null);
}
```
需要注意的是,如果想要退回到上一级或最初拾取任务的人员,可以查看`act_ru_identitylink`表,该表记录了最初拾取任务的人员信息。此外,还可以查看`act_hi_comment`表,该表记录了任务移交过程中的评论信息。引用\[3\]中的代码示例展示了如何拾取任务,可以作为参考。
```java
TaskService service = engine.getTaskService();
List<Task> tasks = service.createTaskQuery()
.processDefinitionKey("evecation")
.list();
for (Task task : tasks) {
String user3 = "user3";
service.claim(task.getId(), user3);
}
```
以上是关于Activiti中归还任务的相关操作。希望对你有帮助!
#### 引用[.reference_title]
- *1* [《Activiti/Flowable 深入BPM工作流》- 如何进行任务的归还?](https://blog.csdn.net/u013067756/article/details/106735160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Activiti7学习十 组任务](https://blog.csdn.net/u011447164/article/details/125246319)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文