From e7e920b15e7cb9cf28e380a445ce87b9937c675a Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 27 Jan 2026 18:11:25 +0800
Subject: [PATCH] 机构优化

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 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 4572afa..bac2567 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,7 @@
 package org.sxkj.fw.cockpit.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springframework.stereotype.Service;
 import org.sxkj.fw.cockpit.service.ICockpitService;
 import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
@@ -19,18 +20,19 @@
 
 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
@@ -50,9 +52,14 @@
 
 	@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());
@@ -75,9 +82,9 @@
 		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);
 	}
@@ -87,7 +94,7 @@
 		// 设备统计
 		AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt();
 		// 告警统计
-		AlarmStatisticsVO alarmStatistics =  fwDroneAlarmRecordService.alarmTypeStatistics();
+		AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics();
 		alarmStatisticsVO.setHistoryAlarmCount(alarmStatistics.getHistoryAlarmCount());
 		alarmStatisticsVO.setRealTimeAlarmCount(alarmStatistics.getRealTimeAlarmCount());
 		return alarmStatisticsVO;

--
Gitblit v1.9.3