package com.steerinfo.meterwork.meterworkhookactfirst.service;

import com.steerinfo.framework.controller.RESTfulResult;
import com.steerinfo.framework.service.IBaseService;
import com.steerinfo.framework.service.pagehelper.PageList;
import com.steerinfo.meterwork.meterworkhookactfirst.model.MeterWorkHookActFirst;
import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
import com.steerinfo.pretrack.prehookscale.model.PreHookScale;
import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;

import java.util.Date;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

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

    int checkandadd(MeterWorkHookActFirst model);

    int checkandupdate(MeterWorkHookActFirst model);

    PageList<MeterWorkHookActFirst> likeByDesc(HashMap<String, Object> parameters, Integer pageNum, Integer pageSize);

    int audit(MeterWorkHookActFirst model);

    int unaudit(MeterWorkHookActFirst model);

    int updateRailwayNo(MeterWorkHookActFirst model);

    int abolish(MeterWorkHookActFirst model);

    int recover(MeterWorkHookActFirst model);

    MeterWorkHookActFirst match(String actualFirstNo, String predictionNo);

    int remove(MeterWorkHookActFirst model);

    List<String> distinctCarNo(String railwayNo, String startTime, String endTime);

    String doAddWfStatic(MeterWorkHookActFirst firstHook) throws Exception;
    RESTfulResult doAddWfStaticTwo(PreHookScale scale, MeterWorkHookActFirst grossModel, MeterWorkHookActFirst tareModel);
    RESTfulResult selfServiceMeasurement(MeterWorkHookActFirst first);
}