package com.steerinfo.meterwork.meterworkcaractualfirstbak.mapper;

import com.steerinfo.meterwork.meterworkcaractualfirstbak.model.MeterWorkCarActualFirstBak;
import com.steerinfo.framework.mapper.IBaseMapper;
import com.steerinfo.meterwork.dto.*;
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 MeterWorkCarActualFirstBakMapper extends IBaseMapper<MeterWorkCarActualFirstBak, String> {
    String getNewID(@Param(value = "afl") String afl);

    List<MeterWorkCarActualFirstBak> selectView(Map<Objects, String> parmas);

    MeterWorkCarActualFirstBak selectAndMatch(@Param(value = "actualFirstNo") String actualFirstNo, @Param(value = "predictionNo") String predictionNo);

    MeterWorkCarActualFirstBak selectAndRemove(@Param(value = "actualFirstNo") String actualFirstNo);

    List<MeterWorkCarActualFirstBak> selectTa(Map<String, Object> parmas);

    List<MeterWorkCarActualFirstBak> selectByCarNo(@Param(value = "carNo") String carNo);

    List<MeterWorkCarActualFirstBak> selectNet(@Param(value = "weightType") String weightType, @Param(value = "carNo") String carNo);

    List<StaffPerformanceAnalysis> analysis(HashMap<String, Object> obj);

    List<UtensilDto> utensil(HashMap<String, Object> obj);

    List<MeterTypeDto> meterType(HashMap<String, Object> obj);

    List<TimesDto> daily(HashMap<String, Object> obj);

    List<TimesDto> period(HashMap<String, Object> obj);

    List<MeterWorkCarActualFirstBak> detailed(HashMap<String, Object> obj);

    List<AbnormalDto> abnormal(HashMap<String, Object> obj);

    List<MeterWorkCarActualFirstBak> getByAbnormal(HashMap<String, Object> obj);

    /*List<MeterWorkCarActualFirst> selectForAppLoad(ArrayList<String> id);*/

    List<MeterWorkCarActualFirstBak> selectForAppLoad(Map<String, Object> parmas);

    /**
     * 已确认但是未结净的卸货数据
     * @param map
     * @return
     */
    List<MeterWorkCarActualFirstBak> selectForAppLoadFirst(Map<String, Object> map);

    /**
     * 查询当天未使用的液碱的销售出厂的预报数据
     * @return
     */
    List<MeterWorkCarActualFirstBak> selectInvalidNaOHData();

    /**
     * 查询：按时间排序
     * @param parmas
     * @return
     */
    List<MeterWorkCarActualFirstBak> queryOrderByTime(HashMap parmas);

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

    void repairPre(Map<String, Object> map);

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

    List<MeterWorkCarActualFirstBak> queryForTimeInterval(Map<String, Object> params);

    List<MeterWorkCarActualFirstBak> selectById(List<String> actualNoList);
}