diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java index 3e748550..e495446b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java @@ -73,6 +73,15 @@ public class WfProcessController extends BaseController { } + /** + * 读取xml文件 + * @param processDefId 流程定义ID + */ + @GetMapping("/bpmnXml/{processDefId}") + public R getBpmnXml(@PathVariable(value = "processDefId") String processDefId) { + return R.ok(null, processService.queryBpmnXmlById(processDefId)); + } + /** * 查询流程详情信息 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java index 677700ff..feb4492d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java @@ -43,6 +43,12 @@ public interface IWfProcessService { */ void startProcessByDefKey(String procDefKey, Map variables); + /** + * 读取xml文件 + * @param processDefId 流程定义ID + */ + String queryBpmnXmlById(String processDefId); + /** * 查询流程任务详情信息 * @param procInsId 流程实例ID diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java index 874f530a..c724f4f1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java @@ -189,6 +189,20 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce } } + /** + * 读取xml文件 + * @param processDefId 流程定义ID + */ + @Override + public String queryBpmnXmlById(String processDefId) { + InputStream inputStream = repositoryService.getProcessModel(processDefId); + try { + return IoUtil.readUtf8(inputStream); + } catch (IORuntimeException exception) { + throw new RuntimeException("加载xml文件异常"); + } + } + /** * 流程详情信息 * diff --git a/ruoyi-ui/src/api/workflow/process.js b/ruoyi-ui/src/api/workflow/process.js index 63dded4e..09c207bb 100644 --- a/ruoyi-ui/src/api/workflow/process.js +++ b/ruoyi-ui/src/api/workflow/process.js @@ -27,6 +27,14 @@ export function startProcess(processDefId, data) { }) } +// 获取流程图 +export function getBpmnXml(processDefId) { + return request({ + url: '/workflow/process/bpmnXml/' + processDefId, + method: 'get' + }) +} + export function detailProcess(query) { return request({ url: '/workflow/process/detail', diff --git a/ruoyi-ui/src/views/workflow/work/index.vue b/ruoyi-ui/src/views/workflow/work/index.vue index 3d1b17bf..e9066f41 100644 --- a/ruoyi-ui/src/views/workflow/work/index.vue +++ b/ruoyi-ui/src/views/workflow/work/index.vue @@ -77,9 +77,8 @@