package com.steerinfo.baseinfo.meterbaseoperationlog.service;

import com.steerinfo.framework.service.IBaseService;
import com.steerinfo.baseinfo.meterbaseoperationlog.model.MeterBaseOperationLog;
import com.steerinfo.framework.service.pagehelper.PageList;
import com.steerinfo.meterwork.meterworkbeltscaleactual.model.MeterWorkBeltScaleActual;
import com.steerinfo.util.CommonPage;

import java.util.HashMap;
import java.util.List;

/**
 * MeterBaseOperationLog服务接口：
 * @author generator
 * @version 1.0-SNAPSHORT 2021-03-24 10:30
 * 类描述
 * 修订历史：
 * 日期：2021-03-24
 * 作者：generator
 * 参考：
 * 描述：MeterBaseOperationLog服务接口
 * @see null
 * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
 */
public interface IMeterBaseOperationLogService extends IBaseService<MeterBaseOperationLog, String>{

    List<MeterBaseOperationLog> addList(List<MeterBaseOperationLog> models);
    PageList<MeterBaseOperationLog> likeByDesc(HashMap<String, Object> params, Integer pageNum, Integer pageSize);

    int doAddLog(MeterBaseOperationLog model);

    //日志查询 多条件
    List<MeterBaseOperationLog> doQueryAndMultiple(CommonPage<MeterBaseOperationLog> model);

    /**
     * 根据传入传出的参数，插入日志数据
     * @param source 修改前的数据
     * @param target 修改后的数据
     * @param model
     * @return
     */
    String addComparePropertiesLog(Object source, Object target,MeterBaseOperationLog model);

    PageList<HashMap> allFirstStateView(HashMap<String, Object> params, Integer pageNum, Integer pageSize);
    PageList<HashMap> allActualStateView(HashMap<String, Object> params, Integer pageNum, Integer pageSize);
    List<String> operationPageInfo(HashMap<String, Object> params);
    List<String> operationFunctionInfo(HashMap<String, Object> params);
}