From 820c6a9e6e0e50f7266b8ccaf9c802a1005bda51 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 11 Jun 2019 17:42:39 +0800
Subject: [PATCH] sensor

---
 src/main/java/com/moral/mapper/SensorUnitMapper.java            |   10 +++
 src/main/java/com/moral/service/impl/SensorUnitServiceImpl.java |   44 ++++++++++++++
 src/main/resources/mapper/SensorUnitMapper.xml                  |   22 +++++++
 src/main/java/com/moral/controller/ScreenController.java        |   61 ++++++++++++++++++++
 src/main/java/com/moral/service/SensorUnitService.java          |    5 +
 5 files changed, 142 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index e3a4bac..96c1709 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -68,6 +68,8 @@
     @Resource
     SensorService sensorService;
     @Resource
+    SensorUnitService sensorUnitService;
+    @Resource
     MonitorPointService monitorPointService;
     @Resource
     DeviceVersionService deviceVersionService;
@@ -887,5 +889,64 @@
             return model;
         }
     }
+    
+    /*@GetMapping("getSensor")
+	@ApiOperation(value = "������������", notes = "������������")
+	@ApiImplicitParams(value = {
+			@ApiImplicitParam(name = "mac", value = "������MN���", required = true, paramType = "query", dataType = "String")
+	})
+	public ResultBean<Map<String, Object>> getSensor(HttpServletRequest request) throws Exception {
+		Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+		String mac = (String) parameters.get("mac");
+		//System.out.println("ScreenController-----getSensor-----mac:"+mac);
+		Map<String, Object> map = sensorUnitService.getSensorByMac(mac);
+		System.out.println("ScreenController-----getSensor-----map:"+map);
+		return new ResultBean<Map<String, Object>>(map);
+	}*/
+	
+	@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 {
+		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);
+	}
+	
+	@GetMapping("AIForecast")
+	@ApiOperation(value = "AI������", notes = "AI������")
+	@ApiImplicitParams(value = {
+			@ApiImplicitParam(name = "monitorPoint", value = "���������id", required = true, paramType = "query", dataType = "String"),
+			@ApiImplicitParam(name = "mac", value = "������mac", required = false, paramType = "query", dataType = "String"),
+			@ApiImplicitParam(name = "sensorKey", value = "���������key,���������������������������", required = true, paramType = "query", dataType = "String"), 
+			@ApiImplicitParam(name = "time", value = "������,���(���������2018-03-06)", required = true, paramType = "query", dataType = "String"), 
+	})
+	public ResultBean<List<Map<String, Object>>> AIForecast (HttpServletRequest request) throws Exception {
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		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);
+		
+		//������������������
+		Map<String, Object> sensorMap = 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));
+			map.put("value", map.remove(sensorKey));
+		}
+		
+		return null;
+		//return new ResultBean<List<Map<String, Object>>>(result);
+	}
 
 }
diff --git a/src/main/java/com/moral/mapper/SensorUnitMapper.java b/src/main/java/com/moral/mapper/SensorUnitMapper.java
index 85cb886..331c7a5 100644
--- a/src/main/java/com/moral/mapper/SensorUnitMapper.java
+++ b/src/main/java/com/moral/mapper/SensorUnitMapper.java
@@ -1,7 +1,17 @@
 package com.moral.mapper;
 
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Param;
+
 import com.moral.common.mapper.BaseMapper;
 import com.moral.entity.SensorUnit;
 
 public interface SensorUnitMapper extends BaseMapper<SensorUnit> {
+	
+	List<Map<String, Object>> getSensorsByDeviceMac(@Param("mac")String mac);
+	
+	List<Map<String, Object>> getSensorsByMonitPointId(@Param("id")String id);
+	
 }
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/SensorUnitService.java b/src/main/java/com/moral/service/SensorUnitService.java
index 94703af..5032cdd 100644
--- a/src/main/java/com/moral/service/SensorUnitService.java
+++ b/src/main/java/com/moral/service/SensorUnitService.java
@@ -15,4 +15,9 @@
     void remove(Integer id);
 
     Map<Integer,List<SensorUnit>> queryGroupSensorBySids(List<Integer> sensorIds);
+    
+    Map<String, Object> getSensorByMac(String mac);
+    
+    Map<String, Object> getSensorsByMonitPointId(String id);
+    
 }
diff --git a/src/main/java/com/moral/service/impl/SensorUnitServiceImpl.java b/src/main/java/com/moral/service/impl/SensorUnitServiceImpl.java
index f2d4893..fd61ddd 100644
--- a/src/main/java/com/moral/service/impl/SensorUnitServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/SensorUnitServiceImpl.java
@@ -88,4 +88,48 @@
         }
         return  resultListMap;
     }
+
+	@Override
+	public Map<String, Object> getSensorByMac(String mac) {
+		System.out.println("SensorUnitServiceImpl-----getSensorByMac-----mac:"+mac);
+		List<Map<String, Object>> list = sensorUnitMapper.getSensorsByDeviceMac(mac);
+		System.out.println("SensorUnitServiceImpl----getSensorByMac----list:"+list);
+		if (list!=null && !list.isEmpty()) {
+			Map<String, Object> sensorUnitMap = new HashMap<>();
+			for(Map<String, Object> sensorMap : list) {
+				String sensor_key = (String) sensorMap.get("sensor_key");
+				System.out.println("SensorUnitServiceImpl----getSensorByMac----sensor_key:"+sensor_key);
+				String name = (String) sensorMap.get("name");
+				System.out.println("SensorUnitServiceImpl----getSensorByMac----name:"+name);
+				sensorUnitMap.put(sensor_key, name);
+			}
+			System.out.println(sensorUnitMap);
+			return sensorUnitMap;
+		} else {
+			Map<String, Object> sensorUnitMap =  null;
+			return sensorUnitMap;
+		}
+	}
+	
+	@Override
+	public Map<String, Object> getSensorsByMonitPointId(String id) {
+		System.out.println("SensorUnitServiceImpl-----getSensorsByMonitPointId-----id:"+id);
+		List<Map<String, Object>> list = sensorUnitMapper.getSensorsByMonitPointId(id);
+		System.out.println("SensorUnitServiceImpl----getSensorsByMonitPointId----list:"+list);
+		if (list!=null && !list.isEmpty()) {
+			Map<String, Object> sensorUnitMap = new HashMap<>();
+			for(Map<String, Object> sensorMap : list) {
+				String sensor_key = (String) sensorMap.get("sensor_key");
+				System.out.println("SensorUnitServiceImpl----getSensorsByMonitPointId----sensor_key:"+sensor_key);
+				String name = (String) sensorMap.get("name");
+				System.out.println("SensorUnitServiceImpl----getSensorsByMonitPointId----name:"+name);
+				sensorUnitMap.put(sensor_key, name);
+			}
+			System.out.println(sensorUnitMap);
+			return sensorUnitMap;
+		} else {
+			Map<String, Object> sensorUnitMap =  null;
+			return sensorUnitMap;
+		}
+	}
 }
diff --git a/src/main/resources/mapper/SensorUnitMapper.xml b/src/main/resources/mapper/SensorUnitMapper.xml
index 2fc812d..2d661f4 100644
--- a/src/main/resources/mapper/SensorUnitMapper.xml
+++ b/src/main/resources/mapper/SensorUnitMapper.xml
@@ -13,4 +13,26 @@
   <sql id="Base_Column_List" >
     id, sensor_id, name, rules, is_delete, create_time, update_time
   </sql>
+  
+  <select id="getSensorsByDeviceMac" resultType="java.util.Map">
+  	SELECT d.mac,s.sensor_key,su.id,su.sensor_id,su.name,su.rules
+	FROM device d, device_version_sensor dvs, sensor_unit su, sensor s
+	WHERE d.device_version_id = dvs.device_version_id
+	AND dvs.sensor_id = su.sensor_id
+	AND d.device_version_id = dvs.device_version_id
+	AND su.sensor_id = s.id
+	AND su.is_delete=0
+	AND d.mac = #{mac}
+  </select>
+  
+  <select id="getSensorsByMonitPointId" resultType="java.util.Map">
+  	SELECT mp.id,s.sensor_key,su.id,su.sensor_id,su.name,su.rules
+	FROM monitor_point mp,organization org,organization_sensor_unit osu,sensor_unit su, sensor s
+	WHERE mp.organization_id = org.id
+	AND org.id = osu.organization_id
+	AND osu.sensor_unit_id = su.id
+	AND su.sensor_id = s.id
+	AND su.is_delete=0
+	AND mp.id = #{id}
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0