0918优化-电表取值修改

This commit is contained in:
2025-09-28 10:32:02 +08:00
parent 097709d403
commit f2b2741b1c
3 changed files with 37 additions and 32 deletions

View File

@ -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");

View File

@ -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");

View File

@ -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<String> ammeterDeviceIds = Arrays.asList(
"LOAD", "METE", "METEGF"
);
@Autowired
private EmsPcsDataMapper emsPcsDataMapper;
@Autowired
@ -638,47 +643,35 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
for (Map<String, Object> 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<MeteDataDetailInfo> 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());
}
}