在上一篇的文章中,我给大家分享了Activiti工作流引擎的API的封装代码,通过我们自己封装的代码,在实际的项目中我们就可以进行工作流相关的开发了。以下内容我们分三个部分:提交审批,审批列表查询,审批处理。
一、提交审批
提交审批之前,我们需要做好相关的准备工作。在上文中,我提到过:
1.首先,我们要画工作流程图,并且需要在流程图中设置相关的参数,比如:流程ID、审批人节点,审批条件的判断等,然后我们把生成的.bpmn20.xml放入到我们的项目中,以下展示的是xml里面的内容,主要是看下参数节点的设置。
<process id="activity001" name="活动管理审批流程001" isExecutable="true">
<startEvent id="startevent1" name="Start"></startEvent>
<userTask id="usertask1" name="分公司市场岗" activiti:assignee="${submitter}"></userTask>
<userTask id="usertask2" name="分公司总经理" activiti:assignee="${auditNode1}"></userTask>
<userTask id="usertask3" name="区域市场岗" activiti:assignee="${auditNode2}"></userTask>
<userTask id="usertask4" name="区域总监" activiti:assignee="${auditNode3}"></userTask>
<userTask id="usertask5" name="事业部市场岗" activiti:assignee="${auditNode5}"></userTask>
<userTask id="usertask6" name="品牌管理中心市场岗" activiti:assignee="${auditNode9}"></userTask>
<endEvent id="endevent1" name="End"></endEvent>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
<sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
<sequenceFlow id="flow3" name="同意" sourceRef="usertask2" targetRef="usertask3">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveOpr == '1'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow4" name="同意" sourceRef="usertask3" targetRef="usertask4">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveOpr == '1'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow5" name="同意" sourceRef="usertask4" targetRef="usertask5">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveOpr == '1'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow6" name="同意" sourceRef="usertask5" targetRef="usertask6">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveOpr == '1'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow7" name="同意" sourceRef="usertask6" targetRef="endevent1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveOpr == '1'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow8" name="不同意" sourceRef="usertask2" targetRef="usertask1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveOpr == '2'}]]></co