springboot2如何使用activiti6 idea插件
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章给大家分享的是有关springboot2如何使用activiti6 idea插件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Activiti BPMN visua
千家信息网最后更新 2025年01月31日springboot2如何使用activiti6 idea插件
这篇文章给大家分享的是有关springboot2如何使用activiti6 idea插件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Activiti BPMN visualizer插件
import com.alibaba.fastjson.JSON;import com.schinta.util.DateTimeUtil;import lombok.extern.slf4j.Slf4j;import org.activiti.engine.*;import org.activiti.engine.history.*;import org.activiti.engine.impl.identity.Authentication;import org.activiti.engine.repository.Deployment;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Comment;import org.activiti.engine.task.Task;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.util.CollectionUtils;import java.util.*;//spring boot2 集成activiti6 一系列异常文档 https://www.jianshu.com/p/77fa5f932f4f@Slf4j@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)class WebApplicationTests { @Autowired private ProcessEngine processEngine; private RepositoryService repositoryService; private RuntimeService runtimeService; private TaskService taskService; private HistoryService historyService; @Test public void deployProcess() { //部署模板 Deployment deploy = repositoryService.createDeployment() .addClasspathResource("processes/wh.bpmn20.xml") .deploy(); System.out.println(deploy.getId()); } public void start() { String instanceKey = "wh"; log.info("开启请假流程..."); Mapmap = new HashMap<>(); //在wh.bpmn中,填写请假单的任务办理人为动态传入的userId,此处模拟一个id map.put("user1", 1); map.put("user2", 2); Authentication.setAuthenticatedUserId("1"); ProcessInstance instance = runtimeService.startProcessInstanceByKey(instanceKey, map); log.info("启动流程实例成功:{}", instance); log.info("流程实例ID:{}", instance.getId()); log.info("流程定义ID:{}", instance.getProcessDefinitionId()); public void taskQuery() { //查询自己发起的全部的审批 //List historicProcessInstanceList = historyService.createHistoricProcessInstanceQuery().startedBy(userId).list(); //根据流程定义的key,负责人assignee来实现 当前用户的 待办任务列表查询 List list = taskService.createTaskQuery() .processDefinitionKey(instanceKey) .taskAssignee("2") .list(); if (list != null && list.size() > 0) { for (Task task : list) { System.out.println("任务ID:" + task.getId()); System.out.println("任务名称:" + task.getName()); System.out.println("任务的创建时间:" + task.getCreateTime()); System.out.println("任务的办理人:" + task.getAssignee()); System.out.println("流程实例ID:" + task.getProcessInstanceId()); System.out.println("执行对象ID:" + task.getExecutionId()); System.out.println("流程定义ID:" + task.getProcessDefinitionId()); System.out.println("getOwner:" + task.getOwner()); System.out.println("getCategory:" + task.getCategory()); System.out.println("getDescription:" + task.getDescription()); System.out.println("getFormKey:" + task.getFormKey()); Map map = task.getProcessVariables(); for (Map.Entry m : map.entrySet()) { System.out.println("key:" + m.getKey() + " value:" + m.getValue()); } for (Map.Entry m : task.getTaskLocalVariables().entrySet()) { } } /** * 审批 */ public void employeeApply() { String instanceId = "130001"; // 执行流程实例id Task task = taskService.createTaskQuery().processInstanceId(instanceId).singleResult(); //是否同意 0 同意, 1 驳回 map.put("status", "0"); taskService.addComment(task.getId(), instanceId, "测试评论34"); taskService.complete(task.getId(), map); log.info("流程推动到下环节"); * 实例详情 public void queryHistoryTask() { List list = historyService.createHistoricTaskInstanceQuery() // 创建历史活动实例查询 .processInstanceId(instanceId) // 执行流程实例id .orderByTaskCreateTime() .asc() for (HistoricTaskInstance hai : list) { System.out.println("==================="); System.out.println("活动ID:" + hai.getId()); System.out.println("流程实例ID:" + hai.getProcessInstanceId()); System.out.println("活动名称:" + hai.getName()); System.out.println("办理人:" + hai.getAssignee()); System.out.println("开始时间:" + hai.getStartTime()); System.out.println("结束时间:" + hai.getEndTime()); List comments = taskService.getTaskComments(hai.getId()); System.out.println("评论内容:" + JSON.toJSONString(comments));}
感谢各位的阅读!关于"springboot2如何使用activiti6 idea插件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
流程
实例
任务
插件
内容
时间
查询
活动
名称
更多
篇文章
评论
不错
实用
成功
动态
历史
对象
文档
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华为v5服务器挂载本地文件
肥东网络安全哪家好
直销软件开发公司电话
网络安全智慧大脑启动仪式
为什么超链接无法找到代理服务器
20 30岁就业数据库
软件开发打工人
请检查服务器文档
移动甘肃分公司软件开发
鑫一和互联网科技有限公司
衡阳网络技术学院
时尚天河网络安全
数据库中大括号表示什么意思
国外pe服务器网站
apache服务器名
乡镇自来水收费软件开发
血流软件开发
mis数据库平台哪个好用
无需数据库隐私
计算机网络技术的英文文章
中兴无线网络技术是啥
数据库构造脚本
网络安全和公共卫生安全班会
有线网络技术发展热点
提升网络安全应急工作水平
个人信息数据库哪里有
石家庄软件开发工资一般多少
四川万家村网络技术有限公司
网络技术排查
会员注册数据库设计