package cn.iocoder.yudao.module.mes.controller.admin.collect.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 数采设备状态 Response VO") @Data public class MesCollectDeviceRespVO { @Schema(description = "设备台账编号", example = "1") private Long machineryId; @Schema(description = "设备编码", example = "MC_20260818001") private String machineryCode; @Schema(description = "设备名称", example = "注塑机 1 号") private String machineryName; @Schema(description = "工作站编号", example = "1") private Long workstationId; @Schema(description = "工作站名称", example = "注塑工作站") private String workstationName; @Schema(description = "数采设备编号", example = "C01") private String collectDeviceCode; @Schema(description = "是否启用数采", example = "true") private Boolean collectEnabled; @Schema(description = "最近采集时间") private LocalDateTime lastCollectTime; @Schema(description = "是否在线(5 分钟内有数据)", example = "true") private Boolean online; @Schema(description = "运行状态:1待机 2生产", example = "2") private Integer sts; @Schema(description = "运行状态名称", example = "生产") private String stsName; @Schema(description = "运行模式:0手动 1半自动 2电眼自动 3时间自动 4调模使用", example = "2") private Integer opm; @Schema(description = "运行模式名称", example = "电眼自动") private String opmName; @Schema(description = "油温", example = "26.5") private BigDecimal ot; @Schema(description = "各段温度 JSON") private String temps; @Schema(description = "生产任务编号", example = "1") private Long taskId; @Schema(description = "生产任务编码", example = "PT202610200001") private String taskCode; @Schema(description = "生产任务名称", example = "注塑任务") private String taskName; @Schema(description = "生产工单编号", example = "1") private Long workOrderId; @Schema(description = "生产工单编码", example = "PO202610200001") private String workOrderCode; @Schema(description = "未消除报警数量", example = "1") private Long activeAlarmCount; /** * 最近一次采集的完整数据 JSON。 * *
设备网关上报的是中文键的瞬时值(如 {"计米":268.35,"线速度":0.0}), * 与注塑机协议的 STS/OPM/OT 结构不同,结构化字段(sts/opm/ot/temps)会是空的, * 前端展示「当前数据」需要这个原始 JSON。
*/ @Schema(description = "最近采集数据 JSON", example = "{\"计米\":268.35}") private String dataJson; }