From 51a551a7f8eae7654f973d45cd2fa2952774673d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 07 Aug 2026 10:56:55 +0800
Subject: [PATCH] perf(task): 优化巡查任务审核性能并添加详细日志记录

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneFlightRecordServiceImpl.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneFlightRecordServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneFlightRecordServiceImpl.java
index d344ef9..cb3e59d 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneFlightRecordServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneFlightRecordServiceImpl.java
@@ -16,8 +16,11 @@
  */
 package org.sxkj.fw.record.service.impl;
 
+import org.springblade.core.secure.utils.AuthUtil;
+import org.sxkj.common.utils.HeaderUtils;
 import org.sxkj.fw.record.dto.FwDroneFlightRecordDTO;
 import org.sxkj.fw.record.entity.FwDroneFlightRecordEntity;
+import org.sxkj.fw.record.param.FwDroneFlightRecordExportParam;
 import org.sxkj.fw.record.vo.FwDroneFlightRecordVO;
 import org.sxkj.fw.record.excel.FwDroneFlightRecordExcel;
 import org.sxkj.fw.record.mapper.FwDroneFlightRecordMapper;
@@ -26,7 +29,14 @@
 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.RegionCache;
+import org.sxkj.system.cache.SysCache;
+import org.sxkj.system.entity.Dept;
+import org.sxkj.system.entity.Region;
+
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 无人机飞行记录表 服务实现类
@@ -39,17 +49,25 @@
 
 	@Override
 	public IPage<FwDroneFlightRecordVO> selectFwDroneFlightRecordPage(IPage<FwDroneFlightRecordVO> page, FwDroneFlightRecordDTO fwDroneFlightRecord) {
+		Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+		Region byCode = RegionCache.getByCode(dept.getAreaCode());
+		fwDroneFlightRecord.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+		fwDroneFlightRecord.setCurrentDeptId(AuthUtil.getDeptId());
 		return page.setRecords(baseMapper.selectFwDroneFlightRecordPage(page, fwDroneFlightRecord));
 	}
 
 
 	@Override
-	public List<FwDroneFlightRecordExcel> exportFwDroneFlightRecord(Wrapper<FwDroneFlightRecordEntity> queryWrapper) {
-		List<FwDroneFlightRecordExcel> fwDroneFlightRecordList = baseMapper.exportFwDroneFlightRecord(queryWrapper);
-		//fwDroneFlightRecordList.forEach(fwDroneFlightRecord -> {
-		//	fwDroneFlightRecord.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDroneFlightRecord.getType()));
-		//});
-		return fwDroneFlightRecordList;
+	public Map<String, List<FwDroneFlightRecordExcel>> exportFwDroneFlightRecord(FwDroneFlightRecordExportParam fwDroneFlightRecord) {
+		Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+		Region byCode = RegionCache.getByCode(dept.getAreaCode());
+		fwDroneFlightRecord.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+		fwDroneFlightRecord.setCurrentDeptId(AuthUtil.getDeptId());
+		List<FwDroneFlightRecordExcel> fwDroneFlightRecordList = baseMapper.exportFwDroneFlightRecord(fwDroneFlightRecord);
+		// 按照 无人机名称 和 序列号 组合进行分组,键格式为 "id_serialNo"
+		Map<String, List<FwDroneFlightRecordExcel>> groupedMap = fwDroneFlightRecordList.stream()
+			.collect(Collectors.groupingBy(item -> item.getDroneName() + "_" + item.getSerialNo()));
+		return groupedMap;
 	}
 
 }

--
Gitblit v1.9.3