Skip to content

流程模块研发说明

适用对象

维护流程模块的开发人员。

能力边界

架构与能力细节见 流程引擎导读 与 monorepo L1 oars-java/oars-flow/流程规则引擎架构方案.md;与表单协作见 表单 × 流程协作。开放项见 L1 §二十六

本页保留:入口路径、表、API、实现锚点。

入口路径

前端入口:

  • /flowTest/flowTemplate:模板列表和版本。
  • /flowTest/flowDesign:流程设计器。
  • /flowInstance/start:发起。
  • /flowInstance/todo:待办。
  • /flowInstance/halfway:在途。
  • /flowInstance/completed:已办。
  • /flowInstance/handle:处理。
  • /flowInstance/notify:抄送。
  • /flowInstance/timeout:超时。

后端入口:

  • TemplateController/flow/template
  • InstanceController/flow/instance
  • TaskController/flow/task
  • ApprovalComponentController/flow/approval-component
  • TreeController/flow/tree

核心数据和接口

核心表:

  • flow_tree
  • flow_template
  • flow_template_sequence
  • flow_template_node
  • flow_instance
  • flow_instance_node
  • flow_task
  • flow_instance_history
  • flow_approval_component
  • flow_timeout_record
  • flow_instance_comment

关键接口:

  • 模板生命周期:POST /flow/templatePUT /flow/template/{id}/save-draftPOST /flow/template/{id}/publishPOST /flow/template/{id}/copy-to-draftPOST /flow/template/{id}/online
  • 发起和列表:GET /flow/template/startablePOST /flow/instance/startGET /flow/task/todoGET /flow/instance/halfwayGET /flow/instance/completed
  • 处理:GET /flow/instance/pre-check-completePOST /flow/instance/completePOST /flow/instance/select-handlers
  • 节点操作:GET /flow/instance/node/{instanceNodeId}/operationsPOST /flow/instance/node/{instanceNodeId}/returnPOST /flow/instance/node/{instanceNodeId}/jump
  • 控制:POST /flow/instance/{instanceId}/suspend|freeze|resume|unfreeze|recall|urge|end|cancel|delete
  • 运维:GET /flow/instance/admin/pagePOST /flow/instance/admin/batchPOST /flow/instance/admin/{instanceId}/restore

权限或预留能力

控制器已标注的典型权限:

  • 发起:flow:start
  • 待办:flow:todo
  • 在途:flow:halfway
  • 已办:flow:completed
  • 抄送:flow:notify
  • 处理:flow:handle
  • 处理按钮:flow:handle:completeflow:handle:returnflow:handle:jump 等。
  • 运维:flow:instance:manage:listflow:instance:manageflow:instance:manage:batch

预留:

  • biz_runtime_module.flowTemplateId 作为运行时模块绑定流程模板的锚点。
  • 模块生成器识别流程可接入字段,但第一阶段仅标记预留能力。

相关实现位置

  • 路由:oars-web/apps/web-antd/src/router/routes/modules/flowTest.ts
  • 运行页:oars-web/apps/web-antd/src/views/flowInstance
  • 设计器:oars-web/apps/web-antd/src/views/flowTest/flowDesign
  • API:oars-web/apps/web-antd/src/api/flow
  • 后端控制器:oars-java/oars-app/src/main/java/com/oars/app/controller/flow
  • 模板发布:oars-java/oars-flow/src/main/java/com/oars/flow/service/TemplatePublishService.java
  • 实例引擎:oars-java/oars-flow/src/main/java/com/oars/flow/service/impl/InstanceServiceImpl.java
  • 规则:oars-java/oars-flow/src/main/java/com/oars/flow/rule
  • 条件分支:oars-java/oars-flow/src/main/java/com/oars/flow/rule/edge

架构文档

类型路径
oars-docs 导读流程引擎导读协作页
L1 内核oars-java/oars-flow/流程规则引擎架构方案.md(开放项 §二十六

待确认事项

  • 流程设计器哪些规则作为第一版正式开放。
  • 流程级触发器、消息、同步数据规则的产品配置说明。
  • 流程发起列表和待办列表是否需要数据权限范围说明。
  • 模块生成器流程预留字段到流程模板条件和找人规则的落地方式。