feiyu02
2025-07-21 38d72198bfcced01ed9513b978163e5cd1d84625
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRTExcWindLevel.kt
@@ -16,7 +16,7 @@
// 异常数据生成回调类
typealias NewPolluteClueCallback = (ex: List<PollutedClue>) -> Unit
typealias NewPolluteClueCallback = (ex: PollutedClue) -> Unit
/**
 * 不同风速下,数据突变异常基类
 * @date 2025/5/29
@@ -29,9 +29,13 @@
        this.callback = callback
    }
    override var excludedFactor: List<FactorType> = listOf(FactorType.NO2)
    private var callback: NewPolluteClueCallback? = null
    abstract var windLevelCondition: RTExcWindLevelConfig.WindLevelCondition
    override var judgeMethod: JudgeMethod = JudgeMethod.M1
    override fun getExceptionType(): ExceptionType {
        return ExceptionType.TYPE4
@@ -116,10 +120,17 @@
    }
    override fun newResult(tag: ExceptionTag, factor: FactorFilter.SelectedFactor): PollutedClue {
        return PollutedClue(tag, factor, getExceptionType(), config, windLevelCondition)
        return PollutedClue()
    }
//    override fun newResult(
    override fun newResult(exceptions: List<Pair<FactorFilter.SelectedFactor, ExceptionTag>>): PollutedClue {
        return if (exceptions.isEmpty())
            PollutedClue()
        else
            PollutedClue(exceptions, getExceptionType(), config, windLevelCondition)
    }
    //    override fun newResult(
//        start: BaseRealTimeData,
//        end: BaseRealTimeData?,
//        factor: FactorFilter.SelectedFactor,
@@ -142,15 +153,16 @@
    override fun mergeExceptionResult() {
        super.mergeExceptionResult()
        latestExceptionResult
        latestCombinedResult
        callback?.let { func ->
            latestExceptionResult.forEach {
                func.invoke(listOf(it as PollutedClue))
            result.forEach {
                func.invoke(it)
            }
            latestCombinedResult.forEach {
                func.invoke(it as List<PollutedClue>)
            }
//            latestExceptions.forEach {
//                func.invoke(listOf(it as PollutedClue))
//            }
//            latestCombinedExc.forEach {
//                func.invoke(it as List<PollutedClue>)
//            }
        }
    }
}