From ca72da809fdf68f2d6833ed77ad92c9aadc0663d Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 22 May 2018 09:30:20 +0800 Subject: [PATCH] 地图 增加 监控点入口 --- src/main/webapp/js/moralmap.js | 72 +++++++++++++++++------- src/main/java/com/moral/mapper/DeviceMapper.java | 2 src/main/java/com/moral/service/MonitorPointService.java | 2 src/main/webapp/view/map.jsp | 37 ++++++++++- src/main/java/com/moral/controller/ScreenController.java | 10 +++ src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 20 ++++++ src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 4 + src/main/java/com/moral/mapper/MonitorPointMapper.java | 2 8 files changed, 120 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index dadbe33..773a1d0 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -526,4 +526,14 @@ List<Map<String, Object>> list = (List<Map<String, Object>>) pieData.get(sensorKey); return new ResultBean<List<Map<String, Object>>>(list); } + + /** + * ���������������id������������������version��������� + * @param mptid + * @return + */ + @GetMapping("getvers") + public ResultBean<List<Integer>> getVersions(Integer mptid){ + return new ResultBean<>(monitorPointService.queryVersionsById(mptid)); + } } diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java index a9b1064..d6ffa80 100644 --- a/src/main/java/com/moral/mapper/DeviceMapper.java +++ b/src/main/java/com/moral/mapper/DeviceMapper.java @@ -19,7 +19,7 @@ List<Map<String, Object>> getDeviceVersionIdByMonitorPoint(Integer monitorPointId); - List<Device> selectByOrgIdAndDevName(@Param("orgId")Integer orgId,@Param("name")String name); + List<Device> selectByOrgIdAndDevName(@Param("orgId")Integer orgId,@Param("devState") String state,@Param("name")String name); /** * diff --git a/src/main/java/com/moral/mapper/MonitorPointMapper.java b/src/main/java/com/moral/mapper/MonitorPointMapper.java index efb0a64..bddf2ad 100644 --- a/src/main/java/com/moral/mapper/MonitorPointMapper.java +++ b/src/main/java/com/moral/mapper/MonitorPointMapper.java @@ -2,7 +2,6 @@ import java.util.List; import java.util.Map; - import com.moral.common.mapper.BaseMapper; import com.moral.entity.MonitorPoint; import tk.mybatis.mapper.entity.Example; @@ -12,4 +11,5 @@ List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters); List<MonitorPoint> selectByMap(Map<String, Object> params); List<Integer> selectOrganizationIds(int id); + List<Integer> selectVersionsById(int id); } \ No newline at end of file diff --git a/src/main/java/com/moral/service/MonitorPointService.java b/src/main/java/com/moral/service/MonitorPointService.java index b6fe1ac..452a257 100644 --- a/src/main/java/com/moral/service/MonitorPointService.java +++ b/src/main/java/com/moral/service/MonitorPointService.java @@ -26,4 +26,6 @@ List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId); List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters); + + List<Integer> queryVersionsById(Integer id); } diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index a009a42..a3c9565 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -203,7 +203,25 @@ if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){ PageHelper.startPage(pageNo,pageSize); } - List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,deviceName); + String state = null; + switch (deviceName){ + case "������": + state = "0"; + deviceName = null;break; + case "������": + state = "1"; + deviceName = null;break; + case "������": + state = "2"; + deviceName = null;break; + case "������": + state = "3"; + deviceName = null;break; + case "������": + state = "4"; + deviceName = null;break; + } + List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,state,deviceName); //���redis������������ loadDeviceState(list); if(list instanceof Page){ diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 5f128b2..200db4e 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -222,4 +222,8 @@ criteria.andEqualTo(parameters.get("name").toString(), parameters.get("value")); return monitorPointMapper.selectByExample(example); } + @Override + public List<Integer> queryVersionsById(Integer id){ + return monitorPointMapper.selectVersionsById(id); + } } diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index e603e0a..4bcc87a 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -224,7 +224,6 @@ moralMap["_closeInfoWinTimer"] = null; },1200); moralMap["_closeInfoWinTimer"] = timer; - } moralMap.clearOverlays = function() { baiduMap.clearOverlays(); @@ -274,6 +273,7 @@ return; } var equ = { + methodName : 'chart'== select ?'showChart':'showDeviceMonitor', name: row['name'], mac: (row['mac']).toLowerCase(), longitude: row['longitude'], @@ -283,23 +283,21 @@ }; !!select?equ['monitorPointId'] = row["monitorPointId"]:null; var equStr = JSON.stringify(equ); - if(!!select&&select==='chart'){ - if(window['external']&&window['external']['showChartInfo']){ - window['external'].showChartInfo(equStr); - }else{ - alert(equStr); - } + if(window["console"]!=undefined){ + console.log(equStr); + } + if(!!window['external']&&window['external']['callWin']){ + window['external'].callWin(equStr); + }else{ + if(!!select&&select==='chart'&&!!window['external']&&window['external']['showChartInfo']){ + window['external'].showChartInfo(equStr); + }else if(!!window['external']&&window['external']['showMonitorInfo']){ + window['external'].showMonitorInfo(equStr); + }else{ + alert(equStr); + } } - else{ - if(window["console"]!=undefined){ - console.log(equStr); - } - if(window['external']&&window['external']['showMonitorInfo']){ - window['external'].showMonitorInfo(equStr); - }else{ - alert(equStr); - } - } + } moralMap.setPopupEqus = function(arr) { moralMap["_equs"] = arr; @@ -528,7 +526,7 @@ //��������������� var winOpts = { width: 110, // ������������������ - height: 50, // ������������������ + height: 80, // ������������������ title: getTitleOutHtml(), // ������������������ offset: new BMap.Size(-2, -21) //��������������������� } @@ -552,12 +550,14 @@ address = address.slice(0, 18) + "..."; } var adressOutHtml = ""; - adressOutHtml += "<div onmouseover='moralMap.clearCloseInfoWindow()'" - adressOutHtml += "onmouseout='moralMap.closeInfoWindow()'" + 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'>��������� </td><td style='line-height:16px'>"; adressOutHtml += address + " "; - adressOutHtml += "</td></tr></tbody></table></div>"; + adressOutHtml += "</td></tr>"; + adressOutHtml += "<tr><td style='width:98%;padding-top:10px;'colspan='2'><a href='javascript:void(0);' style='display:block;position: relative;float: right;' onclick='moralMap.showPointMonitor("+option.id+")'>������������>></a></td></tr>"; + adressOutHtml += "</tbody></table></div>"; return adressOutHtml; } return new BMap.InfoWindow(getAdressOutHtml(), winOpts); @@ -832,5 +832,35 @@ } return markers; } + moralMap.showPointMonitor = function (id) { + var mpointMarker = moralMap.getMpoint(id); + var mpoint = mpointMarker.getOption(); + if(!!mpoint){ + delete mpoint['organization']; + delete mpoint['icon']; + delete mpoint['click']; + if(window["console"]!=undefined){ + console.log(mpoint); + } + $.get("getvers?mptid="+id,function (res) { + if(!!res&&res.code==1){ + mpoint['versions'] = res.data; + mpoint['methodName'] = 'showPointMonitor'; + var mpointStr = JSON.stringify(mpoint); + if(!!window['external']&&window['external']['callWin']){ + window['external'].callWin(mpointStr); + }else{ + alert(JSON.stringify(mpointStr)); + } + } + }) + }else{ + if(window["console"]!=undefined){ + console.log("option of mpointMarker is null"); + console.log(mpointMarker); + } + } + + } window.moralMap = moralMap; })(jQuery, BMap, window); \ No newline at end of file diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp index e339ca1..6fc278f 100644 --- a/src/main/webapp/view/map.jsp +++ b/src/main/webapp/view/map.jsp @@ -48,7 +48,17 @@ padding:0; list-style:none; } - +a{ + color: #1900c6; + text-decoration: none; + cursor: pointer; + font-size: 14px; + font-weight: 300; +} +a:hover { + text-decoration: underline; + color: #e60012; +} #popup_box { top: 75px; left: 20px; @@ -296,8 +306,10 @@ window["listView"] = listView; //���������������������click������������ function showEqus(obj) { + var params = moralMap['params']; var mpoint = obj.currentTarget.getOption(); + $("#searchParam").val(mpoint['name']); var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; listView.load(url); moralMap.showPopupbox("#popup_box"); @@ -361,6 +373,7 @@ return; } var equ = { + methodName : 'showDeviceMonitor', name: _obj['name'], mac: (_obj['mac']).toLowerCase(), longitude: _obj['longitude'], @@ -372,7 +385,10 @@ if(window["console"]!=undefined){ console.log(equStr); } - if(window['external']&&window['external']['showMonitorInfo']){ + if(!!window['external']&&window['external']['callWin']){ + window['external'].callWin(equStr); + }else + if(!!window['external']&&window['external']['showMonitorInfo']){ window['external'].showMonitorInfo(equStr); }else{ alert(equStr); @@ -446,14 +462,25 @@ var url = 'get-devices-for-popup?name=' + param + "&orgId=" + params['orgId']; listView.load(url); } - ) + ); + $("#searchParam").keydown(function (event) { + if(event.keyCode ==13) { + $("#searchBtn").trigger("click"); + } + }) //������������������������������ $(".charts_btn").click( function (e) { - if(window['external']&&window['external']['showChartInfo']){ + var obj = {}; + obj['methodName'] = 'showChart'; + var objStr = JSON.stringify(obj); + if(!!window['external']&&window['external']['callWin']){ + window['external'].callWin(objStr); + }else + if(!!window['external']&&window['external']['showChartInfo']){ window['external'].showChartInfo(""); }else{ - alert(""); + alert(objStr); } } ); -- Gitblit v1.8.0