From 49832a5bba94c816e83e7e74095106643f0a433e Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 16 十二月 2021 13:24:28 +0800 Subject: [PATCH] 1. 用电量日分析 2. 网格权重污染分析 --- src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt | 47 +++++++---------------------------------------- 1 files changed, 7 insertions(+), 40 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt index d055539..967c5a0 100644 --- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt +++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt @@ -132,11 +132,13 @@ if (startTime == null && endTime == null) { dataList1.reverse() } - pageInfo = PageHelper.startPage<ElectricMinuteValue>(p, perP) + if (dataList1.isEmpty()) return BaseResponse(true, data = result) + +// pageInfo = PageHelper.startPage<ElectricMinuteValue>(p, perP) val dataList2 = electricMinuteValueMapper.selectByExample(Example(ElectricMinuteValue::class.java).apply { createCriteria().andEqualTo("mvStatCode", d2?.cdDeviceCode) .apply { - sTime?.let { andGreaterThanOrEqualTo("mvDataTime", it) } + andGreaterThanOrEqualTo("mvDataTime", sTime ?: dataList1[0].mvDataTime) eTime?.let { andLessThanOrEqualTo("mvDataTime", it) } } orderBy("mvDataTime").apply { @@ -200,7 +202,7 @@ d1eA = d?.mvElectricityA ?: .0 d1eB = d?.mvElectricityB ?: .0 d1eC = d?.mvElectricityC ?: .0 - val s = getStatus(d, d1) + val s = ElectricDailyAnalysis.getStatus(d, d1) d1Status = s.first d1StatusName = s.second d1Avg = s.third @@ -238,7 +240,7 @@ d2eA = d?.mvElectricityA ?: .0 d2eB = d?.mvElectricityB ?: .0 d2eC = d?.mvElectricityC ?: .0 - val s = getStatus(d, d2) + val s = ElectricDailyAnalysis.getStatus(d, d2) d2Status = s.first d2StatusName = s.second d2Avg = s.third @@ -276,42 +278,7 @@ return BaseResponse(true, head = DataHead(pageInfo.pageNum, pageInfo.pages), data = result) } - /** - * 鑾峰彇璁惧褰撳墠杩愯鐘舵�� - * @param e 璁惧鐢ㄧ數閲忕洃娴嬫暟鎹� - * @param d 浼佷笟璁惧淇℃伅 - * @return 鏁版嵁瀵瑰簲缁撴灉淇℃伅锛�<鐘舵�佺紪鍙凤紝鐘舵�佹弿杩帮紝鐢垫祦鍧囧��> - */ - private fun getStatus(e: ElectricMinuteValue?, d: CompanyDevice?): Triple<String, String, Double> { - var values = mutableListOf<Int>().apply { - d?.cdLimits?.split(";")?.forEach { - it.toIntOrNull()?.let { i -> add(i) } - } - } - var status = d?.cdStatus?.split(";") ?: emptyList() - var statusNames = d?.cdStatusName?.split(";") ?: emptyList() - if (values.isEmpty()) values = mutableListOf(1, 100) - if (status.isEmpty()) status = listOf("0", "2", "3") - if (statusNames.isEmpty()) statusNames = listOf("寰呮満", "杩愯", "瓒呰礋鑽�") - if (e == null) { - return Triple(status.first(), statusNames.first(), .0) - } - - val electricityList = mutableListOf<Double>() - electricityList.add(e.mvElectricityA) - electricityList.add(e.mvElectricityB) - electricityList.add(e.mvElectricityC) - - val avg = round(electricityList.average() * 100) / 100 - for (i in values.indices) { - if (avg < values[i]) { - return Triple(status[i], statusNames[i], avg) - } - } - return Triple(status.last(), statusNames.last(), avg) - } - - override fun dailyStatistics(cId: String, startTime: String?, endTime: String?): BaseResponse<List<ElectricDailyInfo>> { + override fun dailyAnalysis(cId: String, startTime: String?, endTime: String?): BaseResponse<List<ElectricDailyInfo>> { // 鏍规嵁浼佷笟id鑾峰彇瀵瑰簲璁惧 val devices = companyDeviceMapper.selectByExample(Example(CompanyDevice::class.java).apply { createCriteria().andEqualTo("cdCompanyId", cId) -- Gitblit v1.9.3