package com.huatek.busi.mapper;


import com.huatek.busi.entity.ParameterMake;
import com.huatek.busi.entity.XParamMark;
import com.huatek.busi.vo.ParameterMakeVo;
import com.huatek.busi.vo.ParameterResultVo;
import com.huatek.busi.vo.ParameterVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface ParameterMakeMapper {



    ParameterVo finRefNewId();

    ParameterVo finRefSecondId();

    ParameterVo finRefFirstId();

    List<ParameterMake> findTransformerParameterMakeMax(@Param("lastId") String lastId);

    List<ParameterMake> findTransformerParameterMakeMin(@Param("lastId") String lastId);

    List<ParameterMake> findTransformerParameterMakeAvg(@Param("lastId") String lastId);

    List<ParameterMake> findTransformerSecondParameterMakeMax(@Param("nextId") String nextId);

    List<ParameterMake> findTransformerSecondParameterMakeMin(@Param("nextId") String nextId);

    List<ParameterMake> findTransformerSecondParameterMakeAvg(@Param("nextId") String nextId);

    List<ParameterMake> findTransformerFirstParameterMakeMax(@Param("oldId") String oldId);

    List<ParameterMake> findTransformerFirstParameterMakeMin(@Param("oldId") String oldId);

    List<ParameterMake> findTransformerFirstParameterMakeAvg(@Param("oldId") String oldId);

    List<ParameterVo> findAllReport();

    List<ParameterResultVo> findTransformerRate(String refId);

    List<ParameterVo> findGisAllReport();

    ParameterVo finGisNewId();

    ParameterVo finGisSecondId();

    ParameterVo finGisFirstId();

    List<ParameterMake> findGisMakeMax(@Param("lastId") String lastId);

    List<ParameterMake> findGisMakeMin(@Param("lastId") String lastId);

    List<ParameterMake> findGisMakeAvg(@Param("lastId") String lastId);

    List<ParameterMake> findGisSecondMakeMax(@Param("nextId") String nextId);

    List<ParameterMake> findGisSecondMakeMin(@Param("nextId") String nextId);

    List<ParameterMake> findGisSecondMakeAvg(@Param("nextId") String nextId);

    List<ParameterMake> findGisFirstMakeMax(@Param("oldId") String oldId);

    List<ParameterMake> findGisFirstMakeMin(@Param("oldId") String oldId);

    List<ParameterMake> findGisFirstMakeAvg(@Param("oldId") String oldId);

    void addParamValue(ParameterResultVo parameterResultVo);


    ParameterMakeVo findRTransformerMax(@Param("eParam") String eParam ,@Param("dateRStr") String dateRStr);

    List<ParameterMakeVo> findAllTransformerMake();

    ParameterMakeVo findAllTransformerRecently(@Param("makeId") String makeId);

    ParameterMakeVo findAllTransformerLast(@Param("makeId") String makeId);

    ParameterMakeVo findAllTransformerFirst(@Param("makeId") String makeId);

    ParameterMakeVo findLTransformerMax(@Param("eParam") String eParam,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFTransformerMax(@Param("eParam") String eParam,@Param("dateFStr") String dateFStr);

    ParameterMakeVo findRTransformerMin(@Param("eParam") String eParam,@Param("dateRStr") String dateRStr);

    ParameterMakeVo findLTransformerMin(@Param("eParam") String eParam,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFTransformerMin(@Param("eParam") String eParam,@Param("dateFStr") String dateFStr);

    ParameterMakeVo findRTransformerAvg(@Param("makeId") String eParam,@Param("dateRStr") String dateRStr);

    ParameterMakeVo findLTransformerAvg(@Param("makeId") String eParam,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFTransformerAvg(@Param("makeId") String eParam,@Param("dateFStr") String dateFStr);

    List<XParamMark> findXParamMake();



    void addXparamMake(ParameterMakeVo parameterMakeVo);

    ParameterMakeVo findTransformerParameterRate(@Param("markId") String markId);

    List<ParameterMakeVo> findAllGisMake();

    ParameterMakeVo findAllGisRecently(@Param("makeId") String makeId);

    ParameterMakeVo findAllGisLast(@Param("makeId") String makeId);

    ParameterMakeVo findAllGisFirst(@Param("makeId") String makeId);

    ParameterMakeVo findRGisAvg(@Param("makeId") String makeId,@Param("dateRStr") String dateRStr);

    ParameterMakeVo findLGisAvg(@Param("makeId") String makeId,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFGisAvg(@Param("makeId") String makeId,@Param("dateFStr") String dateFStr);

    List<XParamMark> findGisXParamMake();


    List<ParameterMakeVo> findAllArresterMake();

    ParameterMakeVo findAllArresterRecently(@Param("makeId") String makeId);

    ParameterMakeVo findAllArresterLast(@Param("makeId") String makeId);

    ParameterMakeVo findAllArresterFirst(@Param("makeId") String makeId);

    ParameterMakeVo findRArresterAvg(@Param("makeId") String makeId,@Param("dateRStr") String dateRStr);

    ParameterMakeVo findLArresterAvg(@Param("makeId") String makeId,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFArresterAvg(@Param("makeId") String makeId,@Param("dateFStr") String dateFStr);

    List<ParameterMakeVo> findAllSwitchgearMake();

    ParameterMakeVo findAllSwitchgearRecently(@Param("makeId") String makeId);

    ParameterMakeVo findAllSwitchgearLast(@Param("makeId") String makeId);

    ParameterMakeVo findAllSwitchgearFirst(@Param("makeId") String makeId);

    ParameterMakeVo findRSwitchgearAvg(@Param("makeId") String makeId,@Param("dateRStr") String dateRStr);

    ParameterMakeVo findLSwitchgearAvg(@Param("makeId") String makeId,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFSwitchgearAvg(@Param("makeId") String makeId,@Param("dateFStr") String dateFStr);

    List<ParameterMakeVo> findAllCableMake();

    ParameterMakeVo findAllCableRecently(@Param("makeId") String makeId);

    ParameterMakeVo findAllCableLast(@Param("makeId") String makeId);

    ParameterMakeVo findAllCableFirst(@Param("makeId") String makeId);

    ParameterMakeVo findRCableAvg(@Param("makeId") String makeId,@Param("dateRStr") String dateRStr);

    ParameterMakeVo findLCableAvg(@Param("makeId") String makeId,@Param("dateLStr") String dateLStr);

    ParameterMakeVo findFCableAvg(@Param("makeId") String makeId,@Param("dateFStr") String dateFStr);

    List<ParameterMakeVo> findAllGeneratorMake();

    ParameterMakeVo findAllGeneratorRecently(@Param("makeId") String makeId);

    ParameterMakeVo findAllGeneratorLast(@Param("makeId") String makeId);

    ParameterMakeVo findAllGeneratorFirst(@Param("makeId") String makeId);

    ParameterMakeVo findRGeneratorAvg(@Param("makeId") String makeId, @Param("dateRStr") String dateRStr);

    ParameterMakeVo findLGeneratorAvg(@Param("makeId") String makeId, @Param("dateLStr") String dateLStr);

    ParameterMakeVo findFGeneratorAvg(@Param("makeId") String makeId, @Param("dateFStr") String dateFStr);
}
