吉安感知网项目-后端
linwei
4 hours ago 51a551a7f8eae7654f973d45cd2fa2952774673d
drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java
@@ -16,7 +16,10 @@
 */
package org.sxkj.fw.record.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity;
@@ -26,13 +29,18 @@
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.fwDevicePerShare.mapper.FwDevicePerShareMapper;
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.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
@@ -42,27 +50,42 @@
 * @since 2026-01-08
 */
@Service
@Slf4j
public class FwDroneAlarmRecordServiceImpl extends BaseServiceImpl<FwDroneAlarmRecordMapper, FwDroneAlarmRecordEntity> implements IFwDroneAlarmRecordService {
   @Autowired
   private FwDevicePerShareMapper fwDevicePerShareMapper;
   /**
    * 查询无人机告警记录分页列表
    *
    * @param page              分页对象
    * @param fwDroneAlarmRecord 无人机告警记录查询参数
    * @return 分页结果
    */
   @Override
   public IPage<FwDroneAlarmRecordVO> selectFwDroneAlarmRecordPage(IPage<FwDroneAlarmRecordVO> page, FwDroneAlarmRecordDTO fwDroneAlarmRecord) {
      // 设置当前用户ID
      fwDroneAlarmRecord.setCurrentUserId(AuthUtil.getUserId());
      // 获取当前部门及其子部门列表
      List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
      fwDroneAlarmRecord.setDeptList(deptList);
      // 获取共享给当前部门的设备编号列表
      log.info("查询参数:{}", fwDroneAlarmRecord);
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      log.info("部门信息:{}", dept);
      // 3. 查询不在这些部门区域内的设备
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      log.info("部门区域信息:{}", byCode);
      fwDroneAlarmRecord.setRegionName(byCode.getName());
      fwDroneAlarmRecord.setCurrentDeptId(AuthUtil.getDeptId());
      // 执行查询
      fwDroneAlarmRecord.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
      return page.setRecords(baseMapper.selectFwDroneAlarmRecordPage(page, fwDroneAlarmRecord));
   }
   @Override
   public List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(FwDroneAlarmRecordExportParam fwDroneAlarmRecord) {
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      fwDroneAlarmRecord.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
      fwDroneAlarmRecord.setCurrentDeptId(AuthUtil.getDeptId());
      List<FwDroneAlarmRecordExcel> fwDroneAlarmRecordList = baseMapper.exportFwDroneAlarmRecord(fwDroneAlarmRecord);
      return fwDroneAlarmRecordList;
   }
@@ -73,7 +96,7 @@
    * @return
    */
   @Override
   public AlarmStatisticsVO alarmTypeStatistics(List<Long> deptList, String currentDeptId) {
      return baseMapper.alarmTypeStatistics(deptList, currentDeptId);
   public AlarmStatisticsVO alarmTypeStatistics(String regionCode, String currentDeptId) {
      return baseMapper.alarmTypeStatistics(regionCode, currentDeptId);
   }
}