package com.steerinfo.meterwork.meterworkrailwayactfirst.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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.*;

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

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

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

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

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

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

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

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

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

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

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

    List<MeterWorkRailwayActFirst> selectAct(HashMap parmas);

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

    List<MeterWorkRailwayActFirst> selectSta(HashMap parmas);

    List<MeterWorkRailwayActFirst> likeByDesc(HashMap parmas);

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

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

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

    void repairPre(Map<String, Object> map);
    List<MeterWorkRailwayActFirst> selectById(List<String> actualNoList);
}