当前位置:网站首页>Chapter 5: Activiti process shunting judgment, judging to go to different task nodes
Chapter 5: Activiti process shunting judgment, judging to go to different task nodes
2022-08-05 10:21:00 【Full stack programmer webmaster】
大家好,又见面了,我是你们的朋友全栈君.
Here we undertake the previous blog post of the column,
Ask for leave in the process we will have a judgment,Because the general leave monitor has the right to directly approve and approve,Without the approval of the class teacher,There needs to be a judgement here.;
Here we assist a leave process,如下:
流程图如下:
So how do you judge which antenna is going?,That is, whether to go or notleave003这个节点呢,Here we need to write built-in expressions,类似el表达式:
另外一条线:
Next we create a new class,如下,Need to modify the flow chart file name in the deployment process definition method:
对了,There is also a need to modify the startup processkey,The flow chart of the previous test casekey是StudentLeaveProcess00,现在改成StudentLeaveProcess02.如下:
代码如下:
package com.xiaoyexinxixn.ActivityLesson.flow;
import static org.junit.Assert.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;
import com.xiaoyexinxixn.ActivityLesson.model.Student;
public class StudentLeaveProcess2 {
//Get the default process engine instance,会自动读取activiti.cfg.xml ,So we have to strictly define the name of the configuration file
private ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
/**
* 部署流程定义
*/
@Test
public void deploy() {
//获取部署相关service,这些都是activiti封装好的api接口,还有很多,The following will also be used a lot
Deployment deployment=processEngine.getRepositoryService()
//创建部署
.createDeployment()
//Load flowchart resource file
.addClasspathResource("diagrams/StudentLeave2.bpmn")
//Load process image
.addClasspathResource("diagrams/StudentLeave2.png")
//流程名称
.name("leave02")
//部署流程
.deploy();
System.out.println("流程部署的ID: "+deployment.getId());
System.out.println("流程部署的Name: "+deployment.getName());
}
/*
* 启动流程实例
*/
@Test
public void start(){
//运行启动流程的servicee
ProcessInstance pi=processEngine.getRuntimeService()
//定义流程表的KEY字段值,key值是我们前面定义好的key,可在act_re_procdef表中的key_字段中找到,
.startProcessInstanceByKey("studentLeaveProcess02");
System.out.println(pi.getId());
System.out.println(pi.getProcessDefinitionId());
} }运行deploy()方法,部署流程,After success, look at the process deployment table:act_re_deployment:
是有leave02的;
Then start the process again,
然后完成任务,to test our judgment.
到leave02节点;
Then we use what we learned in the previous chapter,在节点leave02结束的时候设置msg变量的值,So as to determine which node to go.
代码:
/**
* 完成任务时设置流程变量
*/
@Test
public void completeTaskVariablesTest(){
Map<String, Object> variables=new HashMap<String,Object>();
variables.put("msg", "common");
processEngine.getTaskService().complete("72502",variables);
}运行后,Found that the data in the task table is gone,说明没有走leave03节点,说明是没有问题的.
Go to the settings in the same waymsg为“important”chance to goleave03节点.
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106142.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢

Confessing in the era of digital transformation: Mai Cong Software allows enterprises to use data in the easiest way

The JVM collection that Alibaba's top architects have summarized for many years, where can't I check it!

单片机:温度控制DS18B20

Still looking for a network backup resources?Hurry up to collect the following network backup resource search artifact it is worth collecting!

阿里全新推出:微服务突击手册,把所有操作都写出来了PDF

How can project cost control help project success?

Analysis and practice of antjian webshell dynamic encrypted connection

2022华数杯数学建模A题环形振荡器的优化设计思路思路代码分享

What is SPL?

Which big guy has the 11G GI and ojvm patches in April or January 2020, please help?
随机推荐
告白数字化转型时代:麦聪软件以最简单的方式让企业把数据用起来
第五章:redis持久化,包括rdb和aof两种方式[通俗易懂]
第七章,activiti个人任务分配,动态指定和监听器指定任务委派人「建议收藏」
three objects are arranged in a spherical shape around the circumference
Offensive World-PWN-new_easypwn
How to choose coins and determine the corresponding strategy research
力扣(LeetCode)216. 组合总和 III(2022.08.04)
GCC编译的时候头文件搜索规则
开发常用手册链接分享
【AGC】增长服务1-远程配置示例
Microcontroller: temperature control DS18B20
MySQL transactions
PCB布局必知必会:教你正确地布设运算放大器的电路板
Create a Dapp, why choose Polkadot?
[Office] Collection of Microsoft Office download addresses (offline installation and download of Microsoft's official original version)
我们的Web3创业项目,黄了
Ali's new launch: Microservices Assault Manual, all operations are written out in PDF
FPGA:开发环境Vivado的使用
第五章:多线程通信—wait和notify
这份阿里强推的并发编程知识点笔记,将是你拿大厂offer的突破口