From 275ad59f206d9bc1801b28daeb31b4207f609ce3 Mon Sep 17 00:00:00 2001 From: hcong <1050828145@qq.com> Date: 星期四, 02 一月 2025 09:10:09 +0800 Subject: [PATCH] 1. 修改网格组数据导入接口返回值为bool 2. 修改网格组数据批量更新 使用Transactional注解 --- src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/ElectricityServiceImpl.kt | 179 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 116 insertions(+), 63 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 967c5a0..39e9f5e 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 @@ -1,7 +1,7 @@ package com.flightfeather.uav.lightshare.service.impl import com.flightfeather.uav.common.utils.DateUtil -import com.flightfeather.uav.dataprocess.ElectricDailyAnalysis +import com.flightfeather.uav.biz.dataprocess.ElectricDailyAnalysis import com.flightfeather.uav.domain.entity.CompanyDevice import com.flightfeather.uav.domain.entity.ElectricMinuteValue import com.flightfeather.uav.domain.entity.toAirData @@ -10,18 +10,14 @@ import com.flightfeather.uav.lightshare.bean.* 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 -import org.springframework.format.annotation.DateTimeFormat import org.springframework.stereotype.Service import tk.mybatis.mapper.entity.Example import java.text.SimpleDateFormat -import java.time.LocalDate import java.time.LocalDateTime import java.time.ZoneId import java.time.format.DateTimeFormatter import java.time.format.DateTimeParseException -import kotlin.math.round @Service class ElectricityServiceImpl( @@ -189,26 +185,20 @@ // 鏍规嵁涓ゅ彴璁惧鐨勬渶闀胯捣濮嬫椂闂达紝璁$畻鍏朵腑姣忎竴鍒嗛挓鐨勫搴斿潎鍊� while (!lsT.isAfter(leT)) { - // 涓ゅ彴璁惧鐨勬暟鎹牴鎹椂闂村悎骞朵负涓�涓粨鏋勪綋 - val vo = ElectricVo(lsT.format(dateFormatter2)) - // FIXME: 2021/11/22 姝ゅ鐢变簬鍓嶇璁惧鐨勯噰鏍锋椂闂翠笉鏍囧噯 锛岄噰鏍峰懆鏈熷苟涓嶆槸涓ユ牸鐨�1鍒嗛挓锛屽鑷撮噰鏍锋椂闂存湁鏃朵細缂哄皯1鍒嗛挓鐨勬暟鎹� // FIXME: 2021/11/22 鍥犳锛屽綋鏌愪竴鍒嗛挓璇ヨ澶囨暟鎹疆绌烘椂锛岄噰鐢ㄥ墠涓�涓暟鎹綔涓哄~鍏� - if (dataList1.isNotEmpty()) { - val d = dataList1[0] - val t = LocalDateTime.ofInstant(d?.mvDataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) - if (lsT.isEqual(t)) { - vo.apply { - d1eA = d?.mvElectricityA ?: .0 - d1eB = d?.mvElectricityB ?: .0 - d1eC = d?.mvElectricityC ?: .0 - val s = ElectricDailyAnalysis.getStatus(d, d1) - d1Status = s.first - d1StatusName = s.second - d1Avg = s.third - } - dataList1.removeAt(0) - } else { + val data1 = if (dataList1.isNotEmpty()) dataList1[0] else null + val t1 = data1?.let { LocalDateTime.ofInstant(it.mvDataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) } + val data2 = if (dataList2.isNotEmpty()) dataList2[0] else null + val t2 = data2?.let { LocalDateTime.ofInstant(it.mvDataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) } + if ((data1 == null || !lsT.isEqual(t1)) + && (data2 == null || !lsT.isEqual(t2)) + ) { + + } else { + // 涓ゅ彴璁惧鐨勬暟鎹牴鎹椂闂村悎骞朵负涓�涓粨鏋勪綋 + val vo = ElectricVo(lsT.format(dateFormatter2)) + if (data1 == null || !lsT.isEqual(t1)) { result.lastOrNull()?.let { vo.apply { d1eA = it.d1eA @@ -219,34 +209,20 @@ d1Avg = it.d1Avg } } - } - } else { - result.lastOrNull()?.let { - vo.apply { - d1eA = it.d1eA - d1eB = it.d1eB - d1eC = it.d1eC - d1Status = it.d1Status - d1StatusName = it.d1StatusName - d1Avg = it.d1Avg - } - } - } - if (dataList2.isNotEmpty()) { - val d = dataList2[0] - val t = LocalDateTime.ofInstant(d?.mvDataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) - if (lsT.isEqual(t)) { - vo.apply { - d2eA = d?.mvElectricityA ?: .0 - d2eB = d?.mvElectricityB ?: .0 - d2eC = d?.mvElectricityC ?: .0 - val s = ElectricDailyAnalysis.getStatus(d, d2) - d2Status = s.first - d2StatusName = s.second - d2Avg = s.third - } - dataList2.removeAt(0) } else { + vo.apply { + d1eA = data1.mvElectricityA ?: .0 + d1eB = data1.mvElectricityB ?: .0 + d1eC = data1.mvElectricityC ?: .0 + val s = ElectricDailyAnalysis.getStatus(data1, d1) + d1Status = s.first + d1StatusName = s.second + d1Avg = s.third + } + dataList1.removeAt(0) + } + + if (data2 == null || !lsT.isEqual(t2)) { result.lastOrNull()?.let { vo.apply { d2eA = it.d2eA @@ -257,20 +233,97 @@ d2Avg = it.d2Avg } } - } - } else { - result.lastOrNull()?.let { + } else { vo.apply { - d2eA = it.d2eA - d2eB = it.d2eB - d2eC = it.d2eC - d2Status = it.d2Status - d2StatusName = it.d2StatusName - d2Avg = it.d2Avg + d2eA = data2.mvElectricityA ?: .0 + d2eB = data2.mvElectricityB ?: .0 + d2eC = data2.mvElectricityC ?: .0 + val s = ElectricDailyAnalysis.getStatus(data2, d2) + d2Status = s.first + d2StatusName = s.second + d2Avg = s.third } + dataList2.removeAt(0) } + + result.add(vo) } - result.add(vo) +// if (dataList1.isNotEmpty()) { +// val d = dataList1[0] +// val t = LocalDateTime.ofInstant(d?.mvDataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) +// if (lsT.isEqual(t)) { +// vo.apply { +// d1eA = d?.mvElectricityA ?: .0 +// d1eB = d?.mvElectricityB ?: .0 +// d1eC = d?.mvElectricityC ?: .0 +// val s = ElectricDailyAnalysis.getStatus(d, d1) +// d1Status = s.first +// d1StatusName = s.second +// d1Avg = s.third +// } +// dataList1.removeAt(0) +// } else { +// result.lastOrNull()?.let { +// vo.apply { +// d1eA = it.d1eA +// d1eB = it.d1eB +// d1eC = it.d1eC +// d1Status = it.d1Status +// d1StatusName = it.d1StatusName +// d1Avg = it.d1Avg +// } +// } +// } +// } else { +// result.lastOrNull()?.let { +// vo.apply { +// d1eA = it.d1eA +// d1eB = it.d1eB +// d1eC = it.d1eC +// d1Status = it.d1Status +// d1StatusName = it.d1StatusName +// d1Avg = it.d1Avg +// } +// } +// } +// if (dataList2.isNotEmpty()) { +// val d = dataList2[0] +// val t = LocalDateTime.ofInstant(d?.mvDataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0) +// if (lsT.isEqual(t)) { +// vo.apply { +// d2eA = d?.mvElectricityA ?: .0 +// d2eB = d?.mvElectricityB ?: .0 +// d2eC = d?.mvElectricityC ?: .0 +// val s = ElectricDailyAnalysis.getStatus(d, d2) +// d2Status = s.first +// d2StatusName = s.second +// d2Avg = s.third +// } +// dataList2.removeAt(0) +// } else { +// result.lastOrNull()?.let { +// vo.apply { +// d2eA = it.d2eA +// d2eB = it.d2eB +// d2eC = it.d2eC +// d2Status = it.d2Status +// d2StatusName = it.d2StatusName +// d2Avg = it.d2Avg +// } +// } +// } +// } else { +// result.lastOrNull()?.let { +// vo.apply { +// d2eA = it.d2eA +// d2eB = it.d2eB +// d2eC = it.d2eC +// d2Status = it.d2Status +// d2StatusName = it.d2StatusName +// d2Avg = it.d2Avg +// } +// } +// } lsT = lsT.plusMinutes(1) } @@ -301,10 +354,10 @@ // 褰撴湁寮�濮嬬粨鏉熸椂闂存椂锛屽垽鏂牸寮忔槸鍚︽纭� else { try { - st = LocalDateTime.parse(startTime, dateFormatter3).withHour(0).withMinute(0).withSecond(0) - et = LocalDateTime.parse(endTime, dateFormatter3).withHour(23).withMinute(59).withSecond(59) + st = LocalDateTime.parse("$startTime 00:00:00", dateFormatter3) + et = LocalDateTime.parse("$endTime 23:59:59", dateFormatter3) } catch (e: DateTimeParseException) { - return BaseResponse(false, "鏃堕棿鏍煎紡閿欒锛屽簲涓簓yyy-MM-dd hh:mm:dd") + return BaseResponse(false, "鏃堕棿鏍煎紡閿欒锛屽簲涓簓yyy-MM-dd") } } -- Gitblit v1.9.3