From 6a8762f95544819eeea4a4d5503232e1925ca04c Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 03 Feb 2026 17:28:49 +0800
Subject: [PATCH] 反无驾驶舱优化

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java         |   22 +++++++++++
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java    |   39 +++++++++++++++++--
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java |   36 ++++++++++++++++++
 3 files changed, 93 insertions(+), 4 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
index 671609e..9a84da1 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
@@ -2,15 +2,15 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.*;
+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;
@@ -21,6 +21,8 @@
 import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
 
 import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -105,4 +107,33 @@
 	public R interferenceAndExpulsion(@Valid @RequestBody FwEffectEvalParam fwEffectEvalParam) {
  		return R.status(cockpitService.interferenceAndExpulsion(fwEffectEvalParam));
 	}
+
+	/**
+	 * 区域划分表 列表
+	 */
+	@GetMapping("/areaDivideList")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "列表-不带分页", notes = "传入filterSelected或sceneId或areaTypeKeys或isSetSceneManage或flyTime")
+	public R<List<FwAreaDivideVO>> list(
+		@ApiParam(value = "是否过滤已被选择的数据(1过滤 0不过滤)") @RequestParam(required = false) Integer filterSelected,
+		@ApiParam(value = "场景id") @RequestParam(required = false) Long sceneId,
+		@ApiParam(value = "区域类型key集合(逗号分隔)") @RequestParam(required = false) String areaTypeKeys,
+		@ApiParam(value = "是否按场景管理过滤(1是 0或空否)") @RequestParam(required = false) Integer isSetSceneManage,
+		@ApiParam(value = "时间筛选(yyyy-MM-dd HH:mm:ss)") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime flyTime) {
+		List<FwAreaDivideVO> list = cockpitService.selectFwAreaDivideList(filterSelected, sceneId, areaTypeKeys, isSetSceneManage, flyTime);
+		return R.data(list);
+	}
+
+	/**
+	 * 场景管理表 列表
+	 */
+	@GetMapping("/defenseSceneManageList")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "列表", notes = "传入time")
+	public R<List<FwDefenseSceneManageVO>> list(
+		@ApiParam(value = "时间筛选(yyyy-MM-dd HH:mm:ss)") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date time) {
+		Date filterTime = time == null ? new Date() : time;
+		List<FwDefenseSceneManageVO> list = cockpitService.selectFwDefenseSceneManageList(filterTime);
+		return R.data(list);
+	}
 }
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
index fd412cb..e8dceb2 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
@@ -1,6 +1,8 @@
 package org.sxkj.fw.cockpit.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.sxkj.fw.area.vo.FwAreaDivideVO;
+import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
 import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
 import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
 import org.sxkj.fw.detection.param.FwEffectEvalParam;
@@ -9,6 +11,8 @@
 import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
 import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
 
+import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 public interface ICockpitService {
@@ -54,4 +58,22 @@
 	 * @return
 	 */
 	List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull);
+
+	/**
+	 *
+	 * @param filterSelected
+	 * @param sceneId
+	 * @param areaTypeKeys
+	 * @param isSetSceneManage
+	 * @param flyTime
+	 * @return
+	 */
+	List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys, Integer isSetSceneManage, LocalDateTime flyTime);
+
+	/**
+	 *
+	 * @param filterTime
+	 * @return
+	 */
+	List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(Date filterTime);
 }
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 1f10398..3811d56 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
@@ -5,6 +5,10 @@
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.stereotype.Service;
 import org.sxkj.common.utils.HeaderUtils;
+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;
@@ -25,6 +29,8 @@
 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;
 
@@ -39,6 +45,12 @@
 
 	@Resource
 	private IFwEffectEvalService fwEffectEvalService;
+
+	@Resource
+	private IFwAreaDivideService iFwAreaDivideService;
+
+	@Resource
+	private IFwDefenseSceneManageService iFwDefenseSceneManageService;
 
 
 	@Override
@@ -131,4 +143,28 @@
 		fwDeviceDTO.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
 		return fwDeviceService.getDeviceStatistics(fwDeviceDTO);
 	}
+
+	/**
+	 *
+	 * @param filterTime
+	 * @return
+	 */
+	@Override
+	public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(Date filterTime) {
+		return iFwDefenseSceneManageService.selectFwDefenseSceneManageList(filterTime);
+	}
+
+	/**
+	 *
+	 * @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) {
+		return iFwAreaDivideService.selectFwAreaDivideList(filterSelected, sceneId, areaTypeKeys, isSetSceneManage, flyTime);
+	}
 }

--
Gitblit v1.9.3