From 176d7d8283e66ccf63878c9ab823e900df94b748 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 05 八月 2025 17:20:58 +0800 Subject: [PATCH] 2025.8.5 1. 动态溯源模块添加延迟数据周期异常合并功能 --- src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt | 40 ++++++++++++++++++++++------------------ 1 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt b/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt index 3628094..dccef45 100644 --- a/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt +++ b/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt @@ -5,11 +5,14 @@ import com.flightfeather.uav.lightshare.bean.DataVo import com.flightfeather.uav.socket.bean.AirData import com.flightfeather.uav.socket.eunm.FactorType +import java.io.Serializable import java.math.BigDecimal import java.time.LocalDateTime import java.time.ZoneId import java.util.* import javax.persistence.Column +import javax.persistence.GeneratedValue +import javax.persistence.GenerationType import javax.persistence.Id import kotlin.math.atan import kotlin.math.cos @@ -19,8 +22,9 @@ /** * 瀹炴椂鐩戞祴鏁版嵁鍩虹被 */ -open class BaseRealTimeData { +open class BaseRealTimeData : Serializable { @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Int? = null @Column(name = "device_code") @@ -69,6 +73,9 @@ @Column(name = "NOI") var noi: Float? = null + @Column(name = "NO") + var no: Float? = null + var velocity: Float? = null @Column(name = "wind_speed") @@ -108,20 +115,7 @@ add(AirData().apply { setData(FactorType.WIND_SPEED, windSpeed) }) add(AirData().apply { setData(FactorType.WIND_DIRECTION, windDirection) }) add(AirData().apply { setData(FactorType.HEIGHT, height) }) - } - } - - fun getByFactorIndex(i: Int): Float? { - return when (i) { - 0 -> no2 - 1 -> co - 2 -> h2s - 3 -> so2 - 4 -> o3 - 5 -> pm25 - 6 -> pm10 - 7 -> voc - else -> null + add(AirData().apply { setData(FactorType.NO, no) }) } } @@ -141,10 +135,11 @@ FactorType.LNG -> longitude?.toFloat() FactorType.LAT -> latitude?.toFloat() FactorType.VELOCITY -> velocity -// FactorType.TIME -> noi +// FactorType.TIME -> dataTime?.time?.toFloat() FactorType.WIND_SPEED -> windSpeed FactorType.WIND_DIRECTION -> windDirection FactorType.HEIGHT -> height + FactorType.NO -> no else -> null } } @@ -159,7 +154,7 @@ //闄ら鍚戝鐨勫叾浠栧洜瀛愰噰鐢ㄧ畻鏈钩鍧囨硶姹傚彇鍧囧�� val tmpList = mutableListOf<AvgPair>() - repeat(17) { + repeat(18) { tmpList.add(AvgPair(0f, 0)) } @@ -274,10 +269,18 @@ this.c++ } } + tmpList[17].apply { + it.no?.let { + t += it + this.c++ + } + } } return RealTimeDataGridMin().apply { - val time = LocalDateTime.ofInstant(get(0).dataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) + val time = LocalDateTime + .ofInstant(get(0).dataTime?.toInstant() ?: Date().toInstant(), ZoneId.systemDefault()) + .withSecond(0) deviceCode = get(0).deviceCode dataTime = Date.from(time.atZone(ZoneId.systemDefault()).toInstant()) createTime = dataTime @@ -298,6 +301,7 @@ velocity = tmpList[14].avg() windSpeed = tmpList[15].avg() height = tmpList[16].avg() + no = tmpList[17].avg() if (c != 0) { val avgU = u / c -- Gitblit v1.9.3