diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java index 8d5b992..dfdaa29 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java @@ -26,4 +26,7 @@ public class DeviceBaStatusData extends BaseData{ @Schema(description = "device status", example = "障害") private String status111; + @Schema(description = "stop/running: 0-停止, 1-运行", example = "1") + private Integer stopRun; + } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index 380b351..45fe052 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -644,4 +644,22 @@ public class CommonOpt { .map(data -> extractFirstValue(mapper, data)) .orElse(null); } + + public Integer judgeStopRun(ObjectMapper objectMapper, DeviceRawdataRealtime deviceRawdataRealtime) { + if (deviceRawdataRealtime == null) { + return null; + } + + try { + String statusValue = extractLastValue(objectMapper, deviceRawdataRealtime.getRawData()); + if ("0".equals(statusValue)){ + return 0; + } else { + return 1; + } + } catch (Exception e) { + logger.error("judgeStopRun error", e); + return null; + } + } } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java index ce04292..e0a38df 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java @@ -153,6 +153,12 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService // 判断设备是否在 favorited_device 表中 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); + //停止、运行状态 + if(sNewerDeviceIds.contains(sDeviceId)) { + data.setStopRun(commonOpt.judgeStopRun(objectMapper, realtimeSMap.get(sDeviceId))); + } else { + data.setStopRun(commonOpt.judgeStopRun(objectMapper, realtime85Map.get(deviceId))); + } } }