<![CDATA[${checkResult==’通过’}]]>
<![CDATA[${checkResult==’拒绝’}]]>
<![CDATA[${checkResult==’通过’}]]>
<![CDATA[${checkResult==’拒绝’}]]>
结合 XML 文件我来和大家解释一下这里涉及到的 Flowable 中的组件,我们来看下: * `<process>` :表示一个完整的工作流程。 * `<startEvent>` :工作流中起点位置,也就是图中的绿色按钮。 * `<endEvent>` :工作流中结束位置,也就是图中的红色按钮。 * `<userTask>` :代表一个任务审核节点(组长、经理等角色),这个节点上有一个 `flowable:assignee` 属性,这表示这个节点该由谁来处理,将来在 Java 代码中调用的时候,我们需要指定对应的处理人的 ID 或者其他唯一标记。 * `<serviceTask>`:这是服务任务,在具体的实现中,这个任务可以做任何事情。 * `<exclusiveGateway>` :逻辑判断节点,相当于流程图中的菱形框。 * `<sequenceFlow>` :链接各个节点的线条,sourceRef 属性表示线的起始节点,targetRef 属性表示线指向的节点,我们图中的线条都属于这种。 流程图这块松哥和大家稍微说一下,咋一看这个图挺复杂很难画,但是实际上只要你认认真真去捋一捋这里边的各个属性,基本上很快就明白到底是怎么一回事,我也相信各位小伙伴都有这样的悟性。 4\. 开发接口 -------- 接下来我们写几个接口,来体验一把流程引擎。 在正式体验之前,我们先来熟悉几个类,这几个类我们一会写代码会用到。 ### 4.1 Java 类梳理 * ProcessDefinition 这个最好理解,就是流程的定义,也就相当于规范,每个 ProcessDefinition 都会有一个 id。 * ProcessInstance 这个就是流程的一个实例。简单来说,ProcessDefinition 相当于是类,而 ProcessInstance 则相当于是根据类 new 出来的对象。 * Activity Activity 是流程标准规范 BPMN2.0 里面的规范,流程中的每一个步骤都是一个 Activity。 * Execution Execution 的含义是流程的执行线路,通过 Execution 可以获得当前 ProcessInstance 当前执行到哪个 Activity了。 * Task Task 就是当前要做的工作。 实际上这里涉及到的东西比较多,不过我们今天先整一个简单的例子,所以上面这些知识点暂时够用了。 ### 4.2 查看流程图 在正式开始之前,我们先准备一个接口,用来查看流程图的实时执行情况,这样方便我们查看流程到底执行到哪一步了。 具体的代码如下:
@RestController
public class HelloController {
@Autowired
RuntimeService runtimeService;
@Autowired
TaskService taskService;
原文链接:https://blog.csdn.net/2401_84002482/article/details/137662211?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171949704316800222816693%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171949704316800222816693&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-24-137662211-null-null.nonecase&utm_term=2024%E9%AB%98%E8%80%83