package com.mes.device.entity;
|
|
import com.baomidou.mybatisplus.annotation.*;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
|
import java.util.Date;
|
|
/**
|
* 设备配置实体类
|
* 对应数据库表:device_config
|
*/
|
@Data
|
@EqualsAndHashCode(callSuper = false)
|
@TableName("device_config")
|
@ApiModel(value = "设备配置信息")
|
public class DeviceConfig {
|
|
@ApiModelProperty(value = "设备ID", example = "1")
|
@TableId(value = "id", type = IdType.AUTO)
|
private Long id;
|
|
@ApiModelProperty(value = "设备唯一标识", example = "DEVICE_001")
|
@TableField("device_id")
|
private String deviceId;
|
|
@ApiModelProperty(value = "设备名称", example = "上大车设备1")
|
@TableField("device_name")
|
private String deviceName;
|
|
@ApiModelProperty(value = "设备编号", example = "DEV_001")
|
@TableField("device_code")
|
private String deviceCode;
|
|
@ApiModelProperty(value = "设备类型", example = "上大车/大理片/玻璃存储")
|
@TableField("device_type")
|
private String deviceType;
|
|
@ApiModelProperty(value = "所属项目ID", example = "1")
|
@TableField("project_id")
|
private Long projectId;
|
|
@ApiModelProperty(value = "PLC IP地址", example = "192.168.1.100")
|
@TableField("plc_ip")
|
private String plcIp;
|
|
@ApiModelProperty(value = "PLC端口", example = "102")
|
@TableField("plc_port")
|
private Integer plcPort;
|
|
@ApiModelProperty(value = "设备状态", example = "在线/离线/维护中/故障")
|
@TableField("status")
|
private String status;
|
|
@ApiModelProperty(value = "PLC类型", example = "S7-1200/S7-1500")
|
@TableField("plc_type")
|
private String plcType;
|
|
@ApiModelProperty(value = "模块名称", example = "上大车模块")
|
@TableField("module_name")
|
private String moduleName;
|
|
@ApiModelProperty(value = "是否主控设备", example = "true")
|
@TableField("is_primary")
|
private Boolean isPrimary;
|
|
@ApiModelProperty(value = "是否启用", example = "true")
|
@TableField("enabled")
|
private Boolean enabled;
|
|
@ApiModelProperty(value = "设备特定配置JSON", example = "{\"vehicleCapacity\": 6000, \"glassIntervalMs\": 1000}")
|
@TableField("config_json")
|
private String configJson;
|
|
@ApiModelProperty(value = "设备描述", example = "上大车设备1")
|
@TableField("description")
|
private String description;
|
|
@ApiModelProperty(value = "扩展参数JSON", example = "{\"timeout\": 5000, \"retries\": 3}")
|
@TableField("extra_params")
|
private String extraParams;
|
|
@ApiModelProperty(value = "是否删除:0-否,1-是", example = "0")
|
@TableField("is_deleted")
|
@TableLogic
|
private Integer isDeleted;
|
|
@ApiModelProperty(value = "创建时间")
|
@TableField(value = "created_time", fill = FieldFill.INSERT)
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
private Date createdTime;
|
|
@ApiModelProperty(value = "更新时间")
|
@TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
private Date updatedTime;
|
|
@ApiModelProperty(value = "创建人", example = "system")
|
@TableField(value = "created_by", fill = FieldFill.INSERT)
|
private String createdBy;
|
|
@ApiModelProperty(value = "更新人", example = "system")
|
@TableField(value = "updated_by", fill = FieldFill.INSERT_UPDATE)
|
private String updatedBy;
|
|
// 设备类型常量
|
public static final class DeviceType {
|
public static final String LOAD_VEHICLE = "上大车"; // 上大车
|
public static final String LARGE_GLASS = "大理片"; // 大理片
|
public static final String GLASS_STORAGE = "玻璃存储"; // 玻璃存储
|
}
|
|
// PLC类型常量
|
public static final class PlcType {
|
public static final String S7_1200 = "S7-1200"; // S7-1200
|
public static final String S7_1500 = "S7-1500"; // S7-1500
|
}
|
|
// 设备状态常量
|
public static final class Status {
|
public static final String ONLINE = "在线"; // 在线
|
public static final String OFFLINE = "离线"; // 离线
|
public static final String MAINTENANCE = "维护中"; // 维护中
|
public static final String FAULT = "故障"; // 故障
|
}
|
}
|