燕鹏
4 years ago
5 changed files with 340 additions and 294 deletions
@ -0,0 +1,172 @@ |
|||||
|
package com.example.demo.controller; |
||||
|
|
||||
|
import com.example.demo.entity.Holiday; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.activiti.api.process.runtime.ProcessRuntime; |
||||
|
import org.activiti.api.task.runtime.TaskRuntime; |
||||
|
import org.activiti.bpmn.model.BpmnModel; |
||||
|
import org.activiti.bpmn.model.FlowNode; |
||||
|
import org.activiti.bpmn.model.SequenceFlow; |
||||
|
import org.activiti.engine.*; |
||||
|
import org.activiti.engine.history.HistoricActivityInstance; |
||||
|
import org.activiti.engine.history.HistoricTaskInstance; |
||||
|
import org.activiti.engine.repository.Deployment; |
||||
|
import org.activiti.engine.runtime.Execution; |
||||
|
import org.activiti.engine.runtime.ProcessInstance; |
||||
|
import org.activiti.engine.task.Task; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestParam; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* @author yanpeng |
||||
|
* @version 1.0 |
||||
|
* @desc TODO |
||||
|
* @company 北京中经网软件有限公司 |
||||
|
* @date 2020/10/27 14:34 |
||||
|
*/ |
||||
|
@RestController |
||||
|
@RequestMapping("acback") |
||||
|
@Api(tags = "工作流驳回等") |
||||
|
public class ACBackController { |
||||
|
|
||||
|
@Autowired |
||||
|
private ProcessEngine processEngine; |
||||
|
|
||||
|
@Autowired |
||||
|
private HistoryService historyService; |
||||
|
|
||||
|
@Autowired |
||||
|
private RuntimeService runtimeService; |
||||
|
|
||||
|
@Autowired |
||||
|
private RepositoryService repositoryService; |
||||
|
|
||||
|
@Autowired |
||||
|
private TaskService taskService; |
||||
|
|
||||
|
@ApiOperation(value = "发布工作流") |
||||
|
@GetMapping("deploy") |
||||
|
public void deploy() { |
||||
|
RepositoryService repositoryService = processEngine.getRepositoryService(); |
||||
|
Deployment deploy = repositoryService.createDeployment().addClasspathResource("bpmn/acback.bpmn").name("测试流程回退").key("myProcess").deploy(); |
||||
|
System.out.println(deploy.getId()); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation(value = "启动工作流") |
||||
|
@GetMapping("start") |
||||
|
public void start(@RequestParam Integer num) { |
||||
|
// Holiday holiday = new Holiday();
|
||||
|
// holiday.setNum(num);
|
||||
|
Map<String, Object> map = new HashMap<>(); |
||||
|
map.put("num", num); |
||||
|
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", map); |
||||
|
System.out.println(processInstance.getProcessDefinitionId()); |
||||
|
System.out.println(processInstance.getId()); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@ApiOperation(value = "查询任务") |
||||
|
@GetMapping("query") |
||||
|
public Boolean query() { |
||||
|
List<Task> testbpmn = taskService.createTaskQuery().processDefinitionKey("myProcess").list(); |
||||
|
testbpmn.stream().forEach(x -> { |
||||
|
System.out.println(x.getProcessDefinitionId()); |
||||
|
System.out.println(x.getProcessInstanceId()); |
||||
|
System.out.println(x.getId()); |
||||
|
System.out.println(x.getName()); |
||||
|
}); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@ApiOperation(value = "完成任务") |
||||
|
@GetMapping("ok") |
||||
|
public Boolean ok(String taskid) { |
||||
|
TaskService taskService = processEngine.getTaskService(); |
||||
|
taskService.complete(taskid); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@ApiOperation(value = "完成任务") |
||||
|
@GetMapping("back") |
||||
|
public void backProcess(String processInstanceId, String taskId) { |
||||
|
// String processInstanceId = task.getProcessInstanceId();
|
||||
|
try { |
||||
|
// 取得所有历史任务按时间降序排序
|
||||
|
List<HistoricTaskInstance> htiList = historyService.createHistoricTaskInstanceQuery() |
||||
|
.processInstanceId(processInstanceId) |
||||
|
.orderByTaskCreateTime() |
||||
|
.desc() |
||||
|
.list(); |
||||
|
if (htiList == null || htiList.size() < 2) { |
||||
|
return; |
||||
|
} |
||||
|
// list里的第二条代表上一个任务
|
||||
|
HistoricTaskInstance lastTask = htiList.get(1); |
||||
|
// list里第一条代表当前任务
|
||||
|
HistoricTaskInstance curTask = htiList.get(0); |
||||
|
// 当前节点的executionId
|
||||
|
String curExecutionId = curTask.getExecutionId(); |
||||
|
// 上个节点的taskId
|
||||
|
String lastTaskId = lastTask.getId(); |
||||
|
// 上个节点的executionId
|
||||
|
String lastExecutionId = lastTask.getExecutionId(); |
||||
|
if (null == lastTaskId) { |
||||
|
throw new Exception("LAST TASK IS NULL"); |
||||
|
} |
||||
|
String processDefinitionId = lastTask.getProcessDefinitionId(); |
||||
|
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); |
||||
|
String lastActivityId = null; |
||||
|
List<HistoricActivityInstance> haiFinishedList = historyService.createHistoricActivityInstanceQuery() |
||||
|
.executionId(lastExecutionId).finished().list(); |
||||
|
for (HistoricActivityInstance hai : haiFinishedList) { |
||||
|
if (lastTaskId.equals(hai.getTaskId())) { |
||||
|
// 得到ActivityId,只有HistoricActivityInstance对象里才有此方法
|
||||
|
lastActivityId = hai.getActivityId(); |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
// 得到上个节点的信息
|
||||
|
FlowNode lastFlowNode = (FlowNode) bpmnModel.getMainProcess().getFlowElement(lastActivityId); |
||||
|
// 取得当前节点的信息
|
||||
|
Execution execution = runtimeService.createExecutionQuery().executionId(curExecutionId).singleResult(); |
||||
|
String curActivityId = execution.getActivityId(); |
||||
|
FlowNode curFlowNode = (FlowNode) bpmnModel.getMainProcess().getFlowElement(curActivityId); |
||||
|
//记录当前节点的原活动方向
|
||||
|
List<SequenceFlow> oriSequenceFlows = new ArrayList<>(); |
||||
|
oriSequenceFlows.addAll(curFlowNode.getOutgoingFlows()); |
||||
|
//清理活动方向
|
||||
|
curFlowNode.getOutgoingFlows().clear(); |
||||
|
//建立新方向
|
||||
|
List<SequenceFlow> newSequenceFlowList = new ArrayList<>(); |
||||
|
SequenceFlow newSequenceFlow = new SequenceFlow(); |
||||
|
newSequenceFlow.setId("newSequenceFlowId"); |
||||
|
newSequenceFlow.setSourceFlowElement(curFlowNode); |
||||
|
newSequenceFlow.setTargetFlowElement(lastFlowNode); |
||||
|
newSequenceFlowList.add(newSequenceFlow); |
||||
|
curFlowNode.setOutgoingFlows(newSequenceFlowList); |
||||
|
// 完成任务
|
||||
|
// taskService.complete(task.getId());
|
||||
|
taskService.complete(taskId); |
||||
|
//恢复原方向
|
||||
|
curFlowNode.setOutgoingFlows(oriSequenceFlows); |
||||
|
Task nextTask = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult(); |
||||
|
// 设置执行人
|
||||
|
if (nextTask != null) { |
||||
|
taskService.setAssignee(nextTask.getId(), lastTask.getAssignee()); |
||||
|
} |
||||
|
System.out.println("退回上一步成功"); |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,91 @@ |
|||||
|
<?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:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.w3.org/1999/XPath" id="m1605592794547" name="" targetNamespace="http://www.activiti.org/testm1605592794547" typeLanguage="http://www.w3.org/2001/XMLSchema"> |
||||
|
<process id="myProcess" isClosed="false" isExecutable="true" processType="None"> |
||||
|
<startEvent id="_2" name="StartEvent"/> |
||||
|
<userTask activiti:exclusive="true" id="_3" name="张三审批"/> |
||||
|
<userTask activiti:exclusive="true" id="_4" name="李四审批"/> |
||||
|
<userTask activiti:exclusive="true" id="_5" name="王五审批"/> |
||||
|
<userTask activiti:exclusive="true" id="_6" name="赵六审批"/> |
||||
|
<endEvent id="_7" name="EndEvent"/> |
||||
|
<sequenceFlow id="_8" sourceRef="_2" targetRef="_3"/> |
||||
|
<sequenceFlow id="_9" sourceRef="_3" targetRef="_4"/> |
||||
|
<sequenceFlow id="_10" sourceRef="_4" targetRef="_5"/> |
||||
|
<sequenceFlow id="_11" sourceRef="_5" targetRef="_6"/> |
||||
|
<sequenceFlow id="_12" sourceRef="_6" targetRef="_7"/> |
||||
|
</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="myProcess"> |
||||
|
<bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2"> |
||||
|
<dc:Bounds height="32.0" width="32.0" x="35.0" y="315.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="120.0" y="305.0"/> |
||||
|
<bpmndi:BPMNLabel> |
||||
|
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
||||
|
</bpmndi:BPMNLabel> |
||||
|
</bpmndi:BPMNShape> |
||||
|
<bpmndi:BPMNShape bpmnElement="_4" id="Shape-_4"> |
||||
|
<dc:Bounds height="55.0" width="85.0" x="265.0" y="305.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="400.0" y="305.0"/> |
||||
|
<bpmndi:BPMNLabel> |
||||
|
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
||||
|
</bpmndi:BPMNLabel> |
||||
|
</bpmndi:BPMNShape> |
||||
|
<bpmndi:BPMNShape bpmnElement="_6" id="Shape-_6"> |
||||
|
<dc:Bounds height="55.0" width="85.0" x="550.0" y="305.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="32.0" width="32.0" x="730.0" y="310.0"/> |
||||
|
<bpmndi:BPMNLabel> |
||||
|
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/> |
||||
|
</bpmndi:BPMNLabel> |
||||
|
</bpmndi:BPMNShape> |
||||
|
<bpmndi:BPMNEdge bpmnElement="_12" id="BPMNEdge__12" sourceElement="_6" targetElement="_7"> |
||||
|
<di:waypoint x="635.0" y="332.5"/> |
||||
|
<di:waypoint x="730.0" y="326.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="_2" targetElement="_3"> |
||||
|
<di:waypoint x="67.0" y="331.0"/> |
||||
|
<di:waypoint x="120.0" y="332.5"/> |
||||
|
<bpmndi:BPMNLabel> |
||||
|
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
||||
|
</bpmndi:BPMNLabel> |
||||
|
</bpmndi:BPMNEdge> |
||||
|
<bpmndi:BPMNEdge bpmnElement="_9" id="BPMNEdge__9" sourceElement="_3" targetElement="_4"> |
||||
|
<di:waypoint x="205.0" y="332.5"/> |
||||
|
<di:waypoint x="265.0" y="332.5"/> |
||||
|
<bpmndi:BPMNLabel> |
||||
|
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
||||
|
</bpmndi:BPMNLabel> |
||||
|
</bpmndi:BPMNEdge> |
||||
|
<bpmndi:BPMNEdge bpmnElement="_11" id="BPMNEdge__11" sourceElement="_5" targetElement="_6"> |
||||
|
<di:waypoint x="485.0" y="332.5"/> |
||||
|
<di:waypoint x="550.0" y="332.5"/> |
||||
|
<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="_4" targetElement="_5"> |
||||
|
<di:waypoint x="350.0" y="332.5"/> |
||||
|
<di:waypoint x="400.0" y="332.5"/> |
||||
|
<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> |
@ -1,145 +0,0 @@ |
|||||
<?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/testm1604633800390" 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="m1604633800390" name="" targetNamespace="http://www.activiti.org/testm1604633800390" typeLanguage="http://www.w3.org/2001/XMLSchema"> |
|
||||
<process id="holidayex" isClosed="false" isExecutable="true" processType="None"> |
|
||||
<startEvent id="_2" name="StartEvent"/> |
|
||||
<userTask activiti:exclusive="true" id="_5" name="启动任务"/> |
|
||||
<endEvent id="_12" name="EndEvent"/> |
|
||||
<exclusiveGateway gatewayDirection="Unspecified" id="_4" name="ExclusiveGateway"/> |
|
||||
<sequenceFlow id="_17" sourceRef="_5" targetRef="_4"/> |
|
||||
<sequenceFlow id="_6" sourceRef="_2" targetRef="_5"/> |
|
||||
<userTask activiti:exclusive="true" id="_7" name="第一分支"/> |
|
||||
<userTask activiti:exclusive="true" id="_8" name="默认分支"/> |
|
||||
<userTask activiti:exclusive="true" id="_9" name="第三分支"/> |
|
||||
<userTask activiti:exclusive="true" id="_10" name="结束节点"/> |
|
||||
<sequenceFlow id="_11" sourceRef="_10" targetRef="_12"/> |
|
||||
<sequenceFlow id="_13" sourceRef="_4" targetRef="_7"> |
|
||||
<conditionExpression xsi:type="tFormalExpression"> |
|
||||
<![CDATA[${num>=7}]]> |
|
||||
</conditionExpression> |
|
||||
</sequenceFlow> |
|
||||
<sequenceFlow id="_3" sourceRef="_4" targetRef="_9"> |
|
||||
<conditionExpression xsi:type="tFormalExpression"> |
|
||||
<![CDATA[${num<7 && num >=3}]]> |
|
||||
</conditionExpression> |
|
||||
</sequenceFlow> |
|
||||
<sequenceFlow id="_14" sourceRef="_4" targetRef="_8"/> |
|
||||
<sequenceFlow id="_15" sourceRef="_7" targetRef="_10"/> |
|
||||
<sequenceFlow id="_16" sourceRef="_8" targetRef="_10"/> |
|
||||
<sequenceFlow id="_18" sourceRef="_9" targetRef="_10"/> |
|
||||
</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="holidayex"> |
|
||||
<bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2"> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="15.0" y="150.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="32.0" width="32.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="125.0" y="145.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_12" id="Shape-_12"> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="835.0" y="130.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_4" id="Shape-_4" isMarkerVisible="false"> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="295.0" y="150.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="32.0" width="32.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="440.0" y="40.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_8" id="Shape-_8"> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="440.0" y="155.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="55.0" width="85.0" x="445.0" y="290.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_10" id="Shape-_10"> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="675.0" y="135.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_13" id="BPMNEdge__13" sourceElement="_4" targetElement="_7"> |
|
||||
<di:waypoint x="327.0" y="166.0"/> |
|
||||
<di:waypoint x="440.0" y="67.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_15" id="BPMNEdge__15" sourceElement="_7" targetElement="_10"> |
|
||||
<di:waypoint x="525.0" y="67.5"/> |
|
||||
<di:waypoint x="675.0" y="162.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_14" id="BPMNEdge__14" sourceElement="_4" targetElement="_8"> |
|
||||
<di:waypoint x="327.0" y="166.0"/> |
|
||||
<di:waypoint x="440.0" y="182.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_17" id="BPMNEdge__17" sourceElement="_5" targetElement="_4"> |
|
||||
<di:waypoint x="210.0" y="172.5"/> |
|
||||
<di:waypoint x="295.0" y="166.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_16" id="BPMNEdge__16" sourceElement="_8" targetElement="_10"> |
|
||||
<di:waypoint x="525.0" y="182.5"/> |
|
||||
<di:waypoint x="675.0" y="162.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_18" id="BPMNEdge__18" sourceElement="_9" targetElement="_10"> |
|
||||
<di:waypoint x="530.0" y="317.5"/> |
|
||||
<di:waypoint x="675.0" y="162.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_3" id="BPMNEdge__3" sourceElement="_4" targetElement="_9"> |
|
||||
<di:waypoint x="327.0" y="166.0"/> |
|
||||
<di:waypoint x="445.0" y="317.5"/> |
|
||||
<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="_2" targetElement="_5"> |
|
||||
<di:waypoint x="47.0" y="166.0"/> |
|
||||
<di:waypoint x="125.0" y="172.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_11" id="BPMNEdge__11" sourceElement="_10" targetElement="_12"> |
|
||||
<di:waypoint x="760.0" y="162.5"/> |
|
||||
<di:waypoint x="835.0" y="146.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> |
|
@ -1,145 +0,0 @@ |
|||||
<?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/testm1604633800390" 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="m1604633800390" name="" targetNamespace="http://www.activiti.org/testm1604633800390" typeLanguage="http://www.w3.org/2001/XMLSchema"> |
|
||||
<process id="holidayex" isClosed="false" isExecutable="true" processType="None"> |
|
||||
<startEvent id="_2" name="StartEvent"/> |
|
||||
<userTask activiti:exclusive="true" id="_5" name="启动任务"/> |
|
||||
<endEvent id="_12" name="EndEvent"/> |
|
||||
<exclusiveGateway gatewayDirection="Unspecified" id="_4" name="ExclusiveGateway"/> |
|
||||
<sequenceFlow id="_17" sourceRef="_5" targetRef="_4"/> |
|
||||
<sequenceFlow id="_6" sourceRef="_2" targetRef="_5"/> |
|
||||
<userTask activiti:exclusive="true" id="_7" name="第一分支"/> |
|
||||
<userTask activiti:exclusive="true" id="_8" name="默认分支"/> |
|
||||
<userTask activiti:exclusive="true" id="_9" name="第三分支"/> |
|
||||
<userTask activiti:exclusive="true" id="_10" name="结束节点"/> |
|
||||
<sequenceFlow id="_11" sourceRef="_10" targetRef="_12"/> |
|
||||
<sequenceFlow id="_13" sourceRef="_4" targetRef="_7"> |
|
||||
<conditionExpression xsi:type="tFormalExpression"> |
|
||||
<![CDATA[${num>=7}]]> |
|
||||
</conditionExpression> |
|
||||
</sequenceFlow> |
|
||||
<sequenceFlow id="_3" sourceRef="_4" targetRef="_9"> |
|
||||
<conditionExpression xsi:type="tFormalExpression"> |
|
||||
<![CDATA[${num>=3 && num<7}]]> |
|
||||
</conditionExpression> |
|
||||
</sequenceFlow> |
|
||||
<sequenceFlow id="_14" sourceRef="_4" targetRef="_8"/> |
|
||||
<sequenceFlow id="_15" sourceRef="_7" targetRef="_10"/> |
|
||||
<sequenceFlow id="_16" sourceRef="_8" targetRef="_10"/> |
|
||||
<sequenceFlow id="_18" sourceRef="_9" targetRef="_10"/> |
|
||||
</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="holidayex"> |
|
||||
<bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2"> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="15.0" y="150.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="32.0" width="32.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="125.0" y="145.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_12" id="Shape-_12"> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="835.0" y="130.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_4" id="Shape-_4" isMarkerVisible="false"> |
|
||||
<dc:Bounds height="32.0" width="32.0" x="295.0" y="150.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="32.0" width="32.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="440.0" y="40.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_8" id="Shape-_8"> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="450.0" y="155.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="55.0" width="85.0" x="445.0" y="290.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNShape bpmnElement="_10" id="Shape-_10"> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="675.0" y="135.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNShape> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_13" id="BPMNEdge__13" sourceElement="_4" targetElement="_7"> |
|
||||
<di:waypoint x="327.0" y="166.0"/> |
|
||||
<di:waypoint x="440.0" y="67.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_15" id="BPMNEdge__15" sourceElement="_7" targetElement="_10"> |
|
||||
<di:waypoint x="525.0" y="67.5"/> |
|
||||
<di:waypoint x="675.0" y="162.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_14" id="BPMNEdge__14" sourceElement="_4" targetElement="_8"> |
|
||||
<di:waypoint x="327.0" y="166.0"/> |
|
||||
<di:waypoint x="450.0" y="182.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_17" id="BPMNEdge__17" sourceElement="_5" targetElement="_4"> |
|
||||
<di:waypoint x="210.0" y="172.5"/> |
|
||||
<di:waypoint x="295.0" y="166.0"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_16" id="BPMNEdge__16" sourceElement="_8" targetElement="_10"> |
|
||||
<di:waypoint x="535.0" y="182.5"/> |
|
||||
<di:waypoint x="675.0" y="162.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_18" id="BPMNEdge__18" sourceElement="_9" targetElement="_10"> |
|
||||
<di:waypoint x="530.0" y="317.5"/> |
|
||||
<di:waypoint x="675.0" y="162.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_3" id="BPMNEdge__3" sourceElement="_4" targetElement="_9"> |
|
||||
<di:waypoint x="327.0" y="166.0"/> |
|
||||
<di:waypoint x="445.0" y="317.5"/> |
|
||||
<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="_2" targetElement="_5"> |
|
||||
<di:waypoint x="47.0" y="166.0"/> |
|
||||
<di:waypoint x="125.0" y="172.5"/> |
|
||||
<bpmndi:BPMNLabel> |
|
||||
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/> |
|
||||
</bpmndi:BPMNLabel> |
|
||||
</bpmndi:BPMNEdge> |
|
||||
<bpmndi:BPMNEdge bpmnElement="_11" id="BPMNEdge__11" sourceElement="_10" targetElement="_12"> |
|
||||
<di:waypoint x="760.0" y="162.5"/> |
|
||||
<di:waypoint x="835.0" y="146.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> |
|
Loading…
Reference in new issue