Explorar el Código

Merge remote-tracking branch 'origin/master'

wangzhe hace 4 años
padre
commit
a1ede43fa2

+ 8 - 0
mybusiness/src/main/java/com/business/slfh/visualization/event/controller/Visualization_Event_Controller.java

@@ -1,5 +1,6 @@
 package com.business.slfh.visualization.event.controller;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.business.slfh.app.appbase.controller.AppBaseController;
 import com.business.slfh.app.appbase.domain.AppPageModel;
@@ -27,6 +28,7 @@ import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
@@ -563,5 +565,11 @@ public class Visualization_Event_Controller extends AppBaseController {
         return visualization_event_service.getRoleMenu();
     }
 
+    @RequestMapping("/getXfResources")
+    @ResponseBody
+    public List<Visualization_XF_Resources> getXfResources(@RequestParam(value = "typeArr[]") String [] typeArr, HttpServletRequest request) {
+        String [] types = typeArr;
+        return visualization_event_service.getXfResources(types,userInfoUtil.getLoginUserInfo().getDeptId().toString());
+    }
 
 }

+ 22 - 0
mybusiness/src/main/java/com/business/slfh/visualization/event/domain/Visualization_XF_Resources.java

@@ -0,0 +1,22 @@
+package com.business.slfh.visualization.event.domain;
+
+import com.sooka.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author limeng
+ * @date 2021年05月15日 10:20
+ */
+@Data
+public class Visualization_XF_Resources extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+    private String ID;
+    private String NAME;
+    private String LATITUDE;
+    private String LONGITUDE;
+    private String ADDRESS;
+    private String CONTACT_USER;
+    private String CONTACT_PHONE;
+    private String DEPT_ID;
+    private String FOREST_TYPE;
+}

+ 1 - 0
mybusiness/src/main/java/com/business/slfh/visualization/event/mapper/Visualization_Event_Mapper.java

@@ -55,4 +55,5 @@ public interface Visualization_Event_Mapper {
     List<Visualization_RoadBlocks> getRoadBlocks();
     void updateEventSign(@Param("eventId") String eventId,@Param("reservePlanType") String reservePlanType);
     int getRoleMenu(@Param("roles") List<SysRole> roles);
+    List<Visualization_XF_Resources> getXfResources(@Param("typeArr") String [] typeArr,@Param("DEPT_ID") String DEPT_ID);
 }

+ 1 - 0
mybusiness/src/main/java/com/business/slfh/visualization/event/service/Visualization_Event_Service.java

@@ -51,4 +51,5 @@ public interface Visualization_Event_Service {
     List<Visualization_RoadBlocks> getRoadBlocks();
     void updateEventSign(String eventId,String reservePlanType);
     int getRoleMenu();
+    List<Visualization_XF_Resources> getXfResources(String [] typeArr,String DEPT_ID);
 }

+ 4 - 0
mybusiness/src/main/java/com/business/slfh/visualization/event/service/impl/Visualization_Event_Service_Impl.java

@@ -214,5 +214,9 @@ public class Visualization_Event_Service_Impl extends BaseService implements Vis
         if(roles.size() == 0)return 0;
         return Visualization_Event_Mapper.getRoleMenu(roles);
     }
+    @Override
+    public List<Visualization_XF_Resources> getXfResources(String [] typeArr,String DEPT_ID){
+        return Visualization_Event_Mapper.getXfResources(typeArr,DEPT_ID);
+    }
 
 }

+ 35 - 0
mybusiness/src/main/resources/mapper/grid/visualization/Visualization_Event_Mapper.xml

@@ -217,6 +217,17 @@
         <result property="LATITUDE" column="LATITUDE"/>
         <result property="LONGITUDE" column="LONGITUDE"/>
     </resultMap>
+    <resultMap id="Visualization_XF_Resources" type="Visualization_XF_Resources">
+        <result property="ID" column="ID"/>
+        <result property="NAME" column="NAME"/>
+        <result property="LATITUDE" column="LATITUDE"/>
+        <result property="LONGITUDE" column="LONGITUDE"/>
+        <result property="ADDRESS" column="ADDRESS"/>
+        <result property="CONTACT_USER" column="CONTACT_USER"/>
+        <result property="CONTACT_PHONE" column="CONTACT_PHONE"/>
+        <result property="DEPT_ID" column="DEPT_ID"/>
+        <result property="FOREST_TYPE" column="FOREST_TYPE"/>
+    </resultMap>
 
 
     <sql id="Columns">
@@ -1017,4 +1028,28 @@
         </foreach>
 
     </select>
+
+    <select id="getXfResources" resultType="Visualization_XF_Resources">
+        SELECT * FROM (
+            SELECT ID,NAME,LATITUDE,LONGITUDE,ADDRESS,CONTACT_USER,CONTACT_PHONE,DEPT_ID,'0' AS FOREST_TYPE FROM T_RES_STATIONFIRE
+              UNION
+            SELECT ID,NAME,LATITUDE,LONGITUDE,ADDRESS,CONTACT_USER,CONTACT_PHONE,DEPT_ID, FOREST_TYPE FROM T_RES_STATIONFOREST
+              UNION
+            SELECT ID,NAME,LATITUDE,LONGITUDE,ADDRESS,CONTACT_USER,CONTACT_PHONE,DEPT_ID,'3' AS FOREST_TYPE FROM T_RES_STATIONLAND
+              UNION
+            SELECT ID,NAME,LATITUDE,LONGITUDE,ADDRESS,CONTACT_USER,CONTACT_PHONE,DEPT_ID,'4' AS FOREST_TYPE FROM T_RES_STATIONTEAM
+              UNION
+            SELECT ID,NAME,LATITUDE,LONGITUDE,ADDRESS,CONTACT_USER,CONTACT_PHONE,DEPT_ID,'5' AS FOREST_TYPE FROM T_RES_STATIONWEATHER
+        ) d
+        WHERE 1=1
+        AND d.DEPT_ID IN (
+        <include refid="Depts">
+            <property name="dept_id" value="#{DEPT_ID}"/>
+        </include>
+        )
+        AND FOREST_TYPE  IN
+        <foreach collection="typeArr" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

BIN
mybusiness/src/main/resources/static/visualization/images/jjd.gif


BIN
mybusiness/src/main/resources/static/visualization/images/lc.gif


BIN
mybusiness/src/main/resources/static/visualization/images/lyj.gif


BIN
mybusiness/src/main/resources/static/visualization/images/phd.gif


BIN
mybusiness/src/main/resources/static/visualization/images/qxz.gif


BIN
mybusiness/src/main/resources/static/visualization/images/xfjcz.gif


+ 6 - 2
mybusiness/src/main/resources/templates/business/visualization/event.html

@@ -292,11 +292,15 @@
     <label><input type="checkbox" checked name="leftNav" id="bch" >病虫害</label>
     <label><input type="checkbox" checked name="leftNav" id="lwt" />瞭望台</label>
     <label><input type="checkbox" checked name="leftNav" id="sxt" />警戒头</label>
-    <!--<label><input type="checkbox" checked name="leftNav" id="sl" />森林</label>-->
-    <!--<label><input type="checkbox" checked name="leftNav" id="ry" />人员</label>-->
     <label><input type="checkbox" checked name="leftNav" id="toud" />偷盗</label>
     <label><input type="checkbox" checked name="leftNav" id="lklf" />乱砍滥伐</label>
     <label><input type="checkbox" checked name="leftNav" id="tscs" />偷沙采石</label>
+    <label><input type="checkbox" checked name="leftNav" id="phd" />扑火队</label>
+    <label><input type="checkbox" checked name="leftNav" id="jjd" />机降点</label>
+    <label><input type="checkbox" checked name="leftNav" id="qxz" />气象站</label>
+    <label><input type="checkbox" checked name="leftNav" id="fhjcz" />防火检查站</label>
+    <label><input type="checkbox" checked name="leftNav" id="lyj" />林业局</label>
+    <label><input type="checkbox" checked name="leftNav" id="lc" />林场</label>
 </div>
 <!--事件 左侧导航 结束-->
 <!--森林 左侧导航 开始-->

+ 261 - 11
mybusiness/src/main/resources/templates/business/visualization/map.html

@@ -67,6 +67,8 @@
         clearLayers();
         getSxtMarkers();
         getLwtMarkers();
+
+        getXfResources(["fhjcz","lyj","lc","jjd","phd","qxz"]);
         var eventName = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("eventName");
         var deptId = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("treeId");
         var deptName = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("treeName");
@@ -636,19 +638,24 @@
      * */
     function reloadMarks(arr) {
         clearLayers();//搜索后需要清空瞭望塔等标记
-        for(var i=0;i<arr.length;i++){
-            if(arr[i] == 'lwt'){
-                getLwtMarkers();
-            }
-            if(arr[i] == 'sxt'){
-                getSxtMarkers();
+        //加载摄像头和瞭望塔
+        for(let i=0;i<arr.length;i++){
+            switch(arr[i]){
+                case 'lwt':
+                    getLwtMarkers();
+                    break;
+                case 'sxt':
+                    getSxtMarkers();
+                    break;
             }
         }
-        var eventName = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("eventName");
-        var deptId = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("treeId");
-        var deptName = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("treeName");
-        var starttime = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("starttime");
-        var endtime = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("endtime");
+        //加载消防资源
+        getXfResources(arr);
+        let eventName = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("eventName");
+        let deptId = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("treeId");
+        let deptName = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("treeName");
+        let starttime = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("starttime");
+        let endtime = parent.$("#qt_iframe")[0].contentWindow.getFrameElementValue("endtime");
         $.post("[[@{/visualization/event/getAllPendingList}]]", {
             EVENTNAME:eventName,
             STARTTIME:starttime,
@@ -671,6 +678,249 @@
         });
     }
 
+    function getXfResources(arr){
+        let typeArr = new Array();
+        for(let i=0;i<arr.length;i++){
+            switch(arr[i]){
+                case 'fhjcz':
+                    typeArr.push(0);//防火检查站
+                    break;
+                case 'lyj':
+                    typeArr.push(1);//林业局
+                    break;
+                case 'lc':
+                    typeArr.push(2);//林场
+                    break;
+                case 'jjd':
+                    typeArr.push(3);//机降点
+                    break;
+                case 'phd':
+                    typeArr.push(4);//扑火队
+                    break;
+                case 'qxz':
+                    typeArr.push(5);//气象站
+                    break;
+            }
+        }
+        console.log(typeArr);
+        $.post("[[@{/visualization/event/getXfResources}]]",{typeArr:typeArr},function(res){
+            console.log(res);
+            for(let i=0;i<res.length;i++){
+                let json = {
+                    id:res[i].id,
+                    name:res[i].name,
+                    latitude:res[i].latitude,
+                    longitude:res[i].longitude,
+                    contact_USER:res[i].contact_USER,
+                    contact_PHONE:res[i].contact_PHONE,
+                    address:res[i].address
+                };
+                let forest_TYPE = res[i].forest_TYPE;
+                switch(forest_TYPE){
+                    case '0':
+                        jczMarker(json);////防火检查站
+                        break;
+                    case '1':
+                        lyjMarker(json);//林业局
+                        break;
+                    case '2':
+                        lcMarker(json);//林场
+                        break;
+                    case '3':
+                        jjdMarker(json);//机降点
+                        break;
+                    case '4':
+                        phdMarker(json);//扑火队
+                        break;
+                    case '5':
+                        qxzMarker(json);//气象站
+                        break;
+                }
+            }
+        });
+    }
+
+    function jczMarker(option){//防火检查站
+        let iconUrl = '[[@{/visualization/images/xfjcz.gif}]]';
+        let icon = L.icon({
+            iconUrl: iconUrl,
+            iconSize: [65, 67],
+            iconAnchor: [37, 57]
+        });
+        let markName="xfjcz"+option.id;
+        markName = L.marker(
+            [option.latitude , option.longitude],
+            {icon: icon}
+        );
+        resultLayer.addLayer(markName);
+
+        markName.on("mousemove", function () {
+            pop = L.popup({className:'div_tittle'})
+                .setLatLng([option.latitude,option.longitude])
+                .setContent(
+                    "<span class='slfh_tit'>消防检查站</span>"+
+                    "<h4>名称:"+option.name+"</h4>"+
+                    "<p>联系人:"+option.contact_USER+"</p>"+
+                    "<p>联系电话:"+option.contact_PHONE+"</p>"+
+                    "<p>地址:"+option.address+"</p>"
+
+                ).openOn(map);
+        });
+        markName.on("mouseout", function () {
+            map.closePopup(pop);
+        });
+    }
+    function lyjMarker(option){//林业局
+        let iconUrl = '[[@{/visualization/images/lyj.gif}]]';
+        let icon = L.icon({
+            iconUrl: iconUrl,
+            iconSize: [65, 67],
+            iconAnchor: [37, 57]
+        });
+        let markName="lyj"+option.id;
+        markName = L.marker(
+            [option.latitude , option.longitude],
+            {icon: icon}
+        );
+        resultLayer.addLayer(markName);
+
+        markName.on("mousemove", function () {
+            pop = L.popup({className:'div_tittle'})
+                .setLatLng([option.latitude,option.longitude])
+                .setContent(
+                    "<span class='slfh_tit'>林业局</span>"+
+                    "<h4>名称:"+option.name+"</h4>"+
+                    "<p>联系人:"+option.contact_USER+"</p>"+
+                    "<p>联系电话:"+option.contact_PHONE+"</p>"+
+                    "<p>地址:"+option.address+"</p>"
+
+                ).openOn(map);
+        });
+        markName.on("mouseout", function () {
+            map.closePopup(pop);
+        });
+    }
+    function lcMarker(option){//林场
+        let iconUrl = '[[@{/visualization/images/lc.gif}]]';
+        let icon = L.icon({
+            iconUrl: iconUrl,
+            iconSize: [65, 67],
+            iconAnchor: [37, 57]
+        });
+        let markName="lc"+option.id;
+        markName = L.marker(
+            [option.latitude , option.longitude],
+            {icon: icon}
+        );
+        resultLayer.addLayer(markName);
+
+        markName.on("mousemove", function () {
+            pop = L.popup({className:'div_tittle'})
+                .setLatLng([option.latitude,option.longitude])
+                .setContent(
+                    "<span class='slfh_tit'>林场</span>"+
+                    "<h4>名称:"+option.name+"</h4>"+
+                    "<p>联系人:"+option.contact_USER+"</p>"+
+                    "<p>联系电话:"+option.contact_PHONE+"</p>"+
+                    "<p>地址:"+option.address+"</p>"
+
+                ).openOn(map);
+        });
+        markName.on("mouseout", function () {
+            map.closePopup(pop);
+        });
+    }
+    function jjdMarker(option){//机降点
+        let iconUrl = '[[@{/visualization/images/jjd.gif}]]';
+        let icon = L.icon({
+            iconUrl: iconUrl,
+            iconSize: [65, 67],
+            iconAnchor: [37, 57]
+        });
+        let markName="jjd"+option.id;
+        markName = L.marker(
+            [option.latitude , option.longitude],
+            {icon: icon}
+        );
+        resultLayer.addLayer(markName);
+
+        markName.on("mousemove", function () {
+            pop = L.popup({className:'div_tittle'})
+                .setLatLng([option.latitude,option.longitude])
+                .setContent(
+                    "<span class='slfh_tit'>机降点</span>"+
+                    "<h4>名称:"+option.name+"</h4>"+
+                    "<p>联系人:"+option.contact_USER+"</p>"+
+                    "<p>联系电话:"+option.contact_PHONE+"</p>"+
+                    "<p>地址:"+option.address+"</p>"
+
+                ).openOn(map);
+        });
+        markName.on("mouseout", function () {
+            map.closePopup(pop);
+        });
+    }
+    function phdMarker(option){//扑火队
+        let iconUrl = '[[@{/visualization/images/phd.gif}]]';
+        let icon = L.icon({
+            iconUrl: iconUrl,
+            iconSize: [65, 67],
+            iconAnchor: [37, 57]
+        });
+        let markName="phd"+option.id;
+        markName = L.marker(
+            [option.latitude , option.longitude],
+            {icon: icon}
+        );
+        resultLayer.addLayer(markName);
+
+        markName.on("mousemove", function () {
+            pop = L.popup({className:'div_tittle'})
+                .setLatLng([option.latitude,option.longitude])
+                .setContent(
+                    "<span class='slfh_tit'>扑火队</span>"+
+                    "<h4>名称:"+option.name+"</h4>"+
+                    "<p>联系人:"+option.contact_USER+"</p>"+
+                    "<p>联系电话:"+option.contact_PHONE+"</p>"+
+                    "<p>地址:"+option.address+"</p>"
+
+                ).openOn(map);
+        });
+        markName.on("mouseout", function () {
+            map.closePopup(pop);
+        });
+    }
+    function qxzMarker(option){//气象站
+        let iconUrl = '[[@{/visualization/images/qxz.gif}]]';
+        let icon = L.icon({
+            iconUrl: iconUrl,
+            iconSize: [65, 67],
+            iconAnchor: [37, 57]
+        });
+        let markName="qxz"+option.id;
+        markName = L.marker(
+            [option.latitude , option.longitude],
+            {icon: icon}
+        );
+        resultLayer.addLayer(markName);
+
+        markName.on("mousemove", function () {
+            pop = L.popup({className:'div_tittle'})
+                .setLatLng([option.latitude,option.longitude])
+                .setContent(
+                    "<span class='slfh_tit'>气象站</span>"+
+                    "<h4>名称:"+option.name+"</h4>"+
+                    "<p>联系人:"+option.contact_USER+"</p>"+
+                    "<p>联系电话:"+option.contact_PHONE+"</p>"+
+                    "<p>地址:"+option.address+"</p>"
+
+                ).openOn(map);
+        });
+        markName.on("mouseout", function () {
+            map.closePopup(pop);
+        });
+    }
+
     function markMarkers(json,type,arr){
         featureIds.length = 0;
         if (type == 'reserveplan_type_1') {