package com.huatek.busi.mapper;

import com.huatek.busi.vo.BusiParamAppendixVo;
import com.huatek.busi.vo.BusiParamArresterVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 附件的权重系数维护表 Mapper
 *
 * @author vent
 * @date 2023-04-10
 */
@Repository
public interface BusiParamAppendixMapper {
    /**
     * 获取一级设备分析参数列表
     *
     * @param siteId
     *            站点ID
     * @param mainEquipmentId
     *            主设备ID
     * @return 分析参数列表
     */
    List<BusiParamAppendixVo> findFirstLevelParams(@Param("siteId") String siteId,
                                                   @Param("mainEquipmentId") String mainEquipmentId, @Param("number") Integer number);


    /**
     * 获取一级设备分析参数列表(无值)
     *
     * @param siteId
     *            站点ID
     * @param mainEquipmentId
     *            主设备ID
     * @return 分析参数列表
     */
    List<BusiParamAppendixVo> findNotValueFirstLevelParams(@Param("siteId") String siteId,
                                                              @Param("mainEquipmentId") String mainEquipmentId,@Param("number") Integer number);


    /**
     * 获取分析参数权重
     *
     * @param siteId
     *            站点ID
     * @param mainEquipmentId
     *            主设备ID
     * @return 分析参数列表
     */
    List<BusiParamAppendixVo> findBusiParamAppendixWeights(@Param("siteId") String siteId,
        @Param("mainEquipmentId") String mainEquipmentId,@Param("number") Integer number,@Param("pname") String pname);

    /**
     * 获取分析参数的子分类列表
     *
     * @param siteId
     *            站点ID
     * @param mainEquipmentId
     *            主设备ID
     * @param pname
     *            上级参数名称
     * @return 分析参数列表
     */
    List<BusiParamAppendixVo> findSubParams(@Param("siteId") String siteId,
        @Param("mainEquipmentId") String mainEquipmentId, @Param("pname") String pname,@Param("number") Integer number);
    List<BusiParamAppendixVo> findParams(@Param("siteId") String siteId,
                                            @Param("mainEquipmentId") String mainEquipmentId,@Param("number") Integer number);

    BusiParamAppendixVo findFirstLevelNumber(@Param("siteId") String siteId, @Param("mainEquipmentId") String mainEquipmentId);

    BusiParamAppendixVo findFirstLevelNumberVoluntarily(@Param("siteId") String siteId, @Param("mainEquipmentId") String mainEquipmentId);

    List<String> findExperimentData(@Param("equLittleId") String equLittleId, @Param("testItem") String testItem, @Param("offlineParam") String offlineParam);
}
