From dbc7e62be76ff48b26461ffaef9c3fc87be018cb Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 11 Feb 2026 11:05:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.java            |    3 ++-
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneManageService.java         |    3 ++-
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java                   |    3 ++-
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java              |    6 ++++--
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml             |   12 ++++++++----
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java |    4 ++--
 drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java           |    4 ++--
 7 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.java
index f2f84c8..c727fc0 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.java
@@ -83,7 +83,8 @@
 	/**
 	 *
 	 * @param fwBaseInfo
+	 * @param time
 	 * @return
 	 */
-	List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo);
+	List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(@Param("fwBaseInfo") FwBaseInfo fwBaseInfo, @Param("time") Date time);
 }
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
index 5ebbd1b..05adbe6 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
@@ -125,12 +125,12 @@
                     d.is_deleted = 0
                     AND d.is_enabled = 1
                     AND d.final_outbound_area IS NOT NULL
-                <if test="regionCode != null and regionCode != ''">
-                    and ( d.final_outbound_area_code like concat(#{regionCode},'%')
-                    <if test="currentDeptId != null and currentDeptId != '' ">
+        <if test="fwBaseInfo.regionCode != null and fwBaseInfo.regionCode != ''">
+            and ( d.final_outbound_area_code like concat(#{fwBaseInfo.regionCode},'%')
+            <if test="fwBaseInfo.currentDeptId != null and fwBaseInfo.currentDeptId != '' ">
                         or d.id in (
                         SELECT device_id FROM ja_fw_device_per_share
-                        WHERE loan_to_dept_id = #{currentDeptId}
+                WHERE loan_to_dept_id = #{fwBaseInfo.currentDeptId}
                         AND is_deleted = 0
                         )
                     </if>
@@ -141,6 +141,10 @@
             ) dd on find_in_set(dd.id, ad.device_ids)
         <where>
             dsm.is_deleted = 0
+            <if test="time != null">
+                and (dsm.effective_date_start is null or dsm.effective_date_start &lt;= #{time})
+                and (dsm.effective_date_end is null or dsm.effective_date_end &gt;= #{time})
+            </if>
         </where>
     </select>
 
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneManageService.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneManageService.java
index 611091e..10990f5 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneManageService.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneManageService.java
@@ -93,7 +93,8 @@
 	/**
 	 *
 	 * @param fwBaseInfo
+	 * @param time
 	 * @return
 	 */
-	List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo);
+	List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo, Date time);
 }
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java
index 152d79c..f82c831 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java
@@ -134,7 +134,7 @@
 	}
 
 	@Override
-	public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo) {
-		return baseMapper.selectFwDefenseSceneManageCockpitList(fwBaseInfo);
+	public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo, Date time) {
+		return baseMapper.selectFwDefenseSceneManageCockpitList(fwBaseInfo, time);
 	}
 }
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
index 90b06e6..5440e6e 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
@@ -105,8 +105,10 @@
 	@GetMapping("/sceneManageStatistics")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "场景管理统计", notes = "返回场景管理数量与区域数量")
-	public R<SceneManageStatisticsVO> getSceneManageStatistics() {
-		SceneManageStatisticsVO statistics = cockpitService.statisticsSceneManageAndArea();
+	public R<SceneManageStatisticsVO> getSceneManageStatistics(
+		@ApiParam(value = "时间筛选(yyyy-MM-dd HH:mm:ss)") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date time) {
+		Date filterTime = time == null ? new Date() : time;
+		SceneManageStatisticsVO statistics = cockpitService.statisticsSceneManageAndArea(filterTime);
 		return R.data(statistics);
 	}
 
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
index 20cd7de..44279f7 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
@@ -81,7 +81,8 @@
 	/**
 	 * 场景管理与区域数量统计
 	 *
+	 * @param filterTime 过滤时间
 	 * @return
 	 */
-	SceneManageStatisticsVO statisticsSceneManageAndArea();
+	SceneManageStatisticsVO statisticsSceneManageAndArea(Date filterTime);
 }
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 bf7f0f3..42fd713 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
@@ -166,8 +166,8 @@
 	}
 
 	@Override
-	public SceneManageStatisticsVO statisticsSceneManageAndArea() {
-		List<FwDefenseSceneManageVO> sceneManageList = iFwDefenseSceneManageService.selectFwDefenseSceneManageCockpitList(buildFwBaseInfo());
+	public SceneManageStatisticsVO statisticsSceneManageAndArea(Date filterTime) {
+		List<FwDefenseSceneManageVO> sceneManageList = iFwDefenseSceneManageService.selectFwDefenseSceneManageCockpitList(buildFwBaseInfo(), filterTime);
 		SceneManageStatisticsVO statisticsVO = new SceneManageStatisticsVO();
 		if (sceneManageList == null || sceneManageList.isEmpty()) {
 			statisticsVO.setSceneManageCount(0);

--
Gitblit v1.9.3