From d7ee12cb208473741f79b64505adccd0653e4654 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 27 Oct 2020 13:44:28 +0800 Subject: [PATCH] vue页面增加误差率参数,沧州剔除非本公司设备显示,报表接口更新 --- src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java | 93 ++++++++++++++++++---------------------------- 1 files changed, 37 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java index b3056f9..66aed92 100644 --- a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java @@ -1001,6 +1001,8 @@ @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) { @@ -1008,65 +1010,44 @@ } 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); } @@ -1074,7 +1055,7 @@ 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); -- Gitblit v1.8.0