| | |
| | | package com.flightfeather.uav.biz.report |
| | | |
| | | import com.flightfeather.uav.biz.FactorFilter |
| | | import com.flightfeather.uav.biz.dataanalysis.ExceptionAnalysisController |
| | | import com.flightfeather.uav.biz.dataanalysis.model.ExceptionResult |
| | | import com.flightfeather.uav.biz.dataprocess.PreData |
| | |
| | | */ |
| | | fun addExceptions(exceptions: List<ExceptionResult>) { |
| | | this.exceptions = exceptions.map { |
| | | val byteArray = DataToChartUtil.lineToByteArray(FactorType.getByValue(it.factorId!!), it.dataList) |
| | | val byteArray = DataToChartUtil.lineToByteArray(it.selectedFactor, it.dataList) |
| | | val base64Str = ImageUtil.compressImage2(byteArray, 400, needPrefix = false) |
| | | val c = ExceptionChart() |
| | | BeanUtils.copyProperties(it, c) |
| | |
| | | private val dateFormatter = DateTimeFormatter.ofPattern("HH:mm") |
| | | |
| | | // 获取异常分析结果 |
| | | fun exceptionAnalysis(mission: Mission): List<ExceptionResult> { |
| | | return exceptionAnalysisController.run(mission) |
| | | fun exceptionAnalysis(mission: Mission, factorFilter: FactorFilter): List<ExceptionResult> { |
| | | return exceptionAnalysisController.run(mission, factorFilter) |
| | | } |
| | | |
| | | // 计算均值和数据范围 |
| | | fun dataSummary(mission: Mission): List<Summary> { |
| | | val preData = PreData(DateUtil.instance.dateToString(mission.startTime, DateUtil.DateStyle.YYYY_MM_DD)) |
| | | fun dataSummary(mission: Mission, factorFilter: FactorFilter): List<Summary> { |
| | | val preData = PreData( |
| | | DateUtil.instance.dateToString(mission.startTime, DateUtil.DateStyle.YYYY_MM_DD), |
| | | factorFilter.mainList() |
| | | ) |
| | | val realTimeData = realTimeDataRep.fetchData(mission) |
| | | realTimeData.forEach { |
| | | preData.add(it.toDataVo()) |
| | |
| | | |
| | | // 生成参数 |
| | | // 根据报告模板生成对应报告 |
| | | fun execute(missionCode: String): String { |
| | | fun execute(missionCode: String, factorFilter: FactorFilter): String { |
| | | // 1. 任务合法性检查 |
| | | val mission = missionRep.findOne(missionCode) ?: throw BizException("该任务编号不存在") |
| | | // 2. 获取数据异常统计结果 |
| | | val exceptions = exceptionAnalysis(mission) |
| | | // 2. 获取数据异常统计结果,根据 |
| | | val exceptions = exceptionAnalysis(mission, factorFilter) |
| | | // 3. 获取均值、范围等统计数据 |
| | | val summaries = dataSummary(mission) |
| | | val summaries = dataSummary(mission, factorFilter) |
| | | // 4. 生成报告 |
| | | val fileName = "report/" + "${mission.districtName}走航监测报告-${ |
| | | DateUtil.instance.dateToString(mission.startTime, DateUtil.DateStyle.YYYY_MM_DD) |