From 8dc1a393928b0195bf0b5a6d6f8daec6e4a043b1 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 18 Nov 2020 14:18:12 +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