package com.steerinfo.meterwork.meterworkcaractualbak.mapper;

import com.steerinfo.meterwork.meterworkcaractualbak.model.MeterWorkCarActualBak;
import com.steerinfo.framework.mapper.IBaseMapper;
import feign.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

@Mapper
public interface MeterWorkCarActualBakMapper extends IBaseMapper<MeterWorkCarActualBak, String> {

    List<MeterWorkCarActualBak> selectView(Map<Objects,String> map);
    //一次皮重结净
    MeterWorkCarActualBak manualAdd(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo);

    //一次皮重结净
    MeterWorkCarActualBak manualAddPre(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo, @Param( value = "predictionNo")String predictionNo);

    MeterWorkCarActualBak mathPredcition(@Param(value = "actualNo") String actualNo, @Param(value = "predictionNo") String predictionNo);

    MeterWorkCarActualBak cleanPredcition(@Param(value = "actualNo") String actualNo);

    String getNewID(@org.apache.ibatis.annotations.Param(value="afl")String afl);
    //期限皮重结净
    MeterWorkCarActualBak tareAdd(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo);

    List<MeterWorkCarActualBak> selectByTime(Map<Objects,String> map);

    List<MeterWorkCarActualBak> selectParameters(Map<String, Object> map);

    List<MeterWorkCarActualBak> selectManualData(Map<String, Object> map);

    int selectCarNoCount(Map<String, Object> map);

    //查询需要
    List<MeterWorkCarActualBak> selectDataConversionOfCar(Map<String, Object> map);

    //查询车号今天是第几次出现
    List<MeterWorkCarActualBak> selectRepeatCarNO(Map<String, Object> map);

    /**
     * 根据传入时间和车号，查询给定时间段去重车号
     * @param obj
     * @return
     */
    List<MeterWorkCarActualBak> distinctCarNo(HashMap<String, Object> obj);

    List<MeterWorkCarActualBak> getCarActual(Map<String, Object> obj);

    MeterWorkCarActualBak selectActual(String actualFirstNo);

    List<MeterWorkCarActualBak> likeByDesc(Map<String, Object> params);

    List<MeterWorkCarActualBak> selectByMap(Map<String, Object> params);

    List<HashMap> selectOldAndNew(Map<String, Object> params);
    List<HashMap> doQueryFirstOldAndNew(Map<String, Object> params);
    List<HashMap> countOldAndNew(Map<String, Object> params);
}