From d04e699fcd11aa715439d8ab87827a3984450ccd Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期一, 22 十一月 2021 17:39:13 +0800 Subject: [PATCH] 1. 用电量数据平滑处理缺失的分钟值 --- src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt | 22 +++++++++++++++++++--- 1 files changed, 19 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..ef5d308 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,18 @@ */ 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()// 姣忓彴璁惧鏈夊崟鐙殑鏁版嵁棰勫鐞嗗璞� + } + dataProcessMap[dataPackage.deviceCode]?.run { + val list = this.mDataPrep2(dataPackage)// 鏁版嵁骞虫粦澶勭悊 + instance.airDataRepository.savePrepData2(list)// 鎸夌収璁惧绫诲瀷瀛樺偍鑷冲搴旀暟鎹〃 + } + } } } -- Gitblit v1.9.3