/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.sxkj.fw.device.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO; import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; 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.excel.FwDeviceExcel; import org.sxkj.fw.device.vo.CockpitFwDeviceVO; import org.sxkj.fw.device.vo.FwDeviceVO; import java.util.Date; import java.util.List; /** * 设备表 Mapper 接口 * * @author aix * @since 2026-01-08 */ public interface FwDeviceMapper extends BaseMapper { /** * 自定义分页 * * @param page * @param fwDevice * @return */ List selectFwDevicePage(IPage page, FwDeviceDTO fwDevice); /** * 列表查询 * * @param isAreaSelect * @param areaId * @param areaIds * @return */ List selectFwDeviceList(@Param("isAreaSelect") Integer isAreaSelect, @Param("areaId") Long areaId, @Param("areaIds") List areaIds, @Param("status") Integer status, @Param("isTrack") Integer isTrack); /** * 根据多边形查询设备列表 * * @param query 查询条件 * @return 设备列表 */ List selectFwDeviceListByPolygons(@Param("query") FwDevicePolygonQueryDTO query); /** * 获取导出数据 * @param queryWrapper * @return */ List exportFwDevice(@Param("ew") Wrapper queryWrapper); /** * 设备统计 - 驾驶舱使用 * @return 统计数据 */ List statisticalDeviceType(String regionCode, String currentDeptId, Date flyTime); /** * 设备统计 - 按类型统计 * @return 统计数据 */ List getDeviceTypeStatistics(List deptList,String currentDeptId); /** * 设备出库去向统计 * @return 统计数据 */ List getDeviceOutStatistics(String effectiveRangeKmIsNotNull,List deptList,String currentDeptId); /** * 设备生产厂商统计 * @return 统计数据 */ List getDeviceManufacturerStatistics(List deptList, String currentDeptId); /** * 告警统计 * @return */ AlarmStatisticsVO statisticalDeviceAtt(String regionCode, String currentDeptId, Date flyTime); /** * 获取设备列表 * @param page * @param fwDevice * @return */ List selectCockpitDevicePage(IPage page, FwDeviceDTO fwDevice); /** * 按设备ID更新出入库状态 * * @param deviceId 设备ID * @param trackStatus 出入库状态 * @return 影响行数 */ int updateTrackStatusByDeviceId(@Param("deviceId") Long deviceId, @Param("trackStatus") Integer trackStatus, @Param("outTarget") String outTarget, @Param("outTargetCode") String outTargetCode); /** * 查询非本部门区域的设备 * @param regionName 部门名称 * @param currentDeptId 当前用户部门ID * @return 设备列表 */ List selectNonDeptAreaDevices(@Param("regionName") String regionName, @Param("currentDeptId") String currentDeptId); /** * * @param fwDeviceDTO * @return */ List getDeviceStatistics(FwDeviceDTO fwDeviceDTO); /** * 批量更新设备启用状态 * * @param deviceIds 设备ID列表 * @param isEnabled 启用状态:0-禁用,1-启用 * @return 影响行数 */ int batchUpdateIsEnabled(@Param("deviceIds") List deviceIds, @Param("isEnabled") Integer isEnabled); }