From 87e378b54ba56484cd92e101f6bac31f45705179 Mon Sep 17 00:00:00 2001 From: YYD-YY <2962062657@qq.com> Date: Mon, 6 Oct 2025 18:33:59 +0800 Subject: [PATCH] =?UTF-8?q?10.6=E4=BF=AE=E6=AD=A3=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=B1=BB=E5=9E=8Blist=EF=BC=8C=E4=BB=A5=E5=8F=8A=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E4=B8=A4=E4=B8=AA=E6=95=B0=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equManagement/EquBaseController.java | 18 ++++++++----- .../system/domain/dto/AlertStatisticDto.java | 27 +++++++++++++------ .../system/domain/dto/LevelCountDto.java | 22 +++++++++++++++ .../alops/system/domain/dto/TypeCountDto.java | 17 ++++++++++++ .../alops/system/mapper/EquBaseMapper.java | 3 ++- .../alops/system/service/IEquBaseService.java | 2 +- .../service/impl/AlertMessageServiceImpl.java | 17 +++++++----- .../service/impl/EquBaseServiceImpl.java | 7 ++--- .../resources/mapper/system/EquBaseMapper.xml | 9 ++++--- 9 files changed, 92 insertions(+), 30 deletions(-) create mode 100644 ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/LevelCountDto.java create mode 100644 ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/TypeCountDto.java 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 e17e40fd..f4ba3e18 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 @@ -60,19 +60,23 @@ public class EquBaseController extends BaseController } /**查询设备监测信息列表(查询多台显示界面的单独信息)**/ + /** + * 查询多台设备的最新监测信息 + **/ @PreAuthorize("@ss.hasPermi('device:files:query')") - @GetMapping("/monitorById") - @ApiOperation("根据设备ID查询设备最新监测信息(查询多台显示界面的单台信息)") - public AjaxResult getMonitorById(@RequestParam String id) { - MonitorListDto monitor = equBaseService.selectEquMonitorListById(id); - if (monitor != null) { - return AjaxResult.success("查询成功", monitor); + @GetMapping("/monitorListById") + @ApiOperation("根据多个设备ID查询多台设备的最新监测信息") + public AjaxResult getMonitorListByIds(@RequestParam List ids) { + List monitors = equBaseService.selectEquMonitorListByIds(ids); + if (monitors != null && !monitors.isEmpty()) { + return AjaxResult.success("查询成功", monitors); } else { - return AjaxResult.error("未找到设备或监测信息"); + return AjaxResult.error("未找到相关设备或监测信息"); } } + /** * 获取设备最新时间的历史监控信息 * @param id 查询对象,包含设备ID、开始时间和结束时间 diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/AlertStatisticDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/AlertStatisticDto.java index 3fe6246c..c53a4876 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/AlertStatisticDto.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/AlertStatisticDto.java @@ -1,6 +1,9 @@ package com.alops.system.domain.dto; import lombok.Data; + +import java.util.ArrayList; +import java.util.List; import java.util.Map; /** @@ -8,15 +11,23 @@ import java.util.Map; */ @Data public class AlertStatisticDto { - // 按设备类型统计 - private Map typeCount; - - // 按等级统计 - private Map levelCount; - // 本年度预警次数 + private List typeCount = new ArrayList<>(); + private List levelCount = new ArrayList<>(); private Integer yearCount; - - // 本月预警次数 private Integer monthCount; + + public List getTypeCount() { return typeCount; } + public void setTypeCount(List typeCount) { this.typeCount = typeCount; } + + public List getLevelCount() { return levelCount; } + public void setLevelCount(List levelCount) { this.levelCount = levelCount; } + + public Integer getYearCount() { return yearCount; } + public void setYearCount(Integer yearCount) { this.yearCount = yearCount; } + + public Integer getMonthCount() { return monthCount; } + public void setMonthCount(Integer monthCount) { this.monthCount = monthCount; } + } + diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/LevelCountDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/LevelCountDto.java new file mode 100644 index 00000000..ed5e76dd --- /dev/null +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/LevelCountDto.java @@ -0,0 +1,22 @@ +package com.alops.system.domain.dto; + +public class LevelCountDto { + private String level; + private Integer count; + + // 无参构造器 + public LevelCountDto() {} + + // 带参构造器 + public LevelCountDto(String level, Integer count) { + this.level = level; + this.count = count; + } + + // getter & setter + public String getLevel() { return level; } + public void setLevel(String level) { this.level = level; } + + public Integer getCount() { return count; } + public void setCount(Integer count) { this.count = count; } +} diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/TypeCountDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/TypeCountDto.java new file mode 100644 index 00000000..9b120e25 --- /dev/null +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/TypeCountDto.java @@ -0,0 +1,17 @@ +package com.alops.system.domain.dto; + +public class TypeCountDto { + private String name; + private Integer count; + + public TypeCountDto() {} + public TypeCountDto(String name, Integer count) { + this.name = name; + this.count = count; + } + // getter/setter + public String getName() { return name; } + public void setName(String name) { this.name = name; } + public Integer getCount() { return count; } + public void setCount(Integer count) { this.count = count; } +} 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 29d74d3d..aeaca38b 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 @@ -63,7 +63,8 @@ public interface EquBaseMapper MonitorLastDto selectEquMonitorById(String id); List> selectEquMonitorByIdToList(EquBaseQueryDto queryDto); - MonitorListDto selectEquMonitorListById(String id); + List selectEquMonitorListByIds(List ids); + /**分类统计界面信息 -YY**/ List selectEquStatisticByType(); 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 cc7a1869..f269d6c1 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 @@ -60,7 +60,7 @@ public interface IEquBaseService */ public List selectEquBaseList(EquBaseQueryDto equBase); - public MonitorListDto selectEquMonitorListById(String id); + public List selectEquMonitorListByIds(List ids); /**分类统计信息**/ List selectEquStatisticByType(); diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/AlertMessageServiceImpl.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/AlertMessageServiceImpl.java index 5921383b..1cb64e00 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/AlertMessageServiceImpl.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/AlertMessageServiceImpl.java @@ -10,6 +10,8 @@ import java.util.Map; import com.alops.system.domain.AlertMessage; import com.alops.system.domain.dto.AlertDto; import com.alops.system.domain.dto.AlertStatisticDto; +import com.alops.system.domain.dto.LevelCountDto; +import com.alops.system.domain.dto.TypeCountDto; import com.alops.system.mapper.AlertMessageMapper; import com.alops.system.service.IAlertMessageService; import org.springframework.beans.factory.annotation.Autowired; @@ -66,18 +68,18 @@ public class AlertMessageServiceImpl implements IAlertMessageService AlertStatisticDto dto = new AlertStatisticDto(); // 按设备类型统计 - Map typeMap = new HashMap<>(); for (Map row : alertMessageMapper.countByType()) { - typeMap.put((String) row.get("equ_type"), ((Long) row.get("cnt")).intValue()); + String name = (String) row.get("equ_type"); + Integer count = ((Long) row.get("cnt")).intValue(); + dto.getTypeCount().add(new TypeCountDto(name, count)); } - dto.setTypeCount(typeMap); // 按等级统计 - Map levelMap = new HashMap<>(); for (Map row : alertMessageMapper.countByLevel()) { - levelMap.put(((Integer) row.get("level")), ((Long) row.get("cnt")).intValue()); + String level = String.valueOf(row.get("level")); + Integer count = ((Long) row.get("cnt")).intValue(); + dto.getLevelCount().add(new LevelCountDto(level, count)); } - dto.setLevelCount(levelMap); // 年 / 月 LocalDate now = LocalDate.now(); @@ -90,7 +92,8 @@ public class AlertMessageServiceImpl implements IAlertMessageService return dto; } - /** + + /** * 新增故障统计 * * @param alertMessage 故障统计 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 8a046847..021782de 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 @@ -131,13 +131,14 @@ public class EquBaseServiceImpl implements IEquBaseService } /** - * 查询多台显示界面的单独信息 + * 查询多台设备的最新监测信息 **/ @Override - public MonitorListDto selectEquMonitorListById(String id) { - return equBaseMapper.selectEquMonitorListById(id); + public List selectEquMonitorListByIds(List ids) { + return equBaseMapper.selectEquMonitorListByIds(ids); } + /** * 设备类型分类统计信息 **/ 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 a3860a73..96c9ff50 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 @@ -152,7 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - SELECT b.id, b.name, @@ -176,8 +176,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN equ_gather g ON b.id = g.equ_id LEFT JOIN equ_type t ON b.equ_type = t.id LEFT JOIN equ_manu m ON b.manufacture = m.id - where b.id = #{id} - AND g.cpu_utilization is not null + WHERE b.id IN + + #{id} + + AND g.cpu_utilization is not null ORDER BY g.gather_time desc limit 1