diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/MqttMessageController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/MqttMessageController.java index ecf1090..ff74aa9 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/MqttMessageController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/MqttMessageController.java @@ -148,7 +148,7 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber { // 处理设备数据 private void handleDeviceData(String topic, MqttMessage message) { String payload = new String(message.getPayload()); - log.info("[DEVICE] data: " + payload); + log.error("[DEVICE] data: " + payload); try { // 业务处理逻辑 // if (topic.startsWith("021_DDS")) { 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 a52209a..f891950 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 @@ -403,6 +403,17 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i dataStack.setSiteId(siteId); dataStack.setDeviceId(deviceId); + //TODO 临时解决上送数据为浮点的问题 + String status = dataStack.getWorkStatus(); + int result = 0; + + if (status != null && !status.trim().isEmpty()) { + // 1.0 -> 1, 2.0 -> 2 + result = (int) Double.parseDouble(status.trim()); + } + + dataStack.setWorkStatus(String.valueOf(result)); + emsBatteryStackMapper.insertEmsBatteryStack(dataStack); redisCache.setCacheObject(RedisKeyConstants.STACK + siteId + "_" + deviceId, dataStack); @@ -840,6 +851,21 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i pcsData.setDateMonth(DateUtils.getNowMonthLong()); pcsData.setDateDay(DateUtils.getNowDayLong()); + //TODO 临时解决设备状态不展示数据问题 + pcsData.setDeviceStatus(DeviceRunningStatus.ONLINE.getCode()); + //TODO end + + //TODO 临时解决上送数据为浮点的问题 start + String status = pcsData.getWorkStatus(); + int result = 0; + if (status != null && !status.trim().isEmpty()) { + // 1.0 -> 1, 2.0 -> 2 + result = (int) Double.parseDouble(status.trim()); + } + pcsData.setWorkStatus(String.valueOf(result)); + //TODO end + + emsPcsDataMapper.insertEmsPcsData(pcsData); redisCache.setCacheObject(RedisKeyConstants.PCS + siteId + "_" + deviceId, pcsData); @@ -957,6 +983,8 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i } else { data.setStackDeviceId("1"); } + + // 获取redis获取最新的BMSD数据 Map stackObj = redisCache.getCacheObject(RedisKeyConstants.ORIGINAL_BMSD + siteId + "_" + stackDeviceId); data.setDeviceId(deviceId); @@ -965,6 +993,19 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i // 取堆里面数据 saveDeviceData(pointMatchList, stackObj, data); + + //TODO 临时解决上送数据为浮点的问题 start + log.info("临时解决上送数据为浮点的问题"); + String status = data.getWorkStatus(); + int result = 0; + if (status != null && !status.trim().isEmpty()) { + // 1.0 -> 1, 2.0 -> 2 + result = (int) Double.parseDouble(status.trim()); + } + data.setWorkStatus(String.valueOf(result)); + //TODO end + + emsBatteryClusterMapper.insertEmsBatteryCluster(data); redisCache.setCacheObject(RedisKeyConstants.CLUSTER + siteId + "_" + deviceId, data); 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 bff693f..4e797bd 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 @@ -744,9 +744,6 @@ public class SingleSiteServiceImpl implements ISingleSiteService { } for (Map ammeterDevice : ammeterIdList) { String ammeterId = ammeterDevice.get("id").toString(); -// if (!ammeterDeviceIds.contains(ammeterId)) { -// continue; -// } // 从redis取总表详细数据 EmsAmmeterData ammeterData = redisCache.getCacheObject(RedisKeyConstants.AMMETER + siteId + "_" +ammeterId); // 告警设备点位个数