From 54898304203f3ea0c132899dca4341dc182d13de Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Wed, 28 Jan 2026 17:20:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 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 0a74419..a20a4e8 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,6 +1,8 @@
 package org.sxkj.fw.cockpit.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+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;
@@ -16,21 +18,23 @@
 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
@@ -40,19 +44,27 @@
 
 	@Override
 	public IPage<CockpitFwDeviceVO> selectCockpitDevicePage(IPage<CockpitFwDeviceVO> page, FwDeviceDTO fwDevice) {
+		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+		fwDevice.setDeptList(deptList);
 		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);
 	}
 
 	@Override
 	public boolean interferenceAndExpulsion(FwEffectEvalParam fwEffectEvalParam) {
+		// 告警记录
 		FwDroneAlarmRecordEntity alarmRecordEntity = fwDroneAlarmRecordService.getById(fwEffectEvalParam.getAlarmRecordId());
+		// 设备信息
 		FwDeviceEntity device = fwDeviceService.getById(alarmRecordEntity.getDeviceId());
-		FwEffectEvalEntity fwEffectEvalEntity = new FwEffectEvalEntity();
+		// 反制效果
+		FwEffectEvalEntity one = fwEffectEvalService.getOne(Wrappers.<FwEffectEvalEntity>lambdaQuery().eq(FwEffectEvalEntity::getAlarmRecordId, fwEffectEvalParam.getAlarmRecordId()));
+		FwEffectEvalEntity fwEffectEvalEntity = Optional.ofNullable(one)
+			.orElse(new FwEffectEvalEntity());
 
 		// 告警记录相关字段
 		fwEffectEvalEntity.setAlarmRecordId(fwEffectEvalParam.getAlarmRecordId());
@@ -63,7 +75,7 @@
 
 		// 从参数获取反制方式,否则使用告警记录中的值
 		fwEffectEvalEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
-
+		alarmRecordEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
 		// 设备相关字段
 		fwEffectEvalEntity.setDeviceId(alarmRecordEntity.getDeviceId());
 		fwEffectEvalEntity.setDeviceSn(device.getDeviceSn());
@@ -75,19 +87,20 @@
 		fwEffectEvalEntity.setAreaCode(device.getAreaCode());
 
 		// 反制效果及工作模式(从参数获取,否则使用默认值)
-		fwEffectEvalEntity.setCounterEffect( "1"); // 1.success/2.fail
+		fwEffectEvalEntity.setCounterEffect("1"); // 1.success/2.fail
 		fwEffectEvalEntity.setCoverRadiusM(2500); // 覆盖范围(米)
-		fwEffectEvalEntity.setWorkMode( "1"); // 1.机动/2.固定
-
+		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);
 		// 告警统计
-		AlarmStatisticsVO alarmStatistics =  fwDroneAlarmRecordService.alarmTypeStatistics();
+		AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics(deptList);
 		alarmStatisticsVO.setHistoryAlarmCount(alarmStatistics.getHistoryAlarmCount());
 		alarmStatisticsVO.setRealTimeAlarmCount(alarmStatistics.getRealTimeAlarmCount());
 		return alarmStatisticsVO;

--
Gitblit v1.9.3