From 4f879df01e855d436c65e1fbdc74f64ce47c901b Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Thu, 30 Apr 2020 16:49:15 +0800
Subject: [PATCH] update小时查询表时判断
---
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
index d5f11cb..9a24f1b 100644
--- a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
@@ -2,8 +2,11 @@
import java.math.BigDecimal;
import java.text.ParseException;
+import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
@@ -373,6 +376,24 @@
// String type = (String) parameters.get("type");
// parameters.putAll(getElementByType(type));
ParameterUtils.getElementByType(parameters);
+ if (parameters.containsKey("timeUnits")) {
+ if ("minutely".equals(parameters.get("timeUnits"))) {
+ if (parameters.containsKey("time")) {
+ String[] timeStr = parameters.get("time").toString().split("-");
+ int year = Integer.valueOf(timeStr[0]);
+ int month = Integer.valueOf(timeStr[1]);
+ String yearAndMonth;
+ if (month < 10) {
+ yearAndMonth = "minutely_" + year + "0" + month;
+ } else {
+ yearAndMonth = "minutely_" + year + month;
+ }
+ if (year >= 2020) {
+ parameters.put("timeUnits", yearAndMonth);
+ }
+ }
+ }
+ }
}
String time = (String) parameters.get("time");
String format = (String) parameters.get("format");
@@ -508,7 +529,22 @@
*/
public Map<String, List<Double>> queryOneLineChartDateByCrieria(List<String> sensorKeys, TimePeriod timePeriod, DataCondition dataCondition) {
List<String> timeList = ReportTimeFormat.makeTimeList(timePeriod);
- List<Map<String, Object>> lineChartDatas = historyMinutelyMapper.selectLineChartDateByCrieria(sensorKeys, timePeriod, dataCondition);
+ Instant instant = timePeriod.getStartTime().toInstant();
+ ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
+ LocalDate localDate = zdt.toLocalDate();
+ int year = localDate.getYear();
+ int month = localDate.getMonthValue();
+ String timeUnits;
+ if (year < 2020) {
+ timeUnits = "minutely";
+ } else {
+ if (month < 10) {
+ timeUnits = "minutely_" + year + "0" + month;
+ } else {
+ timeUnits = "minutely_" + year + month;
+ }
+ }
+ List<Map<String, Object>> lineChartDatas = historyMinutelyMapper.selectLineChartDateByCrieria(sensorKeys, timePeriod, timeUnits, dataCondition);
Map<String, List<Double>> lineChartDatasWithEmpty = new HashMap<>();
// lineChartDatasWithEmpty ���������
sensorKeys.forEach(sensorKey -> {
--
Gitblit v1.8.0