package com.huatek.busi.service.cable;

import com.huatek.busi.dto.cable.BusiOtherThresholdDto;
import com.huatek.busi.entity.BusiOtherThreshold;
import com.huatek.busi.vo.TransformerOilThresholdVo;
import com.huatek.busi.vo.cable.BusiOtherThresholdVo;
import com.huatek.busi.vo.cable.CableCirculationDataVo;

import java.util.Map;

/**
 * 电缆环流阈值接口
 *
 * @author Bobi_huo
 * @date 2020-09-16 13:17
 */
public interface BusiOtherThresholdService {

    /**
     * 根据id查询电缆环流信息
     *
     * @param dto
     * @return
     */
    Map<String, Object> findOtherVo(BusiOtherThresholdDto dto);


    /**
     * 根据id查询电缆环流信息
     *
     * @param dto
     * @return
     */
    Map<String, Object> getGrowthRate(BusiOtherThresholdDto dto);




    /**
     * 保存、编辑其他阈值
     *
     * @param token
     * @param dto
     * @return
     */
    Map<String, Object> saveOtherThreshold(String token, BusiOtherThresholdDto dto);

    Map<String, Object> deleteOtherThreshold(BusiOtherThresholdDto dto);

    /**
     * 根据sensor编码更新其他阈值
     *
     * @param oldSensorCode
     * @param newSensorCode
     * @return
     */
    int  updateOtherThresholdBySensorCode(String oldSensorCode,String newSensorCode);

    /**
     * 根据sensor编码删除其他阈值
     *
     * @param sensorCode
     * @return
     */
    int deleteOtherThresholdBySensorCode(String sensorCode);

    /**
     * 根据站点设备树ID获取其他阈值
     *
     * @param mainTreeId
     * @param runState
     * @param sensorCode
     * @return
     */
    BusiOtherThreshold getOtherThreshold(String mainTreeId, String runState, String sensorCode);

    /**
     * 根据sensorCode获取当前数据
     *
     * @param sensorCode
     * @return
     */
    CableCirculationDataVo getCableData(String sensorCode,String transformerId);

    CableCirculationDataVo getCableDataForCable(String sensorCode,String transformerId);

    /**
     * 根据站点设备树ID获取其他阈
     * @param sensorCode
     * @return
     */
    BusiOtherThreshold getCableThreshold(String sensorCode);

    BusiOtherThresholdVo getBySensorCode(String sensorCode);

}
