Skip to content

记录锁定用于在业务记录满足某些条件后,禁止继续编辑,从而保护关键数据的一致性。
它适合处理“进入某个状态后不应再被随意改动”的业务规则。

记录锁定规则支持以下核心配置:

  • 名称
  • 锁定提示语
  • 实体名称
  • 条件
  • 适用范围

什么时候适合使用记录锁定

常见场景包括:

  • 合同审批通过后锁定
  • 回款完成后锁定
  • 工单关闭后锁定
  • 已归档、已结算、已作废状态锁定

锁定的核心目标不是“限制操作本身”,而是保证关键业务阶段的数据口径稳定。

锁定规则的组成

名称

用于标识这条锁定规则,建议直接写业务含义,例如:

  • 已通过合同锁定
  • 已完成回款锁定
  • 已关闭工单锁定

锁定提示语

当用户尝试修改被锁定记录时,系统会提示这段说明。
建议直接告诉用户为什么不能改,以及应该通过什么流程处理。

例如:

  • 当前合同已生效,请通过变更流程处理
  • 当前记录已完成,不允许直接修改

实体名称

指定规则作用到哪个实体。

条件

决定哪些记录会进入锁定状态。
通常基于业务状态字段、审批状态字段、完成标记字段等来配置。

适用范围

根据当前实现,适用范围支持:

  • 用户
  • 角色
  • 部门

这意味着锁定规则既可以全局生效,也可以只针对特定人员范围生效。

记录锁定与审批的关系

审批和记录锁定是两个不同层面的能力:

  • 审批:控制业务流程是否通过
  • 锁定:控制记录在满足条件后是否还能修改

在正式业务中,这两个能力通常应配合使用。
例如:

  • 记录审批通过后,自动进入锁定
  • 记录达到“完成”状态后,无论是否审批都不允许直接修改

配置建议

  • 锁定条件尽量简单明确,优先围绕状态字段配置
  • 锁定提示语尽量面向最终用户,不要写成技术描述
  • 对已经上线的核心实体,优先先做测试再启用锁定
  • 如需特殊人员例外处理,可以结合适用范围设计

典型示例

例如合同实体有 contractStatus 字段,当值为“已完成”或“已作废”时锁定:

  • 实体:合同
  • 条件:contractStatus = 已完成contractStatus = 已作废
  • 提示语:当前合同已结束,请通过规范流程处理变更

这样的规则可以有效防止业务人员直接修改已结束数据。

Linker