package com.huatek.busi.service.temperature;

import java.util.List;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.huatek.busi.dto.BusiTemperPointDto;
import com.huatek.busi.entity.BusiTemperPoint;
import com.huatek.busi.vo.BusiSensorVo;
import com.huatek.busi.vo.BusiTemperPointVo;

/**
 * 测温柜/点信息表 Service
 *
 * @author anker_cheng
 * @date Jul 1, 2019 4:05:04 PM
 */
public interface BusiTemperPointService {

    /**
     * @Title: insertBusiTemperPoint
     * @Description: 根据主键获取对象
     * @createDate: Jul 2, 2019 2:22:53 PM
     * @param pk
     *            主键
     * @return BusiTemperPoint
     */
    BusiTemperPoint findByPK(String pk);

    /**
     * 根据传感器编码获取测温点
     * 
     * @param sensorCode
     *            传感器编码
     * @return
     */
    BusiTemperPointVo getBusiTemperPointVoBySensor(String sensorCode);

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

    BusiSensorVo getBusiSensorVo(String sensorCode);

    BusiSensorVo getBusiSensorVoById(String id);

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

    /**
     ** 分页查找查找 测温柜-测温点数据
     *
     * @param busiTemperPointDto
     *            测温柜-测温点数据Dto
     * @return PageInfo<BusiTemperPointVo> 测温柜-测温点List
     */
    PageInfo<BusiTemperPointVo> findBusiTemperPointPage(BusiTemperPointDto busiTemperPointDto);

    /**
     * 查询所有信息
     * 
     * @return
     */
    List<BusiTemperPoint> findAll();

    List<BusiSensorVo> findSensorList(String equipmentId);

    /**
     ** 维护 测温柜-测温点数据
     *
     * @param busiTemperPointDto
     *            测温柜-测温点数据Dto
     * @return int
     */
    int saveBusiTemperPoint(BusiTemperPointDto busiTemperPointDto);

    /**
     ** 删除 测温柜-测温点数据
     *
     * @param ids
     *            测温点ID数组
     * @return int
     */
    int deleteBusiTemperPoint(String[] ids);

    /**
     * @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(BusiSensorVo busiSensorVo);

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