万材erp项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
445 B

创建sys_diff_log:数据修改记录日志表作为通用模块的修改记录的存储 新增数据修改记录日志Mapper 新增数据修改记录日志Mapper.XML 新增数据修改记录日志Service接口 新增数据修改记录日志ServiceImpl实现类 新增 通用模块BusinessKeysConstants 修改数据记录日志业务模块常量类,用于记录业务模块数据,方便程序的维护,同时也能提高可读性 新增 系统模块 SysFieldDifferent 字段差异实体类,用于记录修改的字段名称,修改前值,修改后值,方便后续使用 新增自定义注解类:FieldCompare,采用和excel导出一样的模式,增加@FieldCompare注解,后续只需要在对应实体类上的成员变量增加@FieldCompare(chinesename="")就可使用 新增 通用模块字段对比工具类FieldCompareUtil,新增compare字段对比方法,采用反射的思想,自动获取带有FieldCompare注解的成员变量,然后对比拥有该注解的实体类,新值和旧的值进行对比,把相同实体类的成员变量修改前和修改后不同的值采用 [{fieldName,before,after},{},{}]的形式进行存储 新增 SysDiffLogVo 修改记录Vo类,用于前端列表展示修改的字段、修改前的值、修改后的值、修改时间、修改人 新增 数据修改记录日志Controller,用于后续统一处理所有模块的修改记录的展示,只需要传递相同且必要的值,就可使用,减少重复性代码 自定义常量BusinessKeysConstants类:新增 产品型号管理作为测试数据 SysFieldDifferent 字段差异实体类 新增 包含(fieldName、before、after)有参构造构造方法和无参构造方法,修改toString方法去掉 {}外面的SysFieldDifferent,用于存储[{fieldName,before,after},{},{}]这种形式,方便后面进行json数据的反序列化 前端新增修改记录通用列表展示页面diffLog.html,按照万材要求展示:修改字段、修改前的值、修改后的值、修改人、上次修改时间 SysDiffLogController层新增查询数据修改记录日志列表后端接口、新增打开数据修改记录前端页面后端接口 ISysDiffLogService层新增diff_data 把 数据通过JSON 序列化和反序列化 后端方法parseDiffData();新增 展示数据修改记录日志后端方法getDiffLogList() SysDiffLogMapper层新增查询数据修改记录日志列表 后端方法selectSysDiffLogByBusiness() SysDiffLogServiceImpl层新增 解析单个条目后端方法parseSingleEntry() 前端通用模块ry-ui.js新增双击某格触发的事件前端方法 测试通用修改记录日志: SysProductModel实体类成员变量上加入@FieldCompare()注解 SysProductModelController层新增打开日志记录前端页面的后端接口,新增展示产品型号管理日志记录后端接口 修改SysProductModelServiceImpl新增产品型号管理后端方法:新增的同时新增一条修改记录日志数据;修改 修改操作方法,修改产品型号管理数据的同时:根据产品型号管理的唯一属性关联修改记录日志表,按照规定的格式里面存入修改的字段、修改前的值、修改后的值、修改时间、修改人数据 修改产品型号管理前端列表页面新增 onDblClickCell方法:按照万材要求:只有双击修改时间字段才会触发该事件,打开修改记录数据 去掉SysProductModelController层的新增有关修改记录日志的方法:提高通用性,把方法集中放在SysDiffLogController中; 修改 SysDiffLogController层的getDiffDataList方法,新增businessKey参数,提高通用性; 修改 onDblClickCell方法,现在只需要按照通用格式从前端传入businessId、businessKey参数就可全局通用
4 months ago
package com.ruoyi.common.annotation;
import java.lang.annotation.*;
/**
* 自定义注解字段对比
*
* @author 刘晓旭
* @date 2024-10-16
* */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface FieldCompare {
/** 字段对应的中文 */
String chineseName();
/**
* 类型映射
* 使用方式 1:,0:
*/
String properties() default "";
}