首页 > 其他分享 >开源低代码平台-Microi吾码-工作流引擎、流程引擎

开源低代码平台-Microi吾码-工作流引擎、流程引擎

时间:2024-11-13 15:45:12浏览次数:3  
标签:WF 流程 开源 引擎 表中 V8 Microi 节点

前言

第一版:博主在2008年工作时接手前同事基于微软WWF开发的工作流引擎,开发十余个国企、事业单位OA系统、ERP系统等
第二版:博主在2012年参与ccflow工作流引擎的二次开发、bug修复,曾是ccflow论坛超级版主,当时使用微软SelverLight技术(可惜被淘汰)。ccflow的老板周总也是咱前辈,目前开源ccflow工作流引擎仍在维护中,强烈推荐关注
第三版:博主在2014年应公司要求使用微软最新WWF自主研发第三版工作流引擎,配合AvalonJs + UEditor开发低代码平台,应用数十家国企、事业单位、计量单位
第四版:博主在2018年使用Microi吾码表单引擎驱动工作流引擎,采用.NET core + Vue完全自研第4代工作流引擎(由于微软WWF不支持.net core,因此自研)

吾码第四代工作流引擎优势

  • 流程属性、节点属性均由表单引擎驱动,灵活性更强
  • 具有丰富的前端事件、后端事件,满足复杂的业务需求
  • 配合集成的前后端V8引擎,没有实现不了的复杂场景
  • 流程引擎与业务表单解耦,可集成第三方表单、二次开发
  • 流程设计器源码在Microi吾码个人版中完全开源(开源版/个人版/企业版区别:https://microi.net/microi-price
  • 目前已经在上百家客户中应用流程业务管理

预览图

在这里插入图片描述

流程引擎相关物理表说明

WF_FlowDesign:流程图设计表,一个流程图对应一条数据
WF_Node:流程节点属性表
WF_Line:流程条件(线)属性表
WF_Flow:流程实例表,发起一个流程,就会生成一条实例数据,一条实例数据对应WF_Work表N条工作数据
WF_Work:流程工作待办表,如发起一个流程实例,产生了3个待办,会写入3条WF_Work数据
WF_History:流程轨迹表,详细记录流程每一步、每个人的所有操作,如同意、拒绝、撤回等

节点属性

节点开始V8事件:会在表单提交前执行

if(V8.Form.Money > 1000){
  V8.Tips('金额不能大于1000!', false);//前端提示
  V8.Result= false;//阻止表单和流程提交
}
  • 可访问的内置对象:

V8.WF.ApprovalType:用户点击的审批类型。可能的值:‘Auto’(发起流程(开始节点)/业务节点)、‘Agree’(同意)、‘Disagree’(拒绝)、‘Recall’(撤回)
V8.WF.ApprovalIdea:用户填写的审批意见
V8.WF.AddUsers:用户添加的审批人
V8.WF.SelectUsers:用户选择的审批人
V8.WF.CurrentFlowDesign:当前流程设计图实体
V8.WF.CurrentNode:当前节点实体
V8.WF.BackNodeId:如果用户点击的是拒绝,并且选择了退回到哪个节点,这就是那个节点Id

  • 金额加1

V8.Form.Money = V8.Form.Money + 1;

  • 强制指定下一节点审批人

V8.WF.ForceSelectUsers=[‘userid’];

  • 这里可以还执行大部分V8内置函数,如同步接口请求等

节点开始V8服务器端事件

可使用V8.Result = { Code : 0, Msg : ‘阻止流程提交’ }; 进行回滚事务、阻止流程提交

条件判断V8:

在服务器端执行

//这里赋值LineValue就是条件属性设置的【条件值】
if(V8.Form.Money <= 100){
  V8.LineValue = 1;
}else{
  V8.LineValue = 2;
}

节点结束V8事件

  • 分前端事件、后端事件
  • 在表单和流程提交成功后执行
  • 用法同【开始V8】

V8.WF.WorkResult:流程执行成功后返回的数据,如发送到了哪个节点、哪些审批人
V8.WF.NextNode:访问下一节点实体
V8.WF.NextTodoUsers:访问接收人,格式:[{Id:‘’,Name:‘’}]

撤回:

  • A节点提交到B节点后,在B节点审批之前,A节点提交人可随时主动撤回到自己手上,重新编辑表单数据并重新提交。
  • B节点审批后,A节点无法再撤回,但B节点可以在C节点审批之前撤回到自己B节点手上。
  • A节点实再想撤回,只有找C节点拒绝并退回到A节点。
  • 注意:撤回时,也会执行节点开始V8、结束V8。
  • 将来也可以在流程属性中增加提交人可以随时任意撤回

我的待办

获取WF_Work表中,待我处理的工作。

我发起的

获取WF_Flow表中,我发起的流程实例。

我处理的

获取WF_Work表中,我处理过的工作。
之所以不从WF_Flow表中获取我处理的工作,是为了实现每个节点的字段权限控制,同时为了实现撤回功能。

抄送我的

获取WF_History表中,抄送过给我的工作。
之所以不从WF_Flow表中获取抄送过给我的工作,是为了实现每个节点的字段权限控制。

我相关的

获取WF_Work表中,我接收过的待办工作,但不是由我处理的工作。

所有实例

管理员权限,获取WF_Flow表中,所有人发起的所有流程实例(非工作)

相关截图

在这里插入图片描述

相关V8

//将某条数据打开Form表单并可以发起流程,第三个object参数若不传,即为查看流程
V8.OpenFormWF(V8.Form, 'Edit', {
	//StartWork:发起流程,ViewWork:查看流程。当为ViewWork时,可以不传FlowDesignId
    WorkType:'StartWork',
    FlowDesignId:'',//流程图Id
});

感谢浏览:)

标签:WF,流程,开源,引擎,表中,V8,Microi,节点
From: https://blog.csdn.net/qq973702/article/details/143742635

相关文章

  • 计算引擎engine2x的枚举获取api
    直接代码:API=>:POST'http://ip:port/api/portal/operat'Content-Type:application/x-www-form-urlencodedac=get_enum_items_by_idid=d6bf6e1bf7f34a59b9a8bca61a7ef9f9//ajaxvarsettings={"url":"http://ip:port/api/portal/ope......
  • 推荐一个.NetCore开源的CMS项目,功能强大、扩展性强、支持插件的系统!
    推荐一个基于.NetCore开发的开源CMS项目,该项目功能完善、涉及知识点比较多,不管是作为二次开发、还是学习都是不错的选择。01项目简介Cofoundry是基于.Net开发的、代码优先开发、具备可扩展且灵活的架构、简单易用的内容管理系统。02项目框架1、基于.Net8开发。2、数据......
  • 太强了!14.7K star!Windows系统居然还有开源替代版了?!
    在操作系统的世界里,Windows系统一直占据着重要的地位。然而,你可能不知道的是,还有一个拥有14.7Kstar的开源替代版——ReactOS。1、ReactOS介绍ReactOS是一个自由开源的操作系统,其目标是实现与Windows系统在二进制级别上的兼容。这意味着,我们可以在这个系统上直接运行那......
  • 说说MySQL中的存储引擎
    目录MySQL体系结构存储引擎简介不同存储引擎的特点InnoDBMyISAMMemory存储引擎的选择MySQL体系结构连接层这是最上面的一层,是一些客户端和连接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案,服务器也会对安全连接的用户进行一些权限校验的操作解......
  • 使用开源的低代码可视化表单设计器组件FcDesigner帮你实现低代码表单
    开源项目FcDesigner是基于Vue实现的低代码可视化表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。源码地址:Github|Gitee|文档本项目采用Vue......
  • 火山引擎数据飞轮模式下的线上营销:内容产出更智能、人群触达更精准
    今年年中,中欧国际工商学院等机构联合发布《2023年中国首席营销官(CMO)调查报告》(以下简称“报告”)。报告基于167家企业营销决策者调研,指出在激烈的市场竞争下,企业倾向于加强“拓新”策略,包括开拓新市场和开拓新产品或服务来获得可持续增长。聚焦到营销层面,被调研者所属企业,除B......
  • 多个应用组件共享同一个ArkTS引擎实现
    在当今的移动开发领域,随着技术的不断进步,开发者们对于应用性能的要求也在不断提高。特别是在多组件协作的应用场景中,如何高效地管理和利用资源成为了一个重要课题。HarmonyOS作为华为推出的新一代操作系统,其独特的分布式架构为解决这一问题提供了新的思路。本文将深入探讨在Ha......
  • DeepMind今日发布并开源其最先进AI蛋白质预测工具AlphaFold3程序代码
    “迟来总比没有好”!GoogleDeepMind今日向充满期待的学术界公开了其最新人工智能蛋白质预测软件的源代码。尽管部分科学家对DeepMind耗费六个月时间才公布代码表示不满,但绝大多数科研人员对此表示欢迎。5月8日,DeepMind在《自然》杂志上发表文章,宣布推出了AlphaFold3,该技术......
  • 聊聊我们那些年用过的表达式引擎组件
    前言我们在设计一些表单或者流程引擎时,可能我们会设计各种各样的表达式或者规则,我们通过各种表达式或者规则来实现我们的业务流转。今天就来盘点一下我们经常会使用到的表达式引擎常用表达式引擎1、springel官方文档https://docs.spring.io/spring-framework/reference/co......
  • 算力运力解决方案:算网融合,打造未来科技新引擎
    算力运力解决方案是一个融合算力、算商、算法、数据以及应用为一体的综合性算网生态,旨在提供广泛辐射不同行业应用的算网服务,并为客户提供多样化的算力产品套餐选择。这一解决方案不仅满足了多样化的算力需求,还通过高效的运算和处理能力,支持各种复杂的数据分析和应用需求。产品......