package com.steerinfo.meterwork.meterworkrailwayactfirstbak.mapper;

import com.steerinfo.framework.mapper.IBaseMapper;
import com.steerinfo.meterwork.dto.StaffPerformanceAnalysis;
import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
import com.steerinfo.meterwork.meterworkrailwayactfirstbak.model.MeterWorkRailwayActFirstBak;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.shiro.crypto.hash.Hash;

import java.util.*;

@Mapper
public interface MeterWorkRailwayActFirstBakMapper extends IBaseMapper<MeterWorkRailwayActFirstBak, String> {
    String getNewID(@Param(value="afl")String afl);

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

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

    List<MeterWorkRailwayActFirstBak> selectDiff(@Param(value = "railwayTypeNo") String railwayTypeNo, @Param(value = "railwayTypeName") String railwayTypeName);

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

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

//    List<MeterWorkRailwayActFirst> selectTa(@Param(value = "weightType")String weightType,@Param(value = "railwayTypeNo")String railwayTypeNo);

    List<MeterWorkRailwayActFirstBak> selectNet(@Param(value = "railwayNo")String railwayNo,@Param(value = "railwayTypeNo")String railwayTypeNo);

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

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

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

    List<MeterWorkRailwayActFirstBak> batchSelect(ArrayList<String> ids);

    List<MeterWorkRailwayActFirstBak> selectAct(HashMap parmas);

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

    List<MeterWorkRailwayActFirstBak> selectSta(HashMap parmas);

    List<MeterWorkRailwayActFirstBak> likeByDesc(HashMap parmas);
    List<MeterWorkRailwayActFirstBak> likeByDescTSDG(HashMap parmas);

    List<MeterWorkRailwayActFirstBak> distinctRailwayNo(HashMap<String, Object> obj);

    List<MeterWorkRailwayActFirstBak> distinctLcNo(HashMap<String, Object> obj);

    int getDataCount(Map<String, Object> mp);

    void repairPre(Map<String, Object> map);
    List<MeterWorkRailwayActFirstBak> selectById(List<String> actualNoList);
    List<HashMap> batchMatchView(HashMap params);
}