diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
index 3e20449..dcb3613 100644
--- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
+++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
@@ -200,6 +200,7 @@
bss.continuous_running_time,
bss.last_start_time,
bss.last_stop_time,
+ bss.latest_ts,
# bss.is_running runningStatus,
4 as classId
@@ -221,7 +222,8 @@
bss.continuous_running_time,
bss.last_start_time,
bss.last_stop_time,
- bss.is_running runningStatus,
+ bss.latest_ts,
+# bss.is_running runningStatus,
4 as classId
left join dashboard_device_group_relation ddgr on ddgr.device_info_id = device_info.id
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 dfdaa29..e94be6f 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
@@ -29,4 +29,7 @@ public class DeviceBaStatusData extends BaseData{
@Schema(description = "stop/running: 0-停止, 1-运行", example = "1")
private Integer stopRun;
+ @Schema(description = "last stop time", example = "1720000000000", hidden = true)
+ private String latestTs;
+
}
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 e0a38df..027626b 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
@@ -135,12 +135,12 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
// 查询 favorited_device 表中所有设备的 device_id
List favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds();
+
+ long currentTs = System.currentTimeMillis();
for (DeviceBaStatusData data : resultList){
String deviceId = data.getDeviceId().toLowerCase();
String sDeviceId = deviceId85ToSMap.get(deviceId);
- data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime()));
-
//处理111状态映射
// data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
data.setStatus111(commonOpt.buildRawFirstValue(deviceId, deviceId85To111Map, realtime111Map, objectMapper));
@@ -159,6 +159,13 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
} else {
data.setStopRun(commonOpt.judgeStopRun(objectMapper, realtime85Map.get(deviceId)));
}
+
+ if (0 == data.getStopRun()) {
+ data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime()));
+ } else if (StringUtils.isNotBlank(data.getLatestTs()) && currentTs >= Long.parseLong(data.getLatestTs())) {
+ long diff = currentTs - Long.parseLong(data.getLatestTs());
+ data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(diff));
+ }
}
}