2.7 KiB
2.7 KiB
ADDED Requirements
Requirement: 工作流由后端 Python 实现
山峡化工的工作流引擎 SHALL 使用 Python 在后端实现为独立、可配置的审批/流程子系统,目标能力对标简易低代码流程(与《shanxia2.0需求 V0.3》§2.1.11 一致)。
Scenario: 技术栈检查
- WHEN 引入流程执行、待办存储或节点调度代码
- THEN 实现 SHALL 位于后端 Python 工程内,而非由前端独占承担流程状态机
Requirement: 图形化流程配置
系统 SHALL 支持以图形化方式配置流程,包含节点与连线;节点类型 SHALL 至少覆盖:开始、结束、审批人、条件分支(支持多分支)等(与需求 §2.1.11 列举一致,允许实现阶段扩展更多类型但不得破坏已发布定义)。
Scenario: 配置新流程
- WHEN 管理员在「流程配置管理」中保存一条流程
- THEN 持久化模型 SHALL 能还原节点、连线及版本信息以供运行时解释执行
Requirement: 流程变量
引擎 SHALL 支持系统内置流程变量(如申请人部门 id)与发起时注入的动态变量;条件分支 SHALL 能读取这些变量进行判断(与需求 §2.1.11)。
Scenario: 金额分支
- WHEN 流程变量包含金额字段且条件配置为多个区间
- THEN 运行时 SHALL 根据变量值选择对应分支出线
Requirement: 审批人解析策略
审批人节点 SHALL 支持:指定单个/多个用户、指定单个/多个角色、以及基于 SQL 结合流程变量解析审批人集合;同一节点 SHALL 支持配置「一人通过即通过」或「全部通过才通过」(与需求 §2.1.11)。
Scenario: SQL 模式解析主管
- WHEN 节点配置为 SQL 模式且流程变量包含申请人部门 id
- THEN 引擎 SHALL 在受控数据源上执行预定义查询逻辑并解析出审批人列表(具体 SQL 安全策略由专项设计补充)
Requirement: 流程版本
每条流程定义 SHALL 具备版本号;由旧版本发起的实例 SHALL 继续按发起时所绑定版本执行;新版本 SHALL 仅影响新发起的实例(与需求 §2.1.11)。
Scenario: 升级流程定义
- WHEN 发布流程新版本
- THEN 运行中旧实例 SHALL 不自动迁移到新版本节点布局,除非专项迁移工具与规范另有说明
Requirement: 办理中心
系统 SHALL 提供「待办中心」与「已办中心」,供业务用户在配置好的流程上处理任务(与需求 §2.1.11「流程办理中心」)。
Scenario: 审批人登录
- WHEN 审批人登录门户
- THEN 其 SHALL 能在待办中心看到待处理任务,处理后任务 SHALL 出现在已办中心且流程实例状态正确推进