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

  • 相关阅读:
    c#生成图片验证码
    关于Aspcms如何嵌入整个网站,以及网站导航所指向页面的内容显示
    web 验证控件
    MVC Link连接数据库增删改查方法的不同写法
    Mvc 翻页查询,代码很有用
    MVC添加分布视图做唯一验证
    MVc路由查询,路由到底有什么作用呢??
    MVC添加动态视图的参考代码。重点是添加部分视图的使用方法,非常有用的代码!!!!!!!!!!!!!!
    tyvj P1209
    bzoj 1051: [HAOI2006]受欢迎的牛 tarjan缩点
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11898286.html
Copyright © 2011-2022 走看看