/**
 * 
 */
package com.huatek.busi.service;

import java.util.List;

import com.huatek.busi.dto.BusiExternalEquipmentDto;
import com.huatek.busi.entity.BusiExternalEquipment;

/**
  * @ClassName: BusExternalEquipmentService
  * @FullClassPath: com.huatek.busi.service.BusExternalEquipmentService
  * @Description: 站点外挂设备信息服务
  * @author: Arno
  * @date: Jul 1, 2019 3:26:50 PM
  * @version: 1.0
  */

public interface BusiExternalEquipmentService {

	/** 
	* @Title: insertBusiExternalEquipment 
	* @Description: 插入外挂设备信息 
	* @createDate: Jul 1, 2019 3:34:27 PM
	* @param    entity
	* @return   BusiExternalEquipment    
	* @throws 
	*/ 
	BusiExternalEquipment insertBusiExternalEquipment(BusiExternalEquipment entity);
	
	
	/** 
	* @Title: updateBusiExternalEquipment 
	* @Description: 修改外挂设备信息 
	* @createDate: Jul 1, 2019 3:34:27 PM
	* @param    entity
	* @return   BusiExternalEquipmentVo    
	* @throws 
	*/ 
	BusiExternalEquipment updateBusiExternalEquipment(BusiExternalEquipmentDto entity);
	
	
	 /** 
	* @Title: getBusiExternalEquipment 
	* @Description: 根据设备id获取 
	* @createDate: Jul 1, 2019 3:56:40 PM
	* @param    equipmentId 外挂设备id
	* @return   BusiExternalEquipment    
	* @throws 
	*/ 
	BusiExternalEquipment getByEquipmentId(String equipmentId);
	
	
	 /** 
	* @Title: getByPK 
	* @Description: 根据主键获取 
	* @createDate: Jul 1, 2019 3:56:40 PM
	* @param    pk 主键
	* @return   BusiExternalEquipment    
	* @throws 
	*/ 
	BusiExternalEquipment getByPK(String pk);
	
	
	/** 
	* @Title: updateByEquipmentId 
	* @Description: 修改外挂设备信息 
	* @createDate: Jul 1, 2019 3:34:27 PM
	* @param    
	* @return   BusiExternalEquipment    
	* @throws 
	*/ 
	void updateByEquipmentId(String equipmentId, String siteId, String equipmentName, String externalType );
	
	
	/**
	 * 获取外挂设备信息
	 * @param siteId 站点ID
	 * @return
	 */
	List<BusiExternalEquipment> queryBusiExternalEquipment();
	
	/**
	 * 根据站点站点ID和设备类型获取外挂设备信息
	 * @param siteId  站点ID
	 * @param externalType 外挂设备类型 1--变压器；2--GIS；3--测温；4：避雷器；5：其他 6: 电缆
	 * @return
	 */
    List<BusiExternalEquipment> queryBusiExternalEquipmentByCondition(String siteId,String externalType);

	/** 
	* @Title: findBySensorCode 
	* @Description: 根据传感器编码获取 
	* @createDate: Aug 9, 2019 1:53:18 PM
	* @param   
	* @return   BusiExternalEquipment    
	*/ 
	BusiExternalEquipment findBySensorCode(String sensorCode, String type );
	
	/** 
	* @Title: findByMainEqmId 
	* @Description: 根据主设备编码获取设备信息
	* @createDate: Aug 9, 2019 1:53:18 PM
	* @param   
	* @return   BusiExternalEquipment    
	*/ 
	BusiExternalEquipment findByMainEqmId(String mainEqmId, String type) ;
}
