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 0b842c8..dc92587 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 @@ -140,8 +140,6 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i @Autowired private IEmsEnergyPriceConfigService emsEnergyPriceConfigService; @Autowired - private IEmsEnergyPriceConfigService iEmsEnergyPriceConfigService; - @Autowired private IEmsDeviceSettingService iEmsDeviceSettingService; @Autowired private DevicePointMatchDataProcessor devicePointMatchDataProcessor; @@ -185,34 +183,56 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i } public void processingDeviceData(String siteId, String deviceId, String jsonData, Date dataUpdateTime) { + // 判断设备类型,并调用对应的方法处理数据 + String deviceCategory = getDeviceCategory(siteId, deviceId); if (deviceId.contains(SiteDevice.BMSD.name())) { batteryStackDataProcess(siteId, deviceId, jsonData, dataUpdateTime); - batteryGroupDataProcess(siteId, deviceId, jsonData); - batteryDataProcessFromBmsd(siteId, deviceId, jsonData, dataUpdateTime); + if (SiteEnum.DDS.getCode().equals(siteId)) { + batteryGroupDataProcess(siteId, deviceId, jsonData); + batteryDataProcessFromBmsd(siteId, deviceId, jsonData, dataUpdateTime); + } } else if (deviceId.contains(SiteDevice.BMSC.name())) { batteryClusterDataProcess(siteId, deviceId, jsonData, dataUpdateTime); batteryDataProcessFromBmsc(siteId, deviceId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.PCS.name())) { + } else if (deviceId.contains(SiteDevice.PCS.name()) + || DeviceCategory.PCS.getCode().equals(deviceCategory)) { pcsDataProcess(siteId, deviceId, jsonData, dataUpdateTime); pcsBranchDataProcess(siteId, deviceId, jsonData); - batteryClusterDataProcess(siteId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.LOAD.name())) { - loadDataProcess(siteId, deviceId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.METEGF.name()) + if (SiteEnum.DDS.getCode().equals(siteId)) { + batteryClusterDataProcess(siteId, jsonData, dataUpdateTime); + } + } else if (deviceId.contains(SiteDevice.LOAD.name()) + || deviceId.contains(SiteDevice.METEGF.name()) || deviceId.contains(SiteDevice.METE.name()) - || deviceId.contains(SiteDevice.METE0.name())) { + || deviceId.contains(SiteDevice.METE0.name()) + || DeviceCategory.AMMETER.getCode().equals(deviceCategory)) { meteDataProcess(siteId, deviceId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.XF.name())) { + } else if (deviceId.contains(SiteDevice.XF.name()) + || DeviceCategory.XF.getCode().equals(deviceCategory)) { meteXFProcess(siteId, deviceId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.DH.name()) || deviceId.contains(SiteDevice.donghuan.name())) { + } else if (deviceId.contains(SiteDevice.DH.name()) + || deviceId.contains(SiteDevice.donghuan.name()) + || DeviceCategory.DH.getCode().equals(deviceCategory)) { dhDataProcess(siteId, deviceId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.ZSLQ.name())) { + } else if (deviceId.contains(SiteDevice.ZSLQ.name()) + || DeviceCategory.COOLING.getCode().equals(deviceCategory)) { coolingDataProcess(siteId, deviceId, jsonData, dataUpdateTime); - } else if (deviceId.contains(SiteDevice.EMS.name())) { + } else if (deviceId.contains(SiteDevice.EMS.name()) + || DeviceCategory.EMS.getCode().equals(deviceCategory)) { emsDataProcess(siteId, deviceId, jsonData, dataUpdateTime); + } else { + log.info("未找到匹配的设备类型,无法处理数据,siteId: " + siteId + ",deviceId: " + deviceId); } } + private String getDeviceCategory(String siteId, String deviceId) { + EmsDevicesSetting emsDevicesSetting = emsDevicesSettingMapper.getDeviceBySiteAndDeviceId(deviceId, siteId); + if (emsDevicesSetting != null) { + return emsDevicesSetting.getDeviceCategory(); + } + return ""; + } + private void emsDataProcess(String siteId, String deviceId, String jsonData, Date dataUpdateTime) { //EMS Map obj = JSON.parseObject(jsonData, new TypeReference>() { @@ -379,9 +399,9 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i } private void batteryGroupDataProcess(String siteId, String deviceId, String jsonData) { - if (!SiteEnum.DDS.getCode().equals(siteId)) { - return; - } +// if (!SiteEnum.DDS.getCode().equals(siteId)) { +// return; +// } //电池组 Map obj = JSON.parseObject(jsonData, new TypeReference>() { }); @@ -420,9 +440,9 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i } private void batteryDataProcessFromBmsd(String siteId, String deviceId, String dataJson, Date dataUpdateTime) { - if (!SiteEnum.DDS.getCode().equals(siteId)) { - return; - } +// if (!SiteEnum.DDS.getCode().equals(siteId)) { +// return; +// } //电池组 Map obj = JSON.parseObject(dataJson, new TypeReference>() { }); @@ -896,9 +916,9 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i } private void batteryClusterDataProcess(String siteId, String dataJson, Date dataUpdateTime) { - if (!SiteEnum.DDS.getCode().equals(siteId)) { - return; - } +// if (!SiteEnum.DDS.getCode().equals(siteId)) { +// return; +// } Map obj = JSON.parseObject(dataJson, new TypeReference>() { }); @@ -1006,7 +1026,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i // 点位匹配数据 List pointMatchList = devicePointMatchDataProcessor.getDevicePointMatch(siteId, deviceId, DeviceMatchTable.AMMETER.getCode()); if (CollectionUtils.isEmpty(pointMatchList)) { - log.info("未找到匹配的点位数据,无法处理METE储能电表数据,siteId: " + siteId + ",deviceId: " + deviceId); + log.info("未找到匹配的点位数据,无法处理电表数据,siteId: " + siteId + ",deviceId: " + deviceId); return; } Map> pointEnumMatchMap = devicePointMatchDataProcessor.getPointEnumMatchMap(siteId, DeviceMatchTable.AMMETER.getCode()); @@ -1031,7 +1051,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i redisCache.setCacheObject(RedisKeyConstants.AMMETER + siteId + "_" + deviceId, dataMete); - if (!deviceId.contains(SiteDevice.METEGF.name()) && !deviceId.contains(SiteDevice.METE0.name())) { + if (deviceId.equals(SiteDevice.METE.name())) { // 处理储能电表-METE每日充放电数据 dealDailyChargeDate(siteId, deviceId, dataMete); @@ -1390,7 +1410,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i Map realTimeRevenue = redisCache.getCacheObject(redisKey); if (realTimeRevenue == null) { // 查数据库 - realTimeRevenue = iEmsEnergyPriceConfigService.getDayRevenueMap(siteId); + realTimeRevenue = emsEnergyPriceConfigService.getDayRevenueMap(siteId); if (realTimeRevenue == null) { realTimeRevenue = new HashMap<>(); realTimeRevenue.put("totalRevenue", BigDecimal.ZERO);