From 5663d36d70efc803d1ea29d429cb98fe3c92a8a8 Mon Sep 17 00:00:00 2001
From: YYD-YY <2962062657@qq.com>
Date: Tue, 28 Oct 2025 18:21:36 +0800
Subject: [PATCH] =?UTF-8?q?10.28=20=E6=96=B0=E5=A2=9E=E5=B1=82=E6=95=B0?=
=?UTF-8?q?=E7=BB=9F=E8=AE=A1=E3=80=81=E4=BF=AE=E6=94=B9=E9=A6=96=E9=A1=B5?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALOps_sys_backend/alops-admin/pom.xml | 6 +++-
.../equManagement/EquBaseController.java | 27 +++++++++------
ALOps_sys_backend/alops-system/pom.xml | 4 ---
.../system/domain/dto/EquMonitorHomeDto.java | 12 +++----
.../domain/dto/FloorDeviceCountDto.java | 12 +++++++
.../domain/dto/MonitorStatisticDto.java | 2 +-
.../alops/system/mapper/EquBaseMapper.java | 7 +++-
.../alops/system/service/IEquBaseService.java | 7 ++++
.../service/impl/EquBaseServiceImpl.java | 33 ++++++++++++++++---
.../resources/mapper/system/EquBaseMapper.xml | 20 ++++++++++-
10 files changed, 101 insertions(+), 29 deletions(-)
create mode 100644 ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/FloorDeviceCountDto.java
diff --git a/ALOps_sys_backend/alops-admin/pom.xml b/ALOps_sys_backend/alops-admin/pom.xml
index 5adccf07..3857d600 100644
--- a/ALOps_sys_backend/alops-admin/pom.xml
+++ b/ALOps_sys_backend/alops-admin/pom.xml
@@ -92,7 +92,11 @@
1.0.0
compile
-
+
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
diff --git a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java
index c87e6234..5184b890 100644
--- a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java
+++ b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java
@@ -15,10 +15,7 @@ import com.alops.common.core.page.TableDataInfo;
import com.alops.common.enums.BusinessType;
import com.alops.common.utils.poi.ExcelUtil;
import com.alops.system.domain.EquBase;
-import com.alops.system.domain.dto.EquBaseQueryDto;
-import com.alops.system.domain.dto.EquMonitorHomeDto;
-import com.alops.system.domain.dto.MonitorListDto;
-import com.alops.system.domain.dto.MonitorStatisticDto;
+import com.alops.system.domain.dto.*;
import com.alops.system.domain.vo.EquMonitorVO;
import com.alops.system.domain.vo.queryEquBaseVO;
import com.alops.system.service.IEquBaseService;
@@ -122,17 +119,27 @@ public class EquBaseController extends BaseController
@ApiOperation("按设备类型分类统计设备信息")
public AjaxResult listMonitorInfoByType() {
List list = equBaseService.selectEquStatisticByType();
- // 获取总设备数
- int totalCount = 0;
- if (list != null) {
- totalCount = list.stream().mapToInt(MonitorStatisticDto::getCount).sum();
- }
+
Map result = new HashMap<>();
- result.put("totalCount", totalCount);
+ result.put("totalCount", equBaseService.getTotalDeviceCount());
+ result.put("onlineCount", equBaseService.getOnlineDeviceCount());
result.put("list", list);
+
return AjaxResult.success("查询成功", result);
}
+ /**
+ * 统计楼层设备分布
+ */
+ @PreAuthorize("@ss.hasPermi('device:files:statistic')")
+ @GetMapping("/floorStatistic")
+ @ApiOperation("统计楼层设备分布信息")
+ public AjaxResult getFloorDeviceStatistic() {
+ List list = equBaseService.selectFloorDeviceStatistic();
+ return AjaxResult.success("查询成功", list);
+ }
+
+
/**
* 获取设备基本信息详细信息
diff --git a/ALOps_sys_backend/alops-system/pom.xml b/ALOps_sys_backend/alops-system/pom.xml
index 664ee492..8fb697ec 100644
--- a/ALOps_sys_backend/alops-system/pom.xml
+++ b/ALOps_sys_backend/alops-system/pom.xml
@@ -92,10 +92,6 @@
lombok
provided
-
- org.springframework.boot
- spring-boot-starter-websocket
-
diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquMonitorHomeDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquMonitorHomeDto.java
index b49b12df..1b655216 100644
--- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquMonitorHomeDto.java
+++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquMonitorHomeDto.java
@@ -12,11 +12,11 @@ public class EquMonitorHomeDto {
private String id;
private String equNumber; //设备编号
private String name; // 设备名称
- private String location; // 设备位置
- private Float cpuUtilization; // CPU 使用率
- private Float memoryUtilization; // 内存使用率
- private Float temperature; // 温度
+ //private String location; // 设备位置
+ //private Float cpuUtilization; // CPU 使用率
+ //private Float memoryUtilization; // 内存使用率
+ //private Float temperature; // 温度
private String health; // 健康度
- private String contWorkPeriod; // 持续运行时长
- private Date gatherTime; // 采集时间
+ //private String contWorkPeriod; // 持续运行时长
+ //private Date gatherTime; // 采集时间
}
diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/FloorDeviceCountDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/FloorDeviceCountDto.java
new file mode 100644
index 00000000..42ecbfe9
--- /dev/null
+++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/FloorDeviceCountDto.java
@@ -0,0 +1,12 @@
+package com.alops.system.domain.dto;
+
+import lombok.Data;
+
+/**
+ * 楼层设备数量统计 DTO
+ */
+@Data
+public class FloorDeviceCountDto {
+ private String floor; // 楼层名称
+ private Integer count; // 设备数量
+}
diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorStatisticDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorStatisticDto.java
index 6f9fb488..5ffda2b6 100644
--- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorStatisticDto.java
+++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorStatisticDto.java
@@ -8,7 +8,7 @@ import java.util.List;
@Data
public class MonitorStatisticDto {
private String equTypeId; // 设备类型ID 或 名称
- private String equTypeName; // 设备类型名称
+ private String equTypeName;// 设备类型名称
private List devices; // 属于该类型的设备列表
// 新增统计数量字段
diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java
index 6cada08c..6ca9c2d3 100644
--- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java
+++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java
@@ -72,7 +72,7 @@ public interface EquBaseMapper
/**分类统计界面信息 -YY**/
List selectEquStatisticByType();
-
+ Map selectDeviceCountSummary();
/**
* 查询设备基本信息列表
*
@@ -81,6 +81,11 @@ public interface EquBaseMapper
*/
public List selectEquBaseList(EquBaseQueryDto equBase);
+ /**
+ * 查询楼层设备数量统计
+ */
+ List selectFloorDeviceStatistic();
+
/**
* 新增设备基本信息
*
diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java
index 301b6bb1..125f721a 100644
--- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java
+++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java
@@ -36,6 +36,10 @@ public interface IEquBaseService
public imageVo selectEquBaseImageById(String id);
/**查询界面具体信息**/
// EquMonitorVO selectEquMonitorInfo(EquBaseQueryDto queryDto);
+ /**
+ * 查询楼层设备数量统计
+ */
+ List selectFloorDeviceStatistic();
/**
@@ -103,4 +107,7 @@ public interface IEquBaseService
* @return 结果
*/
public int deleteEquBaseById(String id);
+
+ int getTotalDeviceCount();
+ int getOnlineDeviceCount();
}
diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java
index abea0fb5..a437a333 100644
--- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java
+++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java
@@ -163,6 +163,11 @@ public class EquBaseServiceImpl implements IEquBaseService
return dto;
}
+ //查询楼层数据
+ @Override
+ public List selectFloorDeviceStatistic() {
+ return equBaseMapper.selectFloorDeviceStatistic();
+ }
/**
@@ -200,11 +205,14 @@ public class EquBaseServiceImpl implements IEquBaseService
@Override
public List selectEquStatisticByType() {
List list = equBaseMapper.selectEquStatisticByType();
+
if (list == null || list.isEmpty()) {
+ this.totalDeviceCount = 0;
+ this.onlineDeviceCount = 0;
return list;
}
- // 计算每种类型的数量
+ // 按类型计算每类设备数量
int totalCount = 0;
for (MonitorStatisticDto dto : list) {
int count = (dto.getDevices() != null) ? dto.getDevices().size() : 0;
@@ -212,24 +220,39 @@ public class EquBaseServiceImpl implements IEquBaseService
totalCount += count;
}
- // 计算百分比
+ // 计算百分比
for (MonitorStatisticDto dto : list) {
if (totalCount > 0) {
double percent = (dto.getCount() * 100.0) / totalCount;
- dto.setPercentage(Math.round(percent * 100.0) / 100.0); // 保留两位小数
+ dto.setPercentage(Math.round(percent * 100.0) / 100.0);
} else {
dto.setPercentage(0.0);
}
}
- this.totalDeviceCount = totalCount; // 注意:你可以在 service 中定义字段存储
+
+ // 查询数据库总设备数和在线数
+ Map summary = equBaseMapper.selectDeviceCountSummary();
+ if (summary != null) {
+ this.totalDeviceCount = ((Number) summary.get("totalCount")).intValue();
+ this.onlineDeviceCount = ((Number) summary.get("onlineCount")).intValue();
+ } else {
+ this.totalDeviceCount = 0;
+ this.onlineDeviceCount = 0;
+ }
+
return list;
}
- // 在类中增加:
+
+
+ // 在类中增加:(统计设备总数量以及在线设备数量)
private int totalDeviceCount;
+ private int onlineDeviceCount;
public int getTotalDeviceCount() {
return totalDeviceCount;
}
+ public int getOnlineDeviceCount() {return onlineDeviceCount;}
+
/** 通用百分比指标判断(CPU/内存) */
private String checkStatus(BigDecimal val, double healthy, double good, double average) {
diff --git a/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquBaseMapper.xml b/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquBaseMapper.xml
index 4e0c876c..ceed6146 100644
--- a/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquBaseMapper.xml
+++ b/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquBaseMapper.xml
@@ -277,6 +277,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY t.name
+
+
+