10.3修改版

dev
YYD-YY 9 months ago
parent d43336d279
commit 18002d9429
  1. 16
      ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java
  2. 6
      ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquManuController.java
  3. 17
      ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquSupplierController.java
  4. 2
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/EquBase.java
  5. 18
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierAddDto.java
  6. 14
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierUpdateDto.java
  7. 8
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorHistoryDto.java
  8. 19
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorLastDto.java
  9. 11
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorListDto.java
  10. 2
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java
  11. 2
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java
  12. 10
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquSupplierService.java
  13. 15
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java
  14. 39
      ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquSupplierServiceImpl.java
  15. 2
      ALOps_sys_backend/alops-system/src/main/resources/mapper/system/AlertMessageMapper.xml
  16. 126
      ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquBaseMapper.xml
  17. 26
      ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquSupplierMapper.xml

@ -59,14 +59,18 @@ public class EquBaseController extends BaseController
/**查询设备监测信息列表(查询多台显示界面的单独信息)**/
@PreAuthorize("@ss.hasPermi('device:files:query')")
@GetMapping("/listMonitor")
@ApiOperation("查询设备监测信息列表(查询多台显示界面的单独信息)")
public AjaxResult listMonitorInfo(EquBaseQueryDto equBaseQueryDto)
{
List<MonitorListDto> list = equBaseService.selectEquMonitorList(equBaseQueryDto);
return AjaxResult.success("查询成功", list);
@GetMapping("/monitorById")
@ApiOperation("根据设备ID查询设备最新监测信息(查询多台显示界面的单台信息)")
public AjaxResult getMonitorById(@RequestParam String id) {
MonitorListDto monitor = equBaseService.selectEquMonitorListById(id);
if (monitor != null) {
return AjaxResult.success("查询成功", monitor);
} else {
return AjaxResult.error("未找到设备或监测信息");
}
}
/**
* 获取设备最新时间的历史监控信息
* @param id 查询对象包含设备ID开始时间和结束时间

@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
* @date 2025-08-01
*/
@RestController
@RequestMapping("/deviceManu")
@RequestMapping("/device/deviceManu")
public class EquManuController extends BaseController
{
@Autowired
@ -42,8 +42,8 @@ public class EquManuController extends BaseController
/**
* 查询设备厂商管理列表
*/
@PreAuthorize("@ss.hasPermi('device:deviceManu:queryByVO')")
@GetMapping("/queryByVO")
@PreAuthorize("@ss.hasPermi('device:deviceManu:query')")
@GetMapping("/query")
@ApiOperation("查询设备厂商管理列表")
public TableDataInfo list(EquManu equManu)
{

@ -1,8 +1,11 @@
package com.alops.web.controller.equManagement;
import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import com.alops.system.domain.dto.EquSupplierAddDto;
import com.alops.system.domain.dto.EquSupplierUpdateDto;
import io.swagger.annotations.ApiOperation;
import com.alops.common.annotation.Log;
import com.alops.common.core.controller.BaseController;
@ -86,12 +89,14 @@ public class EquSupplierController extends BaseController
@PreAuthorize("@ss.hasPermi('device:supplier:add')")
@Log(title = "供应商功能信息", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增供应商功能信息列表")
public AjaxResult add(@RequestBody EquSupplier equSupplier)
@ApiOperation("新增供应商功能信息")
public AjaxResult add(@RequestBody EquSupplierAddDto dto)
{
return toAjax(equSupplierService.insertEquSupplier(equSupplier));
return toAjax(equSupplierService.insertEquSupplier(dto));
}
/**
* 修改供应商功能信息
*/
@ -99,11 +104,11 @@ public class EquSupplierController extends BaseController
@Log(title = "供应商功能信息", businessType = BusinessType.UPDATE)
@PutMapping
@ApiOperation("修改供应商功能信息列表")
public AjaxResult edit(@RequestBody EquSupplier equSupplier)
{
return toAjax(equSupplierService.updateEquSupplier(equSupplier));
public AjaxResult edit(@RequestBody EquSupplierUpdateDto updateDto) {
return toAjax(equSupplierService.updateEquSupplier(updateDto));
}
/**
* 删除供应商功能信息
*/

@ -25,6 +25,8 @@ public class EquBase
/** 设备唯一标识(设备编号) */
private String id;
private String equNumber;
/** 设备名称 */
@Excel(name = "设备名称")
private String name;

@ -0,0 +1,18 @@
package com.alops.system.domain.dto;
import lombok.Data;
/**
* 新增供应商 DTO
* 只包含前端可传的字段
*/
@Data
public class EquSupplierAddDto {
private String name;
private String description;
private String contactBy;
private String contactWay;
private Long createBy;
private Long status;
}

@ -0,0 +1,14 @@
package com.alops.system.domain.dto;
import lombok.Data;
@Data
public class EquSupplierUpdateDto {
private String contactBy;
private String contactWay;
private Long createBy;
private String description;
private String id;
private String name;
private Long status;
}

@ -7,9 +7,9 @@ import java.util.List;
public class MonitorHistoryDto {
// 返回给前端的字段
private List<Float> temperatureList = new ArrayList<>();
private List<Float> involtageList = new ArrayList<>();
private List<Float> outvoltageList = new ArrayList<>();
private List<Float> memoryList = new ArrayList<>();
private List<Float> cpuList = new ArrayList<>();
private List<Float> healthList = new ArrayList<>();
private List<String> timeList = new ArrayList<>();
}

@ -1,16 +1,21 @@
package com.alops.system.domain.dto;
import lombok.Data;
import java.sql.Blob;
import java.util.Date;
@Data
public class MonitorLastDto {
// equ_gather 表
private Integer contWorkPeriod;
private String contWorkPeriod;
private Float fanSpeed;
private Float cpuUtilization;
private Float memoryUtilization;
private String health;
private String volIn;
private String volOut;
private String temperature;
// equ_base 表
private Long id;
@ -21,17 +26,19 @@ public class MonitorLastDto {
private String location;
private Date installDate;
private String inCharge;
private Integer failureFrequency;
private Integer warranty;
private int failureFrequency;
private int warranty;
private Blob equImage;
// equ_type
private String equType;
// equ_manu
private String manufacture;
private String manufactureContactBy;
private String manufactureContactWay;
private String ContactBy;
private String ContactWay;
// equ_supplier
private String supplierId;
private String unhandledAlertCount;
}

@ -11,15 +11,20 @@ import java.sql.Blob;
public class MonitorListDto {
private String id;
private String name;
private String ip;
private String equType;
private String manufacture;
private String version;
private String deviceLevel;
private String location;
private String status;
private Integer failureFrequency;
private Blob equImage;
private int failureFrequency;
// 监控指标
private Float cpuUtilization;
private String health;
private Integer fanSpeed;
private int fanSpeed;
private String contWorkPeriod;
private int unhandledAlertCount;
}

@ -63,7 +63,7 @@ public interface EquBaseMapper
MonitorLastDto selectEquMonitorById(String id);
List<Map<String, Object>> selectEquMonitorByIdToList(EquBaseQueryDto queryDto);
List<MonitorListDto> selectEquMonitorList(EquBaseQueryDto equBaseQueryDto);
MonitorListDto selectEquMonitorListById(String id);
/**分类统计界面信息 -YY**/
List<MonitorStatisticDto> selectEquStatisticByType();

@ -60,7 +60,7 @@ public interface IEquBaseService
*/
public List<queryEquBaseVO> selectEquBaseList(EquBaseQueryDto equBase);
public List<MonitorListDto> selectEquMonitorList(EquBaseQueryDto equBaseQueryDto);
public MonitorListDto selectEquMonitorListById(String id);
/**分类统计信息**/
List<MonitorStatisticDto> selectEquStatisticByType();

@ -2,6 +2,8 @@ package com.alops.system.service;
import java.util.List;
import com.alops.system.domain.EquSupplier;
import com.alops.system.domain.dto.EquSupplierAddDto;
import com.alops.system.domain.dto.EquSupplierUpdateDto;
import java.util.List;
@ -31,19 +33,17 @@ public interface IEquSupplierService
/**
* 新增请填写功能名称
*
* @param equSupplier 请填写功能名称
* @return 结果
*/
public int insertEquSupplier(EquSupplier equSupplier);
public int insertEquSupplier(EquSupplierAddDto dto);
/**
* 修改请填写功能名称
*
* @param equSupplier 请填写功能名称
* @return 结果
*/
public int updateEquSupplier(EquSupplier equSupplier);
public int updateEquSupplier(EquSupplierUpdateDto updateDto);
/**
* 批量删除请填写功能名称

@ -3,12 +3,9 @@ package com.alops.system.service.impl;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import com.alops.common.utils.SecurityUtils;
import com.alops.system.domain.EquBase;
import com.alops.system.domain.EquSupplier;
import com.alops.system.domain.EquType;
import com.alops.system.domain.dto.EquBaseQueryDto;
import com.alops.system.domain.vo.dropDownVo;
import com.alops.system.domain.vo.imageVo;
@ -110,14 +107,16 @@ public class EquBaseServiceImpl implements IEquBaseService
MonitorHistoryDto dto = new MonitorHistoryDto();
for (Map<String, Object> row : rows) {
dto.getTemperatureList().add(row.get("temperature_value") != null ? ((Number) row.get("temperature_value")).floatValue() : null);
dto.getInvoltageList().add(row.get("involtage_value") != null ? ((Number) row.get("involtage_value")).floatValue() : null);
dto.getOutvoltageList().add(row.get("outvoltage_value") != null ? ((Number) row.get("outvoltage_value")).floatValue() : null);
dto.getTimeList().add(row.get("gather_time").toString());
dto.getMemoryList().add(row.get("memory_value") != null ? ((Number) row.get("memory_value")).floatValue() : null);
dto.getCpuList().add(row.get("cpu_value") != null ? ((Number) row.get("cpu_value")).floatValue() : null);
dto.getHealthList().add(row.get("health_value") != null ? ((Number) row.get("health_value")).floatValue() : null);
dto.getTimeList().add(row.get("gather_time") != null ? row.get("gather_time").toString() : null);
}
return dto;
}
/**
* 查询设备基本信息列表
*
@ -134,8 +133,8 @@ public class EquBaseServiceImpl implements IEquBaseService
* 查询多台显示界面的单独信息
**/
@Override
public List<MonitorListDto> selectEquMonitorList(EquBaseQueryDto equBaseQueryDto) {
return equBaseMapper.selectEquMonitorList(equBaseQueryDto);
public MonitorListDto selectEquMonitorListById(String id) {
return equBaseMapper.selectEquMonitorListById(id);
}
/**

@ -2,8 +2,11 @@ package com.alops.system.service.impl;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.alops.common.utils.DateUtils;
import com.alops.system.domain.dto.EquSupplierAddDto;
import com.alops.system.domain.dto.EquSupplierUpdateDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alops.system.mapper.EquSupplierMapper;
@ -54,25 +57,49 @@ public class EquSupplierServiceImpl implements IEquSupplierService
/**
* 新增请填写功能名称
*
* @param equSupplier 请填写功能名称
* @return 结果
*/
@Override
public int insertEquSupplier(EquSupplier equSupplier)
public int insertEquSupplier(EquSupplierAddDto dto)
{
equSupplier.setCreateTime(new Date());
EquSupplier equSupplier = new EquSupplier();
// DTO 转换到实体
equSupplier.setId(UUID.randomUUID().toString()); // 自动生成 id
equSupplier.setName(dto.getName());
equSupplier.setDescription(dto.getDescription());
equSupplier.setContactBy(dto.getContactBy());
equSupplier.setContactWay(dto.getContactWay());
equSupplier.setCreateBy(dto.getCreateBy());
equSupplier.setCreateTime(new Date()); // 自动生成创建时间
equSupplier.setStatus(dto.getStatus());
return equSupplierMapper.insertEquSupplier(equSupplier);
}
/**
* 修改请填写功能名称
*
* @param equSupplier 请填写功能名称
* @return 结果
*/
@Override
public int updateEquSupplier(EquSupplier equSupplier)
{
public int updateEquSupplier(EquSupplierUpdateDto updateDto) {
// 将 DTO 转换成 Entity
EquSupplier equSupplier = new EquSupplier();
equSupplier.setId(updateDto.getId());
equSupplier.setName(updateDto.getName());
equSupplier.setDescription(updateDto.getDescription());
equSupplier.setContactBy(updateDto.getContactBy());
equSupplier.setContactWay(updateDto.getContactWay());
equSupplier.setCreateBy(updateDto.getCreateBy());
equSupplier.setStatus(updateDto.getStatus());
// 后端自动设置修改时间
equSupplier.setCreateTime(new Date());
return equSupplierMapper.updateEquSupplier(equSupplier);
}

@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<sql id="selectAlertMessageVoJoinGather">
select a.id, g.equ_id, type, equ_type solution, level, occur_time, handler, handle_time, status,batch from alert_message a LEFT JOIN equ_gather g ON a.equ_id = g.equ_id
select a.id, g.equ_id, type, equ_type, solution, level, occur_time, handler, handle_time, status,batch from alert_message a LEFT JOIN equ_gather g ON a.equ_id = g.equ_id
</sql>
<select id="selectAlertMessageList" parameterType="AlertDto" resultMap="AlertMessageResult">

@ -24,27 +24,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="supplierId" column="supplier_id" />
<result property="gatherFrequency" column="gather_frequency" />
<result property="equImage" column="equ_image" />
<result property="equNumber" column="equ_number" />
<result property="repairFrequency" column="repair_frequency" />
<result property="repairCost" column="repair_cost" />
<result property="fanSpeed" column="fan_speed"/>
<result property="cpuUtilization" column="cpu_utilization"/>
<result property="memoryUtilization" column="memory_utilization"/>
<result property="health" column="health"/>
<result property="contWorkPeriod" column="cont_work_period"/>
<association property="manufactureVO" columnPrefix="equ_manu_" autoMapping="true" />
<association property="equTypeVO" columnPrefix="equ_type_" autoMapping="true" />
<collection property="temperatureList" javaType="java.util.ArrayList" ofType="java.lang.Float">
<result column="temperature_value"/>
</collection>
<collection property="involtageList" javaType="java.util.ArrayList" ofType="java.lang.Float">
<result column="involtage_value"/>
</collection>
<collection property="outvoltageList" javaType="java.util.ArrayList" ofType="java.lang.Float">
<result column="outvoltage_value"/>
</collection>
<!-- <association property="manufacture" columnPrefix="equ_manu_" autoMapping="true" />-->
</resultMap>
<resultMap id="EquMonitorResult" type="com.alops.system.domain.vo.EquMonitorVO">
@ -170,82 +156,71 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="selectEquMonitorList" parameterType="EquBaseQueryDto" resultType="MonitorListDto">
<select id="selectEquMonitorListById" parameterType="string" resultType="MonitorListDto">
SELECT
b.id,
b.name,
b.ip,
t.name as equType,
m.name as manufacture,
b.version,
b.device_level,
b.device_level AS deviceLevel,
b.location,
b.status,
g.cpu_utilization,
g.cpu_utilization AS cpuUtilization,
g.health,
g.fan_speed,
b.failure_frequency,
b.equ_image
g.fan_speed AS fanSpeed,
g.cont_work_period AS contWorkPeriod,
b.failure_frequency AS failureFrequency,
-- 新增列:统计未处理告警数量
(SELECT COUNT(1)
FROM alert_message a
WHERE a.equ_id = b.id AND a.status = 'HANDLED') AS unhandledAlertCount
FROM equ_base b
LEFT JOIN equ_gather g ON b.id = g.equ_id
<where>
g.cpu_utilization is not null
<if test="equType != null and equType != ''">
AND b.equ_type = #{equType}
</if>
<if test="equName != null and equName != ''">
AND b.name LIKE concat('%', #{equName}, '%')
</if>
<if test="location != null and location != ''">
AND b.location = #{location}
</if>
<if test="manufacture != null and manufacture != ''">
AND b.manufacture = #{manufacture}
</if>
<if test="inCharge != null">
AND b.in_charge = #{inCharge}
</if>
<if test="status != null">
AND b.status = #{status}
</if>
<if test="minTime != null">
AND b.create_date <![CDATA[>=]]> #{minTime}
</if>
<if test="maxTime != null">
AND b.create_date <![CDATA[<=]]> #{maxTime}
</if>
<if test="health != null">
AND g.health <![CDATA[>=]]> #{health}
</if>
</where>
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
ORDER BY g.gather_time desc limit 1
</select>
<select id="selectEquMonitorById" parameterType="string" resultType="MonitorLastDto">
SELECT
g.cont_work_period,
g.cont_work_period AS contWorkPeriod,
b.equ_image AS equImage,
b.id,
b.name,
b.version,
b.device_level,
t.name as equ_type,
b.device_level AS deviceLevel,
t.name as equType,
b.status,
m.name as manufacture,
s.name as supplier_id,
#b.release_date,
s.name as supplierId,
s.contact_by AS ContactBy,
s.contact_way AS ContactWay,
b.warranty,
m.contact_by as manufacture,
m.contact_way as manufacture,
b.ip,
b.location,
b.install_date,
#b.service_time,
b.in_charge,
b.failure_frequency,
#b.repair_frequency,
#b.service_time/warranty AS aging,
g.fan_speed,
g.cpu_utilization,
g.memory_utilization,
g.health
b.install_date AS installDate,
b.in_charge AS inCharge,
b.failure_frequency AS failureFrequency,
-- 新增列:统计未处理告警数量
(SELECT COUNT(1)
FROM alert_message a
WHERE a.equ_id = b.id AND a.status = 'HANDLED') AS unhandledAlertCount,
g.fan_speed AS fanSpeed,
g.cpu_utilization AS cpuUtilization,
g.memory_utilization AS memoryUtilization,
g.temperature,
g.health,
g.vol_in AS volIn,
g.vol_out AS volOut
FROM equ_base b
LEFT JOIN equ_manu m ON b.manufacture = m.id
@ -259,11 +234,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY g.gather_time desc limit 1
</select>
<select id="selectEquMonitorByIdToList" parameterType="com.alops.system.domain.dto.EquBaseQueryDto" resultType="map"> SELECT
<select id="selectEquMonitorByIdToList" parameterType="com.alops.system.domain.dto.EquBaseQueryDto" resultType="map">
SELECT
-- 从 equ_gather 表中获取需要填充到List中的数据
g.temperature AS temperature_value,
g.vol_in AS involtage_value,
g.vol_out AS outvoltage_value,
g.memory_utilization AS memory_value,
g.cpu_utilization AS cpu_value,
g.health AS health_value,
g.gather_time AS gather_time
FROM equ_base b
@ -271,8 +248,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN equ_type t ON b.equ_type = t.id
LEFT JOIN equ_gather g ON b.id = g.equ_id
where g.cpu_utilization is not null
and b.id = #{id}
where b.id = #{id}
-- 添加时间范围约束
and g.gather_time BETWEEN #{minTime} AND #{maxTime}

@ -42,27 +42,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<insert id="insertEquSupplier" parameterType="EquSupplier">
insert into equ_supplier
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="name != null">name,</if>
<if test="description != null">description,</if>
<if test="contactBy != null">contact_by,</if>
<if test="contactWay != null">contact_way,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="status != null">status,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="name != null">#{name},</if>
<if test="description != null">#{description},</if>
<if test="contactBy != null">#{contactBy},</if>
<if test="contactWay != null">#{contactWay},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="status != null">#{status},</if>
</trim>
INSERT INTO equ_supplier
(id, name, description, contact_by, contact_way, create_by, create_time, status)
VALUES
(#{id}, #{name}, #{description}, #{contactBy}, #{contactWay}, #{createBy}, #{createTime}, #{status})
</insert>
<update id="updateEquSupplier" parameterType="EquSupplier">

Loading…
Cancel
Save