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 | 121 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 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..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,13 +17,21 @@ 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; /** * 设备表 服务类 @@ -41,6 +49,34 @@ */ 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); + /** * 导出数据 @@ -50,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