All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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