package com.steerinfo.meterwork.meterworkrailwayactualbak.mapper;

import com.steerinfo.framework.mapper.IBaseMapper;
import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActual;
import com.steerinfo.meterwork.meterworkrailwayactualbak.model.MeterWorkRailwayActualBak;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

@Mapper
public interface MeterWorkRailwayActualBakMapper extends IBaseMapper<MeterWorkRailwayActualBak, String> {

    List<MeterWorkRailwayActualBak> selectView(Map<Objects,String> map);

    MeterWorkRailwayActualBak manualAdd(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo);

    String getNewID(@Param(value="afl")String afl);
    String getLcNo(@Param(value="afl")String afl, @Param(value="netSpot3No")String netSpot3No);

    MeterWorkRailwayActualBak tareAdd(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo);

    List<MeterWorkRailwayActualBak> selectDiff(HashMap parmas);

    void insertSelectiveBar(MeterWorkRailwayActualBak netRail);
    //一次皮重结净
    MeterWorkRailwayActualBak manualAddPre(@feign.Param( value = "actualFirstNo") String actualFirstNo, @feign.Param( value = "dataNo")String dataNo, @feign.Param( value = "predictionNo")String predictionNo);
    /**
     * 结净数据匹配委托
     */
    MeterWorkRailwayActualBak mathPredcition(@feign.Param(value = "actualNo") String actualNo, @feign.Param(value = "predictionNo") String predictionNo);

    /**
     *
     *
     * */
    MeterWorkRailwayActualBak cleanPredcition(@feign.Param(value = "actualNo") String actualNo);

    List<MeterWorkRailwayActualBak> distinctRailwayNo(HashMap<String, Object> obj);
    List<MeterWorkRailwayActualBak> distinctRailwayNoTemp(HashMap<String, Object> obj);
    List<MeterWorkRailwayActualBak> distinctLcNo(HashMap<String, Object> obj);

    double getGrossAvg(HashMap actual);

    MeterWorkRailwayActualBak selectActual(String actualFirstNo);

    List<MeterWorkRailwayActualBak> selectByParameter(Map<String, Object> params);
    List<MeterWorkRailwayActualBak> likeByDesc(Map<String, Object> params);
    List<MeterWorkRailwayActualBak> likeByDescTemp(Map<String, Object> params);

    List<MeterWorkRailwayActualBak> selectByAcatualFristNo(Map<String, Object> params);
    List<MeterWorkRailwayActualBak> autoPrintRailway(Map<String, Object> params);
}
