吉安感知网项目-后端
rain
2026-02-09 66bfbdb9251c22ffa2b5f05595a76a3547a2f5eb
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
@@ -3,11 +3,18 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.param.FwAreaDivideListParam;
import org.sxkj.fw.area.service.IFwAreaDivideService;
import org.sxkj.fw.area.service.IFwDefenseSceneManageService;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
import org.sxkj.fw.cockpit.service.ICockpitService;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
import org.sxkj.fw.common.FwBaseInfo;
import org.sxkj.fw.detection.entity.FwEffectEvalEntity;
import org.sxkj.fw.detection.param.FwEffectEvalParam;
import org.sxkj.fw.detection.service.IFwEffectEvalService;
@@ -25,6 +32,8 @@
import org.sxkj.system.entity.Region;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Optional;
@@ -39,6 +48,12 @@
   @Resource
   private IFwEffectEvalService fwEffectEvalService;
   @Resource
   private IFwAreaDivideService iFwAreaDivideService;
   @Resource
   private IFwDefenseSceneManageService iFwDefenseSceneManageService;
   @Override
@@ -58,7 +73,6 @@
   @Override
   public List<DeviceStatisticsVO> statisticalDeviceType() {
      // List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      return fwDeviceService.statisticalDeviceType(HeaderUtils.formatAreaCode(byCode.getCode()), AuthUtil.getDeptId());
@@ -105,7 +119,6 @@
   @Override
   public AlarmStatisticsVO statisticsAlarmsAndDeviceRecords() {
      // List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      String regionCode = HeaderUtils.formatAreaCode(byCode.getCode());
@@ -131,4 +144,45 @@
      fwDeviceDTO.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
      return fwDeviceService.getDeviceStatistics(fwDeviceDTO);
   }
   /**
    *
    * @param filterTime
    * @return
    */
   @Override
   public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(Date filterTime) {
      FwBaseInfo fwBaseInfo = new FwBaseInfo();
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      fwBaseInfo.setCurrentDeptId(AuthUtil.getDeptId());
      fwBaseInfo.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
      return iFwDefenseSceneManageService.selectFwDefenseSceneManageCockpitList(fwBaseInfo);
   }
   /**
    *
    * @param filterSelected
    * @param sceneId
    * @param areaTypeKeys
    * @param isSetSceneManage
    * @param flyTime
    * @return
    */
   @Override
   public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys, Integer isSetSceneManage, LocalDateTime flyTime) {
      FwAreaDivideListParam fwAreaDivideListParam = new FwAreaDivideListParam();
      fwAreaDivideListParam.setFilterSelected(filterSelected);
      fwAreaDivideListParam.setSceneId(sceneId);
      fwAreaDivideListParam.setAreaTypeKeys(areaTypeKeys);
      fwAreaDivideListParam.setIsSetSceneManage(isSetSceneManage);
      fwAreaDivideListParam.setFlyTime(flyTime);
      // 解析区域类型键值列表
      fwAreaDivideListParam.setAreaTypeKeyList(Func.toStrList(areaTypeKeys));
      Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
      Region byCode = RegionCache.getByCode(dept.getAreaCode());
      fwAreaDivideListParam.setCurrentDeptId(AuthUtil.getDeptId());
      fwAreaDivideListParam.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
      return iFwAreaDivideService.selectFwAreaDivideList(fwAreaDivideListParam);
   }
}