| | |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getAllDeviceDataToExcel(Map<String, Object> parameters) throws Exception { |
| | | Calendar cal = Calendar.getInstance(); |
| | | int length = ((String) parameters.get("startTime")).split("-").length; |
| | | String time = parameters.remove("startTime").toString(); |
| | | String timeb; |
| | | if (parameters.get("endTime") == null) { |
| | |
| | | } else { |
| | | timeb = parameters.remove("endTime").toString(); |
| | | } |
| | | String dateFormat = ""; |
| | | String typeFormat = ""; |
| | | String timeUnits = "daily"; |
| | | int i = 0; |
| | | if (length == 1) { |
| | | dateFormat = "yyyy"; |
| | | typeFormat = "%Y"; |
| | | i = Calendar.YEAR; |
| | | } else if (length == 2) { |
| | | dateFormat = "yyyy-MM"; |
| | | typeFormat = "%Y-%m"; |
| | | i = Calendar.MONTH; |
| | | } else if (length == 3) { |
| | | dateFormat = "yyyy-MM-dd"; |
| | | typeFormat = "%Y-%m-%d"; |
| | | i = Calendar.DAY_OF_MONTH; |
| | | } else if (length == 4) { |
| | | dateFormat = "yyyy-MM-dd HH"; |
| | | typeFormat = "%Y-%m-%d %H"; |
| | | timeUnits = "hourly"; |
| | | i = Calendar.HOUR_OF_DAY; |
| | | time = time.substring(0, 10) + " " + time.substring(11, 13); |
| | | timeb = timeb.substring(0, 10) + " " + timeb.substring(11, 13); |
| | | } |
| | | parameters.put("time", time); |
| | | parameters.put("timeb", timeb); |
| | | Calendar cal = Calendar.getInstance(); |
| | | int length = time.length(); |
| | | String type = ""; |
| | | if (length == 10) { |
| | | type = "day"; |
| | | } else if (length == 7) { |
| | | type = "month"; |
| | | } else if (length == 4) { |
| | | type = "year"; |
| | | } else if (length == 13) { |
| | | type = "hour"; |
| | | } |
| | | parameters.put("type", type); |
| | | String[] endTimes = timeb.split("-"); |
| | | String dateFormat = ""; |
| | | String beginTime = ""; |
| | | String endTime = ""; |
| | | Integer year = Integer.valueOf(endTimes[0]); |
| | | int i = 0; |
| | | if (type.equals("year")) { |
| | | dateFormat = "yyyy-MM"; |
| | | beginTime = time + "-01"; |
| | | timeb = Integer.valueOf(timeb) + 1 + ""; |
| | | endTime = timeb + "-01"; |
| | | i = Calendar.MONTH; |
| | | } else if (type.equals("month")) { |
| | | dateFormat = "yyyy-MM-dd"; |
| | | beginTime = time + "-01"; |
| | | i = Calendar.DAY_OF_MONTH; |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); |
| | | cal.setTime(sdf.parse(timeb)); |
| | | cal.add(Calendar.MONTH, 1); |
| | | timeb = sdf.format(cal.getTime()); |
| | | endTime = timeb + "-01"; |
| | | } else if (type.equals("day")) { |
| | | dateFormat = "yyyy-MM-dd HH"; |
| | | beginTime = time + " 00"; |
| | | i = Calendar.HOUR_OF_DAY; |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | cal.setTime(sdf.parse(timeb)); |
| | | cal.add(Calendar.DAY_OF_MONTH, 1); |
| | | timeb = sdf.format(cal.getTime()); |
| | | endTime = timeb + " 00"; |
| | | } else if (type.equals("hour")) { |
| | | dateFormat = "yyyy-MM-dd HH:mm"; |
| | | beginTime = time + ":00:00"; |
| | | i = Calendar.MINUTE; |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH"); |
| | | cal.setTime(sdf.parse(timeb)); |
| | | cal.add(Calendar.HOUR_OF_DAY, 1); |
| | | timeb = sdf.format(cal.getTime()); |
| | | endTime = timeb + ":00:00"; |
| | | } |
| | | |
| | | SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); |
| | | cal.setTime(sdf.parse(beginTime)); |
| | | cal.setTime(sdf.parse(timeb)); |
| | | cal.add(i, 1); |
| | | Date endTime = cal.getTime(); |
| | | parameters.put("format", dateFormat); |
| | | parameters.put("typeFormat", typeFormat); |
| | | parameters.put("timeUnits", timeUnits); |
| | | parameters.put("field", i); |
| | | cal.setTime(sdf.parse(time)); |
| | | List<String> times = new ArrayList<>(); |
| | | for (long d = cal.getTimeInMillis(); d < sdf.parse(endTime).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) { |
| | | for (long d = cal.getTimeInMillis(); d < endTime.getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) { |
| | | String format = sdf.format(d); |
| | | times.add(format); |
| | | } |
| | |
| | | List<String> keys = Arrays.asList(sensorKeys); |
| | | parameters.put("sensors", keys); |
| | | parameters.put("sensorKeys", keys); |
| | | parameters.put("timeb", timeb); |
| | | parameters.put("timeb", sdf.format(endTime)); |
| | | int mpId = Integer.valueOf(parameters.get("monitorPoint").toString()); |
| | | String monitorPointName = monitorPointMapper.getMonitorName(mpId); |
| | | List<Map<String, Object>> devices = deviceMapper.getDevicesByMpId(mpId); |