package com.mes.device.vo;
|
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
import lombok.AllArgsConstructor;
|
|
import java.time.LocalDateTime;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 设备组配置视图对象
|
*
|
* @author mes
|
* @since 2024-10-30
|
*/
|
public class DeviceGroupConfigVO {
|
|
/**
|
* 设备组配置信息
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class GroupInfo {
|
private Long id;
|
private String groupCode;
|
private String groupName;
|
private String groupType;
|
private String description;
|
private String status;
|
private Integer deviceCount;
|
private Boolean isEnabled;
|
private String location;
|
private String supervisor;
|
private Date createdTime;
|
private Date updatedTime;
|
private String extraConfig;
|
private Long projectId;
|
}
|
|
/**
|
* 设备组配置详情(用于编辑表单)
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class GroupConfigDetail {
|
private Long id;
|
private String groupCode;
|
private String groupName;
|
private String groupType;
|
private String description;
|
private String status;
|
private Boolean isEnabled;
|
private String location;
|
private String supervisor;
|
private String contactInfo;
|
private String emergencyContact;
|
private String maintenanceSchedule;
|
private String extraConfig;
|
private Date createdTime;
|
private Date updatedTime;
|
}
|
|
/**
|
* 设备组监控信息
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class GroupMonitoring {
|
private Long groupId;
|
private String groupName;
|
private String status;
|
private Boolean isOnline;
|
private Integer totalDevices;
|
private Integer onlineDevices;
|
private Integer offlineDevices;
|
private Integer faultDevices;
|
private LocalDateTime lastHeartbeat;
|
private Double groupHealthScore;
|
private List<DeviceStatusInfo> deviceStatuses;
|
}
|
|
/**
|
* 设备状态信息
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class DeviceStatusInfo {
|
private Long deviceId;
|
private String deviceName;
|
private String deviceCode;
|
private String status;
|
private Boolean isOnline;
|
private LocalDateTime lastHeartbeat;
|
private String role;
|
}
|
|
/**
|
* 设备组树节点
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class GroupTreeNode {
|
private Long id;
|
private String label;
|
private String type;
|
private String icon;
|
private String status;
|
private Boolean disabled;
|
private List<GroupTreeNode> children;
|
private Object data;
|
}
|
|
/**
|
* 设备组任务信息
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class GroupTaskInfo {
|
private Long taskId;
|
private String taskName;
|
private String taskType;
|
private String status;
|
private Integer priority;
|
private LocalDateTime startTime;
|
private LocalDateTime endTime;
|
private Integer progress;
|
private String assignedDevices;
|
private String executor;
|
private String result;
|
}
|
|
/**
|
* 设备组批量操作结果
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class BatchOperationResult {
|
private Integer totalCount;
|
private Integer successCount;
|
private Integer failureCount;
|
private List<String> successIds;
|
private List<String> failureIds;
|
private List<String> errorMessages;
|
}
|
|
/**
|
* 设备组性能统计
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class GroupPerformanceStats {
|
private Long groupId;
|
private String groupName;
|
private Integer totalDevices;
|
private Integer activeDevices;
|
private Double averageCpuUsage;
|
private Double averageMemoryUsage;
|
private Integer totalTasksCompleted;
|
private Double successRate;
|
private Double availability;
|
private Date statsTime;
|
private List<DevicePerformance> devicePerformances;
|
}
|
|
/**
|
* 设备性能信息
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
public static class DevicePerformance {
|
private Long deviceId;
|
private String deviceName;
|
private Double cpuUsage;
|
private Double memoryUsage;
|
private Integer tasksCompleted;
|
private Double successRate;
|
private String status;
|
}
|
}
|