From 3371ed856d8712732b3f46e30e41e652ff5d7781 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 20 十月 2023 18:14:25 +0800
Subject: [PATCH] 新增数据分析模块

---
 src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt |   34 +++++++++-------------------------
 1 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt b/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt
index 2a0387e..c28e59e 100644
--- a/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt
+++ b/src/main/java/com/flightfeather/monitor/analysis/dust/ExceptionValueMutation.kt
@@ -1,39 +1,23 @@
 package com.flightfeather.monitor.analysis.dust
 
-import com.flightfeather.monitor.analysis.DataAnalysisInterface
 import com.flightfeather.monitor.domain.ds1.entity.DustExceptionSetting
 import com.flightfeather.monitor.domain.ds1.entity.DustSiteData
-import java.util.*
-import kotlin.properties.Delegates
+import com.flightfeather.monitor.enumration.dust.ExceptionType
+import kotlin.math.abs
 
 /**
  * 閲忕骇绐佸彉寮傚父鍒嗘瀽
  */
-class ExceptionValueMutation(config: DustExceptionSetting) : DataAnalysisInterface<DustSiteData,
-        DustExceptionSetting>(config) {
+class ExceptionValueMutation(config: DustExceptionSetting) : BaseExceptionContinuous(config) {
 
-    private var mutationNum by Delegates.notNull<Int>()
+    override fun getExceptionType(): ExceptionType = ExceptionType.TYPE4
 
-    private var mutationRate by Delegates.notNull<Double>()
-
-    private var lastDataTime: Date? = null
-
-    override fun initConfig(config: DustExceptionSetting) {
-        mutationNum = config.mutationNum
-        mutationRate = config.mutationRate
+    override fun judgeException(p: DustSiteData?, n: DustSiteData): Boolean {
+        if (p == null) return false
+        return abs((p.dustValue - n.dustValue) / p.dustValue) >= config.mutationRate
     }
 
-    override fun onNextData(data: DustSiteData) {
-        if (lastDataTime != null) {
-            // 鐩搁偦鏁版嵁鏃堕棿灏忎簬鎴栫瓑浜�30鍒嗛挓鍒嗕负涓�缁�
-        }
-
-        lastDataTime = data.lst
+    override fun judgeDuration(sIndex: Int, eIndex: Int): Boolean {
+        return (eIndex - sIndex) >= config.mutationNum
     }
-
-    override fun toDb() {
-        TODO("Not yet implemented")
-    }
-
-
 }
\ No newline at end of file

--
Gitblit v1.9.3