| | |
| | | import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig |
| | | import com.flightfeather.uav.biz.dataanalysis.model.ExceptionType |
| | | import com.flightfeather.uav.domain.entity.BaseRealTimeData |
| | | import com.flightfeather.uav.socket.eunm.FactorType |
| | | |
| | | /** |
| | | * 数据超标异常分析 |
| | | */ |
| | | @Deprecated("原超标判定逻辑设定的超标值有漏洞,") |
| | | class ExceptionDataExceed(config: DataAnalysisConfig) : BaseExceptionContinuousSingle(config) { |
| | | |
| | | override fun getExceptionType(): ExceptionType = ExceptionType.TYPE2 |
| | | |
| | | override fun judgeException(p: BaseRealTimeData?, n: BaseRealTimeData): List<Boolean> { |
| | | val res = mutableListOf<Boolean>() |
| | | repeat(config.factorCount) { i -> |
| | | val data = n.getByFactorIndex(i) |
| | | val limit = config.exceptionSetting.getByFactorIndex(i) |
| | | override fun judgeException(p: BaseRealTimeData?, n: BaseRealTimeData): MutableMap<FactorType, Boolean> { |
| | | val res = mutableMapOf<FactorType, Boolean>() |
| | | config.factorFilter.mainList().forEach { f -> |
| | | val data = n.getByFactorType(f) |
| | | val limit = config.exceptionSetting.getByFactorType(f) |
| | | val bool = if (data != null && limit != null) { |
| | | data >= limit |
| | | } else { |
| | | false |
| | | } |
| | | res.add(bool) |
| | | res[f] = bool |
| | | } |
| | | return res |
| | | } |