背景
在JeecgFlow实现OA审批的场景中, 驳回是一个常用的业务场景, 比如用户提交的资料不符合审批规范。
此时就需要用户重新进行整理,并重新提交数据,发起流程。
需求说明
假设,以三国的场景为例, 作为打工人的关羽需要提交一份出战申请,先军师进行审核,后主公进行审核。
以此场景,我们模拟一下军师驳回,关羽重新提交申请的场景。
模拟演示
- 关羽提交数据发起流程
- 诸葛亮登陆系统,找到待办任务,将任务进行驳回
- 关羽登陆系统,将会看到自己的发起的流程回到请假申请节点,并且出现重新提交的按钮操作。
- 关羽点击重新提交按钮, 进入页面修改数据进行重新提交。
- 诸葛亮登陆系统,将会看到重新提交的数据, 并且进行同意的操作
- 关羽登陆系统,此时就可以看到流程流转到主公节点进行审批啦
核心代码
//主要判断当前流程实例与当前用户的任务是否存在,然后完成任务即可
Task task = taskService.createTaskQuery().processInstanceId(reStartReq.getProcessInstanceId()).taskAssignee(reStartReq.getStartUser()).singleResult();
if (task != null) {
Map<String, Object> params = new HashMap<>(12);
params.put("numValue", reStartReq.getNumValue());
params.put("textValue", reStartReq.getTextValue());
taskService.complete(task.getId(), params);
}
更多关于工作流的信息,请访问www.jeecgflow.com