zoukankan      html  css  js  c++  java
  • Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置

    简介:

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

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

    一、普通节点介绍:

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

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

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

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

    流程图属性: 

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

    其它都是默认的即可。

    参与者属性 

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

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

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

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

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

    组织部门的过滤类型:

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

    退回方式:

     可以指定退回的类型。

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

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

     开关属性:

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

    路由属性 

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

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

    发散类型: 

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

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

    聚合类型:

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

    传阅方式: 

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

    内嵌子流程设置: 

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

    外嵌子流程设置: 

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

    代码类继承自: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;
            }
        }

    迁移条件: 

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

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

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

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

    如: 

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

    <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>

    保存流程:

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

    演示地址:

    http://aries.cyqdata.com

  • 相关阅读:
    9.11 eventbus
    9.10,,,实现new instanceof apply call 高阶函数,偏函数,柯里化
    9.9 promise实现 写完了传到gitee上面了,这里这个不完整
    9.5cors配置代码
    9.5 jsonp 实现
    9.5 http tcp https总结
    9.3 es6 class一部分 and es5 class 发布订阅
    8.30 cookie session token jwt
    8.30vue响应式原理
    warning: LF will be replaced by CRLF in renard-wx/project.config.json. The file will have its original line endings in your working directory
  • 原文地址:https://www.cnblogs.com/cyq1162/p/10895484.html
Copyright © 2011-2022 走看看