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