feiyu02
2025-04-11 635d762aef37b5de6cd2e34f4a076ab56d9a239d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
 
/**
 * 走航数据生成图表
 * @date 2024/5/31
 * @author feiyu02
 */
object DataToChartUtil {
 
    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)?.toDouble() ?: .0
            )
        }
        val dataset = ChartUtil.newDataset(dataList, seriesName) ?: throw BizException("折线图数据集为空")
        return ChartUtil.lineToByteArray(title, listOf(dataset))
    }
}