From f789ce14f7b7790f20fc4894eacdf452b7228497 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 04 Feb 2026 14:10:28 +0800
Subject: [PATCH] 反无驾驶舱优化

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java |   39 +++++++++++++--------------------------
 1 files changed, 13 insertions(+), 26 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
index 3545a1b..e2bc88f 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
@@ -33,6 +33,8 @@
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.sxkj.system.cache.SysCache;
+
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.ArrayList;
@@ -63,6 +65,10 @@
 
 	@Override
 	public IPage<FwDefenseSceneVO> selectFwDefenseScenePage(IPage<FwDefenseSceneVO> page, FwDefenseSceneVO fwDefenseScene) {
+		if (!AuthUtil.isAdministrator()) {
+			List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+			fwDefenseScene.setDeptList(deptList);
+		}
 		IPage<FwDefenseSceneVO> result = page.setRecords(baseMapper.selectFwDefenseScenePage(page, fwDefenseScene));
 		List<FwDefenseSceneVO> records = result.getRecords();
 		if (records == null || records.isEmpty()) {
@@ -83,7 +89,7 @@
 				if (area == null || area.getId() == null) {
 					continue;
 				}
-				areaSizeMap.put(area.getId(), area.getAreaSize());
+//				areaSizeMap.put(area.getId(), area.getAreaSize());
 				List<Long> areaDeviceIds = parseIdList(area.getDeviceIds());
 				areaDeviceMap.put(area.getId(), areaDeviceIds);
 				deviceIdSet.addAll(areaDeviceIds);
@@ -104,7 +110,6 @@
 		for (FwDefenseSceneVO record : records) {
 			List<Long> areaIds = parseIdList(record.getAreaDivideIds());
 			record.setAreaCount(areaIds.size());
-			record.setDefenseArea(sumDefenseArea(areaIds, areaSizeMap));
 
 			Set<Long> deviceIds = new HashSet<>();
 			for (Long areaId : areaIds) {
@@ -134,8 +139,12 @@
 	}
 
 	@Override
-	public List<FwDefenseSceneVO> selectFwDefenseSceneList(Integer filterSelected, Long areaId) {
-		return baseMapper.selectFwDefenseSceneList(filterSelected, areaId);
+	public List<FwDefenseSceneVO> selectFwDefenseSceneList(Integer filterSelected, Long zoneId, Long areaId, Integer unbound, Long sceneManageId) {
+		List<Long> deptList = new ArrayList<>();
+		if (!AuthUtil.isAdministrator()) {
+			deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+		}
+		return baseMapper.selectFwDefenseSceneList(filterSelected, zoneId, areaId, unbound, sceneManageId, deptList);
 	}
 
 	private List<Long> parseIdList(String ids) {
@@ -160,31 +169,9 @@
 		return idList;
 	}
 
-	private Integer sumDefenseArea(List<Long> areaIds, Map<Long, BigDecimal> areaSizeMap) {
-		if (areaIds == null || areaIds.isEmpty()) {
-			return 0;
-		}
-		BigDecimal total = BigDecimal.ZERO;
-		for (Long areaId : areaIds) {
-			BigDecimal areaSize = areaSizeMap.get(areaId);
-			if (areaSize != null) {
-				total = total.add(areaSize);
-			}
-		}
-		if (BigDecimal.ZERO.compareTo(total) == 0) {
-			return 0;
-		}
-		BigDecimal totalArea = total.multiply(AREA_SIZE_FACTOR);
-		return totalArea.setScale(0, RoundingMode.HALF_UP).intValue();
-	}
-
-
 	@Override
 	public List<FwDefenseSceneExcel> exportFwDefenseScene(Wrapper<FwDefenseSceneEntity> queryWrapper) {
 		List<FwDefenseSceneExcel> fwDefenseSceneList = baseMapper.exportFwDefenseScene(queryWrapper);
-		//fwDefenseSceneList.forEach(fwDefenseScene -> {
-		//	fwDefenseScene.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDefenseScene.getType()));
-		//});
 		return fwDefenseSceneList;
 	}
 

--
Gitblit v1.9.3