| | |
| | | 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 |
| | | } else { |
| | | config.factorFilter.mainList().forEach {f-> |
| | | tagMap[f]?.let { |
| | | it.eIndex++ |
| | | if (lastData == null) { |
| | | it.startData = data |
| | | } |
| | | // 判断相邻数据是否连续并且是否满足异常判断 |
| | | if (!isContinue) { |
| | | checkResult() |
| | | it.sIndex = it.eIndex |
| | | it.startData = data |
| | | } else { |
| | | if (hasException[f] == true) { |
| | | // 修改了起始数据的位置,变更为出现异常的该值,而不是原来的出现异常的数据的前一个值 |
| | | if (!it.existException) { |
| | | it.sIndex = it.eIndex |
| | | it.startData = data |
| | | } |
| | | it.existException = true |
| | | } else { |
| | | checkResult() |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 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 |
| | | } |
| | | } |