From dbed3099ea0dd2a517b739f29943d4ee529760e6 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 17 Jun 2019 15:23:45 +0800
Subject: [PATCH] Merge branch 'master' of http://xufenglei@blit.7drlb.com:8888/r/screen_api_v2.git

---
 src/main/java/com/moral/controller/ScreenController.java |   84 +++++++++++++++++++-----------------------
 1 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 2d75e1e..f9c053d 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -946,19 +946,17 @@
 		return new ResultBean<Map<String, Object>>(map);
 	}*/
 	
-	/*@GetMapping("getSensorByMonitorPointId")
+	@GetMapping("getSensorByMonitorPointId")
 	@ApiOperation(value = "������������", notes = "������������")
 	@ApiImplicitParams(value = {
 			@ApiImplicitParam(name = "monitor_point_id", value = "������������id", required = true, paramType = "query", dataType = "String")
 	})
-	public ResultBean<Map<String, Object>> getSensorByMonitorPointId(HttpServletRequest request) throws Exception {
+	public ResultBean<List<Map<String, Object>>> getSensorByMonitorPointId(HttpServletRequest request) throws Exception {
 		Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
 		String monitor_point_id = (String) parameters.get("monitor_point_id");
-		System.out.println("ScreenController-----getSensorByMonitorPointId-----monitor_point_id:"+monitor_point_id);
-		Map<String, Object> map = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
-		System.out.println("ScreenController-----getSensorByMonitorPointId-----map:"+map);
-		return new ResultBean<Map<String, Object>>(map);
-	}*/
+		List<Map<String, Object>> map = sensorUnitService.getSensorsByMonitPointId2(monitor_point_id);
+		return new ResultBean<List<Map<String, Object>>>(map);
+	}
 	
 	@GetMapping("AIForecast")
 	@ApiOperation(value = "AI������", notes = "AI������")
@@ -970,46 +968,40 @@
 	})
 	public ResultBean<List<Map<String, Object>>> AIForecast (HttpServletRequest request) throws Exception {
 		Map<String, Object> parameters = getParametersStartingWith(request, null);
-		ParameterUtils.getTimeType4Time(parameters);
+        ParameterUtils.getTimeType4Time(parameters);
 		String monitor_point_id = (String) parameters.get("monitorPoint");
-		parameters.put("monitorPointId", parameters.remove("monitorPoint"));
-		Object sensorKey = parameters.remove("sensorKey");
-		parameters.put("sensors", Arrays.asList(sensorKey));
-		List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
-		System.out.println("ScreenController-----AIForecast-----list:"+list);
-		
-		//������������������
-		Map<String, Map<String, Object>> sensorMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
-		
-		if(sensorMap!=null && !sensorMap.isEmpty()) {
-			for (Map<String, Object> map : list) {
-				String time = map.get("time").toString();
-				time = time.substring(time.length() - 2);
-				map.put("time", Integer.valueOf(time));
-				map.put("value", map.remove(sensorKey));
-				String sensor = map.get("sensorKey").toString();
-				if(sensorMap.get(sensor)!=null) {
-					map.put("unit", sensorMap.get("unit"));
-					map.put("name", sensorMap.get("name"));
-					map.put("rules", sensorMap.get("rules"));
-				}else {
-					map.put("unit", null);
-					map.put("name", null);
-					map.put("rules", null);
-				}
-			}
-		}else {
-			for (Map<String, Object> map : list) {
-				String time = map.get("time").toString();
-				time = time.substring(time.length() - 2);
-				map.put("time", Integer.valueOf(time));
-				map.put("value", map.remove(sensorKey));
-				map.put("unit", null);
-				map.put("name", null);
-				map.put("rules", null);
-			}
-		}
-		//return null;
+        parameters.put("monitorPointId", parameters.remove("monitorPoint"));
+        String[] sensorKeys = parameters.remove("sensorKey").toString().split(",");
+        parameters.put("sensors", Arrays.asList(sensorKeys));
+        // monitorPointService.isCompensateCalculation(parameters);
+        List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
+        
+        //������������������
+      	Map<String, Map<String, Object>> sensorUnitMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
+
+        for (Map<String, Object> map : list) {
+            String time = map.get("time").toString();
+            time = time.substring(time.length() - 2);
+            map.put("time", Integer.valueOf(time));
+            List<Number> values = new ArrayList<Number>();
+            List<String> units = new ArrayList<String>();
+            for (String string : sensorKeys) {
+            	if(sensorUnitMap!=null && !sensorUnitMap.isEmpty()) {
+            		if(sensorUnitMap.get(string)!=null) {
+            			units.add(sensorUnitMap.get(string).get("name").toString());
+            		}else {
+            			Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string);
+            			units.add(sensorMap.get("unit").toString());
+            		}
+            	}else {
+            		Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string);
+        			units.add(sensorMap.get("unit").toString());
+            	}
+                values.add((Number) map.remove(string));
+            }
+            map.put("values", values);
+            map.put("units", units);
+        }
 		return new ResultBean<List<Map<String, Object>>>(list);
 	}
 

--
Gitblit v1.8.0