diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java index 4ba6573..6663e82 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java @@ -407,7 +407,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i String status = dataStack.getWorkStatus(); int result = 5; - if (status != null && !status.trim().isEmpty()) { + if (status != null && !status.trim().isEmpty() && status.contains("null")) { // 1.0 -> 1, 2.0 -> 2 result = (int) Double.parseDouble(status.trim()); } @@ -863,7 +863,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i //TODO 临时解决上送数据为浮点的问题 start String status = pcsData.getWorkStatus(); int result = 0; - if (status != null && !status.trim().isEmpty()) { + if (status != null && !status.trim().isEmpty() && status.contains("null")) { // 1.0 -> 1, 2.0 -> 2 result = (int) Double.parseDouble(status.trim()); } @@ -1003,7 +1003,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i log.info("临时解决上送数据为浮点的问题"); String status = data.getWorkStatus(); int result = 5; - if (status != null && !status.trim().isEmpty()) { + if (status != null && !status.trim().isEmpty() && status.contains("null")) { // 1.0 -> 1, 2.0 -> 2 result = (int) Double.parseDouble(status.trim()); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java index 9893842..b9f1ab0 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java @@ -220,6 +220,8 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService } String deviceFromMqtt = mqttJson.get("Device").toString(); String jsonData = mqttJson.get("Data").toString(); + Long updateTime = mqttJson.getLong("timestamp"); + Date latestUpdateTime = DateUtils.convertUpdateTime(updateTime); if (StringUtils.isEmpty(jsonData) || !deviceId.equals(deviceFromMqtt)) { return response; } @@ -233,8 +235,6 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService pointInfo.setDataPoint(dataKey); } pointInfo.setPointValue(obj.get(dataKey)); - Long updateTime = Long.valueOf(mqttJson.get("timestamp").toString()); - Date latestUpdateTime = convertUpdateTime(updateTime); pointInfo.setUpdateTime(latestUpdateTime); } } @@ -274,7 +274,8 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService PointQueryResponse::getPointValue, EmsDeviceSettingServiceImpl::compareMultiType); } else {// 默认按updateTime排序 - comparator = Comparator.comparing(PointQueryResponse::getUpdateTime); + comparator = Comparator.comparing(PointQueryResponse::getUpdateTime, + Comparator.nullsLast(Comparator.naturalOrder())); } // 排序方式 String sortMethod = request.getSortMethod(); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index 78201a6..fc22bff 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -52,6 +52,8 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -63,6 +65,8 @@ import org.springframework.util.CollectionUtils; @Service public class SingleSiteServiceImpl implements ISingleSiteService { + private static final Logger log = LoggerFactory.getLogger(SingleSiteServiceImpl.class); + private static final String CLUSTER_DATA_TEP = "温度"; private static final String CLUSTER_DATA_VOLTAGE = "电压"; @@ -877,6 +881,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService { // 从redis取堆单个详细数据 String xfDeviceId = xfDevice.get("id").toString(); EmsXfData xfData = redisCache.getCacheObject(RedisKeyConstants.XF + siteId + "_" + xfDeviceId); + log.info("查询消防数据xfDataVo:{}", xfDataVo); if (xfData != null) { BeanUtils.copyProperties(xfData, xfDataVo); xfDataVo.setDataUpdateTime(xfData.getDataTimestamp());