From 29383149f7040d89ae00ad48dc48bbcf46587946 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 01 九月 2025 17:32:53 +0800
Subject: [PATCH] 2025.9.1 1. 新增走航任务统计功能(待完成)

---
 src/main/kotlin/com/flightfeather/uav/lightshare/web/DataAnalysisController.kt |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/web/DataAnalysisController.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/web/DataAnalysisController.kt
index 67634b9..f1f7957 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/web/DataAnalysisController.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/web/DataAnalysisController.kt
@@ -1,11 +1,14 @@
 package com.flightfeather.uav.lightshare.web
 
+import com.fasterxml.jackson.annotation.JsonFormat
 import com.flightfeather.uav.lightshare.bean.AreaVo
 import com.flightfeather.uav.lightshare.service.DataAnalysisService
 import io.swagger.annotations.Api
 import io.swagger.annotations.ApiOperation
 import io.swagger.annotations.ApiParam
+import org.springframework.format.annotation.DateTimeFormat
 import org.springframework.web.bind.annotation.*
+import java.util.*
 
 /**
  * 璧拌埅鏁版嵁鍒嗘瀽
@@ -31,4 +34,59 @@
         @ApiParam("璧拌埅浠诲姟缂栧彿") @RequestParam missionCode: String,
     ) = resPack { dataAnalysisService.fetchHistory(missionCode) }
 
+    @ApiOperation(value = "鐢熸垚璧拌埅浠诲姟姹囨�荤粺璁�")
+    @PostMapping("/report/missionSummary")
+    fun generateMissionSummary(
+        @ApiParam("寮�濮嬫椂闂�") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        startTime: Date,
+        @ApiParam("缁撴潫鏃堕棿") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        endTime: Date,
+        @ApiParam("鍖哄煙") @RequestBody areaVo: AreaVo,
+    ) = resPack { dataAnalysisService.generateMissionSummary(startTime, endTime, areaVo) }
+
+    @ApiOperation(value = "鐢熸垚璧拌埅浠诲姟娓呭崟")
+    @PostMapping("/report/missionList")
+    fun generateMissionList(
+        @ApiParam("寮�濮嬫椂闂�") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        startTime: Date,
+        @ApiParam("缁撴潫鏃堕棿") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        endTime: Date,
+        @ApiParam("鍖哄煙") @RequestBody areaVo: AreaVo,
+    ) = resPack { dataAnalysisService.generateMissionList(startTime, endTime, areaVo) }
+
+    @ApiOperation(value = "鐢熸垚璧拌埅浠诲姟璇︽儏")
+    @PostMapping("/report/missionDetail")
+    fun generateMissionDetail(
+        @ApiParam("寮�濮嬫椂闂�") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        startTime: Date,
+        @ApiParam("缁撴潫鏃堕棿") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        endTime: Date,
+        @ApiParam("鍖哄煙") @RequestBody areaVo: AreaVo,
+    ) = resPack { dataAnalysisService.generateMissionDetail(startTime, endTime, areaVo) }
+
+    @ApiOperation(value = "璧拌埅鍏稿瀷闅愭偅鍖哄煙缁熻")
+    @PostMapping("/report/clueByRiskArea")
+    fun generateClueByRiskArea(
+        @ApiParam("寮�濮嬫椂闂�") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        startTime: Date,
+        @ApiParam("缁撴潫鏃堕棿") @RequestParam
+        @JsonFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        @DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss")
+        endTime: Date,
+        @ApiParam("鍖哄煙") @RequestBody areaVo: AreaVo,
+    ) = resPack { dataAnalysisService.generateClueByRiskArea(startTime, endTime, areaVo) }
 }
\ No newline at end of file

--
Gitblit v1.9.3