package com.steerinfo.pretrack.prerailwayscale.mapper;

import com.steerinfo.framework.mapper.IBaseMapper;
import com.steerinfo.pretrack.dto.PreRailwayScaleDto;
import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
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 PreRailwayScaleMapper extends IBaseMapper<PreRailwayScale, String> {
    List<PreRailwayScale> selectlist(@Param( value = "railwayNo") String railwayNo);

    List<PreRailwayScale> batchSelect(List<String> ids);

    List<PreRailwayScale> selectView(Map<String, Objects> param);

    String getNewID(@Param(value="afl")String afl);

    List<PreRailwayScale> selectBy(HashMap<String, Object> param);

    List<PreRailwayScale> selectByPraAndTime(Map<String, Object> parameters);

    int batchUpdateSelective(List<PreRailwayScale> list);

    int batchUpdateByIdsForIn(List<String> ids);

    List<PreRailwayScale> doQueryByCar(HashMap param);

    int batchUpdateByIdsForUsed(List<String> ids);

    List<PreRailwayScaleDto> selectForInsertRailScale(Map<String, Object> parameters);

    void updateMeterWorkRailwayReceived(@Param( value = "actualFirstNo") String actualFirstNo);

    //用于查询最近一个车号【已使用】的预报，并显示毛重皮重净重及时间
    List<PreRailwayScale> doQueryJLByCar(HashMap param);

    //作废超过两天的未使用的数据
    //void updateUnUseData();

    //用于查询最近一个车号的预报或者正使用与使用中的预报，并显示毛重皮重净重及时间
    List<PreRailwayScale> doQueryJLByCarUsed(HashMap param);

    void updateMeterWorkRailwayReceiveds(String s);

    PreRailwayScale selectBypredictionNo(@Param( value = "predictionNo") String predictionNo);

    List<PreRailwayScale> selectByRailwayNo(@Param( value = "railwayNo") String railwayNo);
    List<PreRailwayScale> likeByDesc(Map<String, Object> var1);
    List<PreRailwayScale> likeDesc(Map<String, Object> var1);
    List<PreRailwayScale> likeByList(Map<String, Object> var1);
    List<PreRailwayScale> noPage(Map<String, Object> var1);
    List<PreRailwayScale> noPageDesc(Map<String, Object> var1);

    //净重数据维护界面----根据净重车号查询当前车号已匹配的委托和未使用的有效委托
    List<PreRailwayScale> selectByScale(HashMap params);

    //铁水吊钩秤业务
    List<PreRailwayScale> hookScaleByDesc(Map<String, Object> var1);
    List<PreRailwayScale> selectByHookScale(Map<String, Object> var1);
}