Activiti二、请假流程演示

模拟请假流程

activiti 默认表初始化到数据库这个步骤省略。
1.创建项目
2.在src/resources下创建HelloWorld.bpmn文件
3.在bpmn文件中绘制流程图
在这里插入图片描述
4.对提交申请,部门审批,总经理审批分别设置角色张三,李四,王五。
在这里插入图片描述
5.流程图导出图片
先将bpmn文件后缀改为xml文件,然后利用jbpm导出为图片格式,然后将xml改回bpmn格式
6.创建Hello类模拟请假流程

package com.springboot.springbootactiviti.hello;

import org.activiti.engine.*;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.task.Task;

import java.util.List;


public class Hello {
    //获取工作流引擎
    private static ProcessEngine processEngine = 
    						ProcessEngines.getDefaultProcessEngine();

    /**
     * 部署流程
     */
    public static void deployProcess(){
        //获取流程部署的service
        RepositoryService repositoryService = 
        							processEngine.getRepositoryService();
        Deployment deploy = 
        			repositoryService.createDeployment().name("请假流程001")
                .addClasspathResource("HelloWorld.bpmn")
                .addClasspathResource("HelloWorld.png")
                .deploy();
        System.out.println("部署成功:"+deploy.getId());

    }

    /**
     * 启动流程
     *
     */
    public static void startProcess(){
        RuntimeService rs = processEngine.getRuntimeService();
        //流程实例ID 在数据库中act_re_procdef表中
        rs.startProcessInstanceById("此参数为流程实例ID");
        System.out.println("启动成功");
    }

    /**
     * 查询任务
     */
    
    public static void findTask(){
        TaskService taskService = processEngine.getTaskService();
        List<Task> list = taskService.createTaskQuery()
        			.taskAssignee("此参数为每一步的任务办理人").list();
        if(!list.isEmpty()){
            for (Task l:
                 list) {
                System.out.println("任务ID:"+l.getId());
                System.out.println("流程实例ID:"+l.getProcessInstanceId());
                System.out.println("执行实例ID:"+l.getExecutionId());
                System.out.println("流程定义ID:"+l.getProcessDefinitionId());
                System.out.println("任务名称:"+l.getName());
                System.out.println("任务办理人:"+l.getAssignee());
            }
        }
    }
	/**
	*执行任务
	*/
    public static void DoTask(){
        TaskService taskService = processEngine.getTaskService();
        taskService.complete("此参数为每走一个节点所记录的ID");
        System.out.println("任务完成");
    }
    public static void main(String[] args) {
       deployProcess();
       startProcess();
        findTask();
        DoTask();
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值