From c04afebf9cebfd65bf55c2395e732f36f558d208 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 28 Jan 2026 10:30:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java |   95 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 91 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..7dd9c4f 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,26 @@
 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.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 +46,26 @@
 	 * @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 status 设备状态
+	 * @return
+	 */
+	List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, Integer status, Integer isTrack);
 
 
 	/**
@@ -49,4 +76,64 @@
 	 */
 	List<FwDeviceExcel> exportFwDevice(Wrapper<FwDeviceEntity> queryWrapper);
 
+	/**
+	 * 设备类型统计
+	 * @return
+	 */
+	List<DeviceStatisticsVO> statisticalDeviceType();
+
+	/**
+	 * 设备统计 - 按类型统计
+	 * @return 统计数据
+	 */
+	List<DeviceTypeStatisticsVO> getDeviceTypeStatistics();
+
+	/**
+	 * 设备出库去向统计
+	 * @return 统计数据
+	 */
+	List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull);
+
+	/**
+	 * 设备生产厂商统计
+	 * @return 统计数据
+	 */
+	List<DeviceStatisticsVO> getDeviceManufacturerStatistics();
+
+	/**
+	 * 设备报警统计
+	 * @return
+	 */
+	AlarmStatisticsVO statisticalDeviceAtt();
+
+	/**
+	 * 驾驶舱获取设备列表
+	 * @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);
 }

--
Gitblit v1.9.3