站点地图

This commit is contained in:
2025-06-17 19:18:39 +08:00
parent 4ecf2daf0d
commit 9064c3e786
28 changed files with 2567 additions and 0 deletions

View File

@ -0,0 +1,181 @@
package com.xzzn.ems.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xzzn.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xzzn.common.annotation.Excel;
/**
* 告警记录对象 ems_alarm_records
*
* @author xzzn
* @date 2025-06-17
*/
public class EmsAlarmRecords extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long id;
/** 设备类型 */
@Excel(name = "设备类型")
private String deviceType;
/** 告警等级 */
@Excel(name = "告警等级")
private String alarmLevel;
/** 告警内容 */
@Excel(name = "告警内容")
private String alarmContent;
/** 告警发生时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "告警发生时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date alarmStartTime;
/** 告警结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "告警结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date alarmEndTime;
/** 状态 */
@Excel(name = "状态")
private String status;
/** 站点id */
@Excel(name = "站点id")
private Long siteId;
/** 设备唯一标识符 */
@Excel(name = "设备唯一标识符")
private Long deviceId;
/** 设备名称,用于标识设备 */
@Excel(name = "设备名称,用于标识设备")
private String deviceName;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setDeviceType(String deviceType)
{
this.deviceType = deviceType;
}
public String getDeviceType()
{
return deviceType;
}
public void setAlarmLevel(String alarmLevel)
{
this.alarmLevel = alarmLevel;
}
public String getAlarmLevel()
{
return alarmLevel;
}
public void setAlarmContent(String alarmContent)
{
this.alarmContent = alarmContent;
}
public String getAlarmContent()
{
return alarmContent;
}
public void setAlarmStartTime(Date alarmStartTime)
{
this.alarmStartTime = alarmStartTime;
}
public Date getAlarmStartTime()
{
return alarmStartTime;
}
public void setAlarmEndTime(Date alarmEndTime)
{
this.alarmEndTime = alarmEndTime;
}
public Date getAlarmEndTime()
{
return alarmEndTime;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setSiteId(Long siteId)
{
this.siteId = siteId;
}
public Long getSiteId()
{
return siteId;
}
public void setDeviceId(Long deviceId)
{
this.deviceId = deviceId;
}
public Long getDeviceId()
{
return deviceId;
}
public void setDeviceName(String deviceName)
{
this.deviceName = deviceName;
}
public String getDeviceName()
{
return deviceName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("deviceType", getDeviceType())
.append("alarmLevel", getAlarmLevel())
.append("alarmContent", getAlarmContent())
.append("alarmStartTime", getAlarmStartTime())
.append("alarmEndTime", getAlarmEndTime())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("siteId", getSiteId())
.append("deviceId", getDeviceId())
.append("deviceName", getDeviceName())
.toString();
}
}

View File

@ -0,0 +1,477 @@
package com.xzzn.ems.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xzzn.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xzzn.common.annotation.Excel;
/**
* PCS数据对象 ems_pcs_data
*
* @author xzzn
* @date 2025-06-17
*/
public class EmsPcsData extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long id;
/** 数据更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "数据更新时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date dataUpdateTime;
/** 工作状态 */
@Excel(name = "工作状态")
private String workStatus;
/** 并网状态 */
@Excel(name = "并网状态")
private String gridStatus;
/** 设备状态 */
@Excel(name = "设备状态")
private String deviceStatus;
/** 控制模式 */
@Excel(name = "控制模式")
private String controlMode;
/** 总交流有功电率 (kW) */
@Excel(name = "总交流有功电率 (kW)")
private BigDecimal totalActivePower;
/** 当天交流充电量 (kWh) */
@Excel(name = "当天交流充电量 (kWh)")
private BigDecimal dailyAcChargeEnergy;
/** A相电压 (V) */
@Excel(name = "A相电压 (V)")
private BigDecimal aPhaseVoltage;
/** A相电流 (A) */
@Excel(name = "A相电流 (A)")
private BigDecimal aPhaseCurrent;
/** 总交流无功电率 (kVar) */
@Excel(name = "总交流无功电率 (kVar)")
private BigDecimal totalReactivePower;
/** 当天交流放电量 (kWh) */
@Excel(name = "当天交流放电量 (kWh)")
private BigDecimal dailyAcDischargeEnergy;
/** B相电压 (V) */
@Excel(name = "B相电压 (V)")
private BigDecimal bPhaseVoltage;
/** B相电流 (A) */
@Excel(name = "B相电流 (A)")
private BigDecimal bPhaseCurrent;
/** 总交流视在功率 (kVA) */
@Excel(name = "总交流视在功率 (kVA)")
private BigDecimal totalApparentPower;
/** PCS模块温度 (℃) */
@Excel(name = "PCS模块温度 (℃)")
private BigDecimal pcsModuleTemperature;
/** C相电压 (V) */
@Excel(name = "C相电压 (V)")
private BigDecimal cPhaseVoltage;
/** C相电流 (A) */
@Excel(name = "C相电流 (A)")
private BigDecimal cPhaseCurrent;
/** 总交流功率因数 */
@Excel(name = "总交流功率因数")
private BigDecimal totalPowerFactor;
/** PCS环境温度 (℃) */
@Excel(name = "PCS环境温度 (℃)")
private BigDecimal pcsEnvironmentTemperature;
/** 交流频率 (Hz) */
@Excel(name = "交流频率 (Hz)")
private BigDecimal acFrequency;
/** 支路状态 */
@Excel(name = "支路状态")
private String branchStatus;
/** 放电状态 */
@Excel(name = "放电状态")
private String dischargeStatus;
/** 直流功率 (kW) */
@Excel(name = "直流功率 (kW)")
private BigDecimal dcPower;
/** 直流电压 (V) */
@Excel(name = "直流电压 (V)")
private BigDecimal dcVoltage;
/** 直流电流 (A) */
@Excel(name = "直流电流 (A)")
private BigDecimal dcCurrent;
/** 站点id */
@Excel(name = "站点id")
private Long siteId;
/** 设备唯一标识符 */
@Excel(name = "设备唯一标识符")
private Long deviceId;
/** 月 */
@Excel(name = "")
private int dateMonth;
/** 日 */
@Excel(name = "")
private int dateDay;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setDataUpdateTime(Date dataUpdateTime)
{
this.dataUpdateTime = dataUpdateTime;
}
public Date getDataUpdateTime()
{
return dataUpdateTime;
}
public void setWorkStatus(String workStatus)
{
this.workStatus = workStatus;
}
public String getWorkStatus()
{
return workStatus;
}
public void setGridStatus(String gridStatus)
{
this.gridStatus = gridStatus;
}
public String getGridStatus()
{
return gridStatus;
}
public void setDeviceStatus(String deviceStatus)
{
this.deviceStatus = deviceStatus;
}
public String getDeviceStatus()
{
return deviceStatus;
}
public void setControlMode(String controlMode)
{
this.controlMode = controlMode;
}
public String getControlMode()
{
return controlMode;
}
public void setTotalActivePower(BigDecimal totalActivePower)
{
this.totalActivePower = totalActivePower;
}
public BigDecimal getTotalActivePower()
{
return totalActivePower;
}
public void setDailyAcChargeEnergy(BigDecimal dailyAcChargeEnergy)
{
this.dailyAcChargeEnergy = dailyAcChargeEnergy;
}
public BigDecimal getDailyAcChargeEnergy()
{
return dailyAcChargeEnergy;
}
public void setaPhaseVoltage(BigDecimal aPhaseVoltage)
{
this.aPhaseVoltage = aPhaseVoltage;
}
public BigDecimal getaPhaseVoltage()
{
return aPhaseVoltage;
}
public void setaPhaseCurrent(BigDecimal aPhaseCurrent)
{
this.aPhaseCurrent = aPhaseCurrent;
}
public BigDecimal getaPhaseCurrent()
{
return aPhaseCurrent;
}
public void setTotalReactivePower(BigDecimal totalReactivePower)
{
this.totalReactivePower = totalReactivePower;
}
public BigDecimal getTotalReactivePower()
{
return totalReactivePower;
}
public void setDailyAcDischargeEnergy(BigDecimal dailyAcDischargeEnergy)
{
this.dailyAcDischargeEnergy = dailyAcDischargeEnergy;
}
public BigDecimal getDailyAcDischargeEnergy()
{
return dailyAcDischargeEnergy;
}
public void setbPhaseVoltage(BigDecimal bPhaseVoltage)
{
this.bPhaseVoltage = bPhaseVoltage;
}
public BigDecimal getbPhaseVoltage()
{
return bPhaseVoltage;
}
public void setbPhaseCurrent(BigDecimal bPhaseCurrent)
{
this.bPhaseCurrent = bPhaseCurrent;
}
public BigDecimal getbPhaseCurrent()
{
return bPhaseCurrent;
}
public void setTotalApparentPower(BigDecimal totalApparentPower)
{
this.totalApparentPower = totalApparentPower;
}
public BigDecimal getTotalApparentPower()
{
return totalApparentPower;
}
public void setPcsModuleTemperature(BigDecimal pcsModuleTemperature)
{
this.pcsModuleTemperature = pcsModuleTemperature;
}
public BigDecimal getPcsModuleTemperature()
{
return pcsModuleTemperature;
}
public void setcPhaseVoltage(BigDecimal cPhaseVoltage)
{
this.cPhaseVoltage = cPhaseVoltage;
}
public BigDecimal getcPhaseVoltage()
{
return cPhaseVoltage;
}
public void setcPhaseCurrent(BigDecimal cPhaseCurrent)
{
this.cPhaseCurrent = cPhaseCurrent;
}
public BigDecimal getcPhaseCurrent()
{
return cPhaseCurrent;
}
public void setTotalPowerFactor(BigDecimal totalPowerFactor)
{
this.totalPowerFactor = totalPowerFactor;
}
public BigDecimal getTotalPowerFactor()
{
return totalPowerFactor;
}
public void setPcsEnvironmentTemperature(BigDecimal pcsEnvironmentTemperature)
{
this.pcsEnvironmentTemperature = pcsEnvironmentTemperature;
}
public BigDecimal getPcsEnvironmentTemperature()
{
return pcsEnvironmentTemperature;
}
public void setAcFrequency(BigDecimal acFrequency)
{
this.acFrequency = acFrequency;
}
public BigDecimal getAcFrequency()
{
return acFrequency;
}
public void setBranchStatus(String branchStatus)
{
this.branchStatus = branchStatus;
}
public String getBranchStatus()
{
return branchStatus;
}
public void setDischargeStatus(String dischargeStatus)
{
this.dischargeStatus = dischargeStatus;
}
public String getDischargeStatus()
{
return dischargeStatus;
}
public void setDcPower(BigDecimal dcPower)
{
this.dcPower = dcPower;
}
public BigDecimal getDcPower()
{
return dcPower;
}
public void setDcVoltage(BigDecimal dcVoltage)
{
this.dcVoltage = dcVoltage;
}
public BigDecimal getDcVoltage()
{
return dcVoltage;
}
public void setDcCurrent(BigDecimal dcCurrent)
{
this.dcCurrent = dcCurrent;
}
public BigDecimal getDcCurrent()
{
return dcCurrent;
}
public void setSiteId(Long siteId)
{
this.siteId = siteId;
}
public Long getSiteId()
{
return siteId;
}
public void setDeviceId(Long deviceId)
{
this.deviceId = deviceId;
}
public Long getDeviceId()
{
return deviceId;
}
public int getDateMonth() {
return dateMonth;
}
public void setDateMonth(int dateMonth) {
this.dateMonth = dateMonth;
}
public int getDateDay() {
return dateDay;
}
public void setDateDay(int dateDay) {
this.dateDay = dateDay;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("dataUpdateTime", getDataUpdateTime())
.append("workStatus", getWorkStatus())
.append("gridStatus", getGridStatus())
.append("deviceStatus", getDeviceStatus())
.append("controlMode", getControlMode())
.append("totalActivePower", getTotalActivePower())
.append("dailyAcChargeEnergy", getDailyAcChargeEnergy())
.append("aPhaseVoltage", getaPhaseVoltage())
.append("aPhaseCurrent", getaPhaseCurrent())
.append("totalReactivePower", getTotalReactivePower())
.append("dailyAcDischargeEnergy", getDailyAcDischargeEnergy())
.append("bPhaseVoltage", getbPhaseVoltage())
.append("bPhaseCurrent", getbPhaseCurrent())
.append("totalApparentPower", getTotalApparentPower())
.append("pcsModuleTemperature", getPcsModuleTemperature())
.append("cPhaseVoltage", getcPhaseVoltage())
.append("cPhaseCurrent", getcPhaseCurrent())
.append("totalPowerFactor", getTotalPowerFactor())
.append("pcsEnvironmentTemperature", getPcsEnvironmentTemperature())
.append("acFrequency", getAcFrequency())
.append("branchStatus", getBranchStatus())
.append("dischargeStatus", getDischargeStatus())
.append("dcPower", getDcPower())
.append("dcVoltage", getDcVoltage())
.append("dcCurrent", getDcCurrent())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("siteId", getSiteId())
.append("deviceId", getDeviceId())
.append("dateMonth", getDateMonth())
.append("dateDay", getDateDay())
.toString();
}
}

View File

@ -0,0 +1,57 @@
package com.xzzn.ems.domain;
import com.xzzn.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xzzn.common.annotation.Excel;
/**
* 站点对象 site
*
* @author xzzn
* @date 2025-06-16
*/
public class EmsSite extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 自增主键 */
private Long id;
/** 站点名称 */
@Excel(name = "站点名称")
private String siteName;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setSiteName(String siteName)
{
this.siteName = siteName;
}
public String getSiteName()
{
return siteName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("siteName", getSiteName())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,48 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 实时运行-电池平均SOC数据
*
*/
public class BatteryAveSOCVo {
/**
* 月份 月+日
*/
private String monthDay;
/**
* 实时SOC
*/
private BigDecimal batterySOC;
/**
* 昨日SOC
*/
private BigDecimal ytdBatterySOC;
public String getMonthDay() {
return monthDay;
}
public void setMonthDay(String monthDay) {
this.monthDay = monthDay;
}
public BigDecimal getBatterySOC() {
return batterySOC;
}
public void setBatterySOC(BigDecimal batterySOC) {
this.batterySOC = batterySOC;
}
public BigDecimal getYtdBatterySOC() {
return ytdBatterySOC;
}
public void setYtdBatterySOC(BigDecimal ytdBatterySOC) {
this.ytdBatterySOC = ytdBatterySOC;
}
}

View File

@ -0,0 +1,49 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 实时运行-电池平均温度数据
*
*/
public class BatteryAveTempVo {
/**
* 月份 月+日
*/
private String monthDay;
/**
* 实时温度
*/
private BigDecimal batteryTemp;
/**
* 昨日温度
*/
private BigDecimal batteryYtdTemp;
public String getMonthDay() {
return monthDay;
}
public void setMonthDay(String monthDay) {
this.monthDay = monthDay;
}
public BigDecimal getBatteryTemp() {
return batteryTemp;
}
public void setBatteryTemp(BigDecimal batteryTemp) {
this.batteryTemp = batteryTemp;
}
public BigDecimal getBatteryYtdTemp() {
return batteryYtdTemp;
}
public void setBatteryYtdTemp(BigDecimal batteryYtdTemp) {
this.batteryYtdTemp = batteryYtdTemp;
}
}

View File

@ -0,0 +1,74 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 实时运行-储能功率数据
*
*/
public class EnergyStoragePowVo {
/**
* 月份 月+日
*/
private String monthDay;
/**
* pcs实时有功功率
*/
private BigDecimal pcsTotalActPower;
/**
* pcs实时无功功率
*/
private BigDecimal pcsTotalReactivePower;
/**
* pcs昨日有功功率
*/
private BigDecimal pcsYtdActPower;
/**
* pcs昨日无功功率
*/
private BigDecimal pcsYtdReactivePower;
public String getMonthDay() {
return monthDay;
}
public void setMonthDay(String monthDay) {
this.monthDay = monthDay;
}
public BigDecimal getPcsTotalActPower() {
return pcsTotalActPower;
}
public void setPcsTotalActPower(BigDecimal pcsTotalActPower) {
this.pcsTotalActPower = pcsTotalActPower;
}
public BigDecimal getPcsTotalReactivePower() {
return pcsTotalReactivePower;
}
public void setPcsTotalReactivePower(BigDecimal pcsTotalReactivePower) {
this.pcsTotalReactivePower = pcsTotalReactivePower;
}
public BigDecimal getPcsYtdActPower() {
return pcsYtdActPower;
}
public void setPcsYtdActPower(BigDecimal pcsYtdActPower) {
this.pcsYtdActPower = pcsYtdActPower;
}
public BigDecimal getPcsYtdReactivePower() {
return pcsYtdReactivePower;
}
public void setPcsYtdReactivePower(BigDecimal pcsYtdReactivePower) {
this.pcsYtdReactivePower = pcsYtdReactivePower;
}
}

View File

@ -0,0 +1,48 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 实时运行-pcs平均温度数据
*
*/
public class PCSAveTempVo {
/**
* 月份 月+日
*/
private String monthDay;
/**
* 实时温度
*/
private BigDecimal pcsTemp;
/**
* 昨日同时段温度(到分)
*/
private BigDecimal pcsYtdTemp;
public String getMonthDay() {
return monthDay;
}
public void setMonthDay(String monthDay) {
this.monthDay = monthDay;
}
public BigDecimal getPcsTemp() {
return pcsTemp;
}
public void setPcsTemp(BigDecimal pcsTemp) {
this.pcsTemp = pcsTemp;
}
public BigDecimal getPcsYtdTemp() {
return pcsYtdTemp;
}
public void setPcsYtdTemp(BigDecimal pcsYtdTemp) {
this.pcsYtdTemp = pcsYtdTemp;
}
}

View File

@ -0,0 +1,128 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 站点地图-某个站点基本信息
*
*/
public class SingleSiteBaseInfo {
/**
* 今日充电量
*/
private BigDecimal dayChargedCap;
/**
* 今日放电量
*/
private BigDecimal dayDisChargedCap;
/**
* 总充电量
*/
private BigDecimal totalChargedCap;
/**
* 总放电量
*/
private BigDecimal totalDischargedCap;
/**
* 站点位置
*/
private String siteLocation;
/**
* 投运时间
*/
private String runningTime;
/**
* 装机功率MW
*/
private BigDecimal installedPower;
/**
* 装机容量MW
*/
private BigDecimal installedCap;
/**
* 七天放电统计
*/
private List<SiteMonitorDataVo> SevenDayDischargeStats;
public BigDecimal getDayChargedCap() {
return dayChargedCap;
}
public void setDayChargedCap(BigDecimal dayChargedCap) {
this.dayChargedCap = dayChargedCap;
}
public List<SiteMonitorDataVo> getSevenDayDischargeStats() {
return SevenDayDischargeStats;
}
public void setSevenDayDischargeStats(List<SiteMonitorDataVo> sevenDayDischargeStats) {
SevenDayDischargeStats = sevenDayDischargeStats;
}
public BigDecimal getInstalledCap() {
return installedCap;
}
public void setInstalledCap(BigDecimal installedCap) {
this.installedCap = installedCap;
}
public BigDecimal getInstalledPower() {
return installedPower;
}
public void setInstalledPower(BigDecimal installedPower) {
this.installedPower = installedPower;
}
public String getRunningTime() {
return runningTime;
}
public void setRunningTime(String runningTime) {
this.runningTime = runningTime;
}
public String getSiteLocation() {
return siteLocation;
}
public void setSiteLocation(String siteLocation) {
this.siteLocation = siteLocation;
}
public BigDecimal getTotalDischargedCap() {
return totalDischargedCap;
}
public void setTotalDischargedCap(BigDecimal totalDischargedCap) {
this.totalDischargedCap = totalDischargedCap;
}
public BigDecimal getTotalChargedCap() {
return totalChargedCap;
}
public void setTotalChargedCap(BigDecimal totalChargedCap) {
this.totalChargedCap = totalChargedCap;
}
public BigDecimal getDayDisChargedCap() {
return dayDisChargedCap;
}
public void setDayDisChargedCap(BigDecimal dayDisChargedCap) {
this.dayDisChargedCap = dayDisChargedCap;
}
}

View File

@ -0,0 +1,48 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 单站监控首页-能量流转数据
*
*/
public class SiteMonitorDataVo {
/**
* 日期
*/
private String ammeterDate;
/**
* 放电量
*/
private BigDecimal disChargedCap;
/**
* 充电量
*/
private BigDecimal chargedCap;
public String getAmmeterDate() {
return ammeterDate;
}
public void setAmmeterDate(String ammeterDate) {
this.ammeterDate = ammeterDate;
}
public BigDecimal getDisChargedCap() {
return disChargedCap;
}
public void setDisChargedCap(BigDecimal disChargedCap) {
this.disChargedCap = disChargedCap;
}
public BigDecimal getChargedCap() {
return chargedCap;
}
public void setChargedCap(BigDecimal chargedCap) {
this.chargedCap = chargedCap;
}
}

View File

@ -0,0 +1,46 @@
package com.xzzn.ems.domain.vo;
/**
* 单站监控首页告警数据
*
*/
public class SiteMonitorHomeAlarmVo {
/**
* 告警名称
*/
private String deviceName;
/**
* 状态
*/
private int status;
/**
* 告警内容
*/
private String alarmContent;
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getAlarmContent() {
return alarmContent;
}
public void setAlarmContent(String alarmContent) {
this.alarmContent = alarmContent;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}

View File

@ -0,0 +1,142 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
import java.util.List;
/**
* 单站监控首页数据
*
*/
public class SiteMonitorHomeVo {
/**
* 今日充电量
*/
private BigDecimal dayChargedCap;
/**
* 今日放电量
*/
private BigDecimal dayDisChargedCap;
/**
* 总充电量
*/
private BigDecimal totalChargedCap;
/**
* 总放电量
*/
private BigDecimal totalDischargedCap;
/**
* 告警集合
*/
private List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo;
/**
* 电网实时功率
*/
private BigDecimal gridNrtPower;
/**
* 储能实时功率-暂空
*/
private BigDecimal energyStorageNrtPower;
/**
* 储能可用电量
*/
private BigDecimal energyStorageAvailElec;
/**
* 负载实时功率-暂空
*/
private BigDecimal loadNrtPower;
/**
* 能量流转数据
*/
private List<SiteMonitorDataVo> siteMonitorDataVo;
public BigDecimal getDayChargedCap() {
return dayChargedCap;
}
public void setDayChargedCap(BigDecimal dayChargedCap) {
this.dayChargedCap = dayChargedCap;
}
public BigDecimal getDayDisChargedCap() {
return dayDisChargedCap;
}
public void setDayDisChargedCap(BigDecimal dayDisChargedCap) {
this.dayDisChargedCap = dayDisChargedCap;
}
public BigDecimal getTotalChargedCap() {
return totalChargedCap;
}
public void setTotalChargedCap(BigDecimal totalChargedCap) {
this.totalChargedCap = totalChargedCap;
}
public BigDecimal getTotalDischargedCap() {
return totalDischargedCap;
}
public void setTotalDischargedCap(BigDecimal totalDischargedCap) {
this.totalDischargedCap = totalDischargedCap;
}
public List<SiteMonitorHomeAlarmVo> getSiteMonitorHomeAlarmVo() {
return siteMonitorHomeAlarmVo;
}
public void setSiteMonitorHomeAlarmVo(List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo) {
this.siteMonitorHomeAlarmVo = siteMonitorHomeAlarmVo;
}
public BigDecimal getGridNrtPower() {
return gridNrtPower;
}
public void setGridNrtPower(BigDecimal gridNrtPower) {
this.gridNrtPower = gridNrtPower;
}
public BigDecimal getEnergyStorageNrtPower() {
return energyStorageNrtPower;
}
public void setEnergyStorageNrtPower(BigDecimal energyStorageNrtPower) {
this.energyStorageNrtPower = energyStorageNrtPower;
}
public BigDecimal getEnergyStorageAvailElec() {
return energyStorageAvailElec;
}
public void setEnergyStorageAvailElec(BigDecimal energyStorageAvailElec) {
this.energyStorageAvailElec = energyStorageAvailElec;
}
public BigDecimal getLoadNrtPower() {
return loadNrtPower;
}
public void setLoadNrtPower(BigDecimal loadNrtPower) {
this.loadNrtPower = loadNrtPower;
}
public List<SiteMonitorDataVo> getSiteMonitorDataVo() {
return siteMonitorDataVo;
}
public void setSiteMonitorDataVo(List<SiteMonitorDataVo> siteMonitorDataVo) {
this.siteMonitorDataVo = siteMonitorDataVo;
}
}

View File

@ -0,0 +1,140 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
import java.util.List;
/**
* 单站监控-设备监控-实时运行数据
*
*/
public class SiteMonitorRuningInfoVo {
/**
* 实时有功功率
*/
private BigDecimal totalActivePower;
/**
* 实时无功功率
*/
private BigDecimal totalReactivePower;
/**
* 电池簇SOC
*/
private BigDecimal soc;
/**
* 电池堆SOH
*/
private BigDecimal soh;
/**
* 今日充电量
*/
private BigDecimal dayChargedCap;
/**
* 今日放电量
*/
private BigDecimal dayDisChargedCap;
/**
* 储能功率list
*/
private List<EnergyStoragePowVo> energyStoragePowList;
/**
* pcs平均温度list
*/
private List<PCSAveTempVo> pcsAveTempList;
/**
* 电池平均soclist
*/
private List<BatteryAveSOCVo> batteryAveSOCList;
/**
* 电池平均温度list
*/
private List<BatteryAveTempVo> batteryAveTempList;
public BigDecimal getTotalActivePower() {
return totalActivePower;
}
public void setTotalActivePower(BigDecimal totalActivePower) {
this.totalActivePower = totalActivePower;
}
public BigDecimal getTotalReactivePower() {
return totalReactivePower;
}
public void setTotalReactivePower(BigDecimal totalReactivePower) {
this.totalReactivePower = totalReactivePower;
}
public BigDecimal getSoc() {
return soc;
}
public void setSoc(BigDecimal soc) {
this.soc = soc;
}
public BigDecimal getSoh() {
return soh;
}
public void setSoh(BigDecimal soh) {
this.soh = soh;
}
public BigDecimal getDayChargedCap() {
return dayChargedCap;
}
public void setDayChargedCap(BigDecimal dayChargedCap) {
this.dayChargedCap = dayChargedCap;
}
public BigDecimal getDayDisChargedCap() {
return dayDisChargedCap;
}
public void setDayDisChargedCap(BigDecimal dayDisChargedCap) {
this.dayDisChargedCap = dayDisChargedCap;
}
public List<EnergyStoragePowVo> getEnergyStoragePowList() {
return energyStoragePowList;
}
public void setEnergyStoragePowList(List<EnergyStoragePowVo> energyStoragePowList) {
this.energyStoragePowList = energyStoragePowList;
}
public List<PCSAveTempVo> getPcsAveTempList() {
return pcsAveTempList;
}
public void setPcsAveTempList(List<PCSAveTempVo> pcsAveTempList) {
this.pcsAveTempList = pcsAveTempList;
}
public List<BatteryAveSOCVo> getBatteryAveSOCList() {
return batteryAveSOCList;
}
public void setBatteryAveSOCList(List<BatteryAveSOCVo> batteryAveSOCList) {
this.batteryAveSOCList = batteryAveSOCList;
}
public List<BatteryAveTempVo> getBatteryAveTempList() {
return batteryAveTempList;
}
public void setBatteryAveTempList(List<BatteryAveTempVo> batteryAveTempList) {
this.batteryAveTempList = batteryAveTempList;
}
}

View File

@ -0,0 +1,85 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 站点总信息
*
*/
public class SiteTotalInfoVo {
/**
* 站点总数(座)
*/
private int siteNum;
/**
* 装机功率MW
*/
private BigDecimal installedPower;
/**
* 装机容量MW
*/
private BigDecimal installedCap;
/**
* 总充电量MWH
*/
private BigDecimal totalChargedCap;
/**
* 总放电量MWH
*/
private BigDecimal totalDischargedCap;
public int getSiteNum() {
return siteNum;
}
public void setSiteNum(int siteNum) {
this.siteNum = siteNum;
}
public BigDecimal getTotalDischargedCap() {
return totalDischargedCap;
}
public void setTotalDischargedCap(BigDecimal totalDischargedCap) {
this.totalDischargedCap = totalDischargedCap;
}
public BigDecimal getTotalChargedCap() {
return totalChargedCap;
}
public void setTotalChargedCap(BigDecimal totalChargedCap) {
this.totalChargedCap = totalChargedCap;
}
public BigDecimal getInstalledCap() {
return installedCap;
}
public void setInstalledCap(BigDecimal installedCap) {
this.installedCap = installedCap;
}
public BigDecimal getInstalledPower() {
return installedPower;
}
public void setInstalledPower(BigDecimal installedPower) {
this.installedPower = installedPower;
}
@Override
public String toString() {
return "SiteVo{" +
"siteNum=" + siteNum +
", installedPower=" + installedPower +
", installedCap=" + installedCap +
", totalChargedCap=" + totalChargedCap +
", totalDischargedCap=" + totalDischargedCap +
'}';
}
}

View File

@ -0,0 +1,68 @@
package com.xzzn.ems.mapper;
import java.util.List;
import com.xzzn.ems.domain.EmsAlarmRecords;
import com.xzzn.ems.domain.vo.SiteMonitorHomeAlarmVo;
/**
* 告警记录Mapper接口
*
* @author xzzn
* @date 2025-06-17
*/
public interface EmsAlarmRecordsMapper
{
/**
* 查询告警记录
*
* @param id 告警记录主键
* @return 告警记录
*/
public EmsAlarmRecords selectEmsAlarmRecordsById(Long id);
/**
* 查询告警记录列表
*
* @param emsAlarmRecords 告警记录
* @return 告警记录集合
*/
public List<EmsAlarmRecords> selectEmsAlarmRecordsList(EmsAlarmRecords emsAlarmRecords);
/**
* 新增告警记录
*
* @param emsAlarmRecords 告警记录
* @return 结果
*/
public int insertEmsAlarmRecords(EmsAlarmRecords emsAlarmRecords);
/**
* 修改告警记录
*
* @param emsAlarmRecords 告警记录
* @return 结果
*/
public int updateEmsAlarmRecords(EmsAlarmRecords emsAlarmRecords);
/**
* 删除告警记录
*
* @param id 告警记录主键
* @return 结果
*/
public int deleteEmsAlarmRecordsById(Long id);
/**
* 批量删除告警记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteEmsAlarmRecordsByIds(Long[] ids);
/**
* 根据站点id获取告警记录
*
*/
public List<SiteMonitorHomeAlarmVo> getAlarmRecordsBySiteId(Long siteId);
}

View File

@ -0,0 +1,77 @@
package com.xzzn.ems.mapper;
import java.math.BigDecimal;
import java.util.List;
import com.xzzn.ems.domain.EmsPcsData;
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
/**
* PCS数据Mapper接口
*
* @author xzzn
* @date 2025-06-17
*/
public interface EmsPcsDataMapper
{
/**
* 查询PCS数据
*
* @param id PCS数据主键
* @return PCS数据
*/
public EmsPcsData selectEmsPcsDataById(Long id);
/**
* 查询PCS数据列表
*
* @param emsPcsData PCS数据
* @return PCS数据集合
*/
public List<EmsPcsData> selectEmsPcsDataList(EmsPcsData emsPcsData);
/**
* 新增PCS数据
*
* @param emsPcsData PCS数据
* @return 结果
*/
public int insertEmsPcsData(EmsPcsData emsPcsData);
/**
* 修改PCS数据
*
* @param emsPcsData PCS数据
* @return 结果
*/
public int updateEmsPcsData(EmsPcsData emsPcsData);
/**
* 删除PCS数据
*
* @param id PCS数据主键
* @return 结果
*/
public int deleteEmsPcsDataById(Long id);
/**
* 批量删除PCS数据
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteEmsPcsDataByIds(Long[] ids);
/**
* 根据site_id获取日期对应的充放电数据
* @param siteId
* @return
*/
public List<SiteMonitorDataVo> getPcsDataBySiteId(Long siteId);
/**
* 根据站点获取电网实时功率=sum总交流有功电率
* @param siteId
* @return
*/
public BigDecimal getGridNrtPower(Long siteId);
}

View File

@ -0,0 +1,67 @@
package com.xzzn.ems.mapper;
import java.util.List;
import com.xzzn.ems.domain.EmsSite;
import com.xzzn.ems.domain.vo.SiteTotalInfoVo;
/**
* 站点Mapper接口
*
* @author xzzn
* @date 2025-06-16
*/
public interface EmsSiteMapper
{
/**
* 查询站点
*
* @param id 站点主键
* @return 站点
*/
public EmsSite selectSiteById(Long id);
/**
* 查询站点列表
*
* @return 站点集合
*/
public List<EmsSite> selectSiteList();
/**
* 新增站点
*
* @param site 站点
* @return 结果
*/
public int insertSite(EmsSite site);
/**
* 修改站点
*
* @param site 站点
* @return 结果
*/
public int updateSite(EmsSite site);
/**
* 删除站点
*
* @param id 站点主键
* @return 结果
*/
public int deleteSiteById(Long id);
/**
* 批量删除站点
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSiteByIds(Long[] ids);
/**
* 获取站点总信息
* @return
*/
public SiteTotalInfoVo getSiteTotalInfo();
}

View File

@ -0,0 +1,20 @@
package com.xzzn.ems.service;
import com.xzzn.ems.domain.EmsSite;
import com.xzzn.ems.domain.vo.SiteTotalInfoVo;
import java.util.List;
/**
* 站点信息 服务层
*
*/
public interface IEmsSiteService
{
public List<EmsSite> getAllSites();
public SiteTotalInfoVo getSiteTotalInfo();
}

View File

@ -0,0 +1,16 @@
package com.xzzn.ems.service;
import com.xzzn.ems.domain.vo.SingleSiteBaseInfo;
import com.xzzn.ems.domain.vo.SiteTotalInfoVo;
/**
* 站点信息 服务层
*
*/
public interface IHomePageService
{
public SiteTotalInfoVo getSiteTotalInfo();
public SingleSiteBaseInfo getSingleSiteBaseInfo(Long siteId);
}

View File

@ -0,0 +1,17 @@
package com.xzzn.ems.service;
import com.xzzn.ems.domain.vo.SiteMonitorHomeVo;
import com.xzzn.ems.domain.vo.SiteMonitorRuningInfoVo;
/**
* 单点监控 服务层
*
*/
public interface ISingleSiteService
{
public SiteMonitorHomeVo getSiteMonitorDataVo(Long siteId);
public SiteMonitorRuningInfoVo getSiteRuningInfo(Long siteId);
}

View File

@ -0,0 +1,33 @@
package com.xzzn.ems.service.impl;
import com.xzzn.ems.domain.EmsSite;
import com.xzzn.ems.domain.vo.SiteTotalInfoVo;
import com.xzzn.ems.mapper.EmsSiteMapper;
import com.xzzn.ems.service.IEmsSiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 站点信息 服务层实现
*
*/
@Service
public class EmsSiteServiceImpl implements IEmsSiteService
{
@Autowired
private EmsSiteMapper emsSiteMapper;
@Override
public List<EmsSite> getAllSites() {
return emsSiteMapper.selectSiteList();
}
@Override
public SiteTotalInfoVo getSiteTotalInfo() {
return emsSiteMapper.getSiteTotalInfo();
}
}

View File

@ -0,0 +1,104 @@
package com.xzzn.ems.service.impl;
import com.xzzn.common.utils.DateUtils;
import com.xzzn.common.utils.StringUtils;
import com.xzzn.ems.domain.EmsSite;
import com.xzzn.ems.domain.vo.SingleSiteBaseInfo;
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
import com.xzzn.ems.domain.vo.SiteTotalInfoVo;
import com.xzzn.ems.mapper.EmsPcsDataMapper;
import com.xzzn.ems.mapper.EmsSiteMapper;
import com.xzzn.ems.service.IEmsSiteService;
import com.xzzn.ems.service.IHomePageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 首页看板+站点地图 服务层实现
*
*/
@Service
public class HomePageServiceImpl implements IHomePageService
{
@Autowired
private IEmsSiteService emsSiteService;
@Autowired
private EmsPcsDataMapper emsPcsDataMapper;
@Autowired
private EmsSiteMapper emsSiteMapper;
@Override
public SiteTotalInfoVo getSiteTotalInfo() {
return emsSiteService.getSiteTotalInfo();
}
@Override
public SingleSiteBaseInfo getSingleSiteBaseInfo(Long siteId) {
SingleSiteBaseInfo singleSiteBaseInfo = new SingleSiteBaseInfo();
if (siteId != null) {
// 站点基本信息
EmsSite emsSite = emsSiteMapper.selectSiteById(siteId);
if (emsSite != null) {
singleSiteBaseInfo.setSiteLocation(emsSite.getRemark());//站点位置
singleSiteBaseInfo.setRunningTime(DateUtils.parseDateToStr("yyyy-MM-dd",emsSite.getCreateTime()));//投运时间
// 装机功率+装机容量 待定
// 七天放电数据统计
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId);
singleSiteBaseInfo.setSevenDayDischargeStats(siteMonitorDataVoList);
// 充放电基本数据处理
dealSitePCSDate(singleSiteBaseInfo,siteMonitorDataVoList);
}
}
return singleSiteBaseInfo;
}
private void dealSitePCSDate(SingleSiteBaseInfo singleSiteBaseInfo, List<SiteMonitorDataVo> siteMonitorDataVoList) {
if (siteMonitorDataVoList != null && !siteMonitorDataVoList.isEmpty()) {
BigDecimal dayChargeCap = new BigDecimal(0);
BigDecimal dayDisChargeCap = new BigDecimal(0);
BigDecimal totalChargeCap = new BigDecimal(0);
BigDecimal totalDisChargeCap = new BigDecimal(0);
for (SiteMonitorDataVo sitePcsData : siteMonitorDataVoList) {
// 总充电量
totalChargeCap = totalChargeCap.add(sitePcsData.getChargedCap());
// 总放电量
totalDisChargeCap = totalDisChargeCap.add(sitePcsData.getDisChargedCap());
// 获取当天的充电量+放电量
String pcsDate = sitePcsData.getAmmeterDate();
boolean isToday= checkIsToday(pcsDate);
if(isToday){
dayChargeCap = dayChargeCap.add(sitePcsData.getChargedCap());
dayDisChargeCap = dayDisChargeCap.add(sitePcsData.getDisChargedCap());
}
}
singleSiteBaseInfo.setDayChargedCap(dayChargeCap);
singleSiteBaseInfo.setDayDisChargedCap(dayDisChargeCap);
singleSiteBaseInfo.setTotalChargedCap(totalChargeCap);
singleSiteBaseInfo.setTotalDischargedCap(totalDisChargeCap);
}
}
private boolean checkIsToday(String pcsDate) {
boolean flag = false;
Calendar calendar = Calendar.getInstance();
int todayMonth = calendar.get(Calendar.MONTH) + 1;
int todayDay = calendar.get(Calendar.DAY_OF_MONTH);
if (StringUtils.isNotEmpty(pcsDate)){
String[] pcsDateArray = pcsDate.split("/");
if (todayMonth == Integer.parseInt(pcsDateArray[0]) &&
todayDay == Integer.parseInt(pcsDateArray[1])) {
flag = true;
}
}
return flag;
}
}

View File

@ -0,0 +1,95 @@
package com.xzzn.ems.service.impl;
import com.xzzn.common.utils.DateUtils;
import com.xzzn.common.utils.StringUtils;
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
import com.xzzn.ems.domain.vo.SiteMonitorHomeAlarmVo;
import com.xzzn.ems.domain.vo.SiteMonitorHomeVo;
import com.xzzn.ems.domain.vo.SiteMonitorRuningInfoVo;
import com.xzzn.ems.mapper.EmsAlarmRecordsMapper;
import com.xzzn.ems.mapper.EmsPcsDataMapper;
import com.xzzn.ems.service.ISingleSiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 单点监控 服务层实现
*/
@Service
public class SingleSiteServiceImpl implements ISingleSiteService {
@Autowired
private EmsPcsDataMapper emsPcsDataMapper;
@Autowired
private EmsAlarmRecordsMapper emsAlarmRecordsMapper;
@Override
public SiteMonitorHomeVo getSiteMonitorDataVo(Long siteId) {
SiteMonitorHomeVo siteMonitorHomeVo = new SiteMonitorHomeVo();
if (siteId != null) {
// 实时告警数据 名称+状态+告警内容
List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId);
siteMonitorHomeVo.setSiteMonitorHomeAlarmVo(siteMonitorHomeAlarmVo);
// 能量数据
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId);
if (siteMonitorDataVoList != null && !siteMonitorDataVoList.isEmpty()) {
BigDecimal dayChargeCap = new BigDecimal(0);
BigDecimal dayDisChargeCap = new BigDecimal(0);
BigDecimal totalChargeCap = new BigDecimal(0);
BigDecimal totalDisChargeCap = new BigDecimal(0);
for (SiteMonitorDataVo sitePcsData : siteMonitorDataVoList) {
// 总充电量
totalChargeCap = totalChargeCap.add(sitePcsData.getChargedCap());
// 总放电量
totalDisChargeCap = totalDisChargeCap.add(sitePcsData.getDisChargedCap());
// 获取当天的充电量+放电量
String pcsDate = sitePcsData.getAmmeterDate();
boolean isToday= checkIsToday(pcsDate);
if(isToday){
dayChargeCap = dayChargeCap.add(sitePcsData.getChargedCap());
dayDisChargeCap = dayDisChargeCap.add(sitePcsData.getDisChargedCap());
}
}
siteMonitorHomeVo.setDayChargedCap(dayChargeCap);
siteMonitorHomeVo.setDayDisChargedCap(dayDisChargeCap);
siteMonitorHomeVo.setTotalChargedCap(totalChargeCap);
siteMonitorHomeVo.setTotalDischargedCap(totalDisChargeCap);
// 储能可用电量
BigDecimal energyStorageAvailElec = siteMonitorHomeVo.getTotalDischargedCap().subtract(siteMonitorHomeVo.getTotalChargedCap());
siteMonitorHomeVo.setEnergyStorageAvailElec(energyStorageAvailElec);
}
siteMonitorHomeVo.setSiteMonitorDataVo(siteMonitorDataVoList);
// 电网实时功率
siteMonitorHomeVo.setGridNrtPower(emsPcsDataMapper.getGridNrtPower(siteId));
}
return siteMonitorHomeVo;
}
private boolean checkIsToday(String pcsDate) {
boolean flag = false;
Calendar calendar = Calendar.getInstance();
int todayMonth = calendar.get(Calendar.MONTH) + 1;
int todayDay = calendar.get(Calendar.DAY_OF_MONTH);
if (StringUtils.isNotEmpty(pcsDate)){
String[] pcsDateArray = pcsDate.split("/");
if (todayMonth == Integer.parseInt(pcsDateArray[0]) &&
todayDay == Integer.parseInt(pcsDateArray[1])) {
flag = true;
}
}
return flag;
}
@Override
public SiteMonitorRuningInfoVo getSiteRuningInfo(Long siteId) {
return null;
}
}