feiyu02
2024-06-28 d2d71a6bc8e445ee60b7be2667676138e277d676
src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
@@ -11,29 +11,55 @@
    override fun onNextData(data: BaseRealTimeData) {
        val isContinue = isContinuous(lastData, data)
        val hasException = judgeException(lastData, data)
        repeat(config.factorCount) { i ->
            eIndex[i]++
            if (lastData == null) {
                startData[i] = data
            }
            // 判断相邻数据是否连续并且是否满足异常判断
            if (!isContinue) {
                checkResult()
                sIndex[i] = eIndex[i]
                startData[i] = data
            } else {
                if (hasException[i]) {
                    // 修改了起始数据的位置,变更为出现异常的该值,而不是原来的出现异常的数据的前一个值
                    if (!existException[i]) {
                        sIndex[i] = eIndex[i]
                        startData[i] = data
                    }
                    existException[i] = true
        config.factorFilter.selectedList.forEach {s->
            val f = s.main
            tagMap[f]?.let {
                it.eIndex++
                if (lastData == null) {
                    it.startData = data
                }
                // 判断相邻数据是否连续并且是否满足异常判断
                if (!isContinue) {
                    checkResult(s)
                    it.sIndex = it.eIndex
                    it.startData = data
                } else {
                    checkResult()
                    if (hasException[f] == true) {
                        // 修改了起始数据的位置,变更为出现异常的该值,而不是原来的出现异常的数据的前一个值
                        if (!it.existException) {
                            it.sIndex = it.eIndex
                            it.startData = data
                        }
                        it.existException = true
                    } else {
                        checkResult(s)
                    }
                }
            }
        }
//        repeat(config.factorCount) { i ->
//            eIndex[i]++
//            if (lastData == null) {
//                startData[i] = data
//            }
//            // 判断相邻数据是否连续并且是否满足异常判断
//            if (!isContinue) {
//                checkResult()
//                sIndex[i] = eIndex[i]
//                startData[i] = data
//            } else {
//                if (hasException[i]) {
//                    // 修改了起始数据的位置,变更为出现异常的该值,而不是原来的出现异常的数据的前一个值
//                    if (!existException[i]) {
//                        sIndex[i] = eIndex[i]
//                        startData[i] = data
//                    }
//                    existException[i] = true
//                } else {
//                    checkResult()
//                }
//            }
//        }
        lastData = data
    }
}