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
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
package com.mes.device.entity;
 
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
 
import java.math.BigDecimal;
import java.util.Date;
 
/**
 * 设备状态实体类
 * 对应数据库表:device_status
 */
@Data
@TableName("device_status")
@ApiModel(value = "设备状态信息")
public class DeviceStatus {
 
    @ApiModelProperty(value = "记录ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
 
    @ApiModelProperty(value = "设备ID(device_config.device_id)", example = "DEVICE_001")
    @TableField("device_id")
    private String deviceId;
 
    @ApiModelProperty(value = "关联任务ID", example = "TASK_001")
    @TableField("task_id")
    private String taskId;
 
    @ApiModelProperty(value = "设备状态", example = "ONLINE/OFFLINE/BUSY/ERROR/MAINTENANCE")
    @TableField("status")
    private String status;
 
    @ApiModelProperty(value = "最后心跳时间")
    @TableField("last_heartbeat")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastHeartbeat;
 
    @ApiModelProperty(value = "CPU使用率(%)")
    @TableField("cpu_usage")
    private BigDecimal cpuUsage;
 
    @ApiModelProperty(value = "内存使用率(%)")
    @TableField("memory_usage")
    private BigDecimal memoryUsage;
 
    @ApiModelProperty(value = "PLC连接状态", example = "CONNECTED/DISCONNECTED/ERROR")
    @TableField("plc_connection_status")
    private String plcConnectionStatus;
 
    @ApiModelProperty(value = "当前操作")
    @TableField("current_operation")
    private String currentOperation;
 
    @ApiModelProperty(value = "操作进度(0-100)")
    @TableField("operation_progress")
    private BigDecimal operationProgress;
 
    @ApiModelProperty(value = "告警信息")
    @TableField("alert_message")
    private String alertMessage;
 
    @ApiModelProperty(value = "记录时间")
    @TableField("created_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
 
    // 设备状态常量
    public static final class Status {
        public static final String ONLINE = "ONLINE";           // 在线
        public static final String OFFLINE = "OFFLINE";         // 离线
        public static final String BUSY = "BUSY";               // 忙碌
        public static final String ERROR = "ERROR";             // 错误
        public static final String MAINTENANCE = "MAINTENANCE"; // 维护中
    }
 
    // PLC连接状态常量
    public static final class PlcConnectionStatus {
        public static final String CONNECTED = "CONNECTED";         // 已连接
        public static final String DISCONNECTED = "DISCONNECTED";   // 未连接
        public static final String ERROR = "ERROR";                 // 连接错误
    }
}