activiti工作流引擎

简单来说工作流就是将一条信息根据角色、分工、条件不同进行固定的向上传递,数据是按照固定的流向进行传输,一级一级传递下去,这种场景在OA , CRM / ERP中应用得比较多。通常这种操作自己本身也可以通过逻辑来实现,但是复杂度很高。而且不方便维护。所以通常都采用第三方引擎框架来实现,除了引擎本身简化了操作以外。更重要的是维护起来很方便。

activiti工作流引擎

安装bpmn-js

activiti工作流引擎

绘制流程图

activiti工作流引擎

spring boot 2.54整合acticity7

  <dependency>            <groupId>org.activiti</groupId>            <artifactId>activiti-spring-boot-starter</artifactId>            <version>7.1.0.M6</version>            <exclusions>                <exclusion>                    <groupId>org.mybatis</groupId>                    <artifactId>mybatis</artifactId>                </exclusion>            </exclusions>        </dependency>    <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-security</artifactId>        </dependency>
spring.activiti.history-level=fullspring.activiti.db-history-used=truespring.activiti.check-process-definitions=falsespring.activiti.deployment-mode=never-fail

放入BPMN流程图(当前目录下流程会自动创建)

activiti工作流引擎

启动spring boot 生成表

activiti工作流引擎

手动部署流程BPMN

   Deployment deployment=repositoryService.createDeployment()
                .addClasspathResource("xx.bpmn")
                //.addClasspathResource(pngname)//图片
                .name("task")
                .deploy();

查询流程部署

    List<Deployment> list = repositoryService.createDeploymentQuery().list();

查询流程定义

       List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery()
                .list();

删除流程定义

 repositoryService.deleteDeployment(pdID, true);

初始化流程实例

ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("xxxx", "id");

删除流程实例

runtimeService.deleteProcessInstance("73f0fb9a-ce5b-11ea-bf67-dcfb4875e032", "xxxx");

执行任务

taskService.complete("d07d6026-cef8-11ea-a5f7-dcfb4875e032");

根据流程实例ID查询历史

List<HistoricTaskInstance> list = historyService
        .createHistoricTaskInstanceQuery()
        .orderByHistoricTaskInstanceEndTime().asc()
        .processInstanceId("1f2314cb-cefa-11ea-84aa-dcfb4875e032")
        .list();

和spring security整合自行实现

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/tech/29128.html

发表评论

登录后才能评论