Files
AIOA/docs/engineering/process-form-binding.md
2026-07-18 21:26:44 +08:00

1.2 KiB
Raw Permalink Blame History

表单版本与流程选择

发布模型

表单定义以 tenant + formKey + version 唯一标识,状态为 DRAFTPUBLISHEDRETIRED。同一租户同一表单只能有一个已发布版本。

流程绑定将以下条件映射到 Flowable Process Definition Key

  • 业务类型
  • 表单 Key 和版本
  • 可选业务枚举,例如请假类型
  • 可选最小时长和最大时长
  • 优先级
  • ACTIVE / INACTIVE 状态

运行时选择

Flutter 只能提交业务表单数据,不能提交流程定义 ID。Kotlin 后端按当前租户和权威业务数据查询绑定:

  1. 只选择 ACTIVE 绑定。
  2. 业务类型必须精确匹配。
  3. 枚举和时长条件必须满足。
  4. 优先级高的规则优先。
  5. 精确枚举或范围规则优先于通配规则。
  6. 无匹配绑定时拒绝提交,不启动默认或任意流程。

流程启动后保存实际 processDefinitionId,运行中实例不会因之后修改绑定而切换版本。

安全边界

  • 只有 OA 管理员拥有 PROCESS_CONFIGURATION_MANAGE_TENANT
  • 新表单版本先进入草稿,发布前执行 Schema 结构校验。
  • 绑定只能引用数据库中存在的表单版本和 Flowable 已部署流程 Key。
  • 创建、发布、启停均写入审计。