基于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、效果图

相关推荐
yyxx4121232 天前
上海企业如何选择专业的钉钉服务商
java·大数据·人工智能·钉钉
小懿互联集成平台3 天前
金蝶云星空与钉钉OA审批对接-构建一体化财务付款管理体系
钉钉·金蝶云星空·数据对接·小懿互联·构建一体化财务付款
TMT星球6 天前
钉钉发布DingTalk A1豆蔻医生版,售价999元
人工智能·深度学习·钉钉
mxwin6 天前
次世代角色 PBR 贴图制作 + Unity URP 接入 极简流程图
unity·流程图·贴图·shader
河北小博博7 天前
OpenClaw 接入飞书 / 钉钉 / 企业微信:从 HTTP Webhook 到 WebSocket 长连接
钉钉·飞书·企业微信
Linlingu8 天前
OpenClaw接入钉钉企业内部机器人完整实操教程(Stream模式无公网部署)
人工智能·windows·机器人·钉钉·办公自动化·小龙虾
神一样的老师11 天前
用 AI 助手直接操作钉钉?QoderWork 连接钉钉的体验分享
人工智能·钉钉
lipengxs11 天前
PlantUML、Mermaid、SQL ER、OpenAPI 在线预览工具整理
ai·编辑器·流程图·uml
CIO_Alliance13 天前
鼎捷和钉钉系统集成破局:iPaaS成制造业破解“系统割裂”关键
人工智能·钉钉·ipaas·系统集成·制造业·企业数智化转型·零售电商
科技与数码13 天前
鸿蒙智能待办:钉钉学而思待办自动同步日历
华为·钉钉·harmonyos