概念说明
任务撤回是指发起人或办理人在办理任务后,允许他在的下一个用户任务的办理人在办理任务前将任务撤回。如申请人发起流程发现提交材料有误,但此时 流程已经流转到下一个用户任务,这种情况如果通过沟通将浪费很多时间。这时就可以使用任务撤回来操作。
在线体验,立即前往 JeecgFlow
设计流程图
点击节点右侧,选择小扳手,将节点设置为用户任务(userTask)节点,按照下面红色方框设置节点属。
设置申请节点的指定人员,以及申请表单的字段信息(可以根据自己业务进行调整)
设置初审人员信息,以及审批字段信息
设置终审人员信息,以及审批字段信息
XML内容
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:activiti="http://activiti.org/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn">
<bpmn:process id="Process_leave" name="请假案例(修订版)" isExecutable="true">
<bpmn:startEvent id="StartEvent_1" activiti:initiator="admin">
<bpmn:outgoing>Flow_1isadqh</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1isadqh" sourceRef="StartEvent_1" targetRef="Activity_0oioul4" />
<bpmn:userTask id="Activity_0oioul4" name="请假申请" activiti:assignee="${general}">
<bpmn:extensionElements>
<activiti:formData>
<activiti:formField id="days" label="天数" type="long" defaultValue="1" />
<activiti:formField id="resson" label="理由" type="string" defaultValue="a" />
<activiti:formField id="type" label="类型" type="string" />
</activiti:formData>
<activiti:formData>
<activiti:formField id="textValue" label="文本" type="string" />
<activiti:formField id="numValue" label="数字" type="long" defaultValue="0" />
</activiti:formData>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1isadqh</bpmn:incoming>
<bpmn:outgoing>Flow_1w29ubj</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_1w29ubj" sourceRef="Activity_0oioul4" targetRef="Activity_0q76mxf" />
<bpmn:userTask id="Activity_0q76mxf" name="军师审批" activiti:assignee="${guide}">
<bpmn:extensionElements>
<activiti:formData>
<activiti:formField id="comment" label="文本" type="string" />
</activiti:formData>
<activiti:formData>
<activiti:formField id="comment" label="文本" type="string" />
<activiti:formField id="imageUrl" label="图片" type="string" />
</activiti:formData>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1w29ubj</bpmn:incoming>
<bpmn:outgoing>Flow_1tyk4tf</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_1tyk4tf" sourceRef="Activity_0q76mxf" targetRef="Activity_14xwipa" />
<bpmn:userTask id="Activity_14xwipa" name="主公审批" activiti:assignee="${leader}">
<bpmn:extensionElements>
<activiti:formData>
<activiti:formField id="comment" label="文本" type="string" />
</activiti:formData>
<activiti:formData>
<activiti:formField id="comment" label="文本" type="string" />
<activiti:formField id="imageUrl" label="图片" type="string" />
</activiti:formData>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1tyk4tf</bpmn:incoming>
<bpmn:outgoing>Flow_0yfazy1</bpmn:outgoing>
</bpmn:userTask>
<bpmn:endEvent id="Event_0md911b">
<bpmn:incoming>Flow_0yfazy1</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_0yfazy1" sourceRef="Activity_14xwipa" targetRef="Event_0md911b" />
<bpmn:textAnnotation id="TextAnnotation_0a3g94e">
<bpmn:text>诸葛亮账号来审批</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Association_0ophocq" sourceRef="Activity_0q76mxf" targetRef="TextAnnotation_0a3g94e" />
<bpmn:textAnnotation id="TextAnnotation_1uo4krp">
<bpmn:text>刘备账号来审批</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Association_11aixgw" sourceRef="Activity_14xwipa" targetRef="TextAnnotation_1uo4krp" />
</bpmn:process>
</bpmn:definitions>
演示步骤
使用将军的角色登陆JeecgFlow的Activiti演示站,如关羽,张飞
发起流程,填写相应的表单参数
此时流程预览可以看到当前流转到军师审批节点
此时,用户可以进行撤回操作
点击撤回之后,预览流程运行情况如图,表示流程回到了发起节点,用户可以重新提交信息。
该撤回的技术方案,是通过自定义Cmd方式实现
更多精彩,请访问JeecgFlow