0918优化-电表取值修改
This commit is contained in:
@ -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");
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user