|
|
|
|
@ -450,38 +450,32 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public AmmeterDataResponse getAmmeterDataList(String siteId) {
|
|
|
|
|
AmmeterDataResponse ammeterResponse = new AmmeterDataResponse();
|
|
|
|
|
public List<AmmeterDataVo> getAmmeterDataList(String siteId) {
|
|
|
|
|
List<AmmeterDataVo> ammeterResponse = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
if (!StringUtils.isEmpty(siteId)) {
|
|
|
|
|
// 先获取电表设备
|
|
|
|
|
List<Map<String, Object>> ammeterIdList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.AMMETER.getCode());
|
|
|
|
|
if (StringUtils.isEmpty(siteId)) {
|
|
|
|
|
return ammeterResponse;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (Map<String, Object> ammeterDevice : ammeterIdList) {
|
|
|
|
|
String ammeterId = ammeterDevice.get("id").toString();
|
|
|
|
|
// 从redis取总表详细数据
|
|
|
|
|
EmsAmmeterData ammeterData = redisCache.getCacheObject(RedisKeyConstants.AMMETER + siteId + "_" +ammeterId);
|
|
|
|
|
// 判断电表类型
|
|
|
|
|
if (AMMETER_DEVICE_LOAD.equals(ammeterId)) {
|
|
|
|
|
AmmeterLoadDataVo ammeterLoadDataVo = new AmmeterLoadDataVo();
|
|
|
|
|
ammeterLoadDataVo.setDeviceName(ammeterDevice.get("deviceName").toString());
|
|
|
|
|
ammeterLoadDataVo.setDeviceId(ammeterDevice.get("id").toString());
|
|
|
|
|
ammeterLoadDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus") == null? "" :
|
|
|
|
|
ammeterDevice.get("communicationStatus").toString());
|
|
|
|
|
// 处理总表数据
|
|
|
|
|
dealAmmeterLoadData(ammeterData,ammeterLoadDataVo);
|
|
|
|
|
ammeterResponse.setAmmeterLoadDataVoList(ammeterLoadDataVo);
|
|
|
|
|
} else if (AMMETER_DEVICE_METE.equals(ammeterId)) {
|
|
|
|
|
AmmeterMeteDataVo ammeterMeteDataVo = new AmmeterMeteDataVo();
|
|
|
|
|
ammeterMeteDataVo.setDeviceName(ammeterDevice.get("deviceName").toString());
|
|
|
|
|
ammeterMeteDataVo.setDeviceId(ammeterDevice.get("id").toString());
|
|
|
|
|
ammeterMeteDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus") == null? "" :
|
|
|
|
|
ammeterDevice.get("communicationStatus").toString());
|
|
|
|
|
// 处理储能表数据
|
|
|
|
|
dealAmmeterMeteData(ammeterData,ammeterMeteDataVo);
|
|
|
|
|
ammeterResponse.setAmmeterMeteDataVoList(ammeterMeteDataVo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 先获取电表设备
|
|
|
|
|
List<Map<String, Object>> ammeterIdList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.AMMETER.getCode());
|
|
|
|
|
if (ammeterIdList == null || ammeterIdList.isEmpty()) {
|
|
|
|
|
return ammeterResponse;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (Map<String, Object> ammeterDevice : ammeterIdList) {
|
|
|
|
|
String ammeterId = ammeterDevice.get("id").toString();
|
|
|
|
|
// 从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? "" :
|
|
|
|
|
ammeterDevice.get("communicationStatus").toString());
|
|
|
|
|
// 设置表数据
|
|
|
|
|
dealAmmeterLoadData(ammeterData,ammeterLoadDataVo);
|
|
|
|
|
ammeterResponse.add(ammeterLoadDataVo);
|
|
|
|
|
}
|
|
|
|
|
return ammeterResponse;
|
|
|
|
|
}
|
|
|
|
|
@ -515,31 +509,49 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void dealAmmeterLoadData(EmsAmmeterData ammeterData, AmmeterLoadDataVo ammeterDataVo) {
|
|
|
|
|
private void dealAmmeterLoadData(EmsAmmeterData ammeterData, AmmeterDataVo ammeterDataVo) {
|
|
|
|
|
if (ammeterData != null) {
|
|
|
|
|
// 数据更新时间
|
|
|
|
|
ammeterDataVo.setDataUpdateTime(ammeterData.getDataUpdateTime());
|
|
|
|
|
|
|
|
|
|
List<LoadDataDetailInfo> loadDataDetailInfos = new ArrayList<>();
|
|
|
|
|
// 拼接数据
|
|
|
|
|
// 组合有功
|
|
|
|
|
// 当前正向有功
|
|
|
|
|
LoadDataDetailInfo ammeterDataDetailInfo1 = new LoadDataDetailInfo();
|
|
|
|
|
ammeterDataDetailInfo1.setCategory(AmmeterCategory.CURRENT_COMB_ACTIVE.getInfo());
|
|
|
|
|
ammeterDataDetailInfo1.setTotalKwh(ammeterData.getCurrentCombActiveTotal());
|
|
|
|
|
ammeterDataDetailInfo1.setPeakKwh(ammeterData.getCurrentCombActivePeak());
|
|
|
|
|
ammeterDataDetailInfo1.setHighKwh(ammeterData.getCurrentCombActiveHigh());
|
|
|
|
|
ammeterDataDetailInfo1.setFlatKwh(ammeterData.getCurrentCombActiveFlat());
|
|
|
|
|
ammeterDataDetailInfo1.setValleyKwh(ammeterData.getCurrentCombActiveValley());
|
|
|
|
|
ammeterDataDetailInfo1.setCategory(AmmeterCategory.CURRENT_FORWARD_ACTIVE.getInfo());
|
|
|
|
|
ammeterDataDetailInfo1.setTotalKwh(ammeterData.getCurrentForwardActiveTotal());
|
|
|
|
|
ammeterDataDetailInfo1.setPeakKwh(ammeterData.getCurrentForwardActivePeak());
|
|
|
|
|
ammeterDataDetailInfo1.setHighKwh(ammeterData.getCurrentForwardActiveHigh());
|
|
|
|
|
ammeterDataDetailInfo1.setFlatKwh(ammeterData.getCurrentForwardActiveFlat());
|
|
|
|
|
ammeterDataDetailInfo1.setValleyKwh(ammeterData.getCurrentForwardActiveValley());
|
|
|
|
|
loadDataDetailInfos.add(ammeterDataDetailInfo1);
|
|
|
|
|
// 组合无功
|
|
|
|
|
// 当前正向无功
|
|
|
|
|
LoadDataDetailInfo ammeterDataDetailInfo2 = new LoadDataDetailInfo();
|
|
|
|
|
ammeterDataDetailInfo2.setCategory(AmmeterCategory.CURRENT_COMB_REACTIVE.getInfo());
|
|
|
|
|
ammeterDataDetailInfo2.setTotalKwh(ammeterData.getCurrentCombReactiveTotal());
|
|
|
|
|
ammeterDataDetailInfo2.setPeakKwh(ammeterData.getCurrentCombReactivePeak());
|
|
|
|
|
ammeterDataDetailInfo2.setHighKwh(ammeterData.getCurrentCombReactiveHigh());
|
|
|
|
|
ammeterDataDetailInfo2.setFlatKwh(ammeterData.getCurrentCombReactiveFlat());
|
|
|
|
|
ammeterDataDetailInfo2.setValleyKwh(ammeterData.getCurrentCombReactiveValley());
|
|
|
|
|
ammeterDataDetailInfo2.setCategory(AmmeterCategory.CURRENT_FORWARD_REACTIVE.getInfo());
|
|
|
|
|
ammeterDataDetailInfo2.setTotalKwh(ammeterData.getCurrentForwardReactiveTotal());
|
|
|
|
|
ammeterDataDetailInfo2.setPeakKwh(ammeterData.getCurrentForwardReactivePeak());
|
|
|
|
|
ammeterDataDetailInfo2.setHighKwh(ammeterData.getCurrentForwardReactiveHigh());
|
|
|
|
|
ammeterDataDetailInfo2.setFlatKwh(ammeterData.getCurrentForwardReactiveFlat());
|
|
|
|
|
ammeterDataDetailInfo2.setValleyKwh(ammeterData.getCurrentForwardReactiveValley());
|
|
|
|
|
loadDataDetailInfos.add(ammeterDataDetailInfo2);
|
|
|
|
|
// 当前反向有功
|
|
|
|
|
LoadDataDetailInfo ammeterDataDetailInfo3 = new LoadDataDetailInfo();
|
|
|
|
|
ammeterDataDetailInfo3.setCategory(AmmeterCategory.CURRENT_REVERSE_ACTIVE.getInfo());
|
|
|
|
|
ammeterDataDetailInfo3.setTotalKwh(ammeterData.getCurrentReverseActiveTotal());
|
|
|
|
|
ammeterDataDetailInfo3.setPeakKwh(ammeterData.getCurrentReverseActivePeak());
|
|
|
|
|
ammeterDataDetailInfo3.setHighKwh(ammeterData.getCurrentReverseActiveHigh());
|
|
|
|
|
ammeterDataDetailInfo3.setFlatKwh(ammeterData.getCurrentReverseActiveFlat());
|
|
|
|
|
ammeterDataDetailInfo3.setValleyKwh(ammeterData.getCurrentReverseActiveValley());
|
|
|
|
|
loadDataDetailInfos.add(ammeterDataDetailInfo3);
|
|
|
|
|
// 当前反向无功
|
|
|
|
|
LoadDataDetailInfo ammeterDataDetailInfo4 = new LoadDataDetailInfo();
|
|
|
|
|
ammeterDataDetailInfo4.setCategory(AmmeterCategory.CURRENT_REVERSE_REACTIVE.getInfo());
|
|
|
|
|
ammeterDataDetailInfo4.setTotalKwh(ammeterData.getCurrentReverseReactiveTotal());
|
|
|
|
|
ammeterDataDetailInfo4.setPeakKwh(ammeterData.getCurrentReverseReactivePeak());
|
|
|
|
|
ammeterDataDetailInfo4.setHighKwh(ammeterData.getCurrentReverseReactiveHigh());
|
|
|
|
|
ammeterDataDetailInfo4.setFlatKwh(ammeterData.getCurrentReverseReactiveFlat());
|
|
|
|
|
ammeterDataDetailInfo4.setValleyKwh(ammeterData.getCurrentReverseReactiveValley());
|
|
|
|
|
loadDataDetailInfos.add(ammeterDataDetailInfo4);
|
|
|
|
|
|
|
|
|
|
ammeterDataVo.setLoadDataDetailInfo(loadDataDetailInfos);
|
|
|
|
|
}
|
|
|
|
|
|