变更日志
业务单据的生命周期中,在业务处理的各个阶段,特别是修改、变更时,需要为业务单据记录变更日志,把修改、变更的具体内容记录下来,并能够展现给前台用户。
简单来说,变更日志用于记录类似以下信息:
谁,在什么时候,[把什么信息分类中的],什么字段的值,从什么,改为了什么。
fxEAP基于Javers实现值对象的变更日志功能,并持久化到数据库中。
在进行元数据(单一实体)、聚合对象、多对多对象设计时,可以指定当前实体是否记录变更日志,如下图所示:
以上是 用户信息管理 界面的变更信息。
fxEAP除了支持上述简单对象,同时也支持聚合对象、多对多对象的变更日志。
以一个聚合对象为例,说明变更日志的结构以及内容:
* 新增对象: 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数据类型的变更日志
- 支持列表对象的变更日志