跳到主要内容

表单、模型与部署

流程管理员先准备表单、审批人和流程图,再发布一个可执行版本。编辑模型与部署定义分开保存,使“正在修改的新设计”和“已经启动的审批使用的设计”具有不同身份;仅修改表单或模型不等于已有流程自动采用新配置。

设计阶段的业务对象​

对象保存什么、谁读写与其他对象的关系
bpm_category分类名称、编码、排序和启停状态;分类管理Service维护模型、定义扩展和抄送记录保存分类标识,属于逻辑关联
bpm_form可复用动态表单配置conf和字段数组fields,含状态和备注设计模型选用form_id;部署时复制内容到定义扩展表
bpm_user_group审批用户组及成员ID数组用户组候选策略读取user_ids,成员ID来自system用户;不是Flowable的act_id_group镜像
bpm_process_listener可配置的执行/任务监听器模板type区分execution/task,event描述时点,value_type/value说明类或表达式实现
bpm_process_expression可复用表达式名称、内容、启停状态供流程设计使用,定义表达式本身不是一份运行结果
act_re_model及模型资源可继续编辑的模型元信息、BPMN XML和简易设计器内容通过Flowable RepositoryService管理;编辑器资源由引擎关联act_ge_bytearray

BpmFormDO.fields、BpmUserGroupDO.userIds使用Jackson类型处理器存成序列化内容,不是隐含的字段明细表或用户组成员子表。用户组织和权限仍由system接口提供,不能把BPM表中保存的ID当成完整用户主数据。

发布时保存什么​

BpmModelServiceImpl.deployModel校验模型、表单、流程图和候选人配置后,创建部署与流程定义,保存bpm_process_definition_info扩展记录,再挂起旧部署对应定义并将模型指向新部署。BpmProcessDefinitionServiceImpl显式要求Model、Deployment、ProcessDefinition的key对应;它们各自的ID仍然不同。

定义扩展字段组业务含义
process_definition_id/model_id/model_type将已发布定义关联回设计模型,区分设计器类型
category/icon/description/visible/sort流程入口展示信息;visible控制展示,不等同发起权限
form_type/form_id/form_conf/form_fields动态表单选择及发布时快照;自定义表单改用form_custom_create_path/form_custom_view_path路由
simple_model发布时简易流程设计器快照,供对应版本展示
start_user_ids/manager_user_ids可发起/可管理用户列表;LongListTypeHandler用于列表存储与筛选,不是JSON成员表
allow_cancel_running_process/auto_approval_type是否允许发起人撤销审批中的申请,以及自动审批相关策略
process_id_rule/title_setting/summary_setting编号、标题、摘要配置,使用Jackson结构化序列化
process_before_trigger_setting/process_after_trigger_setting流程前后置HTTP通知配置;保存配置并不证明通知已经执行成功

部署复制表单fields/conf,既保留form_id作为来源,也保留快照作为该版本配置。实际bpm_process_definition_info仅有主键索引,没有process_definition_id唯一约束;代码按定义ID查询单条,是代码约定而非数据库唯一性保证。

当前实表还有task_before_trigger_setting/task_after_trigger_setting两列,当前DO和本模块源码未找到对应字段引用。不能从列名认定“节点前后置通知”已由这两个列驱动,差异见核验页。

编号与版本的边界​

Flowable定义表实测唯一键为(KEY_, VERSION_, DERIVED_VERSION_, TENANT_ID_),不是单独KEY_全库唯一。流程实例可按process_id_rule调用Redis生成业务可读的实例编号,Redis仅辅助编号,不替代MySQL实例状态。

源码证据:service/definition/BpmModelServiceImpl.java:93、:133、:207、:377;service/definition/BpmProcessDefinitionServiceImpl.java:120;dal/dataobject/definition/BpmProcessDefinitionInfoDO.java:30;framework/flowable/core/candidate/strategy/user/BpmTaskCandidateGroupStrategy.java:40;dal/redis/BpmProcessIdRedisDAO.java:30。路径基准见总览,完整物理定义见数据库附录。

用户文档
AI 助手
Agent 列表
请选择一个 Agent 开始对话
AI 问答