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

  • 相关阅读:
    sklearn学习笔记
    概率生成模型GAN
    机器学习的种类
    如何为React提交pull request
    webpack define Plugin
    Saas应用方法论12条
    React Ref 和 React forwardRef
    几个数组去重的方法
    级数笔记
    信号量及P/V操作
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11898286.html
Copyright © 2020-2023  润新知