From f2b2741b1cb579a0540b2270524ba5e1f9d9d2b8 Mon Sep 17 00:00:00 2001 From: mashili Date: Sun, 28 Sep 2025 10:32:02 +0800 Subject: [PATCH] =?UTF-8?q?0918=E4=BC=98=E5=8C=96-=E7=94=B5=E8=A1=A8?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DDSDataProcessServiceImpl.java | 8 ++- .../impl/FXXDataProcessServiceImpl.java | 6 ++ .../service/impl/SingleSiteServiceImpl.java | 55 ++++++++----------- 3 files changed, 37 insertions(+), 32 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java index e67d042..ebf1617 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java @@ -699,7 +699,7 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl // 其他字段 dataGF.setPositiveReactiveEnergyEqPlus(StringUtils.getBigDecimal(obj.get("WGDN"))); - dataGF.setPositiveActiveEnergyEpPlus(StringUtils.getBigDecimal(obj.get("WGDN"))); + dataGF.setPositiveActiveEnergyEpPlus(StringUtils.getBigDecimal(obj.get("YGDN"))); dataGF.setCurrentPercent(StringUtils.getBigDecimal(obj.get("DLBB"))); dataGF.setVoltagePercent(StringUtils.getBigDecimal(obj.get("DYBB"))); dataGF.setAvgCurrent(StringUtils.getBigDecimal(obj.get("PJDL"))); @@ -771,6 +771,12 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl dataLoad.setPositiveReactiveEnergyEqPlus(StringUtils.getBigDecimal(obj.get("GXWGDDYCC"))); dataLoad.setPositiveActiveEnergyEpPlus(StringUtils.getBigDecimal(obj.get("XSYGDDYCC"))); + // 正向反向有功无功电能 + dataLoad.setCurrentForwardActiveTotal(StringUtils.getBigDecimal(obj.get("XSYGDDYCC"))); + dataLoad.setCurrentReverseActiveTotal(StringUtils.getBigDecimal(obj.get("SFYGDDYCC"))); + dataLoad.setCurrentForwardReactiveTotal(StringUtils.getBigDecimal(obj.get("GXWGDDYCC"))); + dataLoad.setCurrentReverseReactiveTotal(StringUtils.getBigDecimal(obj.get("RXWGDDYCC"))); + dataLoad.setCreateBy("system"); dataLoad.setCreateTime(DateUtils.getNowDate()); dataLoad.setUpdateBy("system"); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java index 05f54f0..5c2f718 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java @@ -740,6 +740,12 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl dataLoad.setPositiveReactiveEnergyEqPlus(StringUtils.getBigDecimal(obj.get("ZXWGDN"))); dataLoad.setPositiveActiveEnergyEpPlus(StringUtils.getBigDecimal(obj.get("ZXYGDN"))); + // 正反向有功无功电能 + dataLoad.setCurrentForwardActiveTotal(StringUtils.getBigDecimal(obj.get("ZXYGDN"))); + dataLoad.setCurrentReverseActiveTotal(StringUtils.getBigDecimal(obj.get("FXYGDN"))); + dataLoad.setCurrentForwardReactiveTotal(StringUtils.getBigDecimal(obj.get("ZXWGDN"))); + dataLoad.setCurrentReverseReactiveTotal(StringUtils.getBigDecimal(obj.get("FXWGDN"))); + dataLoad.setCreateBy("system"); dataLoad.setCreateTime(DateUtils.getNowDate()); dataLoad.setUpdateBy("system"); 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 e5bf9b4..7ee278d 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 @@ -48,6 +48,11 @@ public class SingleSiteServiceImpl implements ISingleSiteService { pvFactor.put("021_DDS_01", new BigDecimal("-0.001")); pvFactor.put("default", BigDecimal.ONE); // Convert to Basic Latin } + + // 初始化List,存储指定的电表deviceId + List ammeterDeviceIds = Arrays.asList( + "LOAD", "METE", "METEGF" + ); @Autowired private EmsPcsDataMapper emsPcsDataMapper; @Autowired @@ -638,47 +643,35 @@ 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); - AmmeterDataVo ammeterLoadDataVo = new AmmeterDataVo(); - ammeterLoadDataVo.setDeviceName(ammeterDevice.get("deviceName").toString()); - ammeterLoadDataVo.setDeviceId(ammeterDevice.get("id").toString()); - ammeterLoadDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus") == null? "" : + AmmeterDataVo ammeterDataVo = new AmmeterDataVo(); + ammeterDataVo.setDeviceName(ammeterDevice.get("deviceName").toString()); + ammeterDataVo.setDeviceId(ammeterDevice.get("id").toString()); + ammeterDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus") == null? "" : ammeterDevice.get("communicationStatus").toString()); // 设置表数据 - dealAmmeterLoadData(ammeterData,ammeterLoadDataVo); - ammeterResponse.add(ammeterLoadDataVo); + dealAmmeterData(ammeterData,ammeterDataVo); + ammeterResponse.add(ammeterDataVo); } return ammeterResponse; } - private void dealAmmeterMeteData(EmsAmmeterData ammeterData, AmmeterMeteDataVo ammeterMeteDataVo) { + private void dealAmmeterData(EmsAmmeterData ammeterData, AmmeterDataVo ammeterDataVo) { if (ammeterData != null) { - // 数据更新时间 - ammeterMeteDataVo.setDataUpdateTime(ammeterData.getDataUpdateTime()); - - List meteDataDetailInfos = new ArrayList<>(); - // 拼接数据 - // a相 - MeteDataDetailInfo meteDataDetailInfo1 = new MeteDataDetailInfo(); - meteDataDetailInfo1.setCategory(AmmeterCategory.A_POWER.getInfo()); - meteDataDetailInfo1.setActivePower(ammeterData.getPhaseAActivePower()); - meteDataDetailInfo1.setReactivePower(ammeterData.getPhaseAReactivePower()); - meteDataDetailInfos.add(meteDataDetailInfo1); - // b相 - MeteDataDetailInfo meteDataDetailInfo2 = new MeteDataDetailInfo(); - meteDataDetailInfo2.setCategory(AmmeterCategory.B_POWER.getInfo()); - meteDataDetailInfo2.setActivePower(ammeterData.getPhaseBActivePower()); - meteDataDetailInfo2.setReactivePower(ammeterData.getPhaseBReactivePower()); - meteDataDetailInfos.add(meteDataDetailInfo2); - // c相 - MeteDataDetailInfo meteDataDetailInfo3 = new MeteDataDetailInfo(); - meteDataDetailInfo3.setCategory(AmmeterCategory.C_POWER.getInfo()); - meteDataDetailInfo3.setActivePower(ammeterData.getPhaseCActivePower()); - meteDataDetailInfo3.setReactivePower(ammeterData.getPhaseCReactivePower()); - meteDataDetailInfos.add(meteDataDetailInfo3); - ammeterMeteDataVo.setMeteDataDetailInfo(meteDataDetailInfos); + ammeterDataVo.setActivePower(ammeterData.getTotalActivePower()); + ammeterDataVo.setReactivePower(ammeterData.getTotalReactivePower()); + ammeterDataVo.setForwardActive(ammeterData.getCurrentForwardActiveTotal()); + ammeterDataVo.setForwardReactive(ammeterData.getCurrentForwardReactiveTotal()); + ammeterDataVo.setReverseActive(ammeterData.getCurrentReverseActiveTotal()); + ammeterDataVo.setReverseReactive(ammeterData.getCurrentReverseReactiveTotal()); + ammeterDataVo.setActiveEnergy(ammeterData.getPositiveActiveEnergyEpPlus()); + ammeterDataVo.setReactiveEnergy(ammeterData.getPositiveReactiveEnergyEqPlus()); + ammeterDataVo.setDataUpdateTime(ammeterData.getDataUpdateTime()); } }