ZhuDongming
2019-11-13 baa11d154e41d24a790596899b329faaa19b24be
update污染溯源
4 files modified
74 ■■■■ changed files
src/main/java/com/moral/controller/ScreenController.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/AccountMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/webapp/view/pollutionsource.jsp 65 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/ScreenController.java
@@ -1215,6 +1215,9 @@
        if (MapUtils.isEmpty(getPollutionSourceData)) {
            getPollutionSourceData = historyHourlyService.getPollutionSourceDataAll(parameters);
        }
        if (MapUtils.isEmpty(getPollutionSourceData)) {
            getPollutionSourceData = new HashMap<>();
        }
        String mac = parameters.get("mac").toString();
        Device device = deviceService.getDeviceByMac(mac, false);
        JSONObject params = new JSONObject();
src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
@@ -109,7 +109,7 @@
        Device device = deviceService.getDeviceByMac(mac, false);
        Point pointEnd = new Point();
        if (MapUtils.isNotEmpty(pollutionSourceData)) {
            if (pollutionSourceData.get("e18") != null && pollutionSourceData.get("e23") != null && pollutionSourceData.get("e6") != null) {
            if (pollutionSourceData.get("e18") != null && pollutionSourceData.get("e23") != null) {
                double windSpeed = Double.valueOf(pollutionSourceData.get("e18").toString());
                double winDir = Double.valueOf(pollutionSourceData.get("e23").toString());
                double distance = windSpeed * 3600;
src/main/resources/mapper/AccountMapper.xml
@@ -108,7 +108,7 @@
            where
                a.account_name = #{accountName} and r.is_delete=0 and r.id is not null
        )
        where m.menu_parent_id=0
        where m.menu_parent_id=0 and m.is_delete=0
        order by m.menu_order
    </select>
@@ -132,7 +132,7 @@
            where
                a.account_name = #{accountName} and r.is_delete=0 and r.id is not null
        )
        where m.menu_parent_id = #{id}
        where m.menu_parent_id = #{id} and m.is_delete=0
        order by m.menu_order
    </select>
src/main/webapp/view/pollutionsource.jsp
@@ -123,7 +123,7 @@
<body>
<div class="main_body">
    <input type="button" id="show" value="溯源运算"/>
    <div id="cpm">无法推测来源</div>
    <div id="cpm"></div>
    <div id="mapCanvas"></div> <!-- 百度地图 -->
    <!-- 传sensorInfo,regionCode,regionName,monitorPoint,device-->
    <div id="pollutionSourceParams" style="display: none;">
@@ -162,10 +162,12 @@
    var marker = new BMap.Marker(point, {icon: icon, offset: new BMap.Size(0, -20)});
    map.addOverlay(marker);
    map.centerAndZoom(point, 16);
    if (!$.isEmptyObject(dirPoint) && !$.isEmptyObject(getPollutionSourceData) && typeof (getPollutionSourceData["e6"]) != "undefined" && typeof (getPollutionSourceData["e7"]) != "undefined" && typeof (getPollutionSourceData["e18"]) != "undefined" && typeof (getPollutionSourceData["e23"]) != "undefined") {
    var humidity = 0;
    var temperature = 0;
    if (!$.isEmptyObject(dirPoint) && !$.isEmptyObject(getPollutionSourceData) && typeof (getPollutionSourceData["e18"]) != "undefined" && typeof (getPollutionSourceData["e23"]) != "undefined" && getPollutionSourceData["e18"] != 0) {
        var windSpeed = parseFloat(getPollutionSourceData["e18"]);
        var windDir = parseFloat(getPollutionSourceData["e23"]);
        var distance = windSpeed * 3600>108? windSpeed * 3600:108;
        var distance = windSpeed * 3600;
        var winDirStart = 255 - windDir;
        var winDirEnd = 285 - windDir;
        var marker1 = new BMap.Marker(EOffsetBearing(dirPoint, distance * 0.15, winDirStart), {
@@ -192,11 +194,15 @@
    $("#show").one('click', function () {
        setTimeout(function () {
            if ($.isEmptyObject(dirPoint) || $.isEmptyObject(getPollutionSourceData) || typeof (getPollutionSourceData["e6"]) == "undefined" || typeof (getPollutionSourceData["e7"]) == "undefined" || typeof (getPollutionSourceData["e18"]) == "undefined" || typeof (getPollutionSourceData["e23"]) == "undefined") {
            if ($.isEmptyObject(dirPoint) || $.isEmptyObject(getPollutionSourceData) || typeof (getPollutionSourceData["e18"]) == "undefined" || typeof (getPollutionSourceData["e23"]) == "undefined" || getPollutionSourceData["e18"] === 0) {
                showNoData();
            } else {
                var humidity = parseFloat(getPollutionSourceData["e6"]);
                var temperature = parseFloat(getPollutionSourceData["e7"]);
                if (typeof (getPollutionSourceData["e6"]) != "undefined") {
                    humidity = parseFloat(getPollutionSourceData["e6"]);
                }
                if (typeof (getPollutionSourceData["e7"]) != "undefined") {
                    temperature = parseFloat(getPollutionSourceData["e7"]);
                }
                var windSpeed = parseFloat(getPollutionSourceData["e18"]);
                var windDir = parseFloat(getPollutionSourceData["e23"]);
                var selectSensorKey = getPollutionSourceData["selectSensorKey"];
@@ -213,7 +219,7 @@
                });
                map.addOverlay(lab);
                var distance = windSpeed * 3600>108? windSpeed * 3600:108;
                var distance = windSpeed * 3600;
                var winDirStartLeft = 240 - windDir;
                var winDirEndLeft = 250 - windDir;
                var winDirStartMiddle = 250 - windDir;
@@ -475,10 +481,27 @@
            } else if (windDir > 270 && windDir < 360) {
                windDirection = "西北风";
            }
            lab = new BMap.Label("<P>温度:" + temperature + "℃</p><P>湿度:" + humidity + "%</p><P>风速:" + windSpeed + "m/s</p><P>风向:" + windDirection + "</p>", {
                position: pointMiddle,
                offset: new BMap.Size(-50, -40)
            });
            if (temperature != 0 && humidity != 0) {
                lab = new BMap.Label("<P>温度:" + temperature + "℃</p><P>湿度:" + humidity + "%</p><P>风速:" + windSpeed + "m/s</p><P>风向:" + windDirection + "</p>", {
                    position: pointMiddle,
                    offset: new BMap.Size(-50, -40)
                });
            } else if (temperature == 0 && humidity != 0) {
                lab = new BMap.Label("<P>湿度:" + humidity + "%</p><P>风速:" + windSpeed + "m/s</p><P>风向:" + windDirection + "</p>", {
                    position: pointMiddle,
                    offset: new BMap.Size(-50, -40)
                });
            } else if (temperature != 0 && humidity == 0) {
                lab = new BMap.Label("<P>温度:" + temperature + "℃</p><P>风速:" + windSpeed + "m/s</p><P>风向:" + windDirection + "</p>", {
                    position: pointMiddle,
                    offset: new BMap.Size(-50, -40)
                });
            } else {
                lab = new BMap.Label("<P>风速:" + windSpeed + "m/s</p><P>风向:" + windDirection + "</p>", {
                    position: pointMiddle,
                    offset: new BMap.Size(-50, -40)
                });
            }
            lab.setStyle({
                color: "#EE3B3B",
                fontSize: "16px",
@@ -493,6 +516,26 @@
    function showNoData() {
        map.centerAndZoom(point, 17);
        setTimeout(function () {
            if (JSON.stringify(getPollutionSourceData) == JSON.stringify({})) {
                document.getElementById("cpm").innerText = "该时间点查询无数据";
            } else {
                if (getPollutionSourceData["e18"] === 0) {
                    document.getElementById("cpm").style.width = '380px';
                    document.getElementById("cpm").innerText = "风速为0,无法溯源运算";
                }
                if (typeof (getPollutionSourceData["e18"]) == "undefined") {
                    document.getElementById("cpm").style.width = '400px';
                    document.getElementById("cpm").innerText = "设备无风速,无法溯源运算";
                }
                if (typeof (getPollutionSourceData["e23"]) == "undefined") {
                    document.getElementById("cpm").style.width = '400px';
                    document.getElementById("cpm").innerText = "设备无风向,无法溯源运算";
                }
                if (typeof (getPollutionSourceData["e18"]) == "undefined" && typeof (getPollutionSourceData["e23"]) == "undefined") {
                    document.getElementById("cpm").style.width = '500px';
                    document.getElementById("cpm").innerText = "设备无风速,无风向,无法溯源运算";
                }
            }
            document.getElementById("cpm").style.display = 'block';
        }, 250);
    };