最近项目里碰到用activiti工作流来做一个驳回功能,要求驳回到上一个指定的流程,比方说部门职员写申请给部门经理,部门经理审批完给总经理,然后总经理看完不行就驳回给部门经理,我现在写的代码会从总经理这里直接驳回给部门员工,各位看看该怎么写比较好,多谢了
4条回答 默认 最新
- 喝茶品人生 2023-04-27 17:33关注
`` public void backToActivity(String taskId, String activityId) { Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); if (task == null) { throw new RuntimeException("任务不存在"); } List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery() .processInstanceId(task.getProcessInstanceId()).orderByHistoricTaskInstanceEndTime().desc().list(); HistoricTaskInstance lastTask = null; for (HistoricTaskInstance historicTaskInstance : historicTaskInstances) { if (historicTaskInstance.getTaskDefinitionKey().equals(activityId)) { lastTask = historicTaskInstance; break; } } if (lastTask == null) { throw new RuntimeException("没有找到指定节点的任务"); } String lastAssignee = lastTask.getAssignee(); Map<String, Object> variables = new HashMap<>(); variables.put("assigneeList", Arrays.asList(lastAssignee)); runtimeService.createProcessInstanceModification(task.getProcessInstanceId()) .startBeforeActivity(activityId).setVariables(variables).execute(); }
```
解决 1无用
悬赏问题
- ¥50 如何在不能联网影子模式下的电脑解决usb锁
- ¥20 服务器redhat5.8网络问题
- ¥15 如何利用c++ MFC绘制复杂网络多层图
- ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
- ¥15 python螺旋图像
- ¥15 算能的sail库的运用
- ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
- ¥15 找代写python里的jango设计在线书店
- ¥15 请教如何关于Msg文件解析
- ¥200 sqlite3数据库设置用户名和密码