Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

时间:2022-09-16 11:09:32

简介:

Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中。

下面介绍本篇教程:定义流程:流程节点、迁移条件参数配置。

一、普通节点介绍:

先介绍这个,是因为普通节点,拥有所有的配置,其它类型的节点(会根据类型,隐藏或减少相应的配置)

所以介绍这个,就等于把所有的可配置项都介绍完了。

点击不同的地方,右侧会出现不同的配置项。

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

下面看普通节点的配置项:

流程图属性:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

步骤名称(这个是可以更改的,在表单上如果想通过API控制节点,一般也是通过节点名称控制,当然ID也可以)

其它都是默认的即可。

参与者属性

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

响应方式:(即有多个人可以参与待办)

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

参与者设置,点击可以设置:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

可以指定多种形式的参与者类型。

上下级部门角色参与者:这个一般配合自循环节点使用。

如果选择的是角色类型:还可以指定是否进一步根据组织部门进行过滤。

组织部门的过滤类型:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

在表单页,也可以由系统提供的表单API控制参与者。

退回方式:

可以指定退回的类型。

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

当退回方式,选择为:任意历史可退步骤时,

默认是任意历史,如果要限制在某几个节点:可以在下面任意历史可退步骤指定节点名称,多个用逗号分隔。

开关属性:

除了此处,也需要总开关(流程图属性)已打开。

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

路由属性

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

一般来说,路由属性是【发散网关节点、聚合网关节点】的专属属性。

不过所有节点都集成这个属性,所以上篇对节点的介绍,才有那么一句话:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

发散类型:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

可以指定只选择一条路线、任意路线、全部路线。

当指定为全选时,即为特殊的会签类型(以前有会签分支,去掉了,简约才是硬道理)

聚合类型:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

当类型为条件聚合时,由迁移条件决定。

传阅方式:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

当传阅类型为自动传阅时,可以设置自动传阅的用户。

内嵌子流程设置:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

点击,在弹出的窗口中,选择子流程即可。

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

外嵌子流程设置:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

配置名称为:类全名,程序集名称

代码类继承自:ISubWorflow,示例代码:

    public class ISubWorkflowDemo : ISubWorkflow
{
string appID = "DB";
public string Start(Choice parentChoice)
{
//Gemini.Workflow
//后端提供的API代码,以WF开头
//启动新的流程
WorkflowContext startContext = WF.Context.GetOnNoInstance(appID);//启动HX定义的流程
//指定新的流程的父流程ID(及所在的节点实例ID)
startContext.Instance.MainInstanceID = parentChoice.Context.InstanceID.ToString();
startContext.Instance.MainActivityInstanceID = parentChoice.Current.ActivityInstance.ActivityInstanceID.ToString();// startContext.Instance.InstanceTitle = "哥要启动一个新的工单了,快去待办看看吧!";
Choice choice = new Choice() { Command = Command.Start, Context = startContext };
choice.Current.UserList.Add(WF.User.Current);//发送给当前用户好了。 if (WF.Run.Execute(choice))
{ //启动后,返回新的工作流实例ID。
return startContext.Instance.InstanceID.ToString();
}
return "";
} public bool Invalid(ActivityInstance parentActivityInstance)
{
//回收子流程
WorkflowContext context = WF.Context.GetOnNoInstance(appID);
context.Opinion = "父流程回收,子流程要作废了!";
Choice choice = new Choice() { Command = Command.Invalid, Context = context };
if (WF.Run.Execute(choice))
{
return true;
}
return false;
}
}

迁移条件:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

当下一节点的聚合条件为:条件聚合时,迁移条件发生作用。

1、指定是否必参与迁移:该分支是否必须到达。

2、分组名:同名即为一组,同时约束同一组最少到达分支数(如果同一组,即设置了不同的到达分支数,默认取第一个)

3、备注,用于描述迁移线的作用,(如果是和业务相关,则由业务表单控制)

如:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

上面的流程中,会根据业务条件决定不同的分支,流程图上只作备注,具体由业务表单控制,示例表单中的代码如下:

<script defer="defer">
//控制分支条件
WF.Button.Submit.onBeforeExecute = function () {
if (WF.Context.appID == "DC") {
if (parseInt($("#Amount").val()) > 50000) {
WF.Actor.hideActivity("可选:B");
}
else {
//WF.Actor.Internal.
WF.Actor.hideActivity("可选:A");
//同时控件节点B的用户修改为指定的名称。
WF.Actor.setActivityUser("可选:B", "admin");
}
}
}
</script>

保存流程:

流程设计好后,只需要点一下保存:

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

演示地址:

http://aries.cyqdata.com

Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置的更多相关文章

  1. Gemini&period;Workflow 双子工作流入门教程二:定义流程:流程节点介绍

    简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:流程定义:流程节点属性. 流程节点: 左侧是节点工 ...

  2. Gemini&period;Workflow 双子工作流入门教程四:流程应用

    简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:定义流程:流程应用. 流程应用: 流程图设计好后, ...

  3. Gemini&period;Workflow 双子工作流入门教程五:业务表单开发

    简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:业务表单开发. 业务表单开发 业务表单的开发,和在 ...

  4. Gemini&period;Workflow 双子工作流高级教程:数据库设计及各表作用说明

    整体数据库设计,可见这一篇:Gemini.Workflow 双子工作流高级教程:数据库-设计文档 这里对各数据表进行介绍: 工作流里的设计表并不多,核心只有以下8个: 下面按照流程的顺序来介绍一下表的 ...

  5. Gemini&period;Workflow 双子工作流入门教程一:定义流程:流程图属性

    简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:流程定义:流程图属性. 步骤一:在流程管理的流程定 ...

  6. Gemini&period;Workflow 双子工作流高级教程:对外API控制引擎:总述

    前言: 双子工作流提供了一套对外的API,用于控制整体系统运转,下面就来看看介绍,其实很简单的. 对外API控制引擎总介: Gemini.Workflow 双子工作流,对外提供的API,都在Gemin ...

  7. Gemini&period;Workflow 双子工作流高级教程:数据库-设计文档

    数据库设计文档 数据库名:Workflow_New 序号 表名 说明 1 WF_Activity wf_Activity 2 WF_ActivityInstance wf_ActivityInstan ...

  8. Gemini&period;Workflow 双子工作流正式上线(支持&period;NET Core)

    接触工作流: 最早接触工作流,是在04年左右,那年,我创造了 Aries 框架的前身第一版框架,另一个同事,创造了工作流的第一版框架. 只是那时候,我并未参与工作流的核心设计,仅仅是帮写了个流程设计器 ...

  9. PySide——Python图形化界面入门教程&lpar;三&rpar;

    PySide——Python图形化界面入门教程(三) ——使用内建新号和槽 ——Using Built-In Signals and Slots 上一个教程中,我们学习了如何创建和建立交互widget ...

随机推荐

  1. Oracle 中新增字段后patch

    begin  ad_zd_table.patch('APPLSYS', 'CUX_3_GL_FARMER_BALANCE'); end ;

  2. lnmp初步学习知识整理

    Linux常用30个命令 1.帮助命令 1) man 就是manual的缩写,用来查看系统中自带的各种参考手册(一般linux系统中自带英文手册)! man 命令名 //查看该命令的介绍 2) 命令名 ...

  3. word插件开发 运行时&comma;插件不启动&period;

      word插件开发 运行时,插件不启动. 查看插件信息时. 在禁用的应用程序加载项中.   启动禁用的插件: 点击转到.  选择你要启动的插件就可以了.

  4. 转python爬虫:BeautifulSoup 使用select方法详解

    1 html = """ 2 <html><head><title>The Dormouse's story</title&gt ...

  5. js模块化规范—概念和模块化进化史以及模块化的问题

    模块的概念 一个复杂的项目开发中,会写很多js文件,一个js文件执行某些特定的功能,那么每个js都可以称为一个模块,这就是模块的概念 每个js模块内部数据/实现是私有的, 只是向外部暴露一些接口(方法 ...

  6. Collection中的迭代器

    迭代器:boolean hasNext() 判断集合中是否还有没有被取出数据nexe() 取出集合中下一个元素package cn.lijun.demo4; import java.util.Arra ...

  7. css3 transition属性实现3d动画效果

    transition属性是一个很强大的3d动画属性,我动手试了一下,很多在网上很火的网页动画都可以用这个属性实现,只能说这个属性是在是太强大啦,本人在学习次属性之后才知道自己对css3的认识还是偏少, ...

  8. CentOS6编译安装Python3

    CentOS6默认Python版本是2, 但我使用的是Python3,因此需要自己安装 但记住,不要删除自带的Python2,否则很多东西会报错,比如yum之类的.(别问我为什么知道...) 话不多说 ...

  9. Redis键迁移

    Redis键迁移   在使用Redis的过程中,很多时候我们会遇到需要进行键迁移的问题,需要将指定Redis中的指定数据迁移到其他Redis当中,键迁移有三种方法,我们来进行一一介绍. 一.move ...

  10. 话谈C&num;第一天

    今天是第一次接触C#,由于长时间的做Java开发,突然转到C#非常的不自然,但是也有了一些收获,给大家分享一下 using System; using System.Collections.Gener ...