Browse Source

修改文件名

zhc
review512jwy@163.com 3 weeks ago
parent
commit
c716f5e886
  1. 2
      dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/device/SubLineData.java
  2. 12
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java
  3. 18
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/LineDataAggregator.java

2
dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/device/AccumulateLineData.java → dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/device/SubLineData.java

@ -9,7 +9,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@Data @Data
public class AccumulateLineData { public class SubLineData {
@Schema(description = "属性编码, 默认:single,温湿度设备:temperature或者humidity") @Schema(description = "属性编码, 默认:single,温湿度设备:temperature或者humidity")
private String attrCode; private String attrCode;

12
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java

@ -25,7 +25,7 @@ import com.dongjian.dashboard.back.util.DateUtil;
import com.dongjian.dashboard.back.util.DurationData; import com.dongjian.dashboard.back.util.DurationData;
import com.dongjian.dashboard.back.vo.building.BindedBuildingVO; import com.dongjian.dashboard.back.vo.building.BindedBuildingVO;
import com.dongjian.dashboard.back.vo.company.AuroraInfo; import com.dongjian.dashboard.back.vo.company.AuroraInfo;
import com.dongjian.dashboard.back.vo.device.AccumulateLineData; import com.dongjian.dashboard.back.vo.device.SubLineData;
import com.dongjian.dashboard.back.vo.device.DeviceIncrement; import com.dongjian.dashboard.back.vo.device.DeviceIncrement;
import com.dongjian.dashboard.back.vo.device.LineData; import com.dongjian.dashboard.back.vo.device.LineData;
import com.dongjian.dashboard.back.vo.record.RecordAccumulateDto; import com.dongjian.dashboard.back.vo.record.RecordAccumulateDto;
@ -295,7 +295,7 @@ public class CommonOpt {
Double yesterdayBase = getDayAccumulate(conn, beforeYesterday, lineDataSearchParams.getDeviceId()); Double yesterdayBase = getDayAccumulate(conn, beforeYesterday, lineDataSearchParams.getDeviceId());
Double lastYearBase = getDayAccumulate(conn, lastYearPrev, lineDataSearchParams.getDeviceId()); Double lastYearBase = getDayAccumulate(conn, lastYearPrev, lineDataSearchParams.getDeviceId());
AccumulateLineData acc = new AccumulateLineData(); SubLineData acc = new SubLineData();
acc.setAttrCode(lineData.getAttrCode()); acc.setAttrCode(lineData.getAttrCode());
processAccumulateDay(conn, current, todayBase, "today", acc, deviceInfo); processAccumulateDay(conn, current, todayBase, "today", acc, deviceInfo);
@ -376,10 +376,10 @@ public class CommonOpt {
LocalDate date, LocalDate date,
Double baseValue, Double baseValue,
String yKey, String yKey,
AccumulateLineData accumulateLineData, SubLineData SubLineData,
DeviceInfo deviceInfo) { DeviceInfo deviceInfo) {
AccumulateLineData.childLineData childLineData = new AccumulateLineData.childLineData(); SubLineData.childLineData childLineData = new SubLineData.childLineData();
String sql = "SELECT upload_value, upload_at FROM dashboard_record_accumulate " + String sql = "SELECT upload_value, upload_at FROM dashboard_record_accumulate " +
@ -387,7 +387,7 @@ public class CommonOpt {
try (PreparedStatement ps = conn.prepareStatement(sql)) { try (PreparedStatement ps = conn.prepareStatement(sql)) {
ps.setString(1, deviceInfo.getDeviceId()); ps.setString(1, deviceInfo.getDeviceId());
ps.setString(2, accumulateLineData.getAttrCode()); ps.setString(2, SubLineData.getAttrCode());
ps.setInt(3, date.getYear()); ps.setInt(3, date.getYear());
ps.setInt(4, date.getMonthValue()); ps.setInt(4, date.getMonthValue());
ps.setInt(5, date.getDayOfMonth()); ps.setInt(5, date.getDayOfMonth());
@ -424,7 +424,7 @@ public class CommonOpt {
logger.error("processAccumulateDay error", e); logger.error("processAccumulateDay error", e);
} }
accumulateLineData.getSubData().put(yKey, childLineData); SubLineData.getSubData().put(yKey, childLineData);
} }
private Double getDayAccumulate(Connection conn, LocalDate date, String deviceId) { private Double getDayAccumulate(Connection conn, LocalDate date, String deviceId) {

18
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/LineDataAggregator.java

@ -1,6 +1,6 @@
package com.dongjian.dashboard.back.service.common; package com.dongjian.dashboard.back.service.common;
import com.dongjian.dashboard.back.vo.device.AccumulateLineData; import com.dongjian.dashboard.back.vo.device.SubLineData;
import com.dongjian.dashboard.back.vo.device.LineData; import com.dongjian.dashboard.back.vo.device.LineData;
import java.time.LocalDate; import java.time.LocalDate;
@ -219,14 +219,14 @@ public class LineDataAggregator {
} }
/* =============================== /* ===============================
* AccumulateLineData -> LineData * SubLineData -> LineData
* 半小时取最后一条 * 半小时取最后一条
* =============================== */ * =============================== */
public static void convertToLineDataHour(AccumulateLineData accumulate, LineData lineData) { public static void convertToLineDataHour(SubLineData accumulate, LineData lineData) {
if (accumulate == null || accumulate.getSubData() == null) return; if (accumulate == null || accumulate.getSubData() == null) return;
Map<String, HalfHourSeries> seriesMap = new LinkedHashMap<>(); Map<String, HalfHourSeries> seriesMap = new LinkedHashMap<>();
for (Map.Entry<String, AccumulateLineData.childLineData> entry : accumulate.getSubData().entrySet()) { for (Map.Entry<String, SubLineData.childLineData> entry : accumulate.getSubData().entrySet()) {
seriesMap.put(entry.getKey(), aggregateLastByHalfHour(entry.getValue())); seriesMap.put(entry.getKey(), aggregateLastByHalfHour(entry.getValue()));
} }
@ -250,7 +250,7 @@ public class LineDataAggregator {
fillTo48HalfHour(lineData); fillTo48HalfHour(lineData);
} }
private static HalfHourSeries aggregateLastByHalfHour(AccumulateLineData.childLineData child) { private static HalfHourSeries aggregateLastByHalfHour(SubLineData.childLineData child) {
if (child == null || child.getXData() == null || child.getYData() == null) if (child == null || child.getXData() == null || child.getYData() == null)
return new HalfHourSeries(null); return new HalfHourSeries(null);
@ -307,19 +307,19 @@ public class LineDataAggregator {
/* =============================== /* ===============================
* 全量对齐 * 全量对齐
* =============================== */ * =============================== */
public static void convertToLineDataAll(AccumulateLineData accumulate, LineData lineData) { public static void convertToLineDataAll(SubLineData accumulate, LineData lineData) {
if (accumulate == null || accumulate.getSubData() == null) return; if (accumulate == null || accumulate.getSubData() == null) return;
LinkedHashSet<String> xSet = new LinkedHashSet<>(); LinkedHashSet<String> xSet = new LinkedHashSet<>();
for (AccumulateLineData.childLineData child : accumulate.getSubData().values()) { for (SubLineData.childLineData child : accumulate.getSubData().values()) {
if (child.getXData() != null) xSet.addAll(child.getXData()); if (child.getXData() != null) xSet.addAll(child.getXData());
} }
List<String> mergedX = new ArrayList<>(xSet); List<String> mergedX = new ArrayList<>(xSet);
Map<String, Map<String, Object>> tmpMap = new LinkedHashMap<>(); Map<String, Map<String, Object>> tmpMap = new LinkedHashMap<>();
for (Map.Entry<String, AccumulateLineData.childLineData> entry : accumulate.getSubData().entrySet()) { for (Map.Entry<String, SubLineData.childLineData> entry : accumulate.getSubData().entrySet()) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
AccumulateLineData.childLineData child = entry.getValue(); SubLineData.childLineData child = entry.getValue();
if (child.getXData() != null && child.getYData() != null) { if (child.getXData() != null && child.getYData() != null) {
int size = Math.min(child.getXData().size(), child.getYData().size()); int size = Math.min(child.getXData().size(), child.getYData().size());
for (int i = 0; i < size; i++) map.put(child.getXData().get(i), child.getYData().get(i)); for (int i = 0; i < size; i++) map.put(child.getXData().get(i), child.getYData().get(i));

Loading…
Cancel
Save