zoukankan      html  css  js  c++  java
  • activiti6+springboot2 的第一个简单demo

    //流程图的画法:鼠标放图形中间,出现大黑点时候,拖到下一个图形处,即可连线。部门审批,总经理审批,双击中间输入文字即可。

    这个流程中的用户是写死的。后面会设置动态用户。

    import org.activiti.engine.RepositoryService;
    import org.activiti.engine.RuntimeService;
    import org.activiti.engine.TaskService;
    import org.activiti.engine.repository.Deployment;
    import org.activiti.engine.repository.ProcessDefinition;
    import org.activiti.engine.runtime.ProcessInstance;
    import org.activiti.engine.task.Task;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    @RestController
    @RequestMapping("/activiti")
    public class ActivitiController {
    @Autowired
    private RepositoryService repositoryService;
    @Autowired
    private RuntimeService runtimeService;
    @Autowired
    private TaskService taskService;
    @RequestMapping("hello_world")
        public void helloWorld() { 
            //根据bpmn文件部署流程 
            Deployment deploy = repositoryService.createDeployment()
            .addClasspathResource("processes/leave.bpmn")
            .deploy(); 
            //获取流程定义 processes/leave.bpmn
            ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deploy.getId()).singleResult();
            //启动流程定义,返回流程实例 
            ProcessInstance pi = runtimeService.startProcessInstanceById(processDefinition.getId());
            String processId = pi.getId(); 
            System.out.println("流程创建成功,当前流程实例ID:"+processId); 
            Task task=taskService.createTaskQuery().processInstanceId(processId).singleResult();
            System.out.println("执行前,任务名称:"+task.getName()); 
            taskService.complete(task.getId()); 
            task = taskService.createTaskQuery().processInstanceId(processId).singleResult(); 
            System.out.println("task为null,任务执行完毕:"+task); 
        }
    
    }

    启动项目 访问:http://loaclhost:8080/acticiti/hello_world

    注意:bpmn文件的路径不要错了。

  • 相关阅读:
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11898286.html
Copyright © 2011-2022 走看看