springboot2如何使用activiti6 idea插件
导读:本文共2842字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: Activiti BPMN visualizer插件importcom.alibaba.fastjson.JSON;importcom.schinta.util.DateTimeUtil;importlombok.extern.slf4j.Slf4j;importorg.activiti.engine.*;importorg.activiti.engin... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。Activiti BPMN visualizer插件
importcom.alibaba.fastjson.JSON;importcom.schinta.util.DateTimeUtil;importlombok.extern.slf4j.Slf4j;importorg.activiti.engine.*;importorg.activiti.engine.history.*;importorg.activiti.engine.impl.identity.Authentication;importorg.activiti.engine.repository.Deployment;importorg.activiti.engine.runtime.ProcessInstance;importorg.activiti.engine.task.Comment;importorg.activiti.engine.task.Task;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.util.CollectionUtils;importjava.util.*;//springboot2集成activiti6一系列异常文档https://www.jianshu.com/p/77fa5f932f4f@Slf4j@SpringBootTest(webEnvironment=SpringBootTest.WebEnvironment.RANDOM_PORT)classWebApplicationTests{@AutowiredprivateProcessEngineprocessEngine;privateRepositoryServicerepositoryService;privateRuntimeServiceruntimeService;privateTaskServicetaskService;privateHistoryServicehistoryService;@TestpublicvoiddeployProcess(){//部署模板Deploymentdeploy=repositoryService.createDeployment().addClasspathResource("processes/wh.bpmn20.xml").deploy();System.out.println(deploy.getId());}publicvoidstart(){StringinstanceKey="wh";log.info("开启请假流程...");Map<String,Object>map=newHashMap<>();//在wh.bpmn中,填写请假单的任务办理人为动态传入的userId,此处模拟一个idmap.put("user1",1);map.put("user2",2);Authentication.setAuthenticatedUserId("1");ProcessInstanceinstance=runtimeService.startProcessInstanceByKey(instanceKey,map);log.info("启动流程实例成功:{}",instance);log.info("流程实例ID:{}",instance.getId());log.info("流程定义ID:{}",instance.getProcessDefinitionId());publicvoidtaskQuery(){//查询自己发起的全部的审批//List<HistoricProcessInstance>historicProcessInstanceList=historyService.createHistoricProcessInstanceQuery().startedBy(userId).list();//根据流程定义的key,负责人assignee来实现当前用户的待办任务列表查询List<Task>list=taskService.createTaskQuery().processDefinitionKey(instanceKey).taskAssignee("2").list();if(list!=null&&list.size()>0){for(Tasktask: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<String,Object>map=task.getProcessVariables();for(Map.Entry<String,Object>m:map.entrySet()){System.out.println("key:"+m.getKey()+"value:"+m.getValue());}for(Map.Entry<String,Object>m:task.getTaskLocalVariables().entrySet()){}}/***审批*/publicvoidemployeeApply(){StringinstanceId="130001";//执行流程实例idTasktask=taskService.createTaskQuery().processInstanceId(instanceId).singleResult();//是否同意0同意,1驳回map.put("status","0");taskService.addComment(task.getId(),instanceId,"测试评论34");taskService.complete(task.getId(),map);log.info("流程推动到下环节");*实例详情publicvoidqueryHistoryTask(){List<HistoricTaskInstance>list=historyService.createHistoricTaskInstanceQuery()//创建历史活动实例查询.processInstanceId(instanceId)//执行流程实例id.orderByTaskCreateTime().asc()for(HistoricTaskInstancehai: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<Comment>comments=taskService.getTaskComments(hai.getId());System.out.println("评论内容:"+JSON.toJSONString(comments));}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
springboot2如何使用activiti6 idea插件的详细内容,希望对您有所帮助,信息来源于网络。