基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(六)仿钉钉流程的转bpmn流程图

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。

1、转bpmn流程图接口

java 复制代码
/**
     * 转为bpmn xml格式
     * @param processModel
     * @throws IOException
     */
    @PostMapping("/ddtobpmnxml")
    public Result<?> ddToBpmnXml(@RequestBody ProcessModel processModel) {
    	try {
	        BpmnModel bpmnModel = processModel.toBpmnModel();
	        return Result.OK(new String(new BpmnXMLConverter().convertToXML(bpmnModel)));
    	} catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("创建失败: e=" + e.getMessage());
        }
    }

2、toBpmnModel()方法

java 复制代码
public BpmnModel toBpmnModel() {
        BpmnModel bpmnModel = new BpmnModel();
        // 命名空间
        bpmnModel.setTargetNamespace("https://flowable.org/bpmn20");
        // 创建一个流程
        Process process = new Process();
        // 设置流程的id
        process.setId(this.getCode());
        // 设置流程的name
        process.setName(this.getName());
        // 设置流程的文档
        process.setDocumentation(this.getRemark());
        // 递归构建所有节点
        Node node = this.getProcess();
        List<FlowElement> flowElementList = node.convert();
        for (FlowElement flowElement : flowElementList) {
            process.addFlowElement(flowElement);
        }
        // 设置流程
        bpmnModel.addProcess(process);
        // 自动布局
        new BpmnAutoLayout(bpmnModel).execute();
        return bpmnModel;
    }

3、前端调用接口

javascript 复制代码
const converterBpmn = () => {
  const processModel = {
    code: pCode.value,
    name: pName.value,
    icon: {
      name: 'el:HomeFilled',
      color: '#409EFF'
    },
    process: props.process,
    enable: true,
    version: 1,
    sort: 0,
    groupId: '',
    remark: ''
  }
  ddToBpmnXml(processModel).then(res => {
     console.log("ddToBpmnXml res",res)
     processView.title = pName.value
     processView.index = pCode.value
     processView.xmlData = res.result
     processView.open = true
  })  
}

4、效果图

相关推荐
一起学开源4 天前
分布式基石:CAP定理与ACID的取舍艺术
分布式·微服务·架构·流程图·软件工程
青靴5 天前
轻量级 CI/CD 实战(四):本地开发钉钉告警 → 自动部署云服务器 Kafka 消费者容器
ci/cd·docker·钉钉
晓华-warm7 天前
Warm-Flow 1.8.4 票签新增多种通过率策略!
java·中间件·流程图·jar·开源软件·工作流
paperxie_xiexuo8 天前
如何用自然语言生成科研图表?深度体验PaperXie AI科研绘图模块在流程图、机制图与结构图场景下的实际应用效果
大数据·人工智能·流程图·大学生
檐下翻书17310 天前
从入门到精通:流程图制作学习路径规划
论文阅读·人工智能·学习·算法·流程图·论文笔记
川西胖墩墩10 天前
流程图在算法设计中的实战应用
数据库·论文阅读·人工智能·职场和发展·流程图
檐下翻书17312 天前
流程图配色与美化:让你的图表会“说话”
论文阅读·人工智能·信息可视化·流程图·论文笔记
不爱学习的YY酱13 天前
告别局域网束缚!Excalidraw结合cpolar随时随地画流程图
安全·流程图·cpolar
secondyoung13 天前
Mermaid流程图高效转换为图片方案
c语言·人工智能·windows·vscode·python·docker·流程图
wfsm13 天前
flowable05外置表单和绘制流程图
流程图