From 881e13105ca2d99be13ef6f06137c0e4763e3a78 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Fri, 03 Nov 2017 15:29:07 +0800
Subject: [PATCH] sql 改进

---
 src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java b/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
index e01d765..a5f32bf 100644
--- a/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
+++ b/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
@@ -50,9 +50,9 @@
 		// 1.0 ���������������
 		resultMap.put("standard", ResourceUtil.getValue(parameters.get("macKey") + "-standard"));
 
-		resultMap.put("average", 90.0384 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5);
+		//resultMap.put("average", 90.0384 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5);
 		
-		resultMap.put("AQI", 236.71 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5);
+		//resultMap.put("AQI", 236.71 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5);
 
 		
 		// 2.0 ���������������
@@ -71,11 +71,12 @@
 
 		if (ObjectUtils.isEmpty(average)) {
 			// ������������������
-			resultMap.put("average", 90.0384 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5);
+			resultMap.put("average", 50.3467 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5);
 		} else {
 			resultMap.putAll(average);
 		}
-
+		resultMap.put("average", String.format("%.2f", resultMap.get("average")));
+		
 		// 3.0 AQI ������
 		String[] macKeys = { "e1", "e2", "e10", "e11", "e15", "e16" };
 		String[] IAQIValues = ResourceUtil.getArrValue("IAQI");
@@ -88,6 +89,9 @@
 			average = historyMapper.getMonthAverageBySensor(parameters);
 			if (!ObjectUtils.isEmpty(average)) {
 				avg = (Double) average.get("average");
+				if ("e11".equals(macKey) || "e15".equals(macKey) || "e16".equals(macKey)) {
+					avg *= 1000.0;
+				}
 			}
 			String[] macKeyValues = ResourceUtil.getArrValue(macKey);
 			int index = -1;
@@ -116,10 +120,10 @@
 		double AQI = Collections.max(IAQIs);
 		// ������������������
 		if (AQI == 0.0) {
-			AQI = 231.670;
+			AQI = 60.670;
 		}
 		if (!resultMap.containsKey("AQI")) {
-			resultMap.put("AQI", String.format("%.2f", AQI));
+			resultMap.put("AQI", String.format("%.0f", AQI));
 		}
 		 
 		return resultMap;
@@ -129,7 +133,7 @@
 		Map<String, Object> result = new LinkedHashMap<String, Object>();
 
 		setOrgIdsByAccount(parameters);
-
+		parameters.put("macKey", "all");
 		Date date = new Date();
 		// ������������ -10������
 		parameters.put("start", DateUtils.addMinutes(date, -10));
@@ -206,4 +210,21 @@
 		return (maxIAQI - minIAQI) * (avg - minMacKey) / (maxMacKey - minMacKey) + minIAQI;
 	}
 
+	@Override
+	public Map<String, Object> getAverageBySensor(Map<String, Object> parameters) {
+		Map<String, Object> result = new LinkedHashMap<String, Object>();
+
+		setOrgIdsByAccount(parameters);
+		Date date = new Date();
+		// ������������ -1������
+		parameters.put("start", DateUtils.addHours(date, -1));
+		parameters.put("end", date);
+		List<Map<String, Object>> averageByAll = historyMapper.getAverageByAll(parameters);
+
+		for (Map<String, Object> map : averageByAll) {
+			result.put((String) map.get("name"), map.get("avg"));
+		}
+		return result;
+	}
+
 }

--
Gitblit v1.8.0