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()
        }
        /**