| | |
| | | import com.flightfeather.uav.biz.dataprocess.PreData |
| | | import com.flightfeather.uav.common.chart.DataToChartUtil |
| | | import com.flightfeather.uav.common.exception.BizException |
| | | import com.flightfeather.uav.common.location.LocationRoadNearby |
| | | import com.flightfeather.uav.common.pdf.GeneratePdfUtil |
| | | import com.flightfeather.uav.common.utils.DateUtil |
| | | import com.flightfeather.uav.common.utils.ImageUtil |
| | | import com.flightfeather.uav.domain.entity.Mission |
| | | import com.flightfeather.uav.domain.repository.MissionRep |
| | | import com.flightfeather.uav.domain.repository.RealTimeDataRep |
| | | import com.flightfeather.uav.domain.repository.SegmentInfoRep |
| | | import org.springframework.beans.BeanUtils |
| | | import org.springframework.beans.factory.annotation.Value |
| | | import org.springframework.stereotype.Component |
| | |
| | | */ |
| | | @Component |
| | | class MissionReport( |
| | | private val exceptionAnalysisController: ExceptionAnalysisController, |
| | | private val missionRep: MissionRep, |
| | | private val realTimeDataRep: RealTimeDataRep, |
| | | private val locationRoadNearby: LocationRoadNearby, |
| | | private val segmentInfoRep: SegmentInfoRep, |
| | | @Value("\${filePath}") |
| | | private val filePath: String, |
| | | ) { |
| | | |
| | | private val exceptionAnalysisController = |
| | | ExceptionAnalysisController(realTimeDataRep, locationRoadNearby, segmentInfoRep) |
| | | |
| | | data class Param( |
| | | val district: String, |
| | | val town: String, |
| | |
| | | |
| | | // 获取异常分析结果 |
| | | fun exceptionAnalysis(mission: Mission, factorFilter: FactorFilter): List<ExceptionResult> { |
| | | return exceptionAnalysisController.run(mission, factorFilter) |
| | | return exceptionAnalysisController.execute(mission, factorFilter) |
| | | } |
| | | |
| | | // 计算均值和数据范围 |
| | |
| | | // 4. 生成报告 |
| | | val fileName = "report/" + "${mission.districtName}走航监测报告-${ |
| | | DateUtil.instance.dateToString(mission.startTime, DateUtil.DateStyle.YYYY_MM_DD) |
| | | }.doc" |
| | | }(${mission.missionCode}).doc" |
| | | val reportTemplate = ReportTemplate(templateName, filePath, fileName) |
| | | val param = getParam(mission, exceptions, summaries) |
| | | val params = reportTemplate.getParam(param) |
| | | GeneratePdfUtil.generateWord(params) |
| | | return fileName |
| | | return filePath + fileName |
| | | } |
| | | |
| | | private fun getParam(mission: Mission, exceptions: List<ExceptionResult>, summaries: List<Summary>): Param { |