泽兴芝士网

一站式 IT 编程学习资源平台

camunda教程(cam教学)

camunda是最新流程

我们看一下camunda 有哪些功能

如何创建一个camunda项目的方式

创建camunda项目的方式

导入依赖信息

注意信息:

jdk 23+以上

springboot 3.0.0 版本以上

<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
<!--		camunda-->
		<dependency>
			<groupId>org.camunda.bpm.springboot</groupId>
			<artifactId>camunda-bpm-spring-boot-starter</artifactId>
			<version>${java.camunda}</version>
		</dependency>
		<dependency>
			<groupId>org.camunda.bpm.springboot</groupId>
			<artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
			<version>${java.camunda}</version>
		</dependency>
		<dependency>
			<groupId>org.camunda.bpm.springboot</groupId>
			<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
			<version>${java.camunda}</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.32</version>
		</dependency>
		<dependency>
			<groupId>com.zaxxer</groupId>
			<artifactId>HikariCP</artifactId>
			<version>6.3.0</version>
		</dependency>
<!--		工具类框架-->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>
<!--		 参数验证框架-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-validation</artifactId>
		</dependency>
	</dependencies>
  
  版本信息
  <java.camunda>7.23.0</java.camunda>


yml配置信息

spring:
  datasource:
    url: jdbc:mysql://mysql3.sqlpub.com:3308/jk2j5f?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
    username: xxxx
    password: xxx
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    hikari:
      # 默认等待
      connection-timeout: 2000
      # 最大连接数
      maximum-pool-size: 30
      # 等待时间
      idle-timeout: 30000
# camunda登录信息配置
camunda.bpm:
  admin-user:
    id: admin  #用户名
    password: 123456  #密码
    firstName: yu
  filter:
    create: All tasks
server:
  port: 9001


项目启动出现如下表的方式

就是启动成功了

访问页面信息


使用yml的密码进行方位

admin

123456


创建流程图

下载这个camunda model 软件

流程图


详细解释每个流程图的方式


开始任务每个camunda必须有一个开始任务

用户任务,我们进行手动干预流程的


我们指定审批人

网管相当于if判断的方式

如果传入pass通过的方式

其他的就是另外一个分支上


开始写代码

启动流程代码

 @PostMapping("/start/process")
    public String startProcess(@RequestParam(name = "key",defaultValue = "key") String key,
                               @RequestParam(name = "user",defaultValue = "user") String user,
                               @RequestParam(name = "reason",defaultValue = "我听听") String reason)
    {
        Map<String,Object> map = new HashMap<>();
        map.put("user",user);
        map.put("name","天天");
        map.put("reason",reason);
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(key,map);
        return processInstance.getId();
    }



参数说明:

key是流程的信息

user是指定审批人

reason是需要发起审批的原音

执行任务

 /**
     * 完成任务
     * @return
     */
    @GetMapping("/complete/approve")
    public String completeApprove(
            @RequestParam(name = "taskId") String taskId ,
            @RequestParam(name = "approve",required = false) String approve,
            @RequestParam(name = "note",required = false) String note,
            @RequestParam(name = "variables") String variables,
            @RequestParam(name = "teacher") String teacher
    ){
        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
        if (task == null) {
            return "任务不存在";
        }

        Map<String,Object> variablesMap = new HashMap<>();
        variablesMap.put("name",variables);
        variablesMap.put("pass","true");
        variablesMap.put("teacher",teacher);
        //完成任务
        taskService.complete(taskId,variablesMap);

        return "成功";
    }

参数说明:

taskId 任务id

variables 变量信息

pass 网管通过

teacher 指定审批人


camunda接口说明


@Autowired
private RuntimeService runtimeService;

我们启动一个流程开始的方式


@Autowired
private TaskService taskService;

查询任务和审批任务使用最多的


总结一下

camunda 使用手册比较少

但是需要自己研究camunda 如何使用的方式

如果只是现在简单功能,可以通过增删改查的方式进行修改

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言