From 3a7da032ec18b2d5d36afb3fd9622c7d763257b7 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 17 十一月 2021 13:05:06 +0800 Subject: [PATCH] 1. 将用电量接口返回的参数动态化 --- src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt | 65 +++++++++++++++----------------- 1 files changed, 30 insertions(+), 35 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 1a696eb..c6f3e68 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 @@ -10,6 +10,7 @@ import com.flightfeather.uav.lightshare.bean.DataHead import com.flightfeather.uav.lightshare.bean.DataVo import com.flightfeather.uav.lightshare.bean.ElectricVo +import com.flightfeather.uav.lightshare.eunm.ElectricityType import com.flightfeather.uav.lightshare.service.ElectricityService import com.flightfeather.uav.socket.bean.AirData import com.github.pagehelper.PageHelper @@ -102,22 +103,21 @@ createCriteria().andEqualTo("cdCompanyId", cId) }) //浜х嚎椋庢満 - var d1: String? = null + var d1: CompanyDevice? = null //搴熸皵鍑�鍖栬缃� - var d2: String? = null + var d2: CompanyDevice? = null deviceCodeList.forEach { - // FIXME: 2021/11/5 姝ゅ鏆傛椂鍐欐锛屽悗缁慨鏀� - if (it?.cdDeviceCode == "31011020210602" || it?.cdDeviceCode == "31011020210603") { - d1 = it.cdDeviceCode - }else if (it?.cdDeviceCode == "31011020210601" || it?.cdDeviceCode == "31011020210604") { - d2 = it.cdDeviceCode + if (it?.cdType == ElectricityType.ProductionLine.value) { + d1 = it + }else if (it?.cdType == ElectricityType.Purify.value) { + d2 = it } } var pageInfo = PageHelper.startPage<ElectricMinuteValue>(p, perP) val dataList1 = electricMinuteValueMapper.selectByExample(Example(ElectricMinuteValue::class.java).apply { - createCriteria().andEqualTo("mvStatCode", d1) + createCriteria().andEqualTo("mvStatCode", d1?.cdDeviceCode) .apply { sTime?.let { andGreaterThanOrEqualTo("mvDataTime", it) } eTime?.let { andLessThanOrEqualTo("mvDataTime", it) } @@ -134,7 +134,7 @@ } pageInfo = PageHelper.startPage<ElectricMinuteValue>(p, perP) val dataList2 = electricMinuteValueMapper.selectByExample(Example(ElectricMinuteValue::class.java).apply { - createCriteria().andEqualTo("mvStatCode", d2) + createCriteria().andEqualTo("mvStatCode", d2?.cdDeviceCode) .apply { sTime?.let { andGreaterThanOrEqualTo("mvDataTime", it) } eTime?.let { andLessThanOrEqualTo("mvDataTime", it) } @@ -192,7 +192,9 @@ d1eA = d?.mvElectricityA ?: .0 d1eB = d?.mvElectricityB ?: .0 d1eC = d?.mvElectricityC ?: .0 - d1Status = getStatus(d) + val s = getStatus(d, d1) + d1Status = s.first + d1StatusName = s.second } dataList1.removeAt(0) } @@ -205,7 +207,9 @@ d2eA = d?.mvElectricityA ?: .0 d2eB = d?.mvElectricityB ?: .0 d2eC = d?.mvElectricityC ?: .0 - d2Status = getStatus(d) + val s = getStatus(d, d2) + d2Status = s.first + d2StatusName = s.second } dataList2.removeAt(0) } @@ -220,30 +224,21 @@ } // FIXME: 2021/11/5 姝ゅ鏆傛椂鍐欐锛屽悗缁慨鏀� - private fun getStatus(e: ElectricMinuteValue?): String { - var values = listOf(1, 100) - var status = listOf("0", "2", "3") + private fun getStatus(e: ElectricMinuteValue?, d: CompanyDevice?): Pair<String, String> { + 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 status.first() + return Pair(status.first(), statusNames.first()) } - when (e.mvStatCode) { - "31011020210601" -> { - values = listOf(1, 100) - status = listOf("0", "2", "3") - } - "31011020210602" -> { - values = listOf(13, 30) - status = listOf("0", "2", "3") - } - "31011020210603" -> { - values = listOf(1, 50, 80) - status = listOf("0", "1", "2", "3") - } - "31011020210604" -> { - values = listOf(15, 90, 125) - status = listOf("0", "1", "2", "3") - } - } + val electricityList = mutableListOf<Double>() electricityList.add(e.mvElectricityA) electricityList.add(e.mvElectricityB) @@ -252,9 +247,9 @@ val avg = electricityList.average() for (i in values.indices) { if (avg < values[i]) { - return status[i] + return Pair(status[i], statusNames[i]) } } - return status.last() + return Pair(status.last(), statusNames.last()) } } \ No newline at end of file -- Gitblit v1.9.3