| | |
| | | * @author feiyu02 |
| | | */ |
| | | open class ExceptionTag { |
| | | companion object { |
| | | const val MAX_HISTORY = 10 |
| | | } |
| | | // 起始数据下标 |
| | | var sIndex = 0 |
| | | |
| | |
| | | // 异常数据段 |
| | | var exceptionData = mutableListOf<BaseRealTimeData>() |
| | | |
| | | // 近段时间内的历史数据 |
| | | var historyData = mutableListOf<BaseRealTimeData>() |
| | | |
| | | // 是否存在异常 |
| | | var exceptionExisted = false |
| | | |
| | |
| | | |
| | | var exceptionResult = mutableListOf<BaseExceptionResult>() |
| | | |
| | | fun addHistoryData(data: BaseRealTimeData) { |
| | | historyData.add(data) |
| | | if (exceptionData.isNotEmpty()) { |
| | | // 保证历史数据包含所有异常数据(异常数据可能不连续),并且在首个异常数据之前最多再保存10个数据 |
| | | val i = historyData.indexOf(exceptionData.first()) |
| | | if (i > MAX_HISTORY) { |
| | | historyData = historyData.subList(i - MAX_HISTORY, historyData.size) |
| | | } |
| | | } else { |
| | | if (historyData.size > MAX_HISTORY) { |
| | | historyData = historyData.subList(historyData.size - MAX_HISTORY, historyData.size) |
| | | } |
| | | } |
| | | } |
| | | |
| | | fun addExceptionData(data: BaseRealTimeData){ |
| | | exceptionExisted = true |
| | | exceptionData.add(data) |