From 2ae8bf126599f68ba1ca721ff2acc1dd4461e9a5 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 12 九月 2023 11:05:47 +0800
Subject: [PATCH] 1. 整合了飞羽环境、徐汇油烟及金山扬尘两个数据库; 2. 优化重构自动评估模块逻辑; 3. 新增监测数据自动化统; 4. 将自动统计应用于自动评估中;

---
 src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt b/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt
index 3d715f9..350740f 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/report/DataSource.kt
@@ -49,11 +49,12 @@
     }
 
     fun loop(callback: (index:Int, rowData: RowData) -> Unit) {
-        reset()
+//        reset()
         for (i in sourceList.indices) {
+//            rowData.recordLastScene()
             rowData.index = i
-            rowData.clear()
             rowData.subTask = sourceList[i]
+            rowData.clear()
             callback(i, rowData)
         }
     }
@@ -126,11 +127,12 @@
                 for (s in subTaskList) {
                     if (s.scenseid == it) {
                         subtask = s
-                        break
+                        result.add(s)
                     }
                 }
-                if (subtask == null) subtask = Subtask().apply { scenseid = it }
-                result.add(subtask)
+                if (subtask == null) {
+                    result.add(Subtask().apply { scenseid = it })
+                }
             }
         } else {
             result.addAll(subTaskList)
@@ -359,23 +361,29 @@
         }
 
         /**
+         * 璁板綍涓婁竴涓満鏅�
+         */
+        fun recordLastScene() {
+            lastScene = scene
+        }
+
+        /**
          * 娓呯┖褰撳墠澶勭悊鐨勫璞$殑鐩稿叧鏁版嵁婧�
          */
         fun clear() {
-            if (lastScene != null && lastScene?.typeid != _scene?.typeid) {
-                _problemTypes.clear()
-                _topItems.clear()
-                _rules.clear()
-                _ledgerCount = -1
-            } else {
-                lastScene = _scene
-            }
             _scene = null
             _baseScene = null
             _problems.clear()
             _evaluation = null
             _itemevaluationList.clear()
             _ledgerRecordNum = null
+            if (lastScene != null && lastScene?.typeid != scene?.typeid) {
+                _problemTypes.clear()
+                _topItems.clear()
+                _rules.clear()
+                _ledgerCount = -1
+            }
+            recordLastScene()
         }
 
         /**

--
Gitblit v1.9.3