leave-formkey.bpmn 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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://bpmn.io/schema/bpmn">
  3. <process id="leave-formkey" name="请假流程-外置表单" isExecutable="true">
  4. <documentation>外置表单</documentation>
  5. <startEvent id="startevent1" name="Start" activiti:initiator="applyUserId" activiti:formKey="/flow/leave/apply"></startEvent>
  6. <userTask id="deptLeaderVerify" name="部门经理审批" activiti:assignee="${deptLeader}" activiti:formKey="/flow/leave/approve-leader"></userTask>
  7. <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
  8. <userTask id="hrVerify" name="人事经理审批" activiti:candidateGroups="hr" activiti:formKey="/flow/leave/approve-hr"></userTask>
  9. <exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway>
  10. <userTask id="reportBack" name="申请人确认" activiti:assignee="${applyUserId}" activiti:formKey="/flow/leave/confirm">
  11. </userTask>
  12. <endEvent id="endevent1" name="End"></endEvent>
  13. <userTask id="modifyApply" name="调整申请内容" activiti:assignee="${applyUserId}" activiti:formKey="/flow/leave/modify"></userTask>
  14. <exclusiveGateway id="exclusivegateway3" name="Exclusive Gateway"></exclusiveGateway>
  15. <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="deptLeaderVerify"></sequenceFlow>
  16. <sequenceFlow id="flow2" sourceRef="deptLeaderVerify" targetRef="exclusivegateway1"></sequenceFlow>
  17. <sequenceFlow id="flow3" name="同意" sourceRef="exclusivegateway1" targetRef="hrVerify">
  18. <conditionExpression xsi:type="tFormalExpression"><![CDATA[${deptLeaderApproved == 'true'}]]></conditionExpression>
  19. </sequenceFlow>
  20. <sequenceFlow id="flow4" sourceRef="hrVerify" targetRef="exclusivegateway2"></sequenceFlow>
  21. <sequenceFlow id="flow5" name="同意" sourceRef="exclusivegateway2" targetRef="reportBack">
  22. <conditionExpression xsi:type="tFormalExpression"><![CDATA[${hrApproved == 'true'}]]></conditionExpression>
  23. </sequenceFlow>
  24. <sequenceFlow id="flow6" sourceRef="reportBack" targetRef="endevent1">
  25. <extensionElements>
  26. <activiti:executionListener event="take" delegateExpression="${reportBackEndProcessor}"></activiti:executionListener>
  27. </extensionElements>
  28. </sequenceFlow>
  29. <sequenceFlow id="flow7" name="不同意" sourceRef="exclusivegateway2" targetRef="modifyApply">
  30. <conditionExpression xsi:type="tFormalExpression"><![CDATA[${hrApproved == 'false'}]]></conditionExpression>
  31. </sequenceFlow>
  32. <sequenceFlow id="flow8" name="不同意" sourceRef="exclusivegateway1" targetRef="modifyApply">
  33. <conditionExpression xsi:type="tFormalExpression"><![CDATA[${deptLeaderApproved == 'false'}]]></conditionExpression>
  34. </sequenceFlow>
  35. <sequenceFlow id="flow9" sourceRef="modifyApply" targetRef="exclusivegateway3"></sequenceFlow>
  36. <sequenceFlow id="flow10" name="调整后继续申请" sourceRef="exclusivegateway3" targetRef="deptLeaderVerify">
  37. <conditionExpression xsi:type="tFormalExpression"><![CDATA[${reApply == 'true'}]]></conditionExpression>
  38. </sequenceFlow>
  39. <sequenceFlow id="flow11" name="取消申请,并设置取消标志" sourceRef="exclusivegateway3" targetRef="endevent1">
  40. <extensionElements>
  41. <activiti:executionListener event="take" delegateExpression="${reportBackEndProcessor}"></activiti:executionListener>
  42. </extensionElements>
  43. <conditionExpression xsi:type="tFormalExpression"><![CDATA[${reApply == 'false'}]]></conditionExpression>
  44. </sequenceFlow>
  45. <textAnnotation id="textannotation1" textFormat="text/plain">
  46. <text>请求被驳回后员工可以选择继续申请,或者取消本次申请</text>
  47. </textAnnotation>
  48. <association id="association1" sourceRef="modifyApply" targetRef="textannotation1"></association>
  49. </process>
  50. <bpmndi:BPMNDiagram id="BPMNDiagram_leave-formkey">
  51. <bpmndi:BPMNPlane bpmnElement="leave-formkey" id="BPMNPlane_leave-formkey">
  52. <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
  53. <omgdc:Bounds height="35.0" width="35.0" x="10.0" y="50.0"></omgdc:Bounds>
  54. </bpmndi:BPMNShape>
  55. <bpmndi:BPMNShape bpmnElement="deptLeaderVerify" id="BPMNShape_deptLeaderVerify">
  56. <omgdc:Bounds height="55.0" width="105.0" x="90.0" y="40.0"></omgdc:Bounds>
  57. </bpmndi:BPMNShape>
  58. <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
  59. <omgdc:Bounds height="40.0" width="40.0" x="230.0" y="47.0"></omgdc:Bounds>
  60. </bpmndi:BPMNShape>
  61. <bpmndi:BPMNShape bpmnElement="hrVerify" id="BPMNShape_hrVerify">
  62. <omgdc:Bounds height="55.0" width="105.0" x="310.0" y="40.0"></omgdc:Bounds>
  63. </bpmndi:BPMNShape>
  64. <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
  65. <omgdc:Bounds height="40.0" width="40.0" x="470.0" y="47.0"></omgdc:Bounds>
  66. </bpmndi:BPMNShape>
  67. <bpmndi:BPMNShape bpmnElement="reportBack" id="BPMNShape_reportBack">
  68. <omgdc:Bounds height="55.0" width="105.0" x="580.0" y="40.0"></omgdc:Bounds>
  69. </bpmndi:BPMNShape>
  70. <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
  71. <omgdc:Bounds height="35.0" width="35.0" x="615.0" y="213.0"></omgdc:Bounds>
  72. </bpmndi:BPMNShape>
  73. <bpmndi:BPMNShape bpmnElement="modifyApply" id="BPMNShape_modifyApply">
  74. <omgdc:Bounds height="55.0" width="105.0" x="198.0" y="120.0"></omgdc:Bounds>
  75. </bpmndi:BPMNShape>
  76. <bpmndi:BPMNShape bpmnElement="exclusivegateway3" id="BPMNShape_exclusivegateway3">
  77. <omgdc:Bounds height="40.0" width="40.0" x="230.0" y="210.0"></omgdc:Bounds>
  78. </bpmndi:BPMNShape>
  79. <bpmndi:BPMNShape bpmnElement="textannotation1" id="BPMNShape_textannotation1">
  80. <omgdc:Bounds height="57.0" width="112.0" x="340.0" y="168.0"></omgdc:Bounds>
  81. </bpmndi:BPMNShape>
  82. <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
  83. <omgdi:waypoint x="45.0" y="67.0"></omgdi:waypoint>
  84. <omgdi:waypoint x="90.0" y="67.0"></omgdi:waypoint>
  85. </bpmndi:BPMNEdge>
  86. <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
  87. <omgdi:waypoint x="195.0" y="67.0"></omgdi:waypoint>
  88. <omgdi:waypoint x="230.0" y="67.0"></omgdi:waypoint>
  89. </bpmndi:BPMNEdge>
  90. <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
  91. <omgdi:waypoint x="270.0" y="67.0"></omgdi:waypoint>
  92. <omgdi:waypoint x="310.0" y="67.0"></omgdi:waypoint>
  93. <bpmndi:BPMNLabel>
  94. <omgdc:Bounds height="11.0" width="22.0" x="269.0" y="50.0"></omgdc:Bounds>
  95. </bpmndi:BPMNLabel>
  96. </bpmndi:BPMNEdge>
  97. <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
  98. <omgdi:waypoint x="415.0" y="67.0"></omgdi:waypoint>
  99. <omgdi:waypoint x="470.0" y="67.0"></omgdi:waypoint>
  100. </bpmndi:BPMNEdge>
  101. <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
  102. <omgdi:waypoint x="510.0" y="67.0"></omgdi:waypoint>
  103. <omgdi:waypoint x="580.0" y="67.0"></omgdi:waypoint>
  104. <bpmndi:BPMNLabel>
  105. <omgdc:Bounds height="11.0" width="22.0" x="529.0" y="50.0"></omgdc:Bounds>
  106. </bpmndi:BPMNLabel>
  107. </bpmndi:BPMNEdge>
  108. <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
  109. <omgdi:waypoint x="632.0" y="95.0"></omgdi:waypoint>
  110. <omgdi:waypoint x="632.0" y="213.0"></omgdi:waypoint>
  111. </bpmndi:BPMNEdge>
  112. <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
  113. <omgdi:waypoint x="490.0" y="87.0"></omgdi:waypoint>
  114. <omgdi:waypoint x="490.0" y="147.0"></omgdi:waypoint>
  115. <omgdi:waypoint x="303.0" y="147.0"></omgdi:waypoint>
  116. <bpmndi:BPMNLabel>
  117. <omgdc:Bounds height="11.0" width="33.0" x="438.0" y="119.0"></omgdc:Bounds>
  118. </bpmndi:BPMNLabel>
  119. </bpmndi:BPMNEdge>
  120. <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
  121. <omgdi:waypoint x="250.0" y="87.0"></omgdi:waypoint>
  122. <omgdi:waypoint x="250.0" y="120.0"></omgdi:waypoint>
  123. <bpmndi:BPMNLabel>
  124. <omgdc:Bounds height="11.0" width="33.0" x="260.0" y="87.0"></omgdc:Bounds>
  125. </bpmndi:BPMNLabel>
  126. </bpmndi:BPMNEdge>
  127. <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
  128. <omgdi:waypoint x="250.0" y="175.0"></omgdi:waypoint>
  129. <omgdi:waypoint x="250.0" y="210.0"></omgdi:waypoint>
  130. </bpmndi:BPMNEdge>
  131. <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
  132. <omgdi:waypoint x="230.0" y="230.0"></omgdi:waypoint>
  133. <omgdi:waypoint x="142.0" y="230.0"></omgdi:waypoint>
  134. <omgdi:waypoint x="142.0" y="95.0"></omgdi:waypoint>
  135. <bpmndi:BPMNLabel>
  136. <omgdc:Bounds height="11.0" width="77.0" x="159.0" y="210.0"></omgdc:Bounds>
  137. </bpmndi:BPMNLabel>
  138. </bpmndi:BPMNEdge>
  139. <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
  140. <omgdi:waypoint x="270.0" y="230.0"></omgdi:waypoint>
  141. <omgdi:waypoint x="615.0" y="230.0"></omgdi:waypoint>
  142. <bpmndi:BPMNLabel>
  143. <omgdc:Bounds height="33.0" width="100.0" x="58.0" y="-37.0"></omgdc:Bounds>
  144. </bpmndi:BPMNLabel>
  145. </bpmndi:BPMNEdge>
  146. <bpmndi:BPMNEdge bpmnElement="association1" id="BPMNEdge_association1">
  147. <omgdi:waypoint x="303.0" y="147.0"></omgdi:waypoint>
  148. <omgdi:waypoint x="396.0" y="168.0"></omgdi:waypoint>
  149. </bpmndi:BPMNEdge>
  150. </bpmndi:BPMNPlane>
  151. </bpmndi:BPMNDiagram>
  152. </definitions>