From 1975c595cea467a97bd3ac34571d5051405a12a7 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 10 May 2018 09:27:05 +0800
Subject: [PATCH] 地图 相关修改

---
 src/main/java/com/moral/service/AlarmConfigService.java          |    1 +
 src/main/webapp/js/moralmap.js                                   |   26 ++++++++++++++++++++------
 src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java |   11 +++++++++++
 src/main/webapp/view/map.jsp                                     |    1 +
 src/main/java/com/moral/controller/ScreenController.java         |   15 +++++++++++++++
 src/main/java/com/moral/mapper/AlarmConfigMapper.java            |    2 ++
 6 files changed, 50 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 4da099f..3f7967d 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -17,6 +17,7 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
+import com.moral.entity.alarm.AlarmConfig;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.log4j.Logger;
@@ -494,4 +495,18 @@
 		List<Map<String, Object>> list = (List<Map<String, Object>>) pieData.get(sensorKey);
 		return new ResultBean<List<Map<String, Object>>>(list);
 	}
+
+	/**
+	 * ������������������
+	 * @param mpid
+	 * @return
+	 */
+	@GetMapping("getalevels")
+	public ResultBean<Map<String,AlarmSensorLevel>> getAlarmLevelByMonitorPointId(int mpid){
+		AlarmConfig alarmConfig = alarmConfigService.queryByMonitorPointId(mpid).get();
+		ResultBean<Map<String,AlarmSensorLevel>> resultBean = new ResultBean();
+		resultBean.setCode(ResultBean.SUCCESS);
+		resultBean.setData(alarmConfig.getValue().getAlarmLevels());
+		return resultBean;
+	}
 }
diff --git a/src/main/java/com/moral/mapper/AlarmConfigMapper.java b/src/main/java/com/moral/mapper/AlarmConfigMapper.java
index 397db74..31858d3 100644
--- a/src/main/java/com/moral/mapper/AlarmConfigMapper.java
+++ b/src/main/java/com/moral/mapper/AlarmConfigMapper.java
@@ -19,4 +19,6 @@
     int updateByPrimaryKeySelective(AlarmConfig record);
 
     int updateByPrimaryKey(AlarmConfig record);
+
+    AlarmConfig selectByMonitorPointId(Integer mpId);
 }
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/AlarmConfigService.java b/src/main/java/com/moral/service/AlarmConfigService.java
index 0701630..edb5503 100644
--- a/src/main/java/com/moral/service/AlarmConfigService.java
+++ b/src/main/java/com/moral/service/AlarmConfigService.java
@@ -8,5 +8,6 @@
 public interface AlarmConfigService {
     public Optional<AlarmConfigValue> queryValueByOrganizationId(int organizationId);
     public Optional<AlarmConfig> queryByOrganizationId(int organizationId);
+    public Optional<AlarmConfig> queryByMonitorPointId(int mpId);
     void addOrModify(AlarmConfig alarmConfig);
 }
diff --git a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
index bea09bf..8bd9c7f 100644
--- a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.TypeReference;
 import com.moral.common.bean.Constants;
 import com.moral.common.util.RedisUtils;
+import com.moral.entity.MonitorPoint;
 import com.moral.entity.alarm.AlarmConfig;
 import com.moral.entity.alarm.AlarmConfigValue;
 import com.moral.entity.alarm.AlarmMode;
@@ -72,6 +73,16 @@
     }
 
     @Override
+    public Optional<AlarmConfig> queryByMonitorPointId(int mpId) {
+        AlarmConfig alarmConfig = alarmConfigMapper.selectByMonitorPointId(mpId);
+        if(alarmConfig==null){
+            alarmConfig = new AlarmConfig();
+            alarmConfig.setValue(getDefaultAlarmConfigValue());
+        }
+        return Optional.of(alarmConfig);
+    }
+
+    @Override
     public void addOrModify(AlarmConfig alarmConfig) {
         try{
             if(alarmConfig.getId()==null){
diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js
index 57a3d85..e603e0a 100644
--- a/src/main/webapp/js/moralmap.js
+++ b/src/main/webapp/js/moralmap.js
@@ -208,11 +208,23 @@
 		}
 		return moralMarker;
 	}
+	moralMap.clearCloseInfoWindow = function () {
+        if(!!moralMap["_closeInfoWinTimer"]){
+            clearTimeout(moralMap["_closeInfoWinTimer"]);
+            moralMap["_closeInfoWinTimer"] = null;
+        }
+    }
 	moralMap.openInfoWindow = function() {
-		baiduMap.openInfoWindow.apply(baiduMap, arguments);
+        moralMap.clearCloseInfoWindow();
+        baiduMap.openInfoWindow.apply(baiduMap, arguments);; //������������������
 	}
 	moralMap.closeInfoWindow = function() {
-		baiduMap.closeInfoWindow.apply(baiduMap, arguments);
+        var timer = setTimeout(function () {
+            baiduMap.closeInfoWindow.apply(baiduMap, arguments);
+            moralMap["_closeInfoWinTimer"] = null;
+        },1200);
+        moralMap["_closeInfoWinTimer"] = timer;
+
 	}
 	moralMap.clearOverlays = function() {
 		baiduMap.clearOverlays();
@@ -266,6 +278,7 @@
 			mac: (row['mac']).toLowerCase(),
 			longitude: row['longitude'],
 			latitude: row['latitude'],
+            monitorPointId: row['monitorPointId'],
             version:row['deviceVersion']['version']
 		};
 		!!select?equ['monitorPointId'] = row["monitorPointId"]:null;
@@ -539,7 +552,9 @@
 					address = address.slice(0, 18) + "...";
 				}
 				var adressOutHtml = "";
-				adressOutHtml += "<div style='font:12px arial,sans-serif;margin-top:12px'><table cellspacing='0' style='overflow:hidden;table-layout:fixed;width:100%;font:12px arial,sans-serif'>";
+				adressOutHtml += "<div onmouseover='moralMap.clearCloseInfoWindow()'"
+                adressOutHtml +=	"onmouseout='moralMap.closeInfoWindow()'"
+                adressOutHtml	+=" style='font:12px arial,sans-serif;margin-top:12px'><table cellspacing='0' style='overflow:hidden;table-layout:fixed;width:100%;font:12px arial,sans-serif'>";
 				adressOutHtml += "<tbody><tr><td style='vertical-align:top;width:38px;white-space:nowrap;word-break:keep-all'>���������&nbsp;</td><td style='line-height:16px'>";
 				adressOutHtml += address + "&nbsp;";
 				adressOutHtml += "</td></tr></tbody></table></div>";
@@ -547,16 +562,15 @@
 			}
 			return new BMap.InfoWindow(getAdressOutHtml(), winOpts);
 		})();
-
 		if(moralMask["infoWindow"] == undefined) {
 			moralMask["infoWindow"] = infoWindow;
 		}
 		//���������������������
 		moralMask.addEventListener("mouseover", function() {
-			baiduMap.openInfoWindow(infoWindow, this._point); //������������������
+			moralMap.openInfoWindow(infoWindow, this._point); //������������������
 		});
 		moralMask.addEventListener("mouseout", function() {
-			baiduMap.closeInfoWindow();
+            moralMap.closeInfoWindow();
 		});
 		//==================infoWindow-end============================
 		//���������������
diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp
index 21e667a..e339ca1 100644
--- a/src/main/webapp/view/map.jsp
+++ b/src/main/webapp/view/map.jsp
@@ -365,6 +365,7 @@
 										mac: (_obj['mac']).toLowerCase(),
 										longitude: _obj['longitude'],
 										latitude: _obj['latitude'],
+                                        monitorPointId: _obj['monitorPointId'],
 									    version:_obj['deviceVersion']['version']
 									}
 									var equStr = JSON.stringify(equ);

--
Gitblit v1.8.0