yangys
2025-08-20 432198337fb3d8a99fadb4b7825771d68bb10b9e
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?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:flowable="http://flowable.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://www.flowable.org/processdef">
  <process id="dispatch" name="试切" isExecutable="true">
    <startEvent id="start" name="开始"/>
    <sequenceFlow id="sid-c1619263-d1ff-4106-9315-f9ab9a3bee71" sourceRef="start" targetRef="teamLeaderTask"/>
    <userTask id="teamLeaderTask" name="任务分派" flowable:assignee="${assignee}">
      <documentation>专业组长任务分派</documentation>
    </userTask>
    <userTask id="programmingTask" name="数控程序编写" flowable:assignee="${assignee}"/>
    <userTask id="check" name="数控程序校对" flowable:assignee="${assignee}"/>
    <userTask id="approveTask" name="数控程序审批" flowable:assignee="${assignee}">
      <documentation>高师数控程序审批</documentation>
    </userTask>
    <endEvent id="approveEnd" name="审批完成">
      <extensionElements>
        <flowable:executionListener expression="${dispatchFinishListener.handle(execution)}" event="end"/>
      </extensionElements>
    </endEvent>
    <sequenceFlow id="programingToCheck" sourceRef="programmingTask" targetRef="check" name="编制完成给校对">
      <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="programingBackToLeader" sourceRef="programmingTask" targetRef="teamLeaderTask" name="编制驳回">
      <conditionExpression xsi:type="tFormalExpression">${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flowCheckToPrograming" sourceRef="check" targetRef="programmingTask" name="flow校对驳回到编制">
      <conditionExpression xsi:type="tFormalExpression">${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flowToSeriorTask" sourceRef="check" targetRef="approveTask" name="到高师审批">
      <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-c0b195e7-17e5-44bf-8115-8b7126cb3ab3" sourceRef="approveTask" targetRef="approveEnd">
      <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression>
    </sequenceFlow>
    <userTask id="confirmIsUseableTask" name="检查程序是否可用" flowable:assignee="${assignee}"/>
    <sequenceFlow id="sid-46ccac64-2d48-4933-88a6-f2941ae131dd" sourceRef="teamLeaderTask" targetRef="programmingTask">
      <conditionExpression xsi:type="tFormalExpression">${approve=='Y' &amp;&amp; hasCuredProgram=='N'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-af92e6ab-bc80-43ed-8b09-1d3ec54cc9e7" sourceRef="teamLeaderTask" targetRef="confirmIsUseableTask">
      <conditionExpression xsi:type="tFormalExpression">${approve=='Y' &amp;&amp; hasCuredProgram=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="confirmIsUseableTask" targetRef="check" name="固化程序可用">
      <conditionExpression>${approve=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb" sourceRef="approveTask" targetRef="programmingTask">
      <conditionExpression>${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-80b50f96-7601-4ba2-8c32-968923170d25" sourceRef="confirmIsUseableTask" targetRef="programmingTask" name="不可用">
      <conditionExpression>${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <endEvent id="sid-59124fa5-62ee-4ba5-8bd9-cafc65aa5fcf" name="组长结束"/>
    <sequenceFlow id="sid-1ef405f8-c119-4225-b41c-fb0aa978e42c" sourceRef="teamLeaderTask" targetRef="exceptionHandleTask">
      <conditionExpression>${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-b33e5cdc-e56b-4a8f-8956-2a3bb4f7e57a" sourceRef="confirmIsUseableTask" targetRef="teamLeaderTask" name="驳回">
      <conditionExpression>${approve=='R'}</conditionExpression>
    </sequenceFlow>
    <scriptTask id="exceptionHandleTask" scriptFormat="groovy">
      <script><![CDATA[
          execution.setVariable("exception", "1");
        ]]></script>
    </scriptTask>
    <sequenceFlow id="sid-7f62f3c2-08bf-4007-807d-3403ad831ed5" sourceRef="exceptionHandleTask" targetRef="sid-59124fa5-62ee-4ba5-8bd9-cafc65aa5fcf"/>
    <sequenceFlow id="programmerEndLine" sourceRef="programmingTask" targetRef="exceptionHandleTask" name="工艺员结束">
      <conditionExpression>${approve=='E'}</conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_dispatch">
    <bpmndi:BPMNPlane bpmnElement="dispatch" id="BPMNPlane_dispatch">
      <bpmndi:BPMNShape id="shape-bb4d1b10-12af-4d57-851f-308a54aca93c" bpmnElement="start">
        <omgdc:Bounds x="-320.0" y="-100.0" width="30.0" height="30.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-5783eb04-78a8-4bde-b8bb-c12d28f07609" bpmnElement="sid-c1619263-d1ff-4106-9315-f9ab9a3bee71">
        <omgdi:waypoint x="-290.0" y="-92.5"/>
        <omgdi:waypoint x="-262.5" y="-92.50001"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-720b1ec1-043e-4a8a-bc4d-c50cf01678d7" bpmnElement="teamLeaderTask">
        <omgdc:Bounds x="-262.5" y="-125.00001" width="70.0" height="65.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-b1baea86-1882-4c5c-886f-44e3d9be3746" bpmnElement="programmingTask">
        <omgdc:Bounds x="-72.5" y="-137.5" width="85.0" height="60.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-9237838e-5de2-4db7-8d46-3f4a69de7e6e" bpmnElement="check">
        <omgdc:Bounds x="130.0" y="-135.0" width="60.0" height="55.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-a42e90ff-9c82-4d5b-8f5b-0804754e89a6" bpmnElement="approveTask">
        <omgdc:Bounds x="130.0" y="-4.0" width="50.0" height="45.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-f14acaf6-9747-4d52-87a1-d4c5b8f3d166" bpmnElement="approveEnd">
        <omgdc:Bounds x="295.0" y="-6.5" width="30.0" height="30.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-6f05f47f-7804-4dd0-b6d2-e435b9efaa3c" bpmnElement="programingToCheck">
        <omgdi:waypoint x="12.5" y="-92.5"/>
        <omgdi:waypoint x="130.00002" y="-107.49999"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-b38a8021-a54d-4671-aaf2-408bdbbbd374" bpmnElement="programingBackToLeader">
        <omgdi:waypoint x="-72.5" y="-92.5"/>
        <omgdi:waypoint x="-192.5" y="-76.25001"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-c2232174-4a73-4c39-ac85-fc3854f0f18c" bpmnElement="flowCheckToPrograming">
        <omgdi:waypoint x="130.0" y="-121.25"/>
        <omgdi:waypoint x="12.5" y="-107.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-d05b5f9f-9108-4a41-9e48-4db1e1b1e325" bpmnElement="flowToSeriorTask">
        <omgdi:waypoint x="190.0" y="-93.75"/>
        <omgdi:waypoint x="180.0" y="7.25"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-715efa53-6c03-407b-87ec-640f99c481a0" bpmnElement="sid-c0b195e7-17e5-44bf-8115-8b7126cb3ab3">
        <omgdi:waypoint x="180.0" y="29.749996"/>
        <omgdi:waypoint x="295.0" y="1.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-8f7064fc-4838-44cc-bf6d-ca15932a1e2e" bpmnElement="confirmIsUseableTask">
        <omgdc:Bounds x="-135.0" y="37.5" width="55.0" height="40.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-0408fc3c-c133-40e3-9006-c315b12e9790" bpmnElement="sid-46ccac64-2d48-4933-88a6-f2941ae131dd">
        <omgdi:waypoint x="-192.5" y="-92.500015"/>
        <omgdi:waypoint x="-132.5" y="-100.0"/>
        <omgdi:waypoint x="-72.49999" y="-107.50001"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-d8883eca-269a-42cd-b2d4-134da6596afb" bpmnElement="sid-af92e6ab-bc80-43ed-8b09-1d3ec54cc9e7">
        <omgdi:waypoint x="-227.5" y="-60.000008"/>
        <omgdi:waypoint x="-121.25" y="37.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-64e64024-1ffd-4cdf-be8f-4c5e4911a5bb" bpmnElement="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1">
        <omgdi:waypoint x="-80.0" y="47.5"/>
        <omgdi:waypoint x="145.0" y="-80.00001"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-7a5135fe-5eb1-425c-b920-3e2b5bf18454" bpmnElement="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb">
        <omgdi:waypoint x="167.5" y="-4.0"/>
        <omgdi:waypoint x="-8.75" y="-77.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-223da197-47f2-44ef-847e-40d1fae1009b" bpmnElement="sid-80b50f96-7601-4ba2-8c32-968923170d25">
        <omgdi:waypoint x="-93.75" y="37.5"/>
        <omgdi:waypoint x="-51.25" y="-77.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-d9e76c38-3a8a-476a-af94-90eb350e46e2" bpmnElement="sid-59124fa5-62ee-4ba5-8bd9-cafc65aa5fcf">
        <omgdc:Bounds x="-325.0" y="22.499998" width="30.0" height="30.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-961779c9-53bb-4d28-b5a6-2e16e2ab1c2f" bpmnElement="sid-1ef405f8-c119-4225-b41c-fb0aa978e42c">
        <omgdi:waypoint x="-262.5" y="-76.25001"/>
        <omgdi:waypoint x="-258.75" y="-40.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-d08bab4f-6549-4732-9791-7be8d3fcbbfe" bpmnElement="sid-b33e5cdc-e56b-4a8f-8956-2a3bb4f7e57a">
        <omgdi:waypoint x="-107.5" y="37.500004"/>
        <omgdi:waypoint x="-210.0" y="-60.000008"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-99e2affe-de2c-43fb-8ab1-b1e26bb1c905" bpmnElement="exceptionHandleTask">
        <omgdc:Bounds x="-300.0" y="-40.0" width="55.0" height="45.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-94f8ab21-dbbb-4ea4-9519-51002cbcfe4e" bpmnElement="sid-7f62f3c2-08bf-4007-807d-3403ad831ed5">
        <omgdi:waypoint x="-300.0" y="-17.5"/>
        <omgdi:waypoint x="-295.0" y="37.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-a96e2c79-7b1b-4eef-9779-c6398a84f2ad" bpmnElement="programmerEndLine">
        <omgdi:waypoint x="-72.5" y="-92.5"/>
        <omgdi:waypoint x="-245.0" y="-28.75"/>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>