From 90f14a4ce0100889b29a97017b385694ef3f8f2a Mon Sep 17 00:00:00 2001
From: xiebin <vip_xiaobin810@163.com>
Date: Thu, 29 Jan 2026 14:04:03 +0800
Subject: [PATCH] update-区域划分大屏

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java |   73 ++++++++++++++++++++++++------------
 1 files changed, 49 insertions(+), 24 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
index 4a8cd6e..fb447a4 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
@@ -16,36 +16,30 @@
  */
 package org.sxkj.fw.area.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.StringUtil;
-import org.sxkj.common.utils.HeaderUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.sxkj.fw.area.dto.FwAreaDivideDTO;
 import org.sxkj.fw.area.dto.FwAreaDivideStatisticsDTO;
 import org.sxkj.fw.area.entity.FwAreaDivideEntity;
 import org.sxkj.fw.area.entity.FwAreaDivideExtEntity;
-import org.sxkj.fw.area.vo.FwAreaDivideVO;
-import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO;
-import org.sxkj.fw.area.vo.FwDefenseSceneVO;
 import org.sxkj.fw.area.excel.FwAreaDivideExcel;
 import org.sxkj.fw.area.mapper.FwAreaDivideMapper;
-import org.sxkj.fw.area.service.IFwAreaDivideService;
 import org.sxkj.fw.area.service.IFwAreaDivideExtService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import lombok.AllArgsConstructor;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.sxkj.fw.area.service.IFwAreaDivideService;
+import org.sxkj.fw.area.vo.FwAreaDivideExtVO;
+import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO;
+import org.sxkj.fw.area.vo.FwAreaDivideVO;
+import org.sxkj.fw.area.vo.FwDefenseSceneVO;
 import org.sxkj.system.cache.SysCache;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Date;
+import java.util.*;
 
 /**
  * 区域划分表 服务实现类
@@ -56,7 +50,7 @@
 @Service
 @AllArgsConstructor
 public class FwAreaDivideServiceImpl extends BaseServiceImpl<FwAreaDivideMapper, FwAreaDivideEntity>
-		implements IFwAreaDivideService {
+	implements IFwAreaDivideService {
 
 	private final IFwAreaDivideExtService fwAreaDivideExtService;
 
@@ -64,12 +58,43 @@
 	public IPage<FwAreaDivideVO> selectFwAreaDividePage(IPage<FwAreaDivideVO> page, FwAreaDivideDTO fwAreaDivide) {
 		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
 		fwAreaDivide.setDeptList(deptList);
-		return page.setRecords(baseMapper.selectFwAreaDividePage(page, fwAreaDivide));
+
+		List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDividePage(page, fwAreaDivide);
+
+		// 获取面数据
+		if (areaDivideList != null && !areaDivideList.isEmpty()) {
+			enrichWithExtensionData(areaDivideList);
+		}
+
+		return page.setRecords(areaDivideList);
 	}
 
 	@Override
 	public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId) {
-		return baseMapper.selectFwAreaDivideList(filterSelected, sceneId);
+		List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDivideList(filterSelected, sceneId);
+		// 获取面数据
+		if (areaDivideList != null && !areaDivideList.isEmpty()) {
+			enrichWithExtensionData(areaDivideList);
+		}
+		return areaDivideList;
+	}
+
+	/**
+	 * 为区域划分列表填充扩展表数据
+	 *
+	 * @param areaDivideList 区域划分列表
+	 */
+	private void enrichWithExtensionData(List<FwAreaDivideVO> areaDivideList) {
+		if (areaDivideList == null || areaDivideList.isEmpty()) {
+			return;
+		}
+
+		areaDivideList.stream()
+			.filter(area -> area.getId() != null) // 过滤掉id为空的对象
+			.forEach(area -> {
+				List<FwAreaDivideExtVO> extList = fwAreaDivideExtService.getByAreaDivideId(area.getId());
+				area.setFwAreaDivideExtList(extList);
+			});
 	}
 
 	@Override
@@ -174,7 +199,7 @@
 
 	@Override
 	public IPage<FwAreaDivideStatisticsVO> selectFwAreaDivideStatisticsPage(IPage<FwAreaDivideStatisticsVO> page,
-			FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
+																			FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
 		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
 		fwAreaDivideStatistics.setDeptList(deptList);
 		return page.setRecords(baseMapper.selectFwAreaDivideStatisticsPage(page, fwAreaDivideStatistics));
@@ -182,7 +207,7 @@
 
 	@Override
 	public FwAreaDivideStatisticsVO selectFwAreaDivideStatisticsDetail(
-			FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
+		FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
 		return baseMapper.selectFwAreaDivideStatisticsDetail(fwAreaDivideStatistics);
 	}
 

--
Gitblit v1.9.3