springboot2如何使用activiti6 idea插件(activiti6,idea,springboot2,开发技术)

时间:2024-05-02 01:22:38 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

springboot2如何使用activiti6 idea插件

springboot2如何使用activiti6 idea插件

springboot2如何使用activiti6 idea插件

springboot2如何使用activiti6 idea插件

springboot2如何使用activiti6 idea插件

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插件的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Python如何调用C++传递numpy数据下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18