吉安感知网项目-后端
linwei
2026-02-02 1bfbc52da47b22f00a1c1f5f670c30f70d999873
drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java
@@ -16,16 +16,25 @@
 */
package org.sxkj.fw.record.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity;
import org.sxkj.fw.record.param.FwDroneAlarmRecordExportParam;
import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
import org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel;
import org.sxkj.fw.record.mapper.FwDroneAlarmRecordMapper;
import org.sxkj.fw.record.service.IFwDroneAlarmRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.sxkj.system.cache.RegionCache;
import org.sxkj.system.cache.SysCache;
import org.sxkj.fw.device.mapper.FwDevicePerShareMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.sxkj.system.entity.Dept;
import org.sxkj.system.entity.Region;
import java.util.List;
/**
@@ -37,19 +46,41 @@
@Service
public class FwDroneAlarmRecordServiceImpl extends BaseServiceImpl<FwDroneAlarmRecordMapper, FwDroneAlarmRecordEntity> implements IFwDroneAlarmRecordService {
   @Autowired
   private FwDevicePerShareMapper fwDevicePerShareMapper;
   @Override
   public IPage<FwDroneAlarmRecordVO> selectFwDroneAlarmRecordPage(IPage<FwDroneAlarmRecordVO> page, FwDroneAlarmRecordDTO fwDroneAlarmRecord) {
      // 设置当前用户ID
      fwDroneAlarmRecord.setCurrentUserId(AuthUtil.getUserId());
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      // 3. 查询不在这些部门区域内的设备
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      String regionName = byCode.getName();
      fwDroneAlarmRecord.setRegionName(regionName);
      // 获取当前部门及其子部门列表
      // List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
      // fwDroneAlarmRecord.setDeptList(deptList);
      // 获取共享给当前部门的设备编号列表
      fwDroneAlarmRecord.setCurrentDeptId(AuthUtil.getDeptId());
      // 执行查询
      return page.setRecords(baseMapper.selectFwDroneAlarmRecordPage(page, fwDroneAlarmRecord));
   }
   @Override
   public List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(Wrapper<FwDroneAlarmRecordEntity> queryWrapper) {
      List<FwDroneAlarmRecordExcel> fwDroneAlarmRecordList = baseMapper.exportFwDroneAlarmRecord(queryWrapper);
      //fwDroneAlarmRecordList.forEach(fwDroneAlarmRecord -> {
      //   fwDroneAlarmRecord.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDroneAlarmRecord.getType()));
      //});
   public List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(FwDroneAlarmRecordExportParam fwDroneAlarmRecord) {
      List<FwDroneAlarmRecordExcel> fwDroneAlarmRecordList = baseMapper.exportFwDroneAlarmRecord(fwDroneAlarmRecord);
      return fwDroneAlarmRecordList;
   }
   /**
    * 告警类型统计
    *
    * @return
    */
   @Override
   public AlarmStatisticsVO alarmTypeStatistics(String regionName, String currentDeptId) {
      return baseMapper.alarmTypeStatistics(regionName, currentDeptId);
   }
}