zoukankan      html  css  js  c++  java
  • ccflow流程自动发起功能增加,如何按指定的时间触发方式发起流程?

    ccflow流程自动发起功能增加,如何按指定的时间触发方式发起流程?
    ---------------------------------------
      关键字:ccflow wf_task 触发方式启动流程 指定流程发起时间
      应用场景: 向ccflow下达一个任务在指定的时间发起指定的流程.

      现在在wf_task 表中增加一个StartDT 列,此列用于说明在改流程在什么时间发起.

      更详细的信息请参考驰骋工作流程引擎设计器操作说明书 3.9.3章节.

    流程的自动执行包括,流程的自动发起与节点的自动执行两大部分。

    下面分别介绍这两种的实现方法.

    流程的自动发起.

    流程的发起包含如下几种模式:
    0
    、手工启动

    默认的模式,就是手工的发起流程。
    1 、指定人员按时启动

    指定特定的人在特定的时间发起流程比如 zhangshan@01:01@12:01 让张三在每天的 1点零1分,与12点零1分发起此流程。

    2、数据集按时启动

    为流程设置一个数据源,系统按时读取这个数据源发起流程。
    表达式的意思是: 让zhangshan 在每天的01:01 与12:01两个时间点执行自动启动

    数据源是从开始节点表单获取.

    右图是填充开始节点的主从表的sql, 两者都是一个集合,对于主表要有一个唯一的MainPK字段,以防止数据重复发起。数据源的列与主表的字段一致。
    3、触发式启动

    工作原理:第三方软件向特定的表(WF_Task)中写入数据,ccflow就会读取这张表来完成流程的发起,发起成功后就把这条记录设置成已经发起的状态,并把信息写入WF_Task表的Msg里面。

    关于WF_Task表字段说明:

    字段英文名

    字段中文名

    解释

    MyPK

    主键

    唯一的主键不要有中文名称,长度尽量短,要求全局的流程的每一条流程这个是唯一的。

    FK_Flow

    流程编号

    要发起的流程编号

    Starter

    发起人

    发起人编号

    Paras

    字段参数

    字段参数,格式为:@字段英文名1=字段值1@字段英文名2=字段值2比如: @StuNo=001@StuName=张三@StuAddr=山东济南

    这个参数要与开始节点表单字段匹配,就是说要发起的的流程开始节点表单中要有StuNo,StuName,StuAddr 才能匹配上。

    TaskSta

    任务状态

    默认为0: 0=未发起,1=成功发起,2=发起失败。
    此字段不需要程序写入值。

    Msg

    执行的消息

    流程发起后的信息,成功的话就返回执行成功的信息,不成功就写入失败信息。此字段不需要程序写入值。

    StartDT

    发起时间

    如果为空就表示立刻发起,如果设置好发起的时间就按指定的时间发起,指定的时间不能超过分钟。时间格式为yyyy-MM-dd HH:mm

    比如:2012-06-01 01:01 也可以书写成2012-06-01

    对于要启动的流程要求:

    要自动启动的流程在开始节点表单里必须要有MainPK字段,这个字段可以是隐藏的,长度根据产生的MyPK需要,增加此字段目的是避免流程启动重复。流程在启动起前就要检查一下开始节点中的MainPK字段,如果有类似的数据说明它已经发起来了,就放弃它。

    设置数据集按时启动的方法

    1, 在流程属性中的运行方式设置启动的顺序。

    当运行方式为: 按天启动 执行内容 @01:01@02:01 表示01点:01分,与02点01分分别执行一次.

    当运行方式为: 按小时启动 执行内容 @:01@:10@:20@:30@:40@:50 表示每间隔10分钟执行一次.

    2,流程属性-》设置自动发起数据源,为开始表单设置数据源,(如果有从表也会让你设置从表的sql)。

    主表集合中必须包含如下几个列:

    Starter 发起人

    MainPK 主键(唯一的主键,是为了不重复调度.)

    从表数据集合要求:

    RefMainPK 关联主键的值.

    特别说明: 两个SQL都是查询出来的集合.

    3, 在开始节点属性中增加一个MainPK隐藏字段.

    这个隐藏字段是用来保证数据发起不会重复。

    4, 启动调度程序.

    让其按时执行。

  • 相关阅读:
    百度地图API示例之小实践 添加代理商标注
    MySQL分组操作
    MySQL连表操作
    MySQL多对多操作
    MySQL一对一操作
    MySQL唯一索引
    MySQL用户授权管理
    MySQL外键操作
    MySQL删操作
    MySQL增操作
  • 原文地址:https://www.cnblogs.com/ccflow/p/2675245.html
Copyright © 2011-2022 走看看