From 9589ee836c7921cbd85edd0dec994c77fa5ba7e4 Mon Sep 17 00:00:00 2001 From: linwei <872216696@qq.com> Date: Fri, 30 Jan 2026 16:39:50 +0800 Subject: [PATCH] 设备共享接口 --- drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 103 insertions(+), 3 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 172c4be..683eb77 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 @@ -20,12 +20,18 @@ 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; /** * 设备表 服务类 @@ -43,6 +49,33 @@ */ 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); + + /** + * 根据多边形查询设备列表 + * + * @param query 查询条件 + * @return 设备列表 + */ + List<FwDeviceEntity> selectFwDeviceListByPolygons(FwDevicePolygonQueryDTO query); + /** * 导出数据 @@ -56,11 +89,78 @@ * 设备类型统计 * @return */ - List<DeviceStatisticsVO> statisticalDeviceType(); + List<DeviceStatisticsVO> statisticalDeviceType(String regionName, String currentDeptId); /** - * + * 设备统计 - 按类型统计 + * @return 统计数据 + */ + List<DeviceTypeStatisticsVO> getDeviceTypeStatistics(); + + /** + * 设备出库去向统计 + * @return 统计数据 + */ + List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull); + + /** + * 设备生产厂商统计 + * @return 统计数据 + */ + List<DeviceStatisticsVO> getDeviceManufacturerStatistics(); + + /** + * 设备报警统计 * @return */ - AlarmStatisticsVO statisticalDeviceAtt(); + AlarmStatisticsVO statisticalDeviceAtt(String regionName, 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); + + /** + * 查询非本部门区域的设备 + * + * @param regionCode 区域编码,用于查询不在该区域内的设备 + * @param deptId 机构ID,用于限定查询范围 + * @return 设备列表 + */ + List<FwDeviceVO> getNonDeptAreaDevices(String regionCode, String deptId); } -- Gitblit v1.9.3