From e7ff4f706d31473cfa8cadd2415204e932894e73 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 29 Jan 2026 13:05:30 +0800
Subject: [PATCH] 设备共享
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java | 67 ++++++++++++++++++++++++++++-----
1 files changed, 56 insertions(+), 11 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
index 8f60a5c..7654f61 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
@@ -1,34 +1,40 @@
package org.sxkj.fw.cockpit.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.stereotype.Service;
import org.sxkj.fw.cockpit.service.ICockpitService;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
import org.sxkj.fw.detection.entity.FwEffectEvalEntity;
+import org.sxkj.fw.detection.param.FwEffectEvalParam;
import org.sxkj.fw.detection.service.IFwEffectEvalService;
import org.sxkj.fw.device.dto.FwDeviceDTO;
import org.sxkj.fw.device.entity.FwDeviceEntity;
import org.sxkj.fw.device.service.IFwDeviceService;
+import org.sxkj.fw.device.vo.CockpitFwDeviceVO;
import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
+import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity;
import org.sxkj.fw.record.service.IFwDroneAlarmRecordService;
import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
+import org.sxkj.system.cache.SysCache;
import javax.annotation.Resource;
import java.util.List;
+import java.util.Optional;
@Service
public class CockpitServiceImpl implements ICockpitService {
@Resource
- private IFwDroneAlarmRecordService fwDroneAlarmRecordService;
+ private IFwDroneAlarmRecordService fwDroneAlarmRecordService;
@Resource
- private IFwDeviceService fwDeviceService;
+ private IFwDeviceService fwDeviceService;
@Resource
- private IFwEffectEvalService fwEffectEvalService;
+ private IFwEffectEvalService fwEffectEvalService;
@Override
@@ -37,26 +43,65 @@
}
@Override
- public IPage<FwDeviceEntity> selectFwDevicePage(IPage<FwDeviceEntity> page, FwDeviceDTO fwDevice) {
- return fwDeviceService.selectFwDevicePage(page, fwDevice);
+ public IPage<CockpitFwDeviceVO> selectCockpitDevicePage(IPage<CockpitFwDeviceVO> page, FwDeviceDTO fwDevice) {
+ List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+ fwDevice.setDeptList(deptList);
+ fwDevice.setCurrentDeptId(AuthUtil.getDeptId());
+ return fwDeviceService.selectCockpitDevicePage(page, fwDevice);
}
@Override
public List<DeviceStatisticsVO> statisticalDeviceType() {
- return fwDeviceService.statisticalDeviceType();
+ List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+ return fwDeviceService.statisticalDeviceType(deptList,AuthUtil.getDeptId());
}
@Override
- public boolean saveOrUpdate(FwEffectEvalEntity fwEffectEvalEntity) {
+ public boolean interferenceAndExpulsion(FwEffectEvalParam fwEffectEvalParam) {
+ // 告警记录
+ FwDroneAlarmRecordEntity alarmRecordEntity = fwDroneAlarmRecordService.getById(fwEffectEvalParam.getAlarmRecordId());
+ // 设备信息
+ FwDeviceEntity device = fwDeviceService.getById(alarmRecordEntity.getDeviceId());
+ // 反制效果
+ FwEffectEvalEntity one = fwEffectEvalService.getOne(Wrappers.<FwEffectEvalEntity>lambdaQuery().eq(FwEffectEvalEntity::getAlarmRecordId, fwEffectEvalParam.getAlarmRecordId()));
+ FwEffectEvalEntity fwEffectEvalEntity = Optional.ofNullable(one)
+ .orElse(new FwEffectEvalEntity());
+
+ // 告警记录相关字段
+ fwEffectEvalEntity.setAlarmRecordId(fwEffectEvalParam.getAlarmRecordId());
+ fwEffectEvalEntity.setDroneName(alarmRecordEntity.getDroneName());
+ fwEffectEvalEntity.setDroneType(alarmRecordEntity.getDroneType());
+ fwEffectEvalEntity.setDroneDeviceCode(alarmRecordEntity.getDroneSerialNo());
+ fwEffectEvalEntity.setFindTime(alarmRecordEntity.getAlarmTime());
+
+ // 从参数获取反制方式,否则使用告警记录中的值
+ fwEffectEvalEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
+ alarmRecordEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
+ // 设备相关字段
+ fwEffectEvalEntity.setDeviceId(alarmRecordEntity.getDeviceId());
+ fwEffectEvalEntity.setDeviceSn(device.getDeviceSn());
+ fwEffectEvalEntity.setDeviceName(device.getDeviceName());
+ fwEffectEvalEntity.setDeviceModel(device.getDeviceModel());
+ fwEffectEvalEntity.setDeviceType(device.getDeviceType());
+ fwEffectEvalEntity.setDeployLongitude(device.getLongitude() != null ? Double.parseDouble(device.getLongitude()) : null);
+ fwEffectEvalEntity.setDeployLatitude(device.getLatitude() != null ? Double.parseDouble(device.getLatitude()) : null);
+ fwEffectEvalEntity.setAreaCode(device.getAreaCode());
+
+ // 反制效果及工作模式(从参数获取,否则使用默认值)
+ fwEffectEvalEntity.setCounterEffect("1"); // 1.success/2.fail
+ fwEffectEvalEntity.setCoverRadiusM(2500); // 覆盖范围(米)
+ fwEffectEvalEntity.setWorkMode("1"); // 1.机动/2.固定
+ fwDroneAlarmRecordService.updateById(alarmRecordEntity);
return fwEffectEvalService.saveOrUpdate(fwEffectEvalEntity);
}
@Override
public AlarmStatisticsVO statisticsAlarmsAndDeviceRecords() {
- // 设备统计
- AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt();
+ List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+ // 设备统计
+ AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt(deptList,AuthUtil.getDeptId());
// 告警统计
- AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics();
+ AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics(deptList,AuthUtil.getDeptId());
alarmStatisticsVO.setHistoryAlarmCount(alarmStatistics.getHistoryAlarmCount());
alarmStatisticsVO.setRealTimeAlarmCount(alarmStatistics.getRealTimeAlarmCount());
return alarmStatisticsVO;
--
Gitblit v1.9.3