| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | } |
| | | |
| | | 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>> { |