From da431c25dfe5122e4ed70372da36ede3e4eaec4a Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 31 五月 2024 17:43:41 +0800 Subject: [PATCH] 1. 新增自动报告生成功能 --- src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt index 33a5861..48ac7bb 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt @@ -1,10 +1,12 @@ package com.flightfeather.uav.socket.processor +import com.flightfeather.uav.model.epw.EPWDataPrep import com.flightfeather.uav.repository.AirDataRepository import com.flightfeather.uav.socket.bean.AirDataPackage import com.flightfeather.uav.socket.decoder.AirDataDecoder import com.flightfeather.uav.socket.decoder.DataPackageDecoder import com.flightfeather.uav.socket.eunm.AirCommandUnit +import com.flightfeather.uav.socket.eunm.UWDeviceType import io.netty.channel.ChannelHandlerContext import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component @@ -30,8 +32,11 @@ @Autowired lateinit var airDataRepository: AirDataRepository - val airDataDecoder = AirDataDecoder.instance - val dataPackageDecoder = DataPackageDecoder() + private val airDataDecoder = AirDataDecoder.instance + private val dataPackageDecoder = DataPackageDecoder() + + // 鏁版嵁棰勫鐞嗗嚱鏁� + private val dataProcessMap = mutableMapOf<String?, EPWDataPrep>() @PostConstruct fun init() { @@ -59,7 +64,19 @@ */ fun saveToDataBase(dataPackage: AirDataPackage) { when (dataPackage.commandUnit) { - AirCommandUnit.AirData.value -> instance.airDataRepository.saveAirData(dataPackage) + AirCommandUnit.AirData.value -> { + // 浠son鏍煎紡瀛樺偍鍘熷鏁版嵁 + instance.airDataRepository.saveAirData(dataPackage) + // 杩涜棰勫鐞嗗悗锛屽瓨鍌ㄨ嚦瀵瑰簲鏁版嵁琛� + if (!dataProcessMap.containsKey(dataPackage.deviceCode)) { + // 姣忓彴璁惧鏈夊崟鐙殑鏁版嵁棰勫鐞嗗璞� + dataProcessMap[dataPackage.deviceCode] = EPWDataPrep(UWDeviceType.getType(dataPackage.deviceCode)) + } + dataProcessMap[dataPackage.deviceCode]?.run { + val list = this.mDataPrep2(dataPackage)// 鏁版嵁骞虫粦澶勭悊 + instance.airDataRepository.savePrepData2(list)// 鎸夌収璁惧绫诲瀷瀛樺偍鑷冲搴旀暟鎹〃 + } + } } } -- Gitblit v1.9.3