工作流简介

工作流是由用户定义,事件驱动,按逻辑顺序自动执行的工作流程。

[!TIP|style:flat] 配置工作流时经常会出现两个术语:物理表和数据集。
物理表,就是数据库中存储的数据表。
数据集,是从数据库中查取出来的数据结果。

一、需求场景

例如:新创建一个工单后,按照定义,先移交给客服部门确认,再移交给技术部门确认工单性质,再分发给对应的服务部门处理;每天网店结束营业后,都要扎帐和统计当天的营业收入和利润;员工发起采购申请后,需要按公司既定的采购流程进行审批和执行,等。

二、工作流触发器

工作流的触发器,现在有六种:

  • DB触发器:当数据库(数据记录、数据字段)有新增、修改、删除操作的时候,触发工作流。
  • API触发器:可以定义接口,供外部系统获取零代码系统应用的数据。
  • 时间触发器:约定时间,以便启动工作流。
  • 按钮触发器:约定按钮被点击后执行的流程。在自定义按钮时设置,在工作流中进行管理。
  • 审批触发器:约定审批被发起后执行的流程。在定义审批时设置,在工作流中进行管理。
  • 导入触发器:约定导入某种数据后执行的流程。在定义导入行为时设置,在工作流中进行管理。

img

[!DANGER|style:flat]

  • 系统不支持触发器触发第二个触发器。比如:使用按钮触发器将数据写入DB,不能再次触发DB触发器。例如,通过按钮触发器,改变了一个货物入库的状态,从待检验到已入库,这个DB的更新,是不能立即触发DB触发器驱动的统计工作流的。

  • 使用API触发器时,如果需要用到API输出数据(返回的数据),就选择同步。如果只是调用,不需要该接口返回的数据,就选择异步。可以理解为:同步模式是等待处理结果,异步模式是不等结果将任务放到队列中处理。

三、工作流节点类型

工作流节点有六种:数据、组件、数据源、服务、数据整理、消息通知。

img

3.1 数据

数据功能,主要是对数据的操作,包括:

  • 新增:向数据库中新增一条记录。
  • 批量新增:向数据库中(一次)新增多条记录。
  • 查找单条数据:从数据库中查满足约定条件的一条数据记录。
  • 查找多条数据:从数据库中查满足约定条件的多条数据记录。
  • 更新单条数据:从数据库中查满足约定条件的一条数据记录,用新数据更新指定字段。
  • 更新多条数据:从数据库中查满足约定条件的多条数据记录,用新数据更新指定字段。
  • 删除:从数据库中查满足约定条件的数据记录,然后删除。
  • 区块链:接入区块链,实现数据上链操作。
  • 获取子表数据:获得本表的关联子表中的数据。
  • 脚本:如果零代码方式不满足需求时,可以通过脚本的方式扩展功能。目前支持js脚本。
  • 审批:提供审批功能。
  • 数据锁定:如果零代码方式不满足需求时,可以通过脚本的方式扩展功能。目前支持js脚本。
  • 数据解锁:如果零代码方式不满足需求时,可以通过脚本的方式扩展功能。目前支持js脚本。

3.2 组件

  • 条件分支:提供判断能力,在满足条件的情况下执行一组逻辑,不满足条件的情况下执行另外一种条件。类似于编程中的if/else判断。
  • 并行节点:引入并行节点后,可以同时进行多种路径的计算。
  • 循环条件:在多条数据中一条一条的进行循环遍历操作。

3.3 数据源

  • API数据源:通过配置功能项可以实现对外部API的调用。
  • SQL数据源:引入SQL数据库成的操作能力,使工作流可以调用SQL数据。

3.4 服务

  • 第三方服务:系统预置的第三方服务提供商的API。

3.5 数据整理

  • 数据输出:将数据进行结构编排后进行输出。
  • 数据导出:将数据通过模板导出成不同格式文件,支持excel、word、pdf格式文件。
  • 中间结果:将数据转化为指定数据结构的中间数据。
  • 运算节点:相当于引入了一个“中间”数据,用于数据的过渡性存储,方便转移搬运数据。

3.6 消息通知

  • 发送邮件:提供发送邮件通知的能力,需要自有邮件服务器。
  • 发送短信:提供发送短信通知的能力,需要自有短信网关和过审的短信模板。
  • 发送消息通知:提供发送站内消息通知的能力。
  • 企业微信:提供推送企业微信消息通知的能力,需要配置对接企业微信。
  • 钉钉:提供推送钉钉消息通知的能力,需要配置对接钉钉。

四、工作流节点整理

节点的整理,包括两种:

  • 复制:将已配置的节点复制到指定的位置。
  • 移动:将已配置的节点移动到指定的位置。

以 “复制” 为例,在指定的位置,点击 “复制”,勾选需要 “复制” 的节点,然后,点击 “确认选择” 即可。 img img img

“移动” 操作同上。

[!DANGER|style:flat]勾选选择节点时:

  • 对于 “条件节点”:①全选,且 “条件节点” 下辖的节点不可反选。②单选一个条件,则其他条件不可选。
  • 选择节点,只能在已选节点的相邻范围内选择(前一个或后一个),其他位置节点不可选。
  • 反选节点,需从已选节点中的第一个或最后一个开始。

五、页面缩放

对于工作流节点多,一屏无法显示全部的情况,可通过右下侧的 “缩放” 按钮进行缩放调节。 img img

[!TIP|style:flat] 工作流中会经常接触到2种数据结构,数组和对象。 数组和对象的区别,主要是: 数组:a=[1,2,3,4];对象:a={0:1, 1:2, 2:3, 3:4} 数组,表示有序数据的集合;对象表示无序数据的集合; 数组,的数据没有”名称”(name);对象,的数据有”名称”(name); 数组,有长度,能用for循环,对象不行。

results matching ""

    No results matching ""