Java/JavaFX企业级应用开发平台(fxEAP)
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

变更日志

简述

业务单据的生命周期中,在业务处理的各个阶段,特别是修改、变更时,需要为业务单据记录变更日志,把修改、变更的具体内容记录下来,并能够展现给前台用户。

简单来说,变更日志用于记录类似以下信息:

谁,在什么时候,[把什么信息分类中的],什么字段的值,从什么,改为了什么。

fxEAP基于Javers实现值对象的变更日志功能,并持久化到数据库中。

变更日志定义

在进行元数据(单一实体)、聚合对象、多对多对象设计时,可以指定当前实体是否记录变更日志,如下图所示:

Alteration

单一变更日志示例

界面

Alteration

说明

以上是 用户信息管理 界面的变更信息。

fxEAP除了支持上述简单对象,同时也支持聚合对象、多对多对象的变更日志。

聚合对象变更日志示例

Alteration

复杂对象的变更日志

以一个聚合对象为例,说明变更日志的结构以及内容:

* 新增对象: com.lirong.eap.platform.metadata.pub.vo.ClassConditionAggregationVO/PK_CLASS_CONDITION_03
  - 属性: '主键', 原值='', 修改后值='PK_CLASS_CONDITION_03'
  - 属性: '属性编码', 原值='', 修改后值='ClassConditionPropertyCode'
  - 属性: '是否可用于界面', 原值='', 修改后值='true'
  - 属性: '查询条件操作符', 原值='', 修改后值='等于'
  - 属性: '必输查询条件', 原值='', 修改后值='false'
  - 属性: '可选查询条件', 原值='', 修改后值='true'
  - 属性: 'valueObjectStatus', 原值='', 修改后值='NORMAL'
* 删除对象: com.lirong.eap.platform.metadata.pub.vo.ClassConditionAggregationVO/PK_CLASS_CONDITION_02
  - 属性: '主键', 原值='PK_CLASS_CONDITION_02', 修改后值=''
  - 属性: '属性编码', 原值='ClassConditionPropertyCode', 修改后值=''
  - 属性: '是否可用于界面', 原值='true', 修改后值=''
  - 属性: '查询条件操作符', 原值='等于', 修改后值=''
  - 属性: '必输查询条件', 原值='false', 修改后值=''
  - 属性: '可选查询条件', 原值='true', 修改后值=''
  - 属性: 'valueObjectStatus', 原值='NORMAL', 修改后值=''
* 修改对象: com.lirong.eap.platform.metadata.pub.vo.PropertyAggregationVO/PK_PROPERTY
  - 属性: '属性名称', 原值='PropertyName', 修改后值='PN'
  - 属性: '对齐方式', 原值='右对齐', 修改后值='居中对齐'
* 修改对象: com.lirong.eap.platform.metadata.pub.vo.ClassAggregationVO/PK_CLASS
  - 列表类型的属性: 'listClassConditionVO'
    · 修改元素 索引=1, 原值='...ClassConditionAggregationVO/PK_CLASS_CONDITION_02', 修改后值='...ClassConditionAggregationVO/PK_CLASS_CONDITION_03'
  - 属性: '实体编码', 原值='', 修改后值='ClassCode'
  • 支持简单对象的变更日志
  • 支持自定义的IEnumType数据类型的变更日志
  • 支持列表对象的变更日志