吉安感知网项目-后端
linwei
2026-01-28 c04afebf9cebfd65bf55c2395e732f36f558d208
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);
}