安装 actiBPM 插件
在 IDEA 中选择: File –> Setting –> Plugins –> Browse repositories –> 查询 actiBPM 并下载安装
创建一个 BPM 文件
在 resources(静态文件存储路径)上右键新建,选择 BpmnFile 或者 BPMN File 进行创建
设置流程
一个已经设置好的流程:
常用的几个控制器:
- startEvent:流程开始
- endEvent:流程结束
- UserTask:用户操作任务
- ScriptTask:脚本操作任务
- ServiceTask:业务操作任务
- MailTask:邮件任务
将右侧控制器拖拽至中间白板上,即可设置控制器属性。然后将鼠标放在控制器中央位置,会有一个圆点,选中圆点下拉至另外一个控制器,即可设置流程顺序。
设置整个 bpmn 文件属性
点击空白处,可在右侧看到整个 bpmn 文件属性,可以根据自己的实际需求进行设置
常用属性:
- Id:可以看做 BPMN 在整个流程中的文件唯一标识
- Name: 可以看做 BPMN 文件的别名(实际名称是创建 BPMN 文件时的名称)
设置开始、结束控制器
点击开始、结束控制器,可根据自己实际需求设置控制器属性
常用属性:
- Id:这个开始、结束控制器的 id,尽量不要更改
- Name:这个开始、结束控制器的名称,更改后可以在中间图标出立即显示;也可以双击图标进行更改
设置中间流程控制器
点击中间流程控制器,设置控制器属性
常用属性:
- Id:流程控制器 Id,尽量不要更改
- Name: 控制器的名称,更改后可以在中间图标出立即显示;也可以双击图标进行更改
- Assignee:谁管理这个流程控制器(可以是用户、角色等)
设置 BPMN 需要注意的点:
在流程控制器中,Id 尽量不要更改。如果更改的话,必须要保证 id 不能重复,否则会出现同一个 id 对应两个流程控制,导致无法确定进行哪一步的流程,这样会出现错误。
bpmn 文件
将 bpmn 文件以文本形式打开,可以发现,bpmn 文件实际上是一个 xml 文件。以刚才创建好的 bpmn 文件为例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" 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:tns="http://www.activiti.org/testm1544000001944" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.w3.org/1999/XPath" id="m1544000001944" name="" targetNamespace="http://www.activiti.org/testm1544000001944" typeLanguage="http://www.w3.org/2001/XMLSchema"> <process id="levelBill" isClosed="false" isExecutable="true" name="LevelBill" processType="None"> <startEvent id="_2" name="start"/> <userTask activiti:assignee="zhangsan" activiti:exclusive="true" id="_3" name="first"/> <userTask activiti:assignee="lsii" activiti:exclusive="true" id="_5" name="second"/> <userTask activiti:assignee="wangwu" activiti:exclusive="true" id="_7" name="third"/> <endEvent id="_9" name="end"/>
<sequenceFlow id="_4" sourceRef="_2" targetRef="_3"/> <sequenceFlow id="_6" sourceRef="_3" targetRef="_5"/> <sequenceFlow id="_8" sourceRef="_5" targetRef="_7"/> <sequenceFlow id="_10" sourceRef="_7" targetRef="_9"/> </process>
<bpmndi:BPMNDiagram documentation="background=#3C3F41;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0" id="Diagram-_1" name="New Diagram"> <bpmndi:BPMNPlane bpmnElement="levelBill"> <bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2"> <dc:Bounds height="32.0" width="32.0" x="450.0" y="70.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_3" id="Shape-_3"> <dc:Bounds height="55.0" width="85.0" x="425.0" y="160.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_5" id="Shape-_5"> <dc:Bounds height="55.0" width="85.0" x="425.0" y="260.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_7" id="Shape-_7"> <dc:Bounds height="55.0" width="85.0" x="425.0" y="370.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_9" id="Shape-_9"> <dc:Bounds height="32.0" width="32.0" x="455.0" y="465.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge bpmnElement="_4" id="BPMNEdge__4" sourceElement="_2" targetElement="_3"> <di:waypoint x="466.0" y="102.0"/> <di:waypoint x="466.0" y="160.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="_6" id="BPMNEdge__6" sourceElement="_3" targetElement="_5"> <di:waypoint x="467.5" y="215.0"/> <di:waypoint x="467.5" y="260.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="_8" id="BPMNEdge__8" sourceElement="_5" targetElement="_7"> <di:waypoint x="467.5" y="315.0"/> <di:waypoint x="467.5" y="370.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="_10" id="BPMNEdge__10" sourceElement="_7" targetElement="_9"> <di:waypoint x="471.0" y="425.0"/> <di:waypoint x="471.0" y="465.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>
|