| | |
| | | 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 |
| | |
| | | /** |
| | | * 实时监测数据基类 |
| | | */ |
| | | open class BaseRealTimeData { |
| | | open class BaseRealTimeData : Serializable { |
| | | @Id |
| | | @GeneratedValue(strategy = GenerationType.IDENTITY) |
| | | var id: Int? = null |
| | |
| | | } |
| | | |
| | | fun List<BaseRealTimeData>.avg(): BaseRealTimeData { |
| | | if (isEmpty()) { |
| | | return BaseRealTimeData() |
| | | } |
| | | //风向采用单位矢量法求取均值 |
| | | var u = .0//东西方位分量总和 |
| | | var v = .0//南北方位分量总和 |
| | |
| | | } |
| | | |
| | | 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 |