dev #2

Merged
dashixiong merged 349 commits from dev into main 2026-02-11 01:55:46 +00:00
242 changed files with 27660 additions and 1024 deletions
Showing only changes of commit 9874d6b1ea - Show all commits

View File

@ -7,8 +7,10 @@ package com.xzzn.common.enums;
*/
public enum AmmeterCategory
{
CURRENT_COMB_ACTIVE("1", "当前组合有功电能"),
CURRENT_COMB_REACTIVE("2", "当前组合无功电能"),
CURRENT_FORWARD_ACTIVE("1", "当前正向有功电能"),
CURRENT_FORWARD_REACTIVE("2", "当前正向无功电能"),
CURRENT_REVERSE_ACTIVE("3", "当前反向有功电能"),
CURRENT_REVERSE_REACTIVE("4", "当前反向无功电能"),
A_POWER("3", "A相功率"),
B_POWER("4", "B相功率"),
C_POWER("5", "C相功率");

View File

@ -1,23 +1,21 @@
package com.xzzn.ems.domain.vo;
import java.util.List;
/**
* 电表数据
*/
public class AmmeterDataResponse {
/** 总表信息 */
private AmmeterLoadDataVo ammeterLoadData;
private AmmeterDataVo ammeterLoadData;
/** 储能表信息 */
private AmmeterMeteDataVo ammeterMeteData;
public AmmeterLoadDataVo getAmmeterLoadData() {
public AmmeterDataVo getAmmeterLoadData() {
return ammeterLoadData;
}
public void setAmmeterLoadDataVoList(AmmeterLoadDataVo ammeterLoadData) {
public void setAmmeterLoadDataVoList(AmmeterDataVo ammeterLoadData) {
this.ammeterLoadData = ammeterLoadData;
}

View File

@ -6,9 +6,9 @@ import java.util.Date;
import java.util.List;
/**
* 电表-总表数据
* 电表数据
*/
public class AmmeterLoadDataVo {
public class AmmeterDataVo {
/** 电表名称 */
private String deviceName;
@ -23,7 +23,7 @@ public class AmmeterLoadDataVo {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dataUpdateTime;
/** 表数据信息 */
/** 表数据信息 */
private List<LoadDataDetailInfo> loadDataDetailInfo;
public String getDeviceName() {

View File

@ -845,13 +845,13 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
dataMete.setCurrentCombReactiveFlat(StringUtils.getBigDecimal(obj.get("DQZHWGPDN")));
dataMete.setCurrentCombReactiveValley(StringUtils.getBigDecimal(obj.get("DQZHWGGDN")));
// 电能设置-正向无功
dataMete.setCurrentForwardReactiveTotal(StringUtils.getBigDecimal(obj.get("DQZXWGZDN")));
dataMete.setCurrentForwardReactiveTotal(StringUtils.getBigDecimal(obj.get("DQZXZWGDN")));
dataMete.setCurrentForwardReactivePeak(StringUtils.getBigDecimal(obj.get("DQZXWGJDN")));
dataMete.setCurrentForwardReactiveHigh(StringUtils.getBigDecimal(obj.get("DQZXWGFDN")));
dataMete.setCurrentForwardReactiveFlat(StringUtils.getBigDecimal(obj.get("DQZXWGPDN")));
dataMete.setCurrentForwardReactiveValley(StringUtils.getBigDecimal(obj.get("DQZXWGGDN")));
// 电能设置-反向无功
dataMete.setCurrentReverseReactiveTotal(StringUtils.getBigDecimal(obj.get("DQFXWGZDN")));
dataMete.setCurrentReverseReactiveTotal(StringUtils.getBigDecimal(obj.get("DQFXZWGDN")));
dataMete.setCurrentReverseReactivePeak(StringUtils.getBigDecimal(obj.get("DQFXWGJDN")));
dataMete.setCurrentReverseReactiveHigh(StringUtils.getBigDecimal(obj.get("DQFXWGFDN")));
dataMete.setCurrentReverseReactiveFlat(StringUtils.getBigDecimal(obj.get("DQFXWGPDN")));

View File

@ -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)) {
return ammeterResponse;
}
if (!StringUtils.isEmpty(siteId)) {
// 先获取电表设备
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);
// 判断电表类型
if (AMMETER_DEVICE_LOAD.equals(ammeterId)) {
AmmeterLoadDataVo ammeterLoadDataVo = new AmmeterLoadDataVo();
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.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);
}
}
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);
}