package com.steerinfo.meterwork.meterworkrailwayactual.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 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 MeterWorkRailwayActualMapper extends IBaseMapper<MeterWorkRailwayActual, String> {

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

    MeterWorkRailwayActual 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);

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

    List<MeterWorkRailwayActual> selectDiff(HashMap parmas);

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

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

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

    double getGrossAvg(HashMap actual);

    MeterWorkRailwayActual selectActual(String actualFirstNo);

    List<MeterWorkRailwayActual> selectByParameter(Map<String, Object> params);
    List<MeterWorkRailwayActual> likeByDesc(Map<String, Object> params);
    //静态轨道衡打印查询（全连接连接超吨数据补录表）
    List<MeterWorkRailwayActual> railwayPrintLikeByDesc(Map<String, Object> params);
    List<MeterWorkRailwayActual> carActualDataDetail(Map<String, Object> params);
    List<MeterWorkRailwayActual> likeByDescTemp(Map<String, Object> params);

    List<MeterWorkRailwayActual> selectByAcatualFristNo(Map<String, Object> params);
    List<MeterWorkRailwayActual> autoPrintRailway(Map<String, Object> params);
    List<HashMap> batchMatchActualView(Map<String, Object> params);

    List<MeterWorkRailwayActual> distinctHookRailwayNo(HashMap<String, Object> obj);
    List<MeterWorkRailwayActual> hookActualByDesc(Map<String, Object> params);
    List<HashMap> dynamicAndStaticCompare(HashMap<String, Object> params);

    List<HashMap> countDayAllState(Map<String, Object> params);

    List<MeterWorkRailwayActual> autoPrintRailway2(HashMap<String, Object> params);

    List<HashMap> getNetFilterCheck(HashMap params);

    List<HashMap> getNetFilterCheckWeightReversal(HashMap params);
}
