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/IFwDeviceService.java |  130 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 126 insertions(+), 4 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java
index 08c928a..1a893b5 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java
@@ -17,18 +17,27 @@
 package org.sxkj.fw.device.service;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
+import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
+import org.sxkj.fw.device.dto.FwDeviceDTO;
+import org.sxkj.fw.device.dto.FwDevicePolygonQueryDTO;
 import org.sxkj.fw.device.entity.FwDeviceEntity;
+import org.sxkj.fw.device.param.FwDevicePageParam;
+import org.sxkj.fw.device.vo.CockpitFwDeviceVO;
+import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO;
 import org.sxkj.fw.device.vo.FwDeviceVO;
 import org.sxkj.fw.device.excel.FwDeviceExcel;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseService;
+import org.springblade.core.mp.support.Query;
 import java.util.List;
+import java.util.Map;
 
 /**
- * 反无设备表 服务类
+ * 设备表 服务类
  *
- * @author AIX
- * @since 2026-01-06
+ * @author aix
+ * @since 2026-01-08
  */
 public interface IFwDeviceService extends BaseService<FwDeviceEntity> {
 	/**
@@ -38,7 +47,35 @@
 	 * @param fwDevice
 	 * @return
 	 */
-	IPage<FwDeviceVO> selectFwDevicePage(IPage<FwDeviceVO> page, FwDeviceVO fwDevice);
+	IPage<FwDeviceEntity> selectFwDevicePage(IPage<FwDeviceEntity> page, FwDeviceDTO fwDevice);
+
+	/**
+	 * 自定义分页返回
+	 *
+	 * @param fwDevice
+	 * @param query
+	 * @return
+	 */
+	IPage<FwDeviceVO> selectFwDevicePageVo(FwDevicePageParam fwDevice, Query query);
+
+	/**
+	 * 列表查询
+	 *
+	 * @param isAreaSelect 是否过滤区域
+	 * @param areaId 设备被关联区域id
+	 * @param areaIds 设备被关联区域id集合
+	 * @param status 设备状态
+	 * @return
+	 */
+	List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, List<Long> areaIds, Integer status, Integer isTrack);
+
+	/**
+	 * 根据多边形查询设备列表
+	 *
+	 * @param query 查询条件
+	 * @return 设备列表
+	 */
+	List<FwDeviceEntity> selectFwDeviceListByPolygons(FwDevicePolygonQueryDTO query);
 
 
 	/**
@@ -49,4 +86,89 @@
 	 */
 	List<FwDeviceExcel> exportFwDevice(Wrapper<FwDeviceEntity> queryWrapper);
 
+	/**
+	 * 设备类型统计
+	 * @return
+	 */
+	List<DeviceStatisticsVO> statisticalDeviceType(String regionCode, String currentDeptId);
+
+	/**
+	 * 设备统计 - 按类型统计
+	 * @return 统计数据
+	 */
+	List<DeviceTypeStatisticsVO> getDeviceTypeStatistics();
+
+	/**
+	 * 设备出库去向统计
+	 * @return 统计数据
+	 */
+	List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull);
+
+	/**
+	 * 设备生产厂商统计
+	 * @return 统计数据
+	 */
+	List<DeviceStatisticsVO> getDeviceManufacturerStatistics();
+
+	/**
+	 * 设备报警统计
+	 * @return
+	 */
+	AlarmStatisticsVO statisticalDeviceAtt(String regionCode, String currentDeptId);
+
+	/**
+	 * 驾驶舱获取设备列表
+	 * @param page
+	 * @param fwDevice
+	 * @return
+	 */
+	IPage<CockpitFwDeviceVO> selectCockpitDevicePage(IPage<CockpitFwDeviceVO> page, FwDeviceDTO fwDevice);
+
+	/**
+	 * 获取设备关联场景名称
+	 *
+	 * @param deviceIds
+	 * @return
+	 */
+	Map<Long, String> selectSceneNameByDeviceIds(List<Long> deviceIds);
+
+	/**
+	 * 判断设备是否绑定区域
+	 *
+	 * @param deviceId
+	 * @return
+	 */
+	boolean existsAreaBindByDeviceId(Long deviceId);
+
+	/**
+	 * 新增或修改设备
+	 * @param fwDeviceEntity
+	 * @return
+	 */
+	boolean saveOrUpdateDevice(FwDeviceEntity fwDeviceEntity);
+
+	/**
+	 * 按设备ID更新出入库状态
+	 *
+	 * @param deviceId 设备ID
+	 * @param trackStatus 出入库状态
+	 * @return 是否更新成功
+	 */
+	boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus, String outTarget, String outTargetCode);
+
+	/**
+	 * 查询非本部门区域的设备
+	 *
+	 * @param regionCode 区域编码,用于查询不在该区域内的设备
+	 * @param deptId 机构ID,用于限定查询范围
+	 * @return 设备列表
+	 */
+	List<FwDeviceVO> getNonDeptAreaDevices(String regionCode, String deptId);
+
+	/**
+	 *
+	 * @param fwDeviceDTO
+	 * @return
+	 */
+	List<DeviceStatisticsVO> getDeviceStatistics(FwDeviceDTO fwDeviceDTO);
 }

--
Gitblit v1.9.3