From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口
---
src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java | 12 ++++++++++++
src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java | 23 +++++++++++++++++++++++
src/main/java/org/springblade/flow/engine/service/FlowEngineService.java | 10 ++++++++++
3 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java b/src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java
index 13aa8e2..93751e8 100644
--- a/src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java
+++ b/src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java
@@ -112,6 +112,18 @@
}
}
+
+ /**
+ * 流程节点进程图
+ *
+ * @param processDefinitionId 流程id
+ * @param processInstanceId 流程实例id
+ */
+ @GetMapping(value = "model-view")
+ public R modelView(String processDefinitionId, String processInstanceId) {
+ return R.data(flowEngineService.modelView(processDefinitionId, processInstanceId));
+ }
+
/**
* 获取流程节点进程图
*
diff --git a/src/main/java/org/springblade/flow/engine/service/FlowEngineService.java b/src/main/java/org/springblade/flow/engine/service/FlowEngineService.java
index 54e1e81..34f5968 100644
--- a/src/main/java/org/springblade/flow/engine/service/FlowEngineService.java
+++ b/src/main/java/org/springblade/flow/engine/service/FlowEngineService.java
@@ -25,6 +25,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
+import java.util.Map;
/**
* FlowEngineService
@@ -117,4 +118,13 @@
* @return
*/
boolean deleteProcessInstance(String processInstanceId, String deleteReason);
+
+ /**
+ * 流程节点进程图
+ *
+ * @param processDefinitionId
+ * @param processInstanceId
+ * @return
+ */
+ Map<String, Object> modelView(String processDefinitionId, String processInstanceId);
}
diff --git a/src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java b/src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java
index a3eff94..e5c4e76 100644
--- a/src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java
+++ b/src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java
@@ -396,4 +396,27 @@
}
}
+ /**
+ * 流程节点进程图
+ *
+ * @param processDefinitionId
+ * @param processInstanceId
+ * @return
+ */
+ @Override
+ public Map<String, Object> modelView(String processDefinitionId, String processInstanceId) {
+ Map<String, Object> result = new HashMap<>();
+ // 节点标记
+ if (StringUtil.isNotBlank(processInstanceId)) {
+ result.put("flow", this.historyFlowList(processInstanceId, null, null));
+ HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
+ .processInstanceId(processInstanceId)
+ .singleResult();
+ processDefinitionId = processInstance.getProcessDefinitionId();
+ }
+ BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
+ // 流程图展示
+ result.put("xml", new String(new BpmnXMLConverter().convertToXML(bpmnModel)));
+ return result;
+ }
}
--
Gitblit v1.9.3