审核流程状态解释
2026-03-13
这几个状态一般用于流程类或审核类业务状态机。
为了便于开发人员、接口方以及数据库维护人员理解,建议在注释里把状态含义 + 状态阶段 + 是否终态写清楚。
下面给出一版企业系统常用、语义明确的详细注释说明。
一、状态枚举含义说明
| 状态值 | 中文含义 | 阶段 | 说明 |
|---|---|---|---|
| INIT | 初始化 | 草稿阶段 | 记录刚创建,尚未提交审核,数据仍可自由修改 |
| SUBMITTING | 提交中 | 提交阶段 | 用户已发起提交动作,系统正在处理提交流程(如写入队列、调用接口、生成审核流程等) |
| REVIEWING | 审核中 | 审批阶段 | 审核流程已启动,等待审核人审批 |
| APPROVED | 审核通过 | 完成阶段 | 审核流程结束,审批通过,业务正式生效 |
| REJECTED | 审核驳回 | 回退阶段 | 审核人驳回,业务未通过审核,通常需要修改后重新提交 |
| VOIDED | 作废 | 终止阶段 | 记录被人为或系统判定为作废,不再参与任何业务流程 |
| DELETED | 已删除 | 终止阶段 | 记录被逻辑删除,不再显示在正常业务列表中 |
| REOPENED | 重新打开 | 重新流转阶段 | 已完成或驳回的记录被重新开启,可再次进入提交流程 |
二、推荐数据库字段注释写法(SQL)
如果是数据库字段,可以写成:
`status` VARCHAR(20) NOT NULL DEFAULT 'INIT' COMMENT ' 业务状态: INIT 初始化/草稿状态,记录刚创建,尚未提交审核,可自由编辑 SUBMITTING 提交中,用户已发起提交,系统正在处理提交动作(如触发流程、调用接口等) REVIEWING 审核中,审核流程已启动,等待审核人审批 APPROVED 审核通过,审核完成并通过,业务正式生效 REJECTED 审核驳回,审核未通过,需要修改后重新提交 VOIDED 已作废,记录被人为或系统作废,不再参与业务流程 DELETED 已删除,逻辑删除状态,不再参与正常业务展示 REOPENED 重新打开,已结束的记录被重新开启,可再次提交审核 '
三、状态生命周期(流程关系)
典型状态流转如下:
INIT │ ▼ SUBMITTING │ ▼ REVIEWING │ ├──► APPROVED │ └──► REJECTED │ ▼ REOPENED │ ▼ SUBMITTING
特殊终止状态:
任何状态 │ ├──► VOIDED │ └──► DELETED
四、状态分类(推荐理解方式)
1 草稿阶段
INIT
特征:
可修改
未进入流程
可删除
2 流程处理中
SUBMITTING REVIEWING
特征:
已进入流程
不允许编辑核心字段
3 审核结束
APPROVED REJECTED
特征:
流程已结束
结果已确定
4 终止状态
VOIDED DELETED
特征:
不再参与流程
不允许恢复(一般)
5 再次开启
REOPENED
特征:
从结束状态重新进入流程
五、终态与非终态
| 状态 | 是否终态 |
|---|---|
| INIT | 否 |
| SUBMITTING | 否 |
| REVIEWING | 否 |
| APPROVED | 是 |
| REJECTED | 否 |
| VOIDED | 是 |
| DELETED | 是 |
| REOPENED | 否 |
六、建议补充一个“状态说明文档”
很多系统会做一张字典表:
sys_status_dict
示例:
| status | name | desc |
|---|---|---|
| INIT | 初始化 | 草稿 |
| SUBMITTING | 提交中 | 流程创建中 |
| REVIEWING | 审核中 | 审批流程进行中 |
| APPROVED | 已通过 | 审核完成 |
| REJECTED | 已驳回 | 需要重新提交 |
| VOIDED | 已作废 | 业务终止 |
| DELETED | 已删除 | 逻辑删除 |
| REOPENED | 重新打开 | 重新发起 |
这样前端、接口文档、数据库都统一。
七、接口返回建议
API返回建议:
{
"status": "REVIEWING",
"status_name": "审核中"
}避免前端自己解析枚举。
发表评论: