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文件的路径不要错了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM