From 8a16116027464d17e800cd070d256aff59350b7d Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 16 Nov 2020 15:50:32 +0800
Subject: [PATCH] 更改监测因子趋势图M
---
src/main/java/com/moral/controller/ScreenController.java | 13 +++++++++++++
src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java | 37 +++++++++++++++++++++++++++++++++----
2 files changed, 46 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 3fde66f..416054a 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -701,6 +701,9 @@
//������������������������������������������������
ParameterUtils.getTimeType4Time(parameters);
String time1 = (String) parameters.get("time");
+ time1 = time1.replaceAll(" ", "");
+ parameters.put("time",time1);
+
String mac1 = (String) parameters.get("mac");
List<Map<String, Object>> list = null;
if (mac1 != null && mac1.equals("p5dnd7a0392018") && time1.substring(0, 4).equals("2019")) {
@@ -711,6 +714,12 @@
parameters.put("sensors", Arrays.asList(sensorKey));
// monitorPointService.isCompensateCalculation(parameters);
list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
+
+
+ /* 0���������������������11������������0���������������������1-24������������������������0������������������������������������24������������
+ ������������������24���������������23-24���������24������������������������0���������������
+ */
+ /*������������start-------------------------------------------------------------------------*/
list.remove(0);
if (list.size() == 23) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -722,6 +731,7 @@
//������������������������
String time2 = sdf2.format(date);
parameters.put("time", time2);
+ /*���������������0������������������24���������������������������*/
List<Map<String, Object>> nextDayList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
if(!ObjectUtils.isEmpty(nextDayList)){
time1=time1.replaceAll(" 00:00:00"," 24");
@@ -730,6 +740,9 @@
list.add(datas);
}
}
+ /*������������end-------------------------------------------------------------------------*/
+
+
for (Map<String, Object> map : list) {
String time = map.get("time").toString();
time = time.substring(time.length() - 2);
diff --git a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
index d6942ce..ffaffab 100644
--- a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
@@ -10,6 +10,7 @@
import com.moral.mapper.HistoryMapper;
import com.moral.util.AQICalculation;
import com.moral.util.AQICalculation2;
+import com.moral.util.DateUtil;
import io.swagger.models.auth.In;
import org.apache.commons.collections.MapUtils;
import org.springframework.stereotype.Service;
@@ -22,6 +23,7 @@
import com.moral.service.DeviceService;
import com.moral.service.HistoryHourlyService;
import com.moral.service.SensorService;
+import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
@@ -154,8 +156,35 @@
Date date1 = calendar.getTime();
String date2 = simpleDateFormat.format(date1);
List<Map> list = historyHourlyMapper.getDataByMacAndTime(mac, sensor, perTime, date2);
+ list.remove(0);
+
+ /*������1-2���������������������������������1���������������������������2���������������������1-24���
+ * ���24���������������������������������������������������������������*/
+ /*������������start----------------------------------------------------------------*/
+ if (list.size() == 23) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ //���������������������yyyy-MM-dd HH:mm:ss
+ perTime = perTime + " 00:00:00";
+ Date perTimeDate = sdf.parse(perTime);
+ perTimeDate = DateUtil.rollDay(perTimeDate, 1);
+ Date endTimeDate = DateUtil.rollDay(perTimeDate, 2);
+ //������������������������
+ String startTime = simpleDateFormat.format(perTimeDate);
+ String endTime = simpleDateFormat.format(endTimeDate);
+
+ //������������2020-11-16���������������������������17���0������������������������������������������2020-11-17---2020-11-18
+ List<Map> nextDayList = historyHourlyMapper.getDataByMacAndTime(mac, sensor, startTime, endTime);
+ if(!ObjectUtils.isEmpty(nextDayList)){
+ perTime=perTime.replaceAll(" 00:00:00"," 24");
+ Map<String, Object> datas = nextDayList.get(0);
+ datas.put("time",perTime);
+ list.add(datas);
+ }
+ }
+ /*������������end----------------------------------------------------------------*/
+
List<Map> newList = new ArrayList<Map>();
- for (int i = 0; i < 24; i++) {
+ for (int i = 0; i <= 24; i++) {
Map map=new HashMap();
if (i < 10) {
map.put("time","0"+i);
@@ -180,7 +209,7 @@
lists.add(newList);
}
- for (int i = 0; i < 24; i++) {
+ for (int i = 0; i <= 24; i++) {
Map<String, Object> map = new HashMap<>();
List iList = new ArrayList();
for (List<Map> list : lists) {
@@ -207,9 +236,9 @@
} catch (ParseException e) {
e.printStackTrace();
}
- for (int i = 0; i <perList.size() ; i++) {
+ /*for (int i = 0; i <perList.size() ; i++) {
perList.get(i).replace("time",perList.get(i).get("time"),(Integer) perList.get(i).get("time")+1);
- }
+ }*/
int j=0;
for (int i = 0; i <perList.size() ; i++) {
if (!((List)perList.get(i).get("values")).get(0).equals("")){
--
Gitblit v1.8.0