1.2 KiB
1.2 KiB
表单版本与流程选择
发布模型
表单定义以 tenant + formKey + version 唯一标识,状态为 DRAFT、PUBLISHED 或 RETIRED。同一租户同一表单只能有一个已发布版本。
流程绑定将以下条件映射到 Flowable Process Definition Key:
- 业务类型
- 表单 Key 和版本
- 可选业务枚举,例如请假类型
- 可选最小时长和最大时长
- 优先级
- ACTIVE / INACTIVE 状态
运行时选择
Flutter 只能提交业务表单数据,不能提交流程定义 ID。Kotlin 后端按当前租户和权威业务数据查询绑定:
- 只选择 ACTIVE 绑定。
- 业务类型必须精确匹配。
- 枚举和时长条件必须满足。
- 优先级高的规则优先。
- 精确枚举或范围规则优先于通配规则。
- 无匹配绑定时拒绝提交,不启动默认或任意流程。
流程启动后保存实际 processDefinitionId,运行中实例不会因之后修改绑定而切换版本。
安全边界
- 只有 OA 管理员拥有
PROCESS_CONFIGURATION_MANAGE_TENANT。 - 新表单版本先进入草稿,发布前执行 Schema 结构校验。
- 绑定只能引用数据库中存在的表单版本和 Flowable 已部署流程 Key。
- 创建、发布、启停均写入审计。