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 | 69 ++++++++++++++++++++++++++++++++-- 1 files changed, 65 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 c0841e8..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 @@ -20,13 +20,16 @@ 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; @@ -47,14 +50,32 @@ 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, Integer status); + List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId, List<Long> areaIds, Integer status, Integer isTrack); + + /** + * 根据多边形查询设备列表 + * + * @param query 查询条件 + * @return 设备列表 + */ + List<FwDeviceEntity> selectFwDeviceListByPolygons(FwDevicePolygonQueryDTO query); /** @@ -69,7 +90,7 @@ * 设备类型统计 * @return */ - List<DeviceStatisticsVO> statisticalDeviceType(); + List<DeviceStatisticsVO> statisticalDeviceType(String regionCode, String currentDeptId); /** * 设备统计 - 按类型统计 @@ -81,7 +102,7 @@ * 设备出库去向统计 * @return 统计数据 */ - List<DeviceStatisticsVO> getDeviceOutStatistics(); + List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull); /** * 设备生产厂商统计 @@ -93,7 +114,7 @@ * 设备报警统计 * @return */ - AlarmStatisticsVO statisticalDeviceAtt(); + AlarmStatisticsVO statisticalDeviceAtt(String regionCode, String currentDeptId); /** * 驾驶舱获取设备列表 @@ -110,4 +131,44 @@ * @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