流程设计器的导入导出

目录

依赖包
安装GraphQL的工具
登录gql
导出生成json文件
业务工程中导入示例代码
生产环境使用流程设计器

简介

通过调用导出接口,将设计器的设计数据与元数据打包导出到文件中。
提供了download/export两类接口。

依赖包

<dependency>
    <groupId>pro.shushi.pamirs.metadata.manager</groupId>
    <artifactId>pamirs-metadata-manager</artifactId>
</dependency>

安装GraphQL的工具

下载官网地址:https://github.com/Kong/insomnia/releases

登录gql

流程设计器的导入导出

示例调用代码

mutation {
    pamirsUserTransientMutation {
        login(user: { login: "admin", password: "admin" }) {
            needRedirect
            broken
            errorMsg
            errorCode
            errorField
        }
    }
}

导出生成json文件

执行GraphQL,直接返回导出数据。适用于通过浏览器直接下载文件。
流程设计器的导入导出

指定模块导出

请求示例:

mutation {
    workflowDesignerExportReqMutation {
        export(data: { module: "demo_core", fileName: "workflow_meta" }) {
            jsonUrl
        }
    }
}

指定流程编码导出

请求示例:

mutation {
    workflowDesignerExportReqMutation {
        export(data: { workflowCode: "WF0000000000132500", fileName: "workflow_meta" }) {
            jsonUrl
        }
    }
}

业务工程中导入示例代码

# 是否初始化安装导入元数据
pm:
  install:
    enable: false

导入元数据示例代码

@Slf4j
@Order(Integer.MAX_VALUE-1)
@ConditionalOnProperty(prefix = "pm", name = "install.enable", havingValue = "true")
@Component
public class DemoModuleAppInstall implements MetaDataEditor, LifecycleCompletedAllInit {
    //流程设计器导出的页面元数据json
    private static final String INSTALL_WORKFLOW_META_PATH = "install/workflow_meta.json";

    @Override
    public void edit(AppLifecycleCommand command, Map<String, Meta> metaMap) {
        if(StringUtils.isBlank(INSTALL_WORKFLOW_META_PATH)) return;
        log.info("开始安装-元数据");
        try {
            InitializationUtil util = InitializationUtil.get(metaMap, DemoModule.MODULE_MODULE, DemoModule.MODULE_NAME);
            if (null != util) {
                // 设计器的元数据
                if(StringUtils.isNotBlank(INSTALL_WORKFLOW_META_PATH)) {
                    log.info("开始安装流程设计器元数据");
                    DesignerInstallHelper.mateInitialization(util, INSTALL_WORKFLOW_META_PATH, DemoModule.MODULE_MODULE,
                            DemoModule.MODULE_NAME);
                }
            }
        } catch (Exception e) {
            log.error("初始化流程设计器导入异常", e);
        }
    }

    @Override
    public void process(AppLifecycleCommand command, Map<String, ModuleDefinition> runModuleMap) {
        if(StringUtils.isNotBlank(INSTALL_WORKFLOW_META_PATH)) {
            log.info("开始安装-流程设计器数据");
            // 支持远程调用,但是执行的生命周期必须是LifecycleCompletedAllInit或之后. 本地如果安装了设计器,则没有要求
            DesignerInstallHelper.bizInitialization(INSTALL_WORKFLOW_META_PATH);
        }
    }
}

生产环境使用启动设计器

生产环境如无部署设计器docker镜像,可下载我们oinone-op-ds-all-mini-workflow镜像,单独安装流程设计器。
由于导入的是流程设计器的数据,需要在流程设计器中编辑流程,合理设置相关的人员和自定义函数

Oinone社区 作者:数式-海波原创文章,如若转载,请注明出处:https://doc.oinone.top/designer/workflowdesigner/7296.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
数式-海波的头像数式-海波数式管理员
上一篇 2024年5月16日 下午2:27
下一篇 2024年5月16日 下午2:30

相关推荐

  • 流程设计流程结束通知SPI接口

    1.实现SPI接口 import pro.shushi.pamirs.meta.common.spi.SPI; import pro.shushi.pamirs.meta.common.spi.factory.SpringServiceLoaderFactory; import pro.shushi.pamirs.workflow.app.api.entit…

    2023年12月26日
    3100
  • 项目中工作流引入和流程触发

    目录 1. 使用工作流需要依赖的包和设置2. 触发方式2.1 自动触发方式2.2 触发方式 1.使用工作流需要依赖的包和设置 1.1 工作流需要依赖的模块 需在pom.xml中增加workflow、sql-record和trigger相关模块的依赖 workflow:工作流运行核心模块 sql-record:监听流程发布以后对应模型的增删改监听 trigge…

    2023年11月7日
    6200
  • 【工作流】流程扩展自定义函数示例代码汇总

    目录 1. 流程节点审批人函数2. 审批开始前执行函数3. 待办操作提交后执行函数4. 审批操作数据函数 1. 流程节点审批人函数 包含转交、抄送、加签、填写、通知人自定义函数当平台默认提供的审批人选择无法满足个性化的业务需求时,我们可以通过自定义函数处理审批人的生成逻辑 1.1 编写自定义审批人函数 @Function(name = "custo…

    2023年12月4日
    12800

发表回复

登录后才能评论