huang
2025-11-20 366ba040d2447bacd3455299425e3166f1f992bb
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
package com.mes.interaction;
 
import com.mes.device.entity.DeviceConfig;
import com.mes.device.vo.DevicePlcVO;
 
import java.util.Map;
 
/**
 * 设备逻辑处理器接口
 * 不同设备类型实现此接口来处理各自的业务逻辑
 * 
 * @author mes
 * @since 2025-01-XX
 */
public interface DeviceLogicHandler {
 
    /**
     * 获取设备类型(用于匹配处理器)
     * 
     * @return 设备类型,如:"上大车"、"大理片"、"玻璃存储"
     */
    String getDeviceType();
 
    /**
     * 执行设备逻辑操作
     * 
     * @param deviceConfig 设备配置信息
     * @param operation 操作类型(如:feedGlass, triggerRequest, triggerReport等)
     * @param params 操作参数(运行时传入的动态参数)
     * @return 操作结果
     */
    DevicePlcVO.OperationResult execute(DeviceConfig deviceConfig, String operation, Map<String, Object> params);
 
    /**
     * 验证设备逻辑参数配置是否有效
     * 
     * @param deviceConfig 设备配置
     * @return 验证结果,null表示验证通过,否则返回错误信息
     */
    String validateLogicParams(DeviceConfig deviceConfig);
 
    /**
     * 获取设备逻辑参数的默认配置
     * 
     * @return 默认配置的JSON字符串
     */
    String getDefaultLogicParams();
}