package com.mes.device.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.mes.device.entity.DeviceConfig; import com.mes.device.vo.DeviceConfigVO; import com.mes.device.vo.StatisticsVO; /** * 设备配置服务接口 */ public interface DeviceConfigService extends IService { /** * 创建设备配置 * @param deviceConfig 设备配置信息 * @return 是否创建成功 */ boolean createDevice(DeviceConfig deviceConfig); /** * 更新设备配置 * @param deviceConfig 设备配置信息 * @return 是否更新成功 */ boolean updateDevice(DeviceConfig deviceConfig); /** * 删除设备配置 * @param id 设备ID * @return 是否删除成功 */ boolean deleteDevice(Long id); /** * 查询设备配置详情 * @param id 设备ID * @return 设备配置信息 */ DeviceConfig getDeviceById(Long id); /** * 根据设备编号查询设备配置 * @param deviceCode 设备编号 * @return 设备配置信息 */ DeviceConfig getDeviceByCode(String deviceCode); /** * 查询设备配置列表 - 控制器版本 * @param projectId 项目ID * @param deviceType 设备类型 * @param deviceStatus 设备状态 * @param keyword 搜索关键词 * @param page 页码 * @param size 每页大小 * @return 设备配置分页列表 */ Page getDeviceList(Long projectId, String deviceType, String deviceStatus, String keyword, Integer page, Integer size); /** * 查询设备配置列表 * @param projectId 项目ID * @param deviceType 设备类型 * @param status 设备状态 * @return 设备配置列表 */ java.util.List getDeviceList(Long projectId, String deviceType, String status); /** * 查询设备配置VO列表 * @param projectId 项目ID * @param deviceType 设备类型 * @param status 设备状态 * @return 设备配置VO列表 */ java.util.List getDeviceVOList(Long projectId, String deviceType, String status); /** * 检查设备编号是否存在 * @param deviceCode 设备编号 * @param excludeId 排除的设备ID * @return 是否存在 */ boolean isDeviceCodeExists(String deviceCode, Long excludeId); /** * 更新设备状态 * @param id 设备ID * @param status 新状态 * @return 是否更新成功 */ boolean updateDeviceStatus(Long id, String status); /** * 批量更新设备状态 * @param ids 设备ID列表 * @param status 新状态 * @return 是否更新成功 */ boolean batchUpdateDeviceStatus(java.util.List ids, String status); /** * 获取设备的扩展参数 * @param id 设备ID * @return 扩展参数字典 */ java.util.Map getExtraParams(Long id); /** * 更新设备的扩展参数 * @param id 设备ID * @param extraParams 扩展参数字典 * @return 是否更新成功 */ boolean updateExtraParams(Long id, java.util.Map extraParams); /** * 获取在线设备数量 * @param projectId 项目ID * @return 在线设备数量 */ int getOnlineDeviceCount(Long projectId); /** * 获取设备总数 * @param projectId 项目ID * @param deviceType 设备类型 * @param deviceStatus 设备状态 * @param keyword 搜索关键词 * @return 设备总数 */ Long getDeviceCount(Long projectId, String deviceType, String deviceStatus, String keyword); /** * 获取所有设备类型 * @return 设备类型列表 */ java.util.List getAllDeviceTypes(); /** * 获取所有设备状态 * @return 设备状态列表 */ java.util.List getAllDeviceStatuses(); /** * 启用设备 * @param id 设备ID * @return 是否启用成功 */ boolean enableDevice(Long id); /** * 禁用设备 * @param id 设备ID * @return 是否禁用成功 */ boolean disableDevice(Long id); /** * 批量启用设备 * @param deviceIds 设备ID列表 * @return 是否启用成功 */ boolean batchEnableDevices(java.util.List deviceIds); /** * 批量禁用设备 * @param deviceIds 设备ID列表 * @return 是否禁用成功 */ boolean batchDisableDevices(java.util.List deviceIds); /** * 设备健康检查 * @param id 设备ID * @return 健康检查结果 */ com.mes.device.vo.DeviceConfigVO.HealthCheckResult performHealthCheck(Long id); /** * 获取设备树结构 * @param projectId 项目ID * @return 设备树节点列表 */ java.util.List getDeviceTree(Long projectId); /** * 获取设备统计信息 * @param projectId 项目ID * @return 设备统计信息 */ StatisticsVO.DeviceStatistics getDeviceStatistics(Long projectId); }