package com.huatek.busi.service;

import java.util.List;

import com.github.pagehelper.Page;
import com.huatek.busi.dto.BusiSensorQueryParamDto;
import com.huatek.busi.entity.BusiOtherSensor;
import com.huatek.busi.vo.BusiSensorVo;

/**
 * 其他类外挂设备传感器服务
 * 
 * @author buck_guo
 * @date 2019/09/11
 */
public interface BusiOtherSensorService {

    /**
     * @Title: page
     * @Description: 分页
     * @createDate: Jul 18, 2019 3:35:52 PM
     * @param equipmentId
     *            外挂设备树ID
     * @return Page<BusiSensorVo>
     */
    Page<BusiSensorVo> page(String equipmentId);

    /**
     * @Title: findByPK
     * @Description: 根据主键获取
     * @createDate: Jul 19, 2019 1:42:26 PM
     * @param pk
     *            主键
     * @return BusiTransformerSensor
     */
    BusiOtherSensor findByPK(String pk);

    /**
     * @Title: add
     * @Description: 新增传感器
     * @createDate: Jul 19, 2019 1:35:32 PM
     * @param busiSensorVo
     * @return boolean
     */
    boolean add(BusiSensorVo busiSensorVo);

    /**
     * @Title: update
     * @Description: 修改传感器
     * @createDate: Jul 19, 2019 1:35:44 PM
     * @param busiSensorVo
     * @return boolean
     */
    boolean update(String token, BusiSensorVo busiSensorVo);

    /**
     * @Title: delete
     * @Description: 删除传感器
     * @createDate: Jul 19, 2019 1:35:57 PM
     * @param list
     *            删除的主键集合
     * @return boolean
     */
    boolean delete(List<String> list);

    /**
     * sensor查询方法
     * 
     * @param param
     *            参数
     * @return sensor列表
     */
    List<BusiSensorVo> findSensorList(BusiSensorQueryParamDto param);


    /**
     * sensor查询方法
     *
     * @param param
     *            参数
     * @return sensor列表
     */
    List<BusiSensorVo> findCableSensorList(BusiSensorQueryParamDto param);


    /**
     * @Title: 根据sensor编码获取sensor信息
     * @Description: 根据主键获取
     * @param sensorCode
     *            sensor编码
     * @return BusiTransformerSensor
     */
    BusiOtherSensor findSensorBySensorCode(String sensorCode);

    BusiSensorVo getBusiSensorVo(String sensorCode);

    BusiSensorVo getBusiSensorVoById(String sensorCode);

    int findSensorCount(String equipmentType);
}
