huang
2025-11-26 792236ef78c2cdd3a989fb40a7f2e2487c4e17b6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
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<DeviceConfig> {
 
    /**
     * 创建设备配置
     * @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<DeviceConfigVO.DeviceInfo> getDeviceList(Long projectId, String deviceType, String deviceStatus, String keyword, Integer page, Integer size);
 
    /**
     * 查询设备配置列表
     * @param projectId 项目ID
     * @param deviceType 设备类型
     * @param status 设备状态
     * @return 设备配置列表
     */
    java.util.List<DeviceConfig> getDeviceList(Long projectId, String deviceType, String status);
 
    /**
     * 查询设备配置VO列表
     * @param projectId 项目ID
     * @param deviceType 设备类型
     * @param status 设备状态
     * @return 设备配置VO列表
     */
    java.util.List<DeviceConfigVO.DeviceInfo> 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<Long> ids, String status);
 
    /**
     * 获取设备的扩展参数
     * @param id 设备ID
     * @return 扩展参数字典
     */
    java.util.Map<String, Object> getExtraParams(Long id);
 
    /**
     * 更新设备的扩展参数
     * @param id 设备ID
     * @param extraParams 扩展参数字典
     * @return 是否更新成功
     */
    boolean updateExtraParams(Long id, java.util.Map<String, Object> 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<String> getAllDeviceTypes();
 
    /**
     * 获取所有设备状态
     * @return 设备状态列表
     */
    java.util.List<String> 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<Long> deviceIds);
 
    /**
     * 批量禁用设备
     * @param deviceIds 设备ID列表
     * @return 是否禁用成功
     */
    boolean batchDisableDevices(java.util.List<Long> deviceIds);
 
    /**
     * 设备健康检查
     * @param id 设备ID
     * @return 健康检查结果
     */
    com.mes.device.vo.DeviceConfigVO.HealthCheckResult performHealthCheck(Long id);
 
    /**
     * 获取设备树结构
     * @param projectId 项目ID
     * @return 设备树节点列表
     */
    java.util.List<com.mes.device.vo.DeviceConfigVO.DeviceTreeNode> getDeviceTree(Long projectId);
 
    /**
     * 获取设备统计信息
     * @param projectId 项目ID
     * @return 设备统计信息
     */
    StatisticsVO.DeviceStatistics getDeviceStatistics(Long projectId);
}