
com.jladder.logger.LogForDataModelByCompare Maven / Gradle / Ivy
package com.jladder.logger;
import com.jladder.data.Record;
import com.jladder.lang.Strings;
import com.jladder.lang.Times;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
public class LogForDataModelByCompare
{
///
/// 模版名称
///
public String tablename;
///
/// 原数据
///
public List oldrawdata;
///
/// 当前数据
///
public Object data;
///
/// 创建时间
///
public Date createtime= Times.now();
///
/// 用户信息
///
public String userinfo;
///
/// 不同之处
///
public List different;
public LogForDataModelByCompare(String tableName,String userinfo){
this.tablename = tableName;
this.userinfo = userinfo;
}
///
/// 统计不同之处
///
public void Diff()
{
List rs = oldrawdata;
Record bean = Record.parse(data);
List ret = new ArrayList();
AtomicInteger index = new AtomicInteger();
rs.forEach(raw ->{
for (Map.Entry kv : bean.entrySet()){
Record diff = new Record();
String k = kv.getKey();
String oldvalue = raw.getString(k);
if (oldvalue.equals(kv.getValue().toString()) || Strings.isBlank((oldvalue + kv.getValue().toString()))) return;
//Dictionary config = DataModel?.GetFieldConfig(kv.Key) ?? new Dictionary();
diff.put("fieldname", k ).put("old", raw.getObject(k )).put("current", kv.getValue()).put("$rn", index);
ret.add(diff);
}
index.getAndIncrement();
});
different = ret;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy