feiyu02
2025-09-30 94fee0b511279679b43e210878d3d36e5a14384b
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceController.kt
@@ -28,7 +28,12 @@
     * 每一刻钟对历史线索进行统计,提出会商建议(离污染源较远、污染源数量、出现次数)、走航路线调整建议(离污染源较近、走航轨迹未接近溯源场景)
     */
    constructor(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep, factorFilter: FactorFilter?) {
    constructor(
        sceneInfoRep: SceneInfoRep,
        sourceTraceRep: SourceTraceRep,
        factorFilter: FactorFilter?,
        isSearchAddress: Boolean,
    ) {
        this.sceneInfoRep = sceneInfoRep
        this.sourceTraceRep = sourceTraceRep
        this.config = if (factorFilter != null) {
@@ -40,24 +45,29 @@
                    .withMain(FactorType.CO)
//                    .withMain(FactorType.H2S)
//                    .withMain(FactorType.SO2)
                    .withMain(FactorType.O3)
//                    .withMain(FactorType.O3)
                    .withMain(FactorType.PM25)
                    .withMain(FactorType.PM10)
//                    .withMain(FactorType.VOC)
                    .withMain(FactorType.NO)
                    .withCombination(
                        listOf(
                            listOf(FactorType.PM25, FactorType.PM10),
                            listOf(FactorType.VOC, FactorType.CO),
//                            listOf(FactorType.VOC, FactorType.CO),
                            listOf(FactorType.NO, FactorType.NO2),
                        )
                    )
                    .create()
            )
        }
        this.config.isSearchAddress = isSearchAddress
        pollutedSummary = PollutedSummary(config) { summaryCallback(it) }
        newTask()
    }
    constructor(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep) : this(sceneInfoRep, sourceTraceRep, null)
    constructor(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep, isSearchAddress: Boolean = true)
            : this(sceneInfoRep, sourceTraceRep, null, isSearchAddress)
    private val pollutedSummary: PollutedSummary
    private val sceneInfoRep: SceneInfoRep
@@ -76,6 +86,7 @@
    private fun newTask() {
        taskList.apply {
//            add(RTExcSlideAverage(config) { dataChangeCallback(it) }.also { it.init() })
            add(RTExcWindLevel1(config) { exceptionCallback(it) }.also { it.init() })
            add(RTExcWindLevel1_1(config) { exceptionCallback(it) }.also { it.init() })
            add(RTExcWindLevel4(config) { exceptionCallback(it) }.also { it.init() })