您的位置:首页 > 汽车 > 新车 > crm客户管理软件平台_大连智能模板建站_网站服务器软件_自媒体人15种赚钱方法

crm客户管理软件平台_大连智能模板建站_网站服务器软件_自媒体人15种赚钱方法

2025/5/9 14:36:58 来源:https://blog.csdn.net/m0_67814200/article/details/145091144  浏览:    关键词:crm客户管理软件平台_大连智能模板建站_网站服务器软件_自媒体人15种赚钱方法
crm客户管理软件平台_大连智能模板建站_网站服务器软件_自媒体人15种赚钱方法

flowable工作流引擎

常用工作流引擎

在这里插入图片描述
OsWorkFlow (比较简单的,不常用)
JBPM(不常用)
Activiti(用 6 7)
camunda7(性能最高 并发等)
Flowable(用的6 更多 推荐使用 功能比activiti更强大些)

idea工具相关的flowable插件

一般低版本有,这个插件可以更方便的看*bpmn.xml文件中的标签内容

在这里插入图片描述

官方的flowableUI

官方给我们提供了一个功能完善的基于web应用的流程设计器,可用于流程相关操作。

1 Flowable IDM:身份管理应用,为拥有IDM管理员权限的用户提供了管理用户、组与权限的功能。
2 Flowable Modeler:让具有建模权限的用户可以创建流程模型等。
3 Flowable Tasker: 运行时任务应用,提供了启动流程实例、编辑任务表单、完成任务,以及查询流程实例与任务的功能。
4 Flowable Admin: 管理应用。

1 流程部署

将画好的流程图进行导出成test2.bpmn20.xml,放到resources目录下。

    /*** 不通过Spring容器。我们单独的构建ProcessEngine对象来实现部署的操作*/@Testvoid contextLoads() {// 1.流程引擎的配置ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration().setJdbcUrl("jdbc:mysql://localhost:3306/flowable-learn?serverTimezone=UTC&nullCatalogMeansCurrent=true").setJdbcUsername("root").setJdbcPassword("123456").setJdbcDriver("com.mysql.cj.jdbc.Driver").setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);// 2.构建流程引擎对象ProcessEngine processEngine = cfg.buildProcessEngine();System.out.println(processEngine);Deployment deploy = processEngine.getRepositoryService().createDeployment().addClasspathResource("process/HolidayDemo1.bpmn20.xml").name("第一个流程案例").deploy();System.out.println(deploy.getId());}

2 挂起和激活

 部署的流程默认的状态为激活,如果我们暂时不想使用该定义的流程,那么可以挂起该流程。
流程定义为挂起状态,该流程定义将不允许启动新的流程实例,同时该流程定义下的所有的流程实例都将全部挂起暂停执行。

/*** 挂起流程*/@Testpublic void test05(){RepositoryService repositoryService = processEngine.getRepositoryService();ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId("holiday:1:4").singleResult();// 获取流程定义的状态boolean suspended = processDefinition.isSuspended();System.out.println("suspended = " + suspended);if(suspended){// 表示被挂起System.out.println("激活流程定义");repositoryService.activateProcessDefinitionById("holiday:1:4",true,null);}else{// 表示激活状态System.out.println("挂起流程");repositoryService.suspendProcessDefinitionById("holiday:1:4",true,null);}}/*** 挂起流程实例*/@Testvoid suspendInstance(){// 挂起流程实例runtimeService.suspendProcessInstanceById("a7ae5680-7ba3-11ee-809a-c03c59ad2248");// 激活流程实例//runtimeService.activateProcessInstanceById("a7ae5680-7ba3-11ee-809a-c03c59ad2248");}

3 启动流程

在这里插入图片描述

4 流程审批

// 获取流程引擎对象ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();TaskService taskService = processEngine.getTaskService();Task task = taskService.createTaskQuery().processDefinitionId("holiday:1:4").taskAssignee("zhangsan").singleResult();// 添加流程变量Map<String,Object> variables = new HashMap<>();variables.put("approved",false); // 拒绝请假// 完成任务taskService.complete(task.getId(),variables);

5 流程完毕

6 flowable相关的service服务

(1)service创建方式

通过ProcessEngine创建Service

RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
TaskService taskService = processEngine.getTaskService();
// ...

(2)service总览

在这里插入图片描述

7 flowable相关的表

(1)flowable支持的数据库

在这里插入图片描述
也是可以支持国产的数据库的(不过需要修改flowable的源码)

(2)表总览

  • ACT_RE :'RE’表示 repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
  • ACT_RU:'RU’表示 runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Flowable只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
  • ACT_HI:'HI’表示 history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
  • ACT_GE: GE 表示 general。 通用数据, 用于不同场景下
  • ACT_ID: ’ID’表示identity(组织机构)。这些表包含标识的信息,如用户,用户组,等等。
运行实例
  • ACT_RU_DEADLETTER_JOB 正在运行的任务表

  • ACT_RU_EVENT_SUBSCR 运行时事件

  • ACT_RU_EXECUTION 运行时流程执行实例

  • ACT_RU_HISTORY_JOB 历史作业表

  • ACT_RU_IDENTITYLINK 运行时用户关系信息

  • ACT_RU_JOB 运行时作业表

  • ACT_RU_SUSPENDED_JOB 暂停作业表

  • ACT_RU_TASK 运行时任务表
    SUSPENSION_STATE_:是否挂起,1代表激活 2代表挂起
    ASSIGNEE_:被指派执行该任务的人

  • ACT_RU_TIMER_JOB 定时作业表

  • ACT_RU_VARIABLE 运行时变量表

流程定义

[ACT_RE_DEPLOYMENT]部署单元信息
ENGINE_VERSION_:流程引擎的版本

[ACT_RE_MODEL]模型信息

[ACT_RE_PROCDEF]已部署的流程定义
SUSPENSION_STATE_:挂起状态暂停状态 1激活 2暂停
RESOURCE_NAME_:资源名称流程,bpmn文件名称

流程历史记录

[ACT_HI_ACTINST]历史的流程实例
[ACT_HI_ATTACHMENT]历史的流程附件
[ACT_HI_COMMENT]历史的说明性信息
[ACT_HI_DETAIL]历史的流程运行中的细节信息
[ACT_HI_IDENTITYLINK]历史的流程运行过程中用户关系
[ACT_HI_PROCINST]历史的流程实例
[ACT_HI_TASKINST]历史的任务实例
[ACT_HI_VARINST]历史的流程运行中的变量信息

用户用户组表

[ACT_ID_BYTEARRAY]二进制数据表
[ACT_ID_GROUP]用户组信息表
[ACT_ID_INFO]用户信息详情表
[ACT_ID_MEMBERSHIP]人与组关系表
[ACT_ID_PRIV]权限表
[ACT_ID_PRIV_MAPPING]用户或组权限关系表
[ACT_ID_PROPERTY]属性表
[ACT_ID_TOKEN]记录用户的token信息
[ACT_ID_USER]用户表

一般数据

[ACT_GE_BYTEARRAY]通用的流程定义和流程资源
关键字段:
name_:部署的文件名称,如:holiday-request-new.bpmn20.xml
GENERATED_是否系统生成0为用户上传,1为系统自动生成, 比如系统会自动根据xml生成png

[ACT_GE_PROPERTY]系统相关属性

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com