package com.huatek.busi.mapper;

import com.github.pagehelper.Page;
import com.huatek.busi.dto.LabReportBasisDataDto;
import com.huatek.busi.dto.LabReportMarkDto;
import com.huatek.busi.dto.LabReportMarkStatisticDto;
import com.huatek.busi.entity.LabReportMarkStatistic;
import com.huatek.busi.vo.LabReportMarkVo;
import com.huatek.busi.vo.epa.EpaEvaluatRepairDataVo;
import com.huatek.busi.vo.labRulesVo;
import com.huatek.busi.vo.labValueVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface LabReportMarkStatisticMapper {

    List<LabReportMarkStatisticDto> queryList();

    int deleteByRIdAndTestDate(@Param("refId") String refId);

    int updateByRefIds(@Param("refIds") List<String> refIds);

    Double findMaxValue(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    Double findMinValue(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    Double findMaxValueByLTime(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    List<LabReportMarkStatistic> findMainTreeId(@Param("mainTreeId") String mainTreeId);

    List<EpaEvaluatRepairDataVo> countTimes(@Param("mainEquipmentId") String mainEquipmentId);

    labRulesVo findRules(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    List<LabReportMarkStatistic> findAllManualAssessmentData(@Param("mainTreeId") String mainTreeId);

    Double findMinValueByLTime(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    List<labValueVo> findValueByLTime(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    List<labValueVo> findValue(@Param("mainTreeId") String mainTreeId, @Param("key") String key);

    int deleteBlqByRIdAndTestDate(@Param("refId") String refId);

    int deleteDlByRIdAndTestDate(@Param("refId") String refId);

    int deleteKggByRIdAndTestDate(@Param("refId") String refId);

    int deleteGenByRIdAndTestDate(@Param("refId") String refId);

    int updateBlqByRefIds(@Param("refIds") List<String> refIds);

    int updateDlByRefIds(@Param("refIds") List<String> refIds);

    int updateKggByRefIds(@Param("refIds") List<String> refIds);

    int updateGenByRefIds(@Param("refIds") List<String> refIds);

    String findId(@Param("key") String key);

    List<LabReportMarkDto> list(LabReportMarkVo labReportMarkVo);

    List<LabReportMarkDto> listBlq(LabReportMarkVo labReportMarkVo);

    List<LabReportMarkDto> listDl(LabReportMarkVo labReportMarkVo);

    List<LabReportMarkDto> listKgg(LabReportMarkVo labReportMarkVo);

    List<LabReportMarkDto> listGen(LabReportMarkVo labReportMarkVo);

    List<LabReportMarkDto> getHistoryData(LabReportMarkVo vo);

    List<LabReportMarkDto> getHistoryBlqData(LabReportMarkVo vo);

    List<LabReportMarkDto> getHistoryDlData(LabReportMarkVo vo);

    List<LabReportMarkDto> getHistoryKggData(LabReportMarkVo vo);

    List<LabReportMarkDto> getHistoryGenData(LabReportMarkVo vo);

    List<LabReportMarkStatisticDto> getLastImportInfo(@Param("equipmentId") String equipmentId,@Param("type") String type);
}
