feiyu02
昨天 e58a05b78d09bcd4c1a12e8610c5adfc316494e8
src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuous.kt
@@ -75,7 +75,7 @@
    }
    /**
     * 判断数据量级在异常判断的范围内
     * 判断数据量级是否在异常判断的范围内
     * 默认所有量级都在异常判断的范围内
     */
    open fun judgeDataScale(p: BaseRealTimeData?, n: BaseRealTimeData): MutableMap<FactorType, Boolean> {
@@ -126,9 +126,15 @@
        }
    }
    /**
     * 异常数据处理核心判断逻辑
     */
    override fun onNextData(data: BaseRealTimeData) {
        // 1. 判断新数据的时间连续性
        val isContinue = isContinuous(lastData, data)
        // 2. 计算各个监测因子是否发生异常
        val hasException = judge(lastData, data)
        // 3. 遍历配置中选中的监测因子,判断是否发生异常
        config.factorFilter.selectedList.forEach { s ->
            val f = s.main
            // 排除此异常类型不适用的监测因子
@@ -151,12 +157,18 @@
                it.addHistoryData(data)
            }
        }
        // 4. 更新最新数据
        lastData = data
        // 5. 保存并移除单因子异常
        removeSingleFactor(data)
        // 6. 检查延迟异常
        val fittedComb = checkDelayedExceptions(data)
        // 7. 合并异常结果
        mergeExceptionResult(data, fittedComb)
        // 8. 触发新异常结果事件
        onNewResult(result)
        // 9. 清除异常记录
        clearExceptions(data)
    }