# 工作流

# 1.概述

# 2.集成步骤

# 2.1 工作流平台配置

  1. 新增租户

点击菜单“工作流平台-租户管理”,进入工作流租户管理首页。 在新增页面维护租户编码租户名称租户ip地址及端口消息推送地址数据回显地址用户树数据地址组织树数据地址审批参与者注册以及监听事件接口注册

addTenant.png

配置项 说明
消息推送地址 流程审批时会调取该地址推送任务待办消息
数据回显地址 工作流平台对于用户等信息只会存储工号,在根据工号进行数据回显时会调取此回显地址正确显示用户名信息
用户树数据地址 获取三方租户系统所有系统用户树数据地址,表单用户选择框控件,流程实例监管等模块使用
组织树数据地址 获取三方租户系统所有系统组织树数据,表单组织选择框控件使用
审批参与者 在此处注册审批参与者信息后,才可在流程设计器中选择任务节点的审批参与者。在注册时,需注意配置参与者名称、编码,正确选择参与者类型,以及配置对应的数据获取地址。‘审批直选’类型只需维护‘审批人员获取地址’,预选范围类型需维护‘审批人员获取地址’‘审批预选范围地址’两个配置项。‘审批直选’是指在流程设计器选择参与者时无需预选范围,在审批时直接从‘审批人员获取地址’获取审批人,而‘审批预选范围地址’则需要在流程设计器参与者时,预选一个范围,例如从多个岗位中选择‘医务岗’,则在审批时工作流平台会将‘医务岗’的编码作为入参,请求‘审批人员获取地址’获取到具体的审批人
监听事件接口注册 监听事件需正确填写事件名称、事件编码和接口调用地址。配置完成后,可在流程设计器中“事件监听”处,选择在此处注册的监听事件。在流程进行审批时,则会自动触发配置的监听事件
  1. 流程管理

在工作流租户详情页,点击“流程定义管理”进入流程管理首页。可在此页面新增流程定义,预览部署的流程图以及流程 XML 数据。
左侧可配置基本属性信息,中间区域可设计具体的流程,右侧可为每一步流程进行相关配置(比如:配置审批人,设置字段的可操作性)。

addProcess.png

  1. 表单管理

工作流平台提供表单设计器,涵盖布局控件、基础控件、高级控件等数十种表单控件,用户可根据业务需求自行设计电子表单,维护库表字段、设计打印模板、权限配置等。支持表单实例的批量打印。 从租户详情页点击表单管理可进入表单定义管理首页。

designForm2.png

发起流程,先在租户列表中选择租户,以加载租户下流程定义目录树。通过申请入口菜单从目录树中选择该分类下的流程进行流程的发起。

startProcess.png

# 2.2 HOS基础平台配置

# 2.2.1 引入依赖

在项目中引入 bpm-starter 依赖包

    <dependency>
        <groupId>com.mediway.bpm</groupId>
        <artifactId>bpm-starter</artifactId>
        <version>2.1.0</version>
    </dependency>

# 2.2.2 yml配置

在yml文件中增加以下配置

framework:
    bpm:
        starter:
            ## 工作流后台地址   http://localhost:8367/api/rest
            server: 
            ## 租户编码        test1
            tenantCode: 
            ## 三方应用 id     WlRK2yhmxdw0
            appId: 
            ## 三方应用密钥    I8b25j0cp1XR44c3
            appSecret: 

# 2.2.3 设计器集成

集成工作流平台的流程设计器,可参考免密配置中菜单的配置,嵌入流程管理的页面即可。

process.png

process1.png

# 2.2.4 业务端调用接口说明

流程管理接口,任务管理接口,表单管理接口,中间业务管理接口详细内容可见《HOS框架工作流平台系统对接方案V1.1》中 第6.6.36.6.46.6.56.6.6章节。

# 2.3 工作流菜单配置

# 2.3.1 免密配置

1.免密认证流程描述
(1)、应用系统以iframe形式嵌入工作流平台的页面。
(2)、应用系统需要新增其他应用菜单,工作流平台提供页面访问地址、认证源编码。
(3)、应用系统打开工作流平台的菜单。
(4)、应用系统根据当前用户生成临时token.
(5)、携带token以及认证源编码访问工作流平台地址。
(6)、工作流平台系统接收到字符串参数之后,调用免密认证源验证Token并返回用户的接口地址并完成应用系统的登录认证。
(7)、应用系统成功打开工作流平台的页面。

2.配置步骤

在工作流平台的系统管理-免密登录菜单中,新增免密登录,编码与注册租户时的编码(示例的编码为:HOS)保持一致,验证token地址为 http://ip:port/api/login/passwordFree/userInfo

freeLogin.png

配置好免密登录之后,回到应用系统新增菜单来打开工作流平台对应的页面。

menu.png

menu2.png

其中需要注意的是,配置免密菜单需要打开是否外链是否免密开关,在认证来源编码处输入上一步注册的免密登录的编码(示例的编码为:HOS), 路由输入需要嵌入页面的url地址(示例为待办任务和已办任务页面)。更多页面的地址详见《HOS框架工作流平台系统对接方案V1.1》中 第5.5章节。
配置完成后,保存并刷新,即可成功打开页面。

unhandle.png

handled.png

# 3.工作流回调接口列表

名称 请求方式 接口地址
获取当前登录用户所在部门领导(下拉) GET http://ip:port/api/openApi/flow/select-dept-leader
获取当前登录用户所在部门上级领导(下拉) GET http://ip:port/api/openApi/flow/select-superior-dept-leader
通过科室编码和职位字典编码获取科室下所有领导(下拉) GET http://ip:port/api/openApi/flow/select-dept-leader-by-dept-pos
通过岗位编码获取所有部门下用户集合(简版不支持) GET http://ip:port/api/openApi/flow/select-account-by-postdict
通过职位字典获取所有部门下用户集合 GET http://ip:port/api/openApi/flow/select-account-by-posdict
获取所有职位 GET http://ip:port/api/openApi/flow/select-all-position
获取某机构所有职位 GET http://ip:port/api/openApi/flow/select-position-by-instCode
通过用户编码获取用户 GET http://ip:port/api/openApi/flow/select-user
通过部门编码获取部门 GET http://ip:port/api/openApi/flow/select-department
通过部门编码获取用户集合(下拉) GET http://ip:port/api/openApi/flow/get-account-by-dept
通过岗位编码获取用户集合(下拉)(简版不支持) GET http://ip:port/api/openApi/flow/get-account-by-post
通过职位编码获取用户集合(下拉) GET http://ip:port/api/openApi/flow/get-account-by-pos
通过职位字典获取用户集合(下拉) GET http://ip:port/api/openApi/flow/get-account-by-posdict
通过岗位字典获取用户集合 GET http://ip:port/api/openApi/flow/get-account-by-postdict
查询所有账号 GET http://ip:port/api/openApi/flow/new-version/select-all-account
获取所有部门信息 GET http://ip:port/api/openApi/flow/new-version/all-deptinfo
获取所有岗位(简版不支持) GET http://ip:port/api/openApi/flow/new-version/org-dept-post-tree
获取所有机构 GET http://ip:port/api/openApi/flow/new-version/all-orginfo
获取某机构下所有岗位(简版不支持) GET http://ip:port/api/openApi/flow/new-version/org-post-by-ins