src/main/kotlin/cn/flightfeather/supervision/business/autooutput/dataanalysis/AopDataAnalysis.kt
@@ -70,58 +70,55 @@
            //获取原始监测数据
            val dataList = fetchDataResources(evaluationScene)
            //计算统计结果
//            var tempExceedTimes = TempResult()
//            var tempAvg = TempResult()
//            var tempMax = TempResult()
//            var tempMin = TempResult()
            var tempExceedTimes = TempResult()
            var tempAvg = TempResult()
            var tempMax = TempResult()
            var tempMin = TempResult()
            var deviceCode: String? = null
            dataList.forEach {
                // 监测点有多台设备时,每台设备单独记录
                val deviceCode = if (it.isNotEmpty()) {
                deviceCode = if (it.isNotEmpty()) {
                    getDeviceCode(it[0])
                } else {
                    null
                }
                val tempExceedTimes = TempResult()
                val tempAvg = TempResult()
                val tempMax = TempResult()
                val tempMin = TempResult()
//                val _tempExceedTimes = TempResult()
//                val _tempAvg = TempResult()
//                val _tempMax = TempResult()
//                val _tempMin = TempResult()
                val _tempExceedTimes = TempResult()
                val _tempAvg = TempResult()
                val _tempMax = TempResult()
                val _tempMin = TempResult()
                it.forEach { t ->
                    t?.let {
                        exceedTimes(t, tempExceedTimes)
                        avg(t, tempAvg)
                        max(t, tempMax)
                        min(t, tempMin)
                        exceedTimes(t, _tempExceedTimes)
                        avg(t, _tempAvg)
                        max(t, _tempMax)
                        min(t, _tempMin)
                    }
                }
                // 保留均值最高的一台设备
//                if (_tempAvg.avg > tempAvg.avg) {
//                    tempExceedTimes = _tempExceedTimes
//                    tempAvg = _tempAvg
//                    tempMax = _tempMax
//                    tempMin = _tempMin
//                }
                val dustDataResult = DustDataResult().apply {
                    drSceneId = evaluationScene.scene.value?.guid
                    drSceneName = evaluationScene.scene.value?.name
                    drDeviceCode = deviceCode
                    drTime = source?.config?.startTime
                    drExceedTimes = tempExceedTimes.count
                    drAvg = tempAvg.avg
                    drMax = tempMax.total
                    drMin = tempMin.total
                    drOverAvgPer = overAvgRate(drAvg, dAvg)
                    drDataNum = count(dataList)
                    // 当数据量为0时,超月度区均值百分比变为0
                    if (drDataNum == 0) drOverAvgPer = .0
                    drEffectiveRate = effectiveRate(dataList, evaluationScene)
                if (_tempAvg.avg > tempAvg.avg) {
                    tempExceedTimes = _tempExceedTimes
                    tempAvg = _tempAvg
                    tempMax = _tempMax
                    tempMin = _tempMin
                }
                //更新入库
                aopOutput.toDbDataResult(dustDataResult)
            }
            val dustDataResult = DustDataResult().apply {
                drSceneId = evaluationScene.scene.value?.guid
                drSceneName = evaluationScene.scene.value?.name
                drDeviceCode = deviceCode
                drTime = source?.config?.startTime
                drExceedTimes = tempExceedTimes.count
                drAvg = tempAvg.avg
                drMax = tempMax.total
                drMin = tempMin.total
                drOverAvgPer = overAvgRate(drAvg, dAvg)
                drDataNum = count(dataList)
                // 当数据量为0时,超月度区均值百分比变为0
                if (drDataNum == 0) drOverAvgPer = .0
                drEffectiveRate = effectiveRate(dataList, evaluationScene)
            }
            //更新入库
            aopOutput.toDbDataResult(dustDataResult)
        }
    }