From fefe259f19a251d90d17d8a42e04f6332a4cad3e Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 23 Jan 2026 15:37:30 +0800
Subject: [PATCH] sql 优化

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneFlightRecordServiceImpl.java |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 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 23b99d2..c51bb19 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,7 +16,9 @@
  */
 package org.sxkj.fw.record.service.impl;
 
+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;
@@ -25,30 +27,33 @@
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
+
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 无人机飞行记录表 服务实现类
  *
  * @author lw
- * @since 2026-01-07
+ * @since 2026-01-08
  */
 @Service
 public class FwDroneFlightRecordServiceImpl extends BaseServiceImpl<FwDroneFlightRecordMapper, FwDroneFlightRecordEntity> implements IFwDroneFlightRecordService {
 
 	@Override
-	public IPage<FwDroneFlightRecordVO> selectFwDroneFlightRecordPage(IPage<FwDroneFlightRecordVO> page, FwDroneFlightRecordVO fwDroneFlightRecord) {
+	public IPage<FwDroneFlightRecordVO> selectFwDroneFlightRecordPage(IPage<FwDroneFlightRecordVO> page, FwDroneFlightRecordDTO fwDroneFlightRecord) {
 		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) {
+		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