平台修改意见20251120-设备监控类别新增动环、消防设备数据

This commit is contained in:
gaojinming
2025-11-26 19:07:38 +08:00
parent a5e977c0d1
commit e87abc2807
5 changed files with 231 additions and 2 deletions

View File

@ -0,0 +1,55 @@
package com.xzzn.ems.domain.vo;
import com.xzzn.common.annotation.Excel;
import java.math.BigDecimal;
/**
* 动环数据
*/
public class DhDataVo {
/** 设备唯一标识符 */
private String deviceId;
/** 动环名称 */
private String deviceName;
/** 湿度 */
private BigDecimal humidity;
/** 温度 */
private BigDecimal temperature;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public BigDecimal getHumidity() {
return humidity;
}
public void setHumidity(BigDecimal humidity) {
this.humidity = humidity;
}
public BigDecimal getTemperature() {
return temperature;
}
public void setTemperature(BigDecimal temperature) {
this.temperature = temperature;
}
}

View File

@ -0,0 +1,103 @@
package com.xzzn.ems.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xzzn.common.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 消防数据
*/
public class XfDataVo {
/** 设备唯一标识符 */
private String deviceId;
/** 消防名称 */
private String deviceName;
/** 通信状态 */
private String emsCommunicationStatus;
/** 数据更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dataUpdateTime;
/** 主电源备用电池状态 */
private BigDecimal dczt;
/** 手自动状态延时状态 */
private BigDecimal yszt;
/** 启动喷洒气体喷洒状态 */
private BigDecimal pszt;
/** 压力开关状态电磁阀状态 */
private BigDecimal dcfzt;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
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 BigDecimal getDczt() {
return dczt;
}
public void setDczt(BigDecimal dczt) {
this.dczt = dczt;
}
public BigDecimal getYszt() {
return yszt;
}
public void setYszt(BigDecimal yszt) {
this.yszt = yszt;
}
public BigDecimal getPszt() {
return pszt;
}
public void setPszt(BigDecimal pszt) {
this.pszt = pszt;
}
public BigDecimal getDcfzt() {
return dcfzt;
}
public void setDcfzt(BigDecimal dcfzt) {
this.dcfzt = dcfzt;
}
}

View File

@ -1,6 +1,5 @@
package com.xzzn.ems.service;
import com.xzzn.ems.domain.EmsCoolingData;
import com.xzzn.ems.domain.vo.*;
import java.util.List;
@ -32,6 +31,10 @@ public interface ISingleSiteService
public List<AmmeterDataVo> getAmmeterDataList(String siteId);
List<DhDataVo> getDhDataList(String siteId);
List<XfDataVo> getXfDataList(String siteId);
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(RunningGraphRequest request);
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(RunningGraphRequest request);

View File

@ -22,7 +22,6 @@ import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@ -749,6 +748,57 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
}
/**
* 获取动环设备参数
* @param siteId
* @return
*/
@Override
public List<DhDataVo> getDhDataList(String siteId) {
List<DhDataVo> emsDhDataList = new ArrayList<>();
List<Map<String, Object>> dhDeviceList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.DH.getCode());
for (Map<String, Object> dhDevice : dhDeviceList) {
DhDataVo dhDataVo = new DhDataVo();
dhDataVo.setDeviceName(dhDevice.get("deviceName").toString());
// 从redis取堆单个详细数据
String dhDeviceId = dhDevice.get("id").toString();
EmsDhData dhData = redisCache.getCacheObject(RedisKeyConstants.DH + siteId + "_" + dhDeviceId);
if (dhData != null) {
BeanUtils.copyProperties(dhData, dhDataVo);
}
emsDhDataList.add(dhDataVo);
}
return emsDhDataList;
}
/**
* 获取消防设备参数
* @param siteId
* @return
*/
@Override
public List<XfDataVo> getXfDataList(String siteId) {
List<XfDataVo> emsXfDataList = new ArrayList<>();
List<Map<String, Object>> xfDeviceList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.XF.getCode());
for (Map<String, Object> xfDevice : xfDeviceList) {
XfDataVo xfDataVo = new XfDataVo();
xfDataVo.setDeviceName(xfDevice.get("deviceName").toString());
// 从redis取堆单个详细数据
String xfDeviceId = xfDevice.get("id").toString();
EmsXfData xfData = redisCache.getCacheObject(RedisKeyConstants.XF + siteId + "_" + xfDeviceId);
if (xfData != null) {
BeanUtils.copyProperties(xfData, xfDataVo);
xfDataVo.setDataUpdateTime(xfData.getDataTimestamp());
}
xfDataVo.setEmsCommunicationStatus(xfDevice.get("communicationStatus") == null ? "" : xfDevice.get("communicationStatus").toString());
emsXfDataList.add(xfDataVo);
}
return emsXfDataList;
}
/**
* 单站监控-首页-获取重点数据
* @param requestVo