feiyu02
2025-09-01 29383149f7040d89ae00ad48dc48bbcf46587946
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) }
}