From 66bfbdb9251c22ffa2b5f05595a76a3547a2f5eb Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Mon, 09 Feb 2026 11:00:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 105 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..436c439 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,10 +1,20 @@
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.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
+import org.sxkj.common.utils.HeaderUtils;
+import org.sxkj.fw.area.param.FwAreaDivideListParam;
+import org.sxkj.fw.area.service.IFwAreaDivideService;
+import org.sxkj.fw.area.service.IFwDefenseSceneManageService;
+import org.sxkj.fw.area.vo.FwAreaDivideVO;
+import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
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.common.FwBaseInfo;
import org.sxkj.fw.detection.entity.FwEffectEvalEntity;
import org.sxkj.fw.detection.param.FwEffectEvalParam;
import org.sxkj.fw.detection.service.IFwEffectEvalService;
@@ -16,21 +26,34 @@
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.RegionCache;
+import org.sxkj.system.cache.SysCache;
+import org.sxkj.system.entity.Dept;
+import org.sxkj.system.entity.Region;
import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.Date;
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;
+
+ @Resource
+ private IFwAreaDivideService iFwAreaDivideService;
+
+ @Resource
+ private IFwDefenseSceneManageService iFwDefenseSceneManageService;
@Override
@@ -40,19 +63,31 @@
@Override
public IPage<CockpitFwDeviceVO> selectCockpitDevicePage(IPage<CockpitFwDeviceVO> page, FwDeviceDTO fwDevice) {
- return fwDeviceService.selectCockpitDevicePage(page, fwDevice);
+ Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+ Region byCode = RegionCache.getByCode(dept.getAreaCode());
+ fwDevice.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+ fwDevice.setCurrentDeptId(AuthUtil.getDeptId());
+ IPage<CockpitFwDeviceVO> cockpitFwDeviceVOIPage = fwDeviceService.selectCockpitDevicePage(page, fwDevice);
+ return cockpitFwDeviceVOIPage;
}
@Override
public List<DeviceStatisticsVO> statisticalDeviceType() {
- return fwDeviceService.statisticalDeviceType();
+ Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+ Region byCode = RegionCache.getByCode(dept.getAreaCode());
+ return fwDeviceService.statisticalDeviceType(HeaderUtils.formatAreaCode(byCode.getCode()), AuthUtil.getDeptId());
}
@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 +98,7 @@
// 从参数获取反制方式,否则使用告警记录中的值
fwEffectEvalEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
-
+ alarmRecordEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
// 设备相关字段
fwEffectEvalEntity.setDeviceId(alarmRecordEntity.getDeviceId());
fwEffectEvalEntity.setDeviceSn(device.getDeviceSn());
@@ -75,21 +110,79 @@
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() {
+ Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+ Region byCode = RegionCache.getByCode(dept.getAreaCode());
+ String regionCode = HeaderUtils.formatAreaCode(byCode.getCode());
// 设备统计
- AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt();
+ AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt(regionCode, AuthUtil.getDeptId());
// 告警统计
- AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics();
+ AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics(regionCode, AuthUtil.getDeptId());
alarmStatisticsVO.setHistoryAlarmCount(alarmStatistics.getHistoryAlarmCount());
alarmStatisticsVO.setRealTimeAlarmCount(alarmStatistics.getRealTimeAlarmCount());
return alarmStatisticsVO;
}
+
+ /**
+ * @param effectiveRangeKmIsNotNull
+ * @return
+ */
+ @Override
+ public List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull) {
+ FwDeviceDTO fwDeviceDTO = new FwDeviceDTO();
+ Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+ Region byCode = RegionCache.getByCode(dept.getAreaCode());
+ fwDeviceDTO.setCurrentDeptId(AuthUtil.getDeptId());
+ fwDeviceDTO.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+ return fwDeviceService.getDeviceStatistics(fwDeviceDTO);
+ }
+
+ /**
+ *
+ * @param filterTime
+ * @return
+ */
+ @Override
+ public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(Date filterTime) {
+ FwBaseInfo fwBaseInfo = new FwBaseInfo();
+ Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+ Region byCode = RegionCache.getByCode(dept.getAreaCode());
+ fwBaseInfo.setCurrentDeptId(AuthUtil.getDeptId());
+ fwBaseInfo.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+ return iFwDefenseSceneManageService.selectFwDefenseSceneManageCockpitList(fwBaseInfo);
+ }
+
+ /**
+ *
+ * @param filterSelected
+ * @param sceneId
+ * @param areaTypeKeys
+ * @param isSetSceneManage
+ * @param flyTime
+ * @return
+ */
+ @Override
+ public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys, Integer isSetSceneManage, LocalDateTime flyTime) {
+ FwAreaDivideListParam fwAreaDivideListParam = new FwAreaDivideListParam();
+ fwAreaDivideListParam.setFilterSelected(filterSelected);
+ fwAreaDivideListParam.setSceneId(sceneId);
+ fwAreaDivideListParam.setAreaTypeKeys(areaTypeKeys);
+ fwAreaDivideListParam.setIsSetSceneManage(isSetSceneManage);
+ fwAreaDivideListParam.setFlyTime(flyTime);
+ // 解析区域类型键值列表
+ fwAreaDivideListParam.setAreaTypeKeyList(Func.toStrList(areaTypeKeys));
+ Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+ Region byCode = RegionCache.getByCode(dept.getAreaCode());
+ fwAreaDivideListParam.setCurrentDeptId(AuthUtil.getDeptId());
+ fwAreaDivideListParam.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+ return iFwAreaDivideService.selectFwAreaDivideList(fwAreaDivideListParam);
+ }
}
--
Gitblit v1.9.3