单站监控-电表取数逻辑修改
This commit is contained in:
@ -5,14 +5,18 @@ package com.xzzn.common.enums;
|
|||||||
*
|
*
|
||||||
* @author xzzn
|
* @author xzzn
|
||||||
*/
|
*/
|
||||||
public enum AmmeterCategoryStatus
|
public enum AmmeterCategory
|
||||||
{
|
{
|
||||||
TOTAL_CHARGE("1", "累计充电量"), TOTAL_DISCHARGE("2", "累计放电量"), DAILY_CHARGE("3", "日充电量"), DAILY_DISCHARGE("4", "日放电量");
|
CURRENT_COMB_ACTIVE("1", "当前组合有功电能"),
|
||||||
|
CURRENT_COMB_REACTIVE("2", "当前组合无功"),
|
||||||
|
A_POWER("3", "A相功率"),
|
||||||
|
B_POWER("4", "B相功率"),
|
||||||
|
C_POWER("5", "C相功率");
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
private final String info;
|
private final String info;
|
||||||
|
|
||||||
AmmeterCategoryStatus(String code, String info)
|
AmmeterCategory(String code, String info)
|
||||||
{
|
{
|
||||||
this.code = code;
|
this.code = code;
|
||||||
this.info = info;
|
this.info = info;
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.xzzn.ems.domain.vo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电表数据
|
||||||
|
*/
|
||||||
|
public class AmmeterDataResponse {
|
||||||
|
|
||||||
|
/** 总表信息 */
|
||||||
|
private AmmeterLoadDataVo ammeterLoadData;
|
||||||
|
|
||||||
|
/** 储能表信息 */
|
||||||
|
private AmmeterMeteDataVo ammeterMeteData;
|
||||||
|
|
||||||
|
public AmmeterLoadDataVo getAmmeterLoadData() {
|
||||||
|
return ammeterLoadData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAmmeterLoadDataVoList(AmmeterLoadDataVo ammeterLoadData) {
|
||||||
|
this.ammeterLoadData = ammeterLoadData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AmmeterMeteDataVo getAmmeterMeteData() {
|
||||||
|
return ammeterMeteData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAmmeterMeteDataVoList(AmmeterMeteDataVo ammeterMeteData) {
|
||||||
|
this.ammeterMeteData = ammeterMeteData;
|
||||||
|
}
|
||||||
|
}
|
@ -6,9 +6,9 @@ import java.util.Date;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电表数据
|
* 电表-总表数据
|
||||||
*/
|
*/
|
||||||
public class AmmeterDataVo {
|
public class AmmeterLoadDataVo {
|
||||||
|
|
||||||
/** 电表名称 */
|
/** 电表名称 */
|
||||||
private String deviceName;
|
private String deviceName;
|
||||||
@ -20,7 +20,8 @@ public class AmmeterDataVo {
|
|||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date dataUpdateTime;
|
private Date dataUpdateTime;
|
||||||
|
|
||||||
private List<AmmeterDataDetailInfo> ammeterDataDetailInfos;
|
/** 总表数据信息 */
|
||||||
|
private List<LoadDataDetailInfo> loadDataDetailInfo;
|
||||||
|
|
||||||
public String getDeviceName() {
|
public String getDeviceName() {
|
||||||
return deviceName;
|
return deviceName;
|
||||||
@ -46,11 +47,11 @@ public class AmmeterDataVo {
|
|||||||
this.dataUpdateTime = dataUpdateTime;
|
this.dataUpdateTime = dataUpdateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AmmeterDataDetailInfo> getAmmeterDataDetailInfos() {
|
public List<LoadDataDetailInfo> getLoadDataDetailInfo() {
|
||||||
return ammeterDataDetailInfos;
|
return loadDataDetailInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAmmeterDataDetailInfos(List<AmmeterDataDetailInfo> ammeterDataDetailInfos) {
|
public void setLoadDataDetailInfo(List<LoadDataDetailInfo> loadDataDetailInfo) {
|
||||||
this.ammeterDataDetailInfos = ammeterDataDetailInfos;
|
this.loadDataDetailInfo = loadDataDetailInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,57 @@
|
|||||||
|
package com.xzzn.ems.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电表-总表数据
|
||||||
|
*/
|
||||||
|
public class AmmeterMeteDataVo {
|
||||||
|
|
||||||
|
/** 电表名称 */
|
||||||
|
private String deviceName;
|
||||||
|
|
||||||
|
/** 通信状态 */
|
||||||
|
private String emsCommunicationStatus;
|
||||||
|
|
||||||
|
/** 数据更新时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date dataUpdateTime;
|
||||||
|
|
||||||
|
/** 储能表数据信息 */
|
||||||
|
private List<MeteDataDetailInfo> meteDataDetailInfo;
|
||||||
|
|
||||||
|
public String getDeviceName() {
|
||||||
|
return deviceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceName(String deviceName) {
|
||||||
|
this.deviceName = deviceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEmsCommunicationStatus() {
|
||||||
|
return emsCommunicationStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEmsCommunicationStatus(String emsCommunicationStatus) {
|
||||||
|
this.emsCommunicationStatus = emsCommunicationStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDataUpdateTime() {
|
||||||
|
return dataUpdateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataUpdateTime(Date dataUpdateTime) {
|
||||||
|
this.dataUpdateTime = dataUpdateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MeteDataDetailInfo> getMeteDataDetailInfo() {
|
||||||
|
return meteDataDetailInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMeteDataDetailInfo(List<MeteDataDetailInfo> meteDataDetailInfo) {
|
||||||
|
this.meteDataDetailInfo = meteDataDetailInfo;
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +1,11 @@
|
|||||||
package com.xzzn.ems.domain.vo;
|
package com.xzzn.ems.domain.vo;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电表详细数据
|
* 电表-总表数据展示
|
||||||
*/
|
*/
|
||||||
public class AmmeterDataDetailInfo
|
public class LoadDataDetailInfo
|
||||||
{
|
{
|
||||||
/** 类别 */
|
/** 类别 */
|
||||||
private String category;
|
private String category;
|
||||||
@ -15,10 +14,10 @@ public class AmmeterDataDetailInfo
|
|||||||
private BigDecimal totalKwh = BigDecimal.ZERO;
|
private BigDecimal totalKwh = BigDecimal.ZERO;
|
||||||
|
|
||||||
/** 尖 (kWh) */
|
/** 尖 (kWh) */
|
||||||
private BigDecimal sharpKwh = BigDecimal.ZERO;
|
private BigDecimal peakKwh = BigDecimal.ZERO;
|
||||||
|
|
||||||
/** 峰 (kWh) */
|
/** 峰 (kWh) */
|
||||||
private BigDecimal peakKwh = BigDecimal.ZERO;
|
private BigDecimal highKwh = BigDecimal.ZERO;
|
||||||
|
|
||||||
/** 平 (kWh) */
|
/** 平 (kWh) */
|
||||||
private BigDecimal flatKwh = BigDecimal.ZERO;
|
private BigDecimal flatKwh = BigDecimal.ZERO;
|
||||||
@ -26,11 +25,6 @@ public class AmmeterDataDetailInfo
|
|||||||
/** 谷 (kWh) */
|
/** 谷 (kWh) */
|
||||||
private BigDecimal valleyKwh = BigDecimal.ZERO;
|
private BigDecimal valleyKwh = BigDecimal.ZERO;
|
||||||
|
|
||||||
/** 总表设备Id */
|
|
||||||
private String deviceId;
|
|
||||||
|
|
||||||
/** 数据更新时间 */
|
|
||||||
private Date updateTime;
|
|
||||||
|
|
||||||
public BigDecimal getValleyKwh() {
|
public BigDecimal getValleyKwh() {
|
||||||
return valleyKwh;
|
return valleyKwh;
|
||||||
@ -56,12 +50,12 @@ public class AmmeterDataDetailInfo
|
|||||||
this.peakKwh = peakKwh;
|
this.peakKwh = peakKwh;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getSharpKwh() {
|
public BigDecimal getHighKwh() {
|
||||||
return sharpKwh;
|
return highKwh;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSharpKwh(BigDecimal sharpKwh) {
|
public void setHighKwh(BigDecimal highKwh) {
|
||||||
this.sharpKwh = sharpKwh;
|
this.highKwh = highKwh;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getTotalKwh() {
|
public BigDecimal getTotalKwh() {
|
||||||
@ -79,20 +73,4 @@ public class AmmeterDataDetailInfo
|
|||||||
public void setCategory(String category) {
|
public void setCategory(String category) {
|
||||||
this.category = category;
|
this.category = category;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDeviceId() {
|
|
||||||
return deviceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDeviceId(String deviceId) {
|
|
||||||
this.deviceId = deviceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getUpdateTime() {
|
|
||||||
return updateTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdateTime(Date updateTime) {
|
|
||||||
this.updateTime = updateTime;
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.xzzn.ems.domain.vo;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电表-储能表数据展示
|
||||||
|
*/
|
||||||
|
public class MeteDataDetailInfo
|
||||||
|
{
|
||||||
|
/** 类别:A相 B相 C相*/
|
||||||
|
private String category;
|
||||||
|
|
||||||
|
/** 有功功率 */
|
||||||
|
private BigDecimal activePower = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
/** 无功功率 */
|
||||||
|
private BigDecimal reactivePower = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
public String getCategory() {
|
||||||
|
return category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategory(String category) {
|
||||||
|
this.category = category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getActivePower() {
|
||||||
|
return activePower;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setActivePower(BigDecimal activePower) {
|
||||||
|
this.activePower = activePower;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getReactivePower() {
|
||||||
|
return reactivePower;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReactivePower(BigDecimal reactivePower) {
|
||||||
|
this.reactivePower = reactivePower;
|
||||||
|
}
|
||||||
|
}
|
@ -2,8 +2,6 @@ package com.xzzn.ems.mapper;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.xzzn.ems.domain.EmsAmmeterData;
|
import com.xzzn.ems.domain.EmsAmmeterData;
|
||||||
import com.xzzn.ems.domain.vo.AmmeterDataDetailInfo;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总数据Mapper接口
|
* 总数据Mapper接口
|
||||||
@ -60,11 +58,4 @@ public interface EmsAmmeterDataMapper
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteEmsAmmeterDataByIds(Long[] ids);
|
public int deleteEmsAmmeterDataByIds(Long[] ids);
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取总表详细数据
|
|
||||||
* @param siteId
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public List<AmmeterDataDetailInfo> getAmmeterDetailInfo(@Param("siteId")String siteId, @Param("deviceId") String deviceId);
|
|
||||||
}
|
}
|
||||||
|
@ -29,5 +29,5 @@ public interface ISingleSiteService
|
|||||||
|
|
||||||
public List<BatteryDataStatsListVo> getClusterDataInfoList(String clusterDeviceId,String siteId);
|
public List<BatteryDataStatsListVo> getClusterDataInfoList(String clusterDeviceId,String siteId);
|
||||||
|
|
||||||
public List<AmmeterDataVo> getAmmeterDataList(String siteId);
|
public AmmeterDataResponse getAmmeterDataList(String siteId);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ package com.xzzn.ems.service.impl;
|
|||||||
|
|
||||||
import com.xzzn.common.constant.RedisKeyConstants;
|
import com.xzzn.common.constant.RedisKeyConstants;
|
||||||
import com.xzzn.common.core.redis.RedisCache;
|
import com.xzzn.common.core.redis.RedisCache;
|
||||||
import com.xzzn.common.enums.AmmeterCategoryStatus;
|
import com.xzzn.common.enums.AmmeterCategory;
|
||||||
import com.xzzn.common.enums.DeviceCategory;
|
import com.xzzn.common.enums.DeviceCategory;
|
||||||
import com.xzzn.common.utils.StringUtils;
|
import com.xzzn.common.utils.StringUtils;
|
||||||
import com.xzzn.ems.domain.*;
|
import com.xzzn.ems.domain.*;
|
||||||
@ -29,6 +29,10 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
|
|
||||||
private static final String CLUSTER_DATA_SOC = "SOC";
|
private static final String CLUSTER_DATA_SOC = "SOC";
|
||||||
|
|
||||||
|
private static final String AMMETER_DEVICE_LOAD = "LOAD";
|
||||||
|
|
||||||
|
private static final String AMMETER_DEVICE_METE = "METE";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private EmsPcsDataMapper emsPcsDataMapper;
|
private EmsPcsDataMapper emsPcsDataMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -331,60 +335,96 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<AmmeterDataVo> getAmmeterDataList(String siteId) {
|
public AmmeterDataResponse getAmmeterDataList(String siteId) {
|
||||||
List<AmmeterDataVo> ammeterDataVos = new ArrayList<>();
|
AmmeterDataResponse ammeterResponse = new AmmeterDataResponse();
|
||||||
|
|
||||||
if (!StringUtils.isEmpty(siteId)) {
|
if (!StringUtils.isEmpty(siteId)) {
|
||||||
// 先获取总表设备
|
// 先获取电表设备
|
||||||
List<Map<String, Object>> ammeterIdList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.AMMETER.getCode());
|
List<Map<String, Object>> ammeterIdList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.AMMETER.getCode());
|
||||||
|
|
||||||
for (Map<String, Object> ammeterDevice : ammeterIdList) {
|
for (Map<String, Object> ammeterDevice : ammeterIdList) {
|
||||||
AmmeterDataVo ammeterDataVo = new AmmeterDataVo();
|
|
||||||
ammeterDataVo.setDeviceName(ammeterDevice.get("deviceName").toString());
|
|
||||||
ammeterDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus").toString());
|
|
||||||
// 从redis取总表详细数据
|
|
||||||
String ammeterId = ammeterDevice.get("id").toString();
|
String ammeterId = ammeterDevice.get("id").toString();
|
||||||
|
// 从redis取总表详细数据
|
||||||
EmsAmmeterData ammeterData = redisCache.getCacheObject(RedisKeyConstants.AMMETER + siteId + "_" +ammeterId);
|
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.setEmsCommunicationStatus(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.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus").toString());
|
||||||
|
// 处理储能表数据
|
||||||
|
dealAmmeterMeteData(ammeterData,ammeterMeteDataVo);
|
||||||
|
ammeterResponse.setAmmeterMeteDataVoList(ammeterMeteDataVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ammeterResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dealAmmeterMeteData(EmsAmmeterData ammeterData, AmmeterMeteDataVo ammeterMeteDataVo) {
|
||||||
if (ammeterData != null) {
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dealAmmeterLoadData(EmsAmmeterData ammeterData, AmmeterLoadDataVo ammeterDataVo) {
|
||||||
|
if (ammeterData != null) {
|
||||||
|
// 数据更新时间
|
||||||
ammeterDataVo.setDataUpdateTime(ammeterData.getDataUpdateTime());
|
ammeterDataVo.setDataUpdateTime(ammeterData.getDataUpdateTime());
|
||||||
// 处理类别数据
|
|
||||||
List<AmmeterDataDetailInfo> ammeterDataDetailInfos = new ArrayList<>();
|
|
||||||
dealAmmeterCategoryDataInfo(ammeterData,ammeterDataDetailInfos);
|
|
||||||
ammeterDataVo.setAmmeterDataDetailInfos(ammeterDataDetailInfos);
|
|
||||||
}
|
|
||||||
|
|
||||||
ammeterDataVos.add(ammeterDataVo);
|
List<LoadDataDetailInfo> loadDataDetailInfos = new ArrayList<>();
|
||||||
}
|
// 拼接数据
|
||||||
}
|
// 组合有功
|
||||||
return ammeterDataVos;
|
LoadDataDetailInfo ammeterDataDetailInfo1 = new LoadDataDetailInfo();
|
||||||
}
|
ammeterDataDetailInfo1.setCategory(AmmeterCategory.CURRENT_COMB_ACTIVE.getInfo());
|
||||||
|
|
||||||
private void dealAmmeterCategoryDataInfo(EmsAmmeterData ammeterData, List<AmmeterDataDetailInfo> ammeterDataDetailInfos) {
|
|
||||||
// 累计放电量
|
|
||||||
AmmeterDataDetailInfo ammeterDataDetailInfo1 = new AmmeterDataDetailInfo();
|
|
||||||
ammeterDataDetailInfo1.setCategory(AmmeterCategoryStatus.TOTAL_CHARGE.getInfo());
|
|
||||||
ammeterDataDetailInfo1.setTotalKwh(ammeterData.getCurrentCombActiveTotal());
|
ammeterDataDetailInfo1.setTotalKwh(ammeterData.getCurrentCombActiveTotal());
|
||||||
ammeterDataDetailInfo1.setSharpKwh(ammeterData.getCurrentCombActivePeak());
|
ammeterDataDetailInfo1.setPeakKwh(ammeterData.getCurrentCombActivePeak());
|
||||||
ammeterDataDetailInfo1.setPeakKwh(ammeterData.getCurrentCombActiveHigh());
|
ammeterDataDetailInfo1.setHighKwh(ammeterData.getCurrentCombActiveHigh());
|
||||||
ammeterDataDetailInfo1.setFlatKwh(ammeterData.getCurrentCombActiveFlat());
|
ammeterDataDetailInfo1.setFlatKwh(ammeterData.getCurrentCombActiveFlat());
|
||||||
ammeterDataDetailInfo1.setValleyKwh(ammeterData.getCurrentCombActiveValley());
|
ammeterDataDetailInfo1.setValleyKwh(ammeterData.getCurrentCombActiveValley());
|
||||||
ammeterDataDetailInfos.add(ammeterDataDetailInfo1);
|
loadDataDetailInfos.add(ammeterDataDetailInfo1);
|
||||||
// 累计放电量
|
// 组合无功
|
||||||
AmmeterDataDetailInfo ammeterDataDetailInfo2 = new AmmeterDataDetailInfo();
|
LoadDataDetailInfo ammeterDataDetailInfo2 = new LoadDataDetailInfo();
|
||||||
ammeterDataDetailInfo2.setCategory(AmmeterCategoryStatus.TOTAL_DISCHARGE.getInfo());
|
ammeterDataDetailInfo2.setCategory(AmmeterCategory.CURRENT_COMB_REACTIVE.getInfo());
|
||||||
ammeterDataDetailInfo2.setTotalKwh(ammeterData.getCurrentCombReactiveTotal());
|
ammeterDataDetailInfo2.setTotalKwh(ammeterData.getCurrentCombReactiveTotal());
|
||||||
ammeterDataDetailInfo2.setSharpKwh(ammeterData.getCurrentCombReactivePeak());
|
ammeterDataDetailInfo2.setPeakKwh(ammeterData.getCurrentCombReactivePeak());
|
||||||
ammeterDataDetailInfo2.setPeakKwh(ammeterData.getCurrentCombReactiveHigh());
|
ammeterDataDetailInfo2.setHighKwh(ammeterData.getCurrentCombReactiveHigh());
|
||||||
ammeterDataDetailInfo2.setFlatKwh(ammeterData.getCurrentCombReactiveFlat());
|
ammeterDataDetailInfo2.setFlatKwh(ammeterData.getCurrentCombReactiveFlat());
|
||||||
ammeterDataDetailInfo2.setValleyKwh(ammeterData.getCurrentCombReactiveValley());
|
ammeterDataDetailInfo2.setValleyKwh(ammeterData.getCurrentCombReactiveValley());
|
||||||
ammeterDataDetailInfos.add(ammeterDataDetailInfo2);
|
loadDataDetailInfos.add(ammeterDataDetailInfo2);
|
||||||
// 日放电量
|
|
||||||
AmmeterDataDetailInfo ammeterDataDetailInfo3 = new AmmeterDataDetailInfo();
|
ammeterDataVo.setLoadDataDetailInfo(loadDataDetailInfos);
|
||||||
ammeterDataDetailInfo3.setCategory(AmmeterCategoryStatus.DAILY_CHARGE.getInfo());
|
}
|
||||||
ammeterDataDetailInfos.add(ammeterDataDetailInfo3);
|
|
||||||
// 日充电量
|
|
||||||
AmmeterDataDetailInfo ammeterDataDetailInfo4 = new AmmeterDataDetailInfo();
|
|
||||||
ammeterDataDetailInfo4.setCategory(AmmeterCategoryStatus.DAILY_DISCHARGE.getInfo());
|
|
||||||
ammeterDataDetailInfos.add(ammeterDataDetailInfo4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -549,24 +549,4 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="getAmmeterDetailInfo" resultType="com.xzzn.ems.domain.vo.AmmeterDataDetailInfo">
|
|
||||||
SELECT t.category as category,
|
|
||||||
t.total_kwh as totalKwh,
|
|
||||||
t.sharp_kwh as sharpKwh,
|
|
||||||
t.flat_kwh as flatKwh,
|
|
||||||
t.peak_kwh as peakKwh,
|
|
||||||
t.device_id as deviceId,
|
|
||||||
t.valley_kwh as valleyKwh,
|
|
||||||
Max(t.data_update_time) as updateTime
|
|
||||||
FROM ems_ammeter_data t
|
|
||||||
INNER JOIN (
|
|
||||||
SELECT p.site_id, p.device_id,p.category,MAX(p.data_update_time) AS max_update_time
|
|
||||||
FROM ems_ammeter_data p
|
|
||||||
WHERE p.site_id = #{siteId} and p.device_id = #{deviceId}
|
|
||||||
GROUP BY p.site_id,p.device_id,p.category
|
|
||||||
) latest on t.device_id = latest.device_id and t.data_update_time = latest.max_update_time
|
|
||||||
WHERE t.site_id = #{siteId} and t.device_id = #{deviceId}
|
|
||||||
group by t.category,t.total_kwh,t.sharp_kwh,t.flat_kwh,t.peak_kwh,t.valley_kwh,t.device_id
|
|
||||||
order by updateTime desc
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user