From 66bfbdb9251c22ffa2b5f05595a76a3547a2f5eb Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Mon, 09 Feb 2026 11:00:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java |   97 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 81 insertions(+), 16 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
index 299edb1..436c439 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
@@ -3,10 +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;
@@ -24,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 +49,12 @@
 	@Resource
 	private IFwEffectEvalService fwEffectEvalService;
 
+	@Resource
+	private IFwAreaDivideService iFwAreaDivideService;
+
+	@Resource
+	private IFwDefenseSceneManageService iFwDefenseSceneManageService;
+
 
 	@Override
 	public IPage<FwDroneAlarmRecordVO> selectFwDroneAlarmRecordPage(IPage<FwDroneAlarmRecordVO> page, FwDroneAlarmRecordDTO fwDroneAlarmRecord) {
@@ -47,24 +63,19 @@
 
 	@Override
 	public IPage<CockpitFwDeviceVO> selectCockpitDevicePage(IPage<CockpitFwDeviceVO> page, FwDeviceDTO fwDevice) {
-		// List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
-		// fwDevice.setDeptList(deptList);
-		// fwDevice.setCurrentDeptId(AuthUtil.getDeptId());
-		Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
-		Region byCode = RegionCache.getByCode(dept.getAreaCode());
-		String regionName = byCode.getName();
-		fwDevice.setRegionName(regionName);
-		fwDevice.setCurrentDeptId(AuthUtil.getDeptId());
-		return fwDeviceService.selectCockpitDevicePage(page, fwDevice);
+			Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+			Region byCode = RegionCache.getByCode(dept.getAreaCode());
+			fwDevice.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
+			fwDevice.setCurrentDeptId(AuthUtil.getDeptId());
+		IPage<CockpitFwDeviceVO> cockpitFwDeviceVOIPage = fwDeviceService.selectCockpitDevicePage(page, fwDevice);
+		return cockpitFwDeviceVOIPage;
 	}
 
 	@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());
-		String regionName = byCode.getName();
-		return fwDeviceService.statisticalDeviceType(regionName, AuthUtil.getDeptId());
+		return fwDeviceService.statisticalDeviceType(HeaderUtils.formatAreaCode(byCode.getCode()), AuthUtil.getDeptId());
 	}
 
 	@Override
@@ -108,16 +119,70 @@
 
 	@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 regionName = byCode.getName();
+		String regionCode = HeaderUtils.formatAreaCode(byCode.getCode());
 		// 设备统计
-		AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt(regionName, AuthUtil.getDeptId());
+		AlarmStatisticsVO alarmStatisticsVO = fwDeviceService.statisticalDeviceAtt(regionCode, AuthUtil.getDeptId());
 		// 告警统计
-		AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics(regionName, AuthUtil.getDeptId());
+		AlarmStatisticsVO alarmStatistics = fwDroneAlarmRecordService.alarmTypeStatistics(regionCode, AuthUtil.getDeptId());
 		alarmStatisticsVO.setHistoryAlarmCount(alarmStatistics.getHistoryAlarmCount());
 		alarmStatisticsVO.setRealTimeAlarmCount(alarmStatistics.getRealTimeAlarmCount());
 		return alarmStatisticsVO;
 	}
+
+	/**
+	 * @param effectiveRangeKmIsNotNull
+	 * @return
+	 */
+	@Override
+	public List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull) {
+		FwDeviceDTO fwDeviceDTO = new FwDeviceDTO();
+		Dept dept = SysCache.getDept(Long.valueOf(AuthUtil.getDeptId()));
+		Region byCode = RegionCache.getByCode(dept.getAreaCode());
+		fwDeviceDTO.setCurrentDeptId(AuthUtil.getDeptId());
+		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);
+	}
 }

--
Gitblit v1.9.3