| | |
| | | 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; |
| | |
| | | import com.moral.service.DeviceService; |
| | | import com.moral.service.HistoryHourlyService; |
| | | import com.moral.service.SensorService; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | |
| | | 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); |
| | |
| | | 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) { |
| | |
| | | } 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("")){ |