From bf3bf9ff25ac106b556b2427cc382c8fcca63bff Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 02 七月 2024 17:38:33 +0800 Subject: [PATCH] 1. 新增走航报告自动道路识别模块 --- src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionAnalysis.kt | 27 ++++++++++++++++++--------- 1 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionAnalysis.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionAnalysis.kt index 94d782f..41323f0 100644 --- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionAnalysis.kt +++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionAnalysis.kt @@ -1,10 +1,12 @@ package com.flightfeather.uav.biz.dataanalysis +import com.flightfeather.uav.biz.FactorFilter import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig import com.flightfeather.uav.biz.dataanalysis.model.ExceptionResult import com.flightfeather.uav.biz.dataanalysis.model.ExceptionType import com.flightfeather.uav.common.utils.DateUtil import com.flightfeather.uav.domain.entity.BaseRealTimeData +import com.flightfeather.uav.domain.entity.avg import com.flightfeather.uav.socket.eunm.FactorType import java.time.Duration @@ -34,24 +36,31 @@ * 鐢熸垚涓�鏉″紓甯稿垎鏋愮粨鏋� */ open fun newResult( - start: BaseRealTimeData, end: BaseRealTimeData?, factorIndex: Int, + start: BaseRealTimeData, end: BaseRealTimeData?, factor: FactorFilter.SelectedFactor, exceptionData: List<BaseRealTimeData>, ): ExceptionResult { val eType = getExceptionType() - val factorType = FactorType.getByIndex(factorIndex) return ExceptionResult().apply { missionCode = config.mission.missionCode deviceCode = start.deviceCode exception = eType.des exceptionType = eType.value - factorId = factorType?.value - factorName = factorType?.des + factorId = factor.main.value + factorName = factor.main.des + subFactorId = factor.subs.map { it.value } + subFactorName = factor.subs.map { it.des } + selectedFactor = factor startTime = DateUtil.instance.dateToString(start.dataTime, DateUtil.DateStyle.HH_MM_SS) endTime = DateUtil.instance.dateToString(end?.dataTime, DateUtil.DateStyle.HH_MM_SS) ?: startTime - startData = start.getByFactorIndex(factorIndex) - endData = end?.getByFactorIndex(factorIndex) ?: startData + startData = start.getByFactorType(factor.main) + endData = end?.getByFactorType(factor.main) ?: startData - val s = dataSummary(exceptionData, factorIndex) + val avgData = exceptionData.avg() + // 姹傚彇姹℃煋鏁版嵁鐨勪腑蹇冨潗鏍� + longitude = avgData.longitude + latitude = avgData.latitude + // 姹傚彇涓绘薄鏌撳洜瀛愮殑鍧囧�煎拰鑼冨洿 + val s = dataSummary(exceptionData, factor.main) avg = s.first min = s.second max = s.third @@ -60,13 +69,13 @@ } } - fun dataSummary(exceptionData: List<BaseRealTimeData?>, factorIndex: Int): Triple<Float, Float, Float> { + private fun dataSummary(exceptionData: List<BaseRealTimeData?>, factorType: FactorType): Triple<Float, Float, Float> { var min = -1f var max = -1f var total = 0f var count = 0 exceptionData.forEach { - val value = it?.getByFactorIndex(factorIndex) ?: return@forEach + val value = it?.getByFactorType(factorType) ?: return@forEach if (min == -1f || min > value) { min = value } -- Gitblit v1.9.3