.NET CORE开源工作流引擎 - 可视化流程设计器 - 工作流表单设计器 - .NET快速开发平台 - .NET三层代码生成器 - 通用权限管理

.NET MVC CORE开源工作流平台,可视化流程设计器
流程步骤设置 - 子流程

在一个流程中或以嵌入子流程步骤:

image.png

image.png

子流程:选择在子流程步骤要发起的流程。

子流程策略:

    子流程完成才能提交:当子流程的任务完成后,子流程步骤才能提交到下一步。

    子流程发起即可提交:子流程任务发起后,子流程步骤就可以提交到下一步。

    子流程发起后自动提交:当子流程任务发起后,这一步任务自动提交到下一步。

    子流程完成后自动提交:当子流程任务实例审批完成后,这一步任务自动提交到下一步。

实例类型:

    所有人同一实例:只发起一个子流程实例,如果这一步接收人是多个也是多人同一个实例。

    每个人单独实例:这一步接收人每个人单独一个对应的子流程实例。

激活前事件:在上一步发送到子流程步骤时执行的c#方法(激活前事件是必须的,不然无法发起子流程任务。)。

    方法中返回一个JSON字符串:

   {code:0(不为0表示有错误,将不会发起子流程),msg:'有错误时的错误信息',users:[{id:1(接收人id),title:'任务标题',instanceId:'实例id'}...]}

    示例:

        image.png

        /// <summary>
        /// 测试子流程激活前事件
        /// </summary>
        /// <param name="flowEventParameter"></param>
        /// <returns>返回json字符串:{code:0(不为0表示有错误,将不会发起子流程),msg:'有错误时的错误信息',users:[{id:1(接收人id),title:'任务标题',instanceId:'实例id'}...]}</returns>
        public string TestSubflowActiveBefore(RoadFlow.Model.FlowRunModel.FlowEventParameter flowEventParameter)
        {
            //处理子流程业务数据
            Dictionary<string, object> keyValues = new();
            keyValues.Add("title", "测试子流程-" + flowEventParameter.TaskTitle);
            keyValues.Add("f1", "11111111111");
            keyValues.Add("f2", "22222222222");
            keyValues.Add("f3", "33333333333");
            long instanceId = RoadFlow.Service.DbConnection.InsertData(186620774965317, keyValues, "rf_form_test", "id", true);

            //设置子流程任务第一步接收人的待办标题和业务数据id。
            JArray jArray = new();
            if (flowEventParameter.Other is List<RoadFlow.Model.User> receiverList)
            {
                foreach (var receiver in receiverList)
                {
                    jArray.Add(new JObject()
                    {
                        { "id", receiver.Id },
                        { "title", "测试子流程-"+ instanceId.ToString() },
                        { "instanceId", instanceId.ToString() },
                    });
                }
            }

            JObject jObject = new()
            {
                { "code", 0 },
                { "msg", string.Empty },
                { "users", jArray }
            };
            return jObject.ToString();
        }



联系QQ:493501010电话:136 0832 5512(微信同号)邮箱:road@roadflow.net
Copyright 2014 - 2024 重庆天知软件技术有限公司 版权所有