From 74b5d54c1cf5dc585a2fe135f4ce4dd2b374b4dd Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Tue, 03 Feb 2026 15:55:35 +0800
Subject: [PATCH] 设备列表查询新增多个区域信息

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java |   41 ++++++++++++++++++++++++-----------------
 1 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java
index fbca111..5ac842d 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java
@@ -92,8 +92,8 @@
 	}
 
 	@Override
-	public List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, Integer status, Integer isTrack) {
-		return baseMapper.selectFwDeviceList(isAreaSelect, areaId, status, isTrack);
+	public List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, List<Long> areaIds, Integer status, Integer isTrack) {
+		return baseMapper.selectFwDeviceList(isAreaSelect, areaId, areaIds, status, isTrack);
 	}
 
 	@Override
@@ -130,8 +130,8 @@
 	 * @return
 	 */
 	@Override
-	public List<DeviceStatisticsVO> statisticalDeviceType(String regionName, String currentDeptId) {
-		return baseMapper.statisticalDeviceType(regionName, currentDeptId);
+	public List<DeviceStatisticsVO> statisticalDeviceType(String regionCode, String currentDeptId) {
+		return baseMapper.statisticalDeviceType(regionCode, currentDeptId);
 	}
 
 	/**
@@ -143,14 +143,15 @@
 	public List<DeviceTypeStatisticsVO> getDeviceTypeStatistics() {
 		// 统计范围限定在当前部门及下级部门
 		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
-		return baseMapper.getDeviceTypeStatistics(deptList);
+		List<DeviceTypeStatisticsVO> deviceTypeStatistics = baseMapper.getDeviceTypeStatistics(deptList, AuthUtil.getDeptId());
+		return deviceTypeStatistics;
 	}
 
 	@Override
 	public List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull) {
 		// 统计范围限定在当前部门及下级部门
 		List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
-		return baseMapper.getDeviceOutStatistics(effectiveRangeKmIsNotNull, deptList);
+		return baseMapper.getDeviceOutStatistics(effectiveRangeKmIsNotNull, deptList, AuthUtil.getDeptId());
 	}
 
 	@Override
@@ -166,8 +167,8 @@
 	 * @return
 	 */
 	@Override
-	public AlarmStatisticsVO statisticalDeviceAtt(String regionName, String currentDeptId) {
-		return baseMapper.statisticalDeviceAtt(regionName, currentDeptId);
+	public AlarmStatisticsVO statisticalDeviceAtt(String regionCode, String currentDeptId) {
+		return baseMapper.statisticalDeviceAtt(regionCode, currentDeptId);
 	}
 
 	@Override
@@ -197,23 +198,29 @@
 	}
 
 	@Override
-	public boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus) {
-		return baseMapper.updateTrackStatusByDeviceId(deviceId, trackStatus) > 0;
+	public boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus, String outTarget, String outTargetCode) {
+		return baseMapper.updateTrackStatusByDeviceId(deviceId, trackStatus, outTarget, outTargetCode) > 0;
 	}
 
 	/**
 	 * 查询非本部门区域的设备
 	 *
+	 * @param regionCode 区域编码,用于查询不在该区域内的设备
+	 * @param deptId 机构ID,用于限定查询范围
 	 * @return 设备列表
 	 */
 	@Override
-	public List<FwDeviceVO> getNonDeptAreaDevices() {
-		// 1. 获取当前用户的部门ID
-		String currentDeptId = AuthUtil.getDeptId();
-		Dept dept = SysCache.getDept(Long.valueOf(currentDeptId));
-		// 3. 查询不在这些部门区域内的设备
-		Region byCode = RegionCache.getByCode(dept.getAreaCode());
-		List<FwDeviceVO> deviceList = baseMapper.selectNonDeptAreaDevices(byCode.getName(), currentDeptId);
+	public List<FwDeviceVO> getNonDeptAreaDevices(String regionCode, String deptId) {
+		// 1. 根据区域编码获取区域名称
+		Region region = RegionCache.getByCode(regionCode);
+		String regionName = region != null ? region.getName() : null;
+		// 2. 查询不在这些部门区域内的设备
+		List<FwDeviceVO> deviceList = baseMapper.selectNonDeptAreaDevices(regionName, deptId);
 		return deviceList;
 	}
+
+	@Override
+	public List<DeviceStatisticsVO> getDeviceStatistics(FwDeviceDTO fwDeviceDTO) {
+		return baseMapper.getDeviceStatistics(fwDeviceDTO);
+	}
 }

--
Gitblit v1.9.3