From d0fe2eb9cefc7e3bfdddc5fa66633057c42697fc Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Wed, 18 Nov 2020 14:39:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
index d6942ce..a0c6711 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;
@@ -66,6 +68,9 @@
@Override
public Map<String, Object> getPollutionSourceDataByHour(Map<String, Object> parameters) throws Exception {
+ String yearAndDay = String.valueOf(parameters.get("yearAndDay"));
+ yearAndDay = yearAndDay.replace("-","");
+ parameters.put("yearAndDay",yearAndDay);
List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters);
List<String> sensorKeys = new ArrayList<>();
for (Sensor sensor : sensors) {
@@ -88,6 +93,9 @@
@Override
public Map<String, Object> getPollutionSourceDataAll(Map<String, Object> parameters) throws Exception {
+ String yearAndDay = String.valueOf(parameters.get("yearAndDay"));
+ yearAndDay = yearAndDay.replace("-","");
+ parameters.put("yearAndDay",yearAndDay);
List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters);
List<String> sensorKeys = new ArrayList<>();
for (Sensor sensor : sensors) {
@@ -154,8 +162,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 +215,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 +242,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