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/FwDroneAlarmRecordServiceImpl.java |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java
index 2d3b3af..b0a6cef 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java
@@ -16,7 +16,10 @@
  */
 package org.sxkj.fw.record.service.impl;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.sxkj.common.utils.HeaderUtils;
 import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
 import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
 import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity;
@@ -28,10 +31,16 @@
 import org.springframework.stereotype.Service;
 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.fw.device.mapper.FwDevicePerShareMapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.sxkj.system.entity.Dept;
+import org.sxkj.system.entity.Region;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -41,27 +50,42 @@
  * @since 2026-01-08
  */
 @Service
+@Slf4j
 public class FwDroneAlarmRecordServiceImpl extends BaseServiceImpl<FwDroneAlarmRecordMapper, FwDroneAlarmRecordEntity> implements IFwDroneAlarmRecordService {
 
 	@Autowired
 	private FwDevicePerShareMapper fwDevicePerShareMapper;
 
+	/**
+	 * 查询无人机告警记录分页列表
+	 *
+	 * @param page              分页对象
+	 * @param fwDroneAlarmRecord 无人机告警记录查询参数
+	 * @return 分页结果
+	 */
 	@Override
 	public IPage<FwDroneAlarmRecordVO> selectFwDroneAlarmRecordPage(IPage<FwDroneAlarmRecordVO> page, FwDroneAlarmRecordDTO fwDroneAlarmRecord) {
 		// 设置当前用户ID
 		fwDroneAlarmRecord.setCurrentUserId(AuthUtil.getUserId());
-		// 获取当前部门及其子部门列表
-		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
-		fwDroneAlarmRecord.setDeptList(deptList);
-		// 获取共享给当前部门的设备编号列表
+		log.info("查询参数:{}", fwDroneAlarmRecord);
+		Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+		log.info("部门信息:{}", dept);
+		// 3. 查询不在这些部门区域内的设备
+		Region byCode = RegionCache.getByCode(dept.getAreaCode());
+		log.info("部门区域信息:{}", byCode);
+		fwDroneAlarmRecord.setRegionName(byCode.getName());
 		fwDroneAlarmRecord.setCurrentDeptId(AuthUtil.getDeptId());
-		// 执行查询
+		fwDroneAlarmRecord.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
 		return page.setRecords(baseMapper.selectFwDroneAlarmRecordPage(page, fwDroneAlarmRecord));
 	}
 
 
 	@Override
 	public List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(FwDroneAlarmRecordExportParam fwDroneAlarmRecord) {
+		Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+		Region byCode = RegionCache.getByCode(dept.getAreaCode());
+		fwDroneAlarmRecord.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+		fwDroneAlarmRecord.setCurrentDeptId(AuthUtil.getDeptId());
 		List<FwDroneAlarmRecordExcel> fwDroneAlarmRecordList = baseMapper.exportFwDroneAlarmRecord(fwDroneAlarmRecord);
 		return fwDroneAlarmRecordList;
 	}
@@ -72,7 +96,7 @@
 	 * @return
 	 */
 	@Override
-	public AlarmStatisticsVO alarmTypeStatistics(List<Long> deptList, String currentDeptId) {
-		return baseMapper.alarmTypeStatistics(deptList, currentDeptId);
+	public AlarmStatisticsVO alarmTypeStatistics(String regionCode, String currentDeptId) {
+		return baseMapper.alarmTypeStatistics(regionCode, currentDeptId);
 	}
 }

--
Gitblit v1.9.3