您为什么要写入流动性?原因很简单,因为将使用最近记录的Tienchin项目视频。首先写一篇文章以与您一起玩,然后稍后再谈论。
该过程引擎也是一个相对常见的工具。我们将在许多日常开发中使用它。当然,最有用的是OA系统,但是在某些非OA系统中,我们还将参与其中,例如CRMAMONG,可能需要合同管理,并且合同的批准也需要一个流程引擎。
因此,今天我们将简要讨论流程引擎。顺便说一句,写一个简单的示例。让我们感觉到过程引擎是什么。
Flowable是用Java编写的轻型业务流程引擎。可流程过程引擎可用于部署BPMN2.0流程定义(用于定义流程的行业XML标准),创建由这些过程定义定义的过程实例,进行查询,进行查询,进行查询,访问运行或历史过程实例及相关数据,依此类推。
Java字段中的另一个流程引擎是Activiti,但是我认为这两件事,只要您使用其中一个,另一件事就不是问题。
让我们不要胡说八道,继续代码。
首先,我们创建一个春季启动项目,以引入Web和MySQL驱动程序的两个依赖项,如下所示:
成功创建项目后,我们引入了可流动依赖项,如下所示:
这将帮助我们进行一些自动配置。默认情况下,资源/过程过程的过程将自动部署。
接下来,我们将在application.yaml中配置数据库连接信息。当项目启动时,它将自动初始化数据库。将来,过程引擎的数据将自动持续到数据库中。
好吧,在配置完成后,我们可以启动项目。成功启动项目后,将在可流动数据库中创建以下表。将来,与过程引擎相关的数据将自动保存到这些表中。
有许多默认表,屏幕截图只是其中的一部分。
绘图流程图是更具挑战性的一步,它也是流程引擎使用的关键。官员提供了一些流程引擎绘图工具。我不会这么说。有兴趣的朋友可以自己体验;想法也带来了一个可视化过程,但它特别困难,我不会在这里说。
这是IDEA插头 - 可流动的BPMN可视化器,如下图:下图:
我不需要教插头。您可以自己安装。
安装插头 - 我们在资源目录中创建一个新的流程目录。此目录中的过程文件将来将自动部署。
接下来,在流程目录中,创建一个新的bpmn文件(此选项是在插件之后安装的),如下:如下:
让我们绘制一个度假过程,称为ask_for_leave.bpmn20.xml。请注意,最后一个是固定后缀。
创建文件后,右键单击并选择“视图bpmn(可流动)图”,然后打开视觉页面,我们可以绘制自己的流程图。
我的休假是这样的:
员工发起了休假过程。首先,对团队负责人进行了审查。对小组负责人进行了审查后,经理进入经理的评论。雇员发送了未休假的通知,该过程已经结束。
让我们看一下与此过程相对应的XML文件。一些过程详细信息将反映在XML文件中,如下:
结合XML文件,让我解释此处涉及的可流动中的组件,让我们看一下:
流程图与每个人都有一点交谈,很难与所有人一起吸引一点。
接下来,我们编写一些接口来体验过程引擎。
在正式体验之前,让我们熟悉一些课程。我们将在这些类别中使用代码。
这是最好的理解,即对过程的定义,等同于规范。每个ProcessDefinition都将具有ID。
这是该过程的一个实例。简而言之,ProcessDefinition等同于类,而ProcessIntance等同于基于新类的对象。
活动是过程标准规范BPMN2.0中的规范。过程中的每个步骤都是活动。
执行的含义是过程的执行行。通过执行,您可以获取当前正在执行的活动的当前processInstance。
任务是当前的工作。
实际上,这里还有更多内容,但是今天我们有一个简单的例子,因此上述知识点暂时足够了。
在官方开始之前,我们准备一个接口来查看流程图的真实时间执行,以便我们可以检查执行该过程的步骤。
特定代码如下:
这是一个工具。没什么可说的。阅读后阅读代码并回头看该界面后,许多地方都会理解。
为了方便起见,我们将在单元测试中完成下一个代码。
首先,让我们开始一个过程,代码如下:
首先,员工启动度假过程。地图中存储的LEAVETASK在XML进程文件中提前定义。事先创建当前任务后,谁应该处理雇员将启动此类休假过程。在同一时间,我们还设置了一些其他信息。ASK_FOR_LEAVE是XML文件中定义的过程的名称。
好吧,现在我们执行此单元测试方法。执行完成后,控制台将打印当前过程的ID。我们使用此ID访问4.2部分的接口。结果如下:
可以看出,红色框架用于休假,表明当前的过程已达到此步骤。
接下来,我们需要向后推进这个假期,向团队负责人提交休假,该代码如下:
首先,我们使用StaffID来找到当前员工的ID,然后找到当前员工需要执行的任务,穿越此任务,致电TaskService.complete.complete.plete方法以将任务提交给团队负责人并付款注意地图中团队负责人的设计。
提交完成后,我们将查看过程图片,如下:
可以看出,流程图已向团队负责人批准。
团队负责人现在有两个选择,同意或拒绝,同意的代码如下:
通过团队负责人的团队负责人的任务,如果您同意,您需要指定经理,也就是说,接下来应该处理这个过程。
拒绝的代码如下:
如果您拒绝,没有太多的事情,只需设置校验重点即可拒绝。
假设在此处执行同意书,流程图如下:
经理的批准类似于小组负责人的批准,但经理是最后一步。您无需再指定下一个处理器。您同意的代码如下:
拒绝代码如下:
如果团队负责人拒绝或经理拒绝,我们还制定了相应的处理计划。首先,当定义XML流程文件时,如下:
如果您被拒绝,您将输入此ServicEtask,与ServicEtask相对应的相应处理类是org.javaboy.flowable.askforleavefail。该课程的代码如下:
也就是说,故障故障将输入此方法,现在我们可以在此方法中执行。
好吧,一个简单的休假过程,我希望带朋友开始使用Flowable,公众背景回复Flowable,并在本文中获得案例。
好吧,让我们看看Tienchin项目视频中的该流动方式如何在项目中使用:poke there-> Tienchin项目支持视频。
原始:https://juejin.cn/post/70988700777777955335