diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java index 785206a..bfbb189 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java @@ -187,6 +187,24 @@ public class EmsSiteMonitorController extends BaseController{ return success(iSingleSiteService.getAmmeterDataList(siteId)); } + /** + * 动环数据 + */ + @GetMapping("/getDhDataList") + public AjaxResult getDhDataList(@RequestParam String siteId) + { + return success(iSingleSiteService.getDhDataList(siteId)); + } + + /** + * 消防数据 + */ + @GetMapping("/getXfDataList") + public AjaxResult getXfDataList(@RequestParam String siteId) + { + return success(iSingleSiteService.getXfDataList(siteId)); + } + /** * 单站监控-首页-点位展示 * 储能功率、电网功率、负荷功率、光伏功率 diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/DhDataVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/DhDataVo.java new file mode 100644 index 0000000..d42c8af --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/DhDataVo.java @@ -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; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/XfDataVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/XfDataVo.java new file mode 100644 index 0000000..f80acf5 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/XfDataVo.java @@ -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; + } + +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java b/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java index 0faff27..9b82eab 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java @@ -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 getAmmeterDataList(String siteId); + List getDhDataList(String siteId); + + List getXfDataList(String siteId); + public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(RunningGraphRequest request); public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(RunningGraphRequest request); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index 8d01440..a8a55ca 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -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 getDhDataList(String siteId) { + List emsDhDataList = new ArrayList<>(); + + List> dhDeviceList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.DH.getCode()); + for (Map 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 getXfDataList(String siteId) { + List emsXfDataList = new ArrayList<>(); + + List> xfDeviceList = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.XF.getCode()); + for (Map 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