一、基础概念

理论支撑概念:petri网络;DNG;弹性制造系统FMS.

Petri 1976年的异步系统理论。翻译过来的库所,托肯,变迁三个概念理解了就可以进入FMS系统实战理论学习。

DNG是设计流程图数据c#教程结构的理论基础。就是流程长什么样子,如何解析,如何读取,如何保存。美人鱼(mermaid)采用MD保存流程,理解其原理就可设计数据结构,在下面会讲解。

二、目标

因接触flowable有一年之久,被各种折腾,久而久之,发现实际业务又得上CMMN,太复杂了,不堪回首,符合BPMN的流程,但在小需求上费尽脑汁。细想半年,化繁为简,实际审批流仅仅需要以下几个:

2.1)任务节点。

2.2)网关。交叉网关,并行网关。条件网关。

2.3)任务。定时任务,节点审批后任务。

这三点就是我们的目标。

三、绘制流程图

3.1)根据mermaid结构例子如下:

A–>B

B–>C

D–>C

非常好理解,那么数据结构有了,一棵树就是一个流程图。

id pid type之类的就可以设计出来。

easyflow这个数据结构比较符合。可以学习扩展下。

四、根据目标

  flowable 7个接口只要实现4个TaskInstance,TaskDefineInstance,ProcessInstance,ProcessDefinceInsance.具体代码不写了,具体来讲如何实现。

workflow-core仓库内实例挨个跑一遍,可以实施开发了。伪代码如下:

流程定义:

4.1定义模型:

交换模型(变迁) FlowModelStep

节点模型 (库所)InitStep

builder.StartWith().input(…提交流程传入InitStep).output(…输出交换模型).Onerror(出错重试,这个方法很给力,如果流程出错,仅需拷贝此流程数据到测试环境,即可实现异常重现)//初始化交换模型,返回结束标志,返回第一个审批节点数据到变迁模型。

.while(w=>w.未找到结束标志).Do(context=>context.StartWith<DealStep>().waitfor(workflow唯一事件,仅需修改一个源代码方法).input().output().Then<DealStep>().input().output()//提交审批核心业务可以写在这里。.If()可以增加一些判断.Then<ElseDealStep>().Then<SendMessageStep>()..........).Then<WorkflowEndStep>().EndWorkflow();host.startEvent()//发起流程审批。host.Register<,>//注册流程。host.start()//开启流程。

五、总结:

提交消息无状态,状态管理比较麻烦,比如审批后告诉api已经审批通过,可以展示审批人信息和流程图了。可自行实现。

最爽的是,流程可以嵌套,可实现比较复杂的也无需求,思路很清晰。比如串联工作流。

一、基于workflow-core强势开发审批流【已成功流转50W笔单据】相关推荐

  1. Mendix基于Workflow实现员工入职流程应用场景

    想象这样一个场景:假设您想建立一个员工入职应用程序.首先,人力资源HR需要为新员工启动入职流程.员工的经理随后会介入并为员工选择电脑设备(指定型号等).之后经理需要指定新员工在办公室或在家办公.然后设 ...

  2. 微信小程序开发必看,《使用 .NET Core + DevOps 开发微信跨平台应用》,苏州.NET俱乐部课程分享...

    [课程名称] <使用 .NET Core + DevOps 开发微信跨平台应用> [老师介绍] 苏震巍,苏州盛派网络CEO,微软最有价值专家(MVP).微软 Ignite 技术大会讲师,S ...

  3. .net宿舍管理系统 mysql_基于.NET CORE的精美后台管理系统-RuoYi C#版

    若依(RuoYi)是码云上一款精美的开源快速开发平台,作者毫无保留给个人及企业免费使用.RuoYi目前有三个版本:普通版本(RuoYi).前后端分离版本(RuoYi-Vue).微服务版本(RuoYi- ...

  4. 状态机/流程引擎/审批流的流程引擎/结合低代码开发的流程引擎 区别 业务系统中使用流程引擎

    理念 - 反对用模板,用流程引擎实现业务 先强调一点. 业务系统, 要学习 ,反对用模板,用流程引擎实现业务. 除非有人参与,必须用流程引擎,不然不要用状态机or流程引擎, 不要用. 但是要学习流程引 ...

  5. Asp.net生成工作流、审批流的解决方案(asp.net workflow svg)

    公司的上一个项目需要自定义工作流和审批流,那就需要一个可视化的定义工作流和审批流的工具,找了很多都不太适合我们的项目,项目是用Asp.net开发,需要在网页里实现工作流的自定义,说白了就是写一个程序, ...

  6. Workflow Core + asp.net core 5.0 实现简单审批工作流

    我们知道企业业务系统到处都可以审批工作流的,但也很少有像OA系统一样复杂多级多条件的审批工作流需要设计,所以我们需要一个轻量级的容易上手的workflow框架,通过GitHub,我发现danielge ...

  7. 计算机毕业设计springboot基于审批流的OA管理系统t4q46源码+系统+程序+lw文档+部署

    计算机毕业设计springboot基于审批流的OA管理系统t4q46源码+系统+程序+lw文档+部署 计算机毕业设计springboot基于审批流的OA管理系统t4q46源码+系统+程序+lw文档+部 ...

  8. 基于.Net Core开发现代化Web应用程序系列课程和文章

    这个系列课程是Anduin2017在B站上传的: 基于.Net Core开发现代化Web应用程序系列课程第1课之:课程简介 基于.Net Core开发现代化Web应用程序系列课程第2课之:.Net平台 ...

  9. 基于.NET下的人工智能|利用ICSharpCore搭建基于.NET Core的机器学习和深度学习的本地开发环境...

    每个人都习惯使用Python去完成机器学习和深度学习的工作,但是对于习惯于某种特定语言的人来说,转型不是那么容易的事.这两年我花了不少时间在Python,毕竟工作的重心也从移动开发转为机器学习和深度学 ...

  10. 微软开源基于.NET Core的量子开发工具包 QDK

    微软最近开源了量子开发工具包(Quantum Development Kit,QDK),旨在使"量子计算和算法开发对开发人员来说更容易.更透明".微软 QDK 包括 Q#编译器.量 ...

最新文章

  1. linux user32.lib,USER32!__ClientLoadLibrary定位
  2. 【javaweb】Session原理以及浏览器禁止Cookie之后服务器如何获取Session
  3. crontab详解及实例
  4. mysql 定时脚本_MySQL定时执行脚本(计划任务)命令实例
  5. 基于Maven的SSH框架搭建
  6. android gridview行分割线,Android使用GridView实现表格分割线效果
  7. Android 应用开发----ViewPager---PagerTitleStrip添加标题栏
  8. window电脑H265(HEVC)编码的mp4不显示缩略图解决办法
  9. python数据分析的例子_Python数据分析案例—商圈客流量特征分析
  10. 【C语言开源库】lw_oopc:轻量级的C语言面向对象编程框架
  11. 软件概要设计如何写(文档恐惧症的程序猿必读)
  12. [Ubuntu] 安装百度网盘客户端
  13. 计算机三种桌面图标,例举win7电脑桌面图标排列方式
  14. 配置java comp路径_java:comp/env/jdbc/ 的两种配置方法
  15. iguana::json/xml 序列化框架
  16. ybt1359: 围成面积
  17. 论文框架和目录一样吗_毕业论文提纲怎么写?过来人:手把手帮你打造完美论文写作模板...
  18. OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)
  19. linux系统的版本(转载)
  20. 最全面java中的static关键字剖析

热门文章

  1. 上海公积金提取办法(外地购房,公积金在上海)
  2. 104. 史上最全的数据库面试题,面试前刷一刷
  3. TSP_旅行商问题 - 遗传算法(四)
  4. handler图片自动切换+listview+GridView+侧滑菜单+fragment
  5. Stata实现结构方程模型
  6. uni-app 插入视频播放器
  7. Python实现草莓熊手拿风车和鲜花
  8. 【Python百日进阶-Web开发-Feffery】Day437 - fac实例:使用fac中上传组件时实现自主控制uploadId
  9. [编程题]雀魂启动!
  10. 雀魂启动!(暴力回溯)