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