-
Notifications
You must be signed in to change notification settings - Fork 513
/
test1.bpmn
113 lines (113 loc) · 7.61 KB
/
test1.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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://activiti.org/bpmn20" id="definitions">
<process id="test1" name="测试1" isExecutable="true">
<startEvent id="step1" name="步骤1" activiti:initiator="employeeName" activiti:formKey="/startVacationRequest"></startEvent>
<sequenceFlow id="flow1" sourceRef="step1" targetRef="step2"></sequenceFlow>
<userTask id="step2" name="步骤2" activiti:candidateGroups="management" activiti:dueDate="PT1S" activiti:formKey="/handleVacationRequest">
<extensionElements>
<activiti:formProperty id="vacationApproved" name="Do you approve this vacation" type="enum" required="true">
<activiti:value id="true" name="Approve"></activiti:value>
<activiti:value id="false" name="Reject"></activiti:value>
</activiti:formProperty>
<activiti:formProperty id="managerMotivation" name="Motivation" type="string"></activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow2" sourceRef="step2" targetRef="requestApprovedDecision"></sequenceFlow>
<exclusiveGateway id="requestApprovedDecision" name="Request approved?"></exclusiveGateway>
<sequenceFlow id="flow3" sourceRef="requestApprovedDecision" targetRef="sendApprovalMail">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${vacationApproved == 'true'}]]></conditionExpression>
</sequenceFlow>
<manualTask id="sendApprovalMail" name="Send confirmation e-mail"></manualTask>
<sequenceFlow id="flow4" sourceRef="sendApprovalMail" targetRef="theEnd1"></sequenceFlow>
<endEvent id="theEnd1"></endEvent>
<sequenceFlow id="flow5" sourceRef="requestApprovedDecision" targetRef="adjustVacationRequestTask">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${vacationApproved == 'false'}]]></conditionExpression>
</sequenceFlow>
<userTask id="adjustVacationRequestTask" name="Adjust vacation request" activiti:assignee="${employeeName}" activiti:formKey="/adjustVacationRequest">
<documentation>Your manager has disapproved your vacation request for ${numberOfDays} days.
Reason: ${managerMotivation}</documentation>
<extensionElements>
<activiti:formProperty id="numberOfDays" name="Number of days" type="long" required="true"></activiti:formProperty>
<activiti:formProperty id="startDate" name="First day of holiday (dd-MM-yyy)" type="date" datePattern="dd-MM-yyyy hh:mm" required="true"></activiti:formProperty>
<activiti:formProperty id="vacationMotivation" name="Motivation" type="string"></activiti:formProperty>
<activiti:formProperty id="resendRequest" name="Resend vacation request to manager?" type="enum" required="true">
<activiti:value id="true" name="Yes"></activiti:value>
<activiti:value id="false" name="No"></activiti:value>
</activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow6" sourceRef="adjustVacationRequestTask" targetRef="resendRequestDecision"></sequenceFlow>
<exclusiveGateway id="resendRequestDecision" name="Resend request?"></exclusiveGateway>
<sequenceFlow id="flow7" sourceRef="resendRequestDecision" targetRef="step2">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${resendRequest == 'true'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow8" sourceRef="resendRequestDecision" targetRef="theEnd2">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${resendRequest == 'false'}]]></conditionExpression>
</sequenceFlow>
<endEvent id="theEnd2"></endEvent>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_test1">
<bpmndi:BPMNPlane bpmnElement="test1" id="BPMNPlane_test1">
<bpmndi:BPMNShape bpmnElement="step1" id="BPMNShape_step1">
<omgdc:Bounds height="35.0" width="35.0" x="90.0" y="178.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="step2" id="BPMNShape_step2">
<omgdc:Bounds height="60.0" width="100.0" x="210.0" y="166.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="requestApprovedDecision" id="BPMNShape_requestApprovedDecision">
<omgdc:Bounds height="40.0" width="40.0" x="387.0" y="175.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sendApprovalMail" id="BPMNShape_sendApprovalMail">
<omgdc:Bounds height="60.0" width="100.0" x="560.0" y="165.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="theEnd1" id="BPMNShape_theEnd1">
<omgdc:Bounds height="35.0" width="35.0" x="781.0" y="178.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="adjustVacationRequestTask" id="BPMNShape_adjustVacationRequestTask">
<omgdc:Bounds height="60.0" width="100.0" x="560.0" y="234.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="resendRequestDecision" id="BPMNShape_resendRequestDecision">
<omgdc:Bounds height="40.0" width="40.0" x="591.0" y="344.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="theEnd2" id="BPMNShape_theEnd2">
<omgdc:Bounds height="35.0" width="35.0" x="781.0" y="347.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="125.0" y="195.0"></omgdi:waypoint>
<omgdi:waypoint x="210.0" y="196.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="310.0" y="196.0"></omgdi:waypoint>
<omgdi:waypoint x="387.0" y="195.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
<omgdi:waypoint x="427.0" y="195.0"></omgdi:waypoint>
<omgdi:waypoint x="487.0" y="194.0"></omgdi:waypoint>
<omgdi:waypoint x="560.0" y="195.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
<omgdi:waypoint x="660.0" y="195.0"></omgdi:waypoint>
<omgdi:waypoint x="781.0" y="195.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
<omgdi:waypoint x="407.0" y="215.0"></omgdi:waypoint>
<omgdi:waypoint x="406.0" y="264.0"></omgdi:waypoint>
<omgdi:waypoint x="560.0" y="264.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
<omgdi:waypoint x="610.0" y="294.0"></omgdi:waypoint>
<omgdi:waypoint x="611.0" y="344.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
<omgdi:waypoint x="591.0" y="364.0"></omgdi:waypoint>
<omgdi:waypoint x="570.0" y="364.0"></omgdi:waypoint>
<omgdi:waypoint x="259.0" y="364.0"></omgdi:waypoint>
<omgdi:waypoint x="260.0" y="226.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
<omgdi:waypoint x="631.0" y="364.0"></omgdi:waypoint>
<omgdi:waypoint x="781.0" y="364.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>