| | |
| | | package com.flightfeather.uav.common.chart |
| | | |
| | | import com.flightfeather.uav.biz.FactorFilter |
| | | import com.flightfeather.uav.common.exception.BizException |
| | | import com.flightfeather.uav.common.utils.DateUtil |
| | | import com.flightfeather.uav.domain.entity.BaseRealTimeData |
| | | import com.flightfeather.uav.socket.eunm.FactorType |
| | |
| | | */ |
| | | object DataToChartUtil { |
| | | |
| | | fun lineToByteArray(type: FactorFilter.SelectedFactor?, data: List<BaseRealTimeData>): ByteArray { |
| | | val title = type?.main?.des ?: "未知监测因子" |
| | | val seriesName = type?.main?.des ?: "未知系列" |
| | | fun lineToByteArray(type: FactorType?, data: List<BaseRealTimeData>): ByteArray { |
| | | val title = type?.des ?: "未知监测因子" |
| | | val seriesName = type?.des ?: "未知系列" |
| | | val dataList = data.map { d -> |
| | | ChartUtil.ChartValue( |
| | | DateUtil.instance.dateToString(d.dataTime, DateUtil.DateStyle.HH_MM_SS), |
| | | d.getByFactorType(type?.main) ?: 0f |
| | | d.getByFactorType(type)?.toDouble() ?: .0 |
| | | ) |
| | | } |
| | | val dataset = ChartUtil.newDataset(dataList, seriesName) |
| | | return ChartUtil.lineToByteArray(title, dataset) |
| | | val dataset = ChartUtil.newDataset(dataList, seriesName) ?: throw BizException("折线图数据集为空") |
| | | return ChartUtil.lineToByteArray(title, listOf(dataset)) |
| | | } |
| | | } |