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 |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 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 328119e..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,13 +17,20 @@
 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;
 
 /**
  * 设备表 服务类
@@ -41,6 +48,25 @@
 	 */
 	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);
+
 
 	/**
 	 * 导出数据
@@ -50,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