feiyu02
2025-06-11 f7bdafb7cddd049bbb1bbf265fa006683b4ac693
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRealTimeException.kt
@@ -17,6 +17,7 @@
 * @date 2025/5/13
 * @author feiyu02
 */
@Deprecated("2025.5.29, 逻辑与业务不匹配,后续删除")
abstract class BaseRealTimeException<T : ExceptionTag>(config: RealTimeAnalysisConfig, tagClz: Class<T>) :
    BaseExceptionContinuous<T, RealTimeAnalysisConfig, RealTimeExceptionResult>(config, tagClz) {
@@ -26,42 +27,38 @@
    var callback: NewExceptionCallback? = null
    override fun onNextData(data: BaseRealTimeData) {
        val isContinue = isContinuous(lastData, data)
        val hasException = judgeException(lastData, data)
        config.factorFilter.selectedList.forEach { s ->
            val f = s.main
            tagMap[f]?.let {
                it.eIndex++
                // 起始数据
                it.endData = data
                if (it.startData == null) {
                    it.refreshWithNextException(data)
                }
                // 判断相邻数据是否连续或者是否满足自定义截取条件
                if (!isContinue || needCut(it)) {
                    // 记录异常,结束异常的实时状态播报
                    recordException(s, it, data)
                } else {
                    // 移除了父类原有逻辑,改为当满足异常条件时,需要实时推送播报异常的状态变化,但不截取异常
                    if (hasException[f] == true) {
                        it.addExceptionData(data)
                        checkResult(s)
                    }
                }
            }
        }
        lastData = data
    }
//    override fun onNextData(data: BaseRealTimeData) {
//        val isContinue = isContinuous(lastData, data)
//        val hasException = judgeException(lastData, data)
//        config.factorFilter.selectedList.forEach { s ->
//            val f = s.main
//            tagMap[f]?.let {
//                it.eIndex++
//                // 起始数据
//                it.endData = data
//                if (it.startData == null) {
//                    it.refreshWithNextException(data)
//                }
//                // 判断相邻数据是否连续或者是否满足自定义截取条件
//                if (!isContinue || needCut(it)) {
//                    // 记录异常,结束异常的实时状态播报
//                    recordException(s, it, data)
//                } else {
//                    // 移除了父类原有逻辑,改为当满足异常条件时,需要实时推送播报异常的状态变化,但不截取异常
//                    if (hasException[f] == true) {
//                        it.addExceptionData(data)
//                        checkResult(s)
//                    }
//                }
//            }
//        }
//        lastData = data
//    }
    override fun newResult(
        start: BaseRealTimeData,
        end: BaseRealTimeData?,
        factor: FactorFilter.SelectedFactor,
        exceptionData: List<BaseRealTimeData>,
    ): RealTimeExceptionResult {
    override fun newResult(tag:T, factor: FactorFilter.SelectedFactor): RealTimeExceptionResult {
        val eType = getExceptionType()
        return RealTimeExceptionResult(start, end, factor, exceptionData, eType)
        return RealTimeExceptionResult(tag.startData!!, tag.endData, factor, tag.exceptionData, eType)
    }
    override fun onNewException(tag: T, factor: FactorFilter.SelectedFactor, exceptionStatus: ExceptionStatusType) {