From 4d2b7c6adf8770265f24b4b7617a38e4ea5abd99 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Sun, 28 Sep 2025 11:53:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=98=AF=E5=90=A6=E6=AD=A3?= =?UTF-8?q?=E5=9C=A8=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equipment/domain/vo/DeviceLocationVo.java | 3 +++ .../service/impl/DeviceServiceImpl.java | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/DeviceLocationVo.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/DeviceLocationVo.java index 3f3c876..28bf6bd 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/DeviceLocationVo.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/DeviceLocationVo.java @@ -33,4 +33,7 @@ public class DeviceLocationVo { @Schema(description = "进入的电子围栏信息") private DeviceGeoFence fenceInfo; + @Schema(description = "设备是否正在告警") + private Boolean isAlarming; + } \ No newline at end of file diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java index 2b86b93..5fbe8fa 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java @@ -774,6 +774,8 @@ public class DeviceServiceImpl extends ServiceImpl impleme // 注入电子围栏服务 IDeviceGeoFenceService geoFenceService = SpringUtils.getBean(IDeviceGeoFenceService.class); + // 注入设备告警Mapper + DeviceAlarmMapper deviceAlarmMapper = SpringUtils.getBean(DeviceAlarmMapper.class); for (Device device : devices) { DeviceLocationVo vo = new DeviceLocationVo(); @@ -808,6 +810,23 @@ public class DeviceServiceImpl extends ServiceImpl impleme vo.setInFence(false); } + // 检查设备是否正在告警(只要当前设备处于报警状态,且不是电子围栏告警) + if (StringUtils.isNotBlank(device.getDeviceImei())) { + DeviceAlarmVo latestAlarm = deviceAlarmMapper.selectLatestByDeviceImei(device.getDeviceImei()); + // 判断是否正在告警:未处理的告警(treatmentState=1)且不是电子围栏告警(deviceAction!=3) + if (latestAlarm != null && + latestAlarm.getTreatmentState() != null && + latestAlarm.getTreatmentState() == 1 && + latestAlarm.getDeviceAction() != null && + latestAlarm.getDeviceAction() != 3) { + vo.setIsAlarming(true); + } else { + vo.setIsAlarming(false); + } + } else { + vo.setIsAlarming(false); + } + result.add(vo); }