From 94fee0b511279679b43e210878d3d36e5a14384b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 30 九月 2025 09:14:10 +0800
Subject: [PATCH] 2025.9.30 1. 新增走航任务统计功能

---
 src/test/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceControllerTest.kt |   65 +++++++++++++++++++++++++++++---
 1 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/src/test/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceControllerTest.kt b/src/test/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceControllerTest.kt
index 3ae933c..51db22d 100644
--- a/src/test/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceControllerTest.kt
+++ b/src/test/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceControllerTest.kt
@@ -14,6 +14,8 @@
 import org.springframework.boot.test.context.SpringBootTest
 import org.springframework.test.context.junit4.SpringRunner
 import tk.mybatis.mapper.entity.Example
+import java.time.LocalDateTime
+import java.time.ZoneId
 
 @RunWith(SpringRunner::class)
 @SpringBootTest
@@ -29,15 +31,25 @@
     lateinit var missionMapper: MissionMapper
 
     @Autowired
+    lateinit var missionRep: MissionRep
+
+    @Autowired
     lateinit var realTimeDataService: RealTimeDataService
 
     @Test
     fun autoSourceTrace() {
-        val sourceTraceController = SourceTraceController(sceneInfoRep, sourceTraceRep)
+        val sourceTraceController = SourceTraceController(sceneInfoRep, sourceTraceRep, true)
+//        val mCode = listOf(
+//            "SH-CN-20241227", "SH-CN-20241127", "SH-CN-20240906", "SH-CN-20240830(05)",
+//            "SH-CN-20240830(04)", "SH-CN-20240823",
+//            "SH-CN-20240723(02)",
+////            "SH-CN-20250723(01)"
+//        )
+//        val startTime = LocalDateTime.of(2024, 12, 31, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
+        val startTime = LocalDateTime.of(2024, 12, 4, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
+        val endTime = LocalDateTime.of(2025, 4, 11, 23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()
         val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
-            createCriteria().andEqualTo("deviceType", "0a")
-                .andLessThanOrEqualTo("startTime", "2024-11-07 15:00:00")
-            orderBy("startTime").desc()
+            createCriteria().andBetween("startTime", startTime, endTime)
         })
         missions.forEach { m ->
             val rtData = realTimeDataService.getSecondData(
@@ -56,11 +68,33 @@
             }
             sourceTraceController.initTask()
         }
+//        val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
+//            createCriteria().andEqualTo("deviceType", "0a")
+//                .andLessThanOrEqualTo("startTime", "2024-11-07 15:00:00")
+//            orderBy("startTime").desc()
+//        })
+//        missions.forEach { m ->
+//            val rtData = realTimeDataService.getSecondData(
+//                m?.deviceType,
+//                m?.deviceCode,
+//                DateUtil.instance.dateToString(m?.startTime, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS),
+//                DateUtil.instance.dateToString(m?.endTime, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS),
+//                null,
+//                1,
+//                10000
+//            )
+//            rtData.data?.forEach { d ->
+//                val rtdVehicle = d.toBaseRealTimeData(RealTimeDataVehicle::class.java)
+////            Thread.sleep(500)
+//                sourceTraceController.addOneData(rtdVehicle)
+//            }
+//            sourceTraceController.initTask()
+//        }
 //        val rtData = realTimeDataService.getSecondData(
 //            "0a",
 //            "0a0000000001",
-//            "2025-01-06 13:32:00",
-//            "2025-01-06 15:52:36",
+//            "2024-08-23 12:30:23",
+//            "2024-08-23 15:12:56",
 //            null,
 //            1,
 //            10000
@@ -73,4 +107,23 @@
 
     }
 
+    @Test
+    fun deleteSourceTrace() {
+//        val mCode = listOf(
+//            "SH-CN-20241227", "SH-CN-20241127", "SH-CN-20240906", "SH-CN-20240830(05)",
+//            "SH-CN-20240830(04)", "SH-CN-20240823",
+//            "SH-CN-20240723(02)",
+////            "SH-CN-20250723(01)"
+//        )
+        val startTime = LocalDateTime.of(2024, 12, 4, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
+        val endTime = LocalDateTime.of(2025, 4, 11, 23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()
+        val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
+            createCriteria().andBetween("startTime", startTime, endTime)
+        })
+        missions.forEach { m ->
+            m ?: return@forEach
+            sourceTraceRep.delete(m)
+        }
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3