| | |
| | | import com.flightfeather.monitor.domain.ds1.entity.DustSiteData |
| | | |
| | | /** |
| | | * 连续类型的异常分析基类 |
| | | * 连续类型的异常分析基类,适用于当前数据与相邻数据之间有关联关系的情况 |
| | | */ |
| | | abstract class BaseExceptionContinuous(config: DustExceptionSetting) : BaseDustExceptionAnalysis(config) { |
| | | |
| | | // 起始数据下标 |
| | | private var sIndex = 0 |
| | | protected var sIndex = 0 |
| | | // 起始数据对象 |
| | | private var startData: DustSiteData? = null |
| | | protected var startData: DustSiteData? = null |
| | | // 末尾数据下标 |
| | | private var eIndex = -1 |
| | | protected var eIndex = -1 |
| | | // 末尾数据对象 |
| | | private var lastData: DustSiteData? = null |
| | | protected var lastData: DustSiteData? = null |
| | | // 起始数据与末尾数据间隔 |
| | | open var durationCount = 1 |
| | | private var existException = false |
| | | protected var existException = false |
| | | |
| | | /** |
| | | * 判断是否满足异常条件 |
| | |
| | | /** |
| | | * 检查连续异常结束时,是否符合异常存储条件 |
| | | */ |
| | | private fun checkResult() { |
| | | open fun checkResult() { |
| | | if (existException && judgeDuration(sIndex, eIndex)) { |
| | | startData?.let { |
| | | resultList.add(newResult(it, lastData)) |