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