瀏覽代碼

Merge remote-tracking branch 'origin/dev' into dev

zhaowenrui 1 年之前
父節點
當前提交
f5633106f7
共有 34 個文件被更改,包括 1224 次插入638 次删除
  1. 791 0
      data-ui/src/views/components/supermap-2.5d-multiple.vue
  2. 82 85
      data-ui/src/views/components/supermap-2.5d.vue
  3. 45 25
      data-ui/src/views/data/common/ISuperMapAreaMarker.vue
  4. 1 1
      data-ui/src/views/data/common/ISuperMapTemp.vue
  5. 44 5
      data-ui/src/views/data/common/supermap.vue
  6. 1 1
      data-ui/src/views/data/digitalagriculture/enterprise/index.vue
  7. 1 1
      data-ui/src/views/data/digitalagriculture/excrementdispose/index.vue
  8. 1 1
      data-ui/src/views/data/digitalagriculture/filingsLivestock/index.vue
  9. 1 1
      data-ui/src/views/data/digitalagriculture/greenhousefilm/index.vue
  10. 1 15
      data-ui/src/views/data/digitalagriculture/information/index.vue
  11. 1 1
      data-ui/src/views/data/digitalagriculture/livestock/index.vue
  12. 1 1
      data-ui/src/views/data/digitalagriculture/modification/index.vue
  13. 38 23
      data-ui/src/views/data/digitalforest/afforestationtask/index.vue
  14. 21 11
      data-ui/src/views/data/digitalresources/construction/index.vue
  15. 1 1
      data-ui/src/views/data/digitaltraffic/level/IForm.vue
  16. 1 1
      data-ui/src/views/data/digitalwater/battlefield/index.vue
  17. 1 0
      data-ui/src/views/data/generalbusiness/importarea/index.vue
  18. 0 13
      src/main/java/com/sooka/sponest/data/digitalagriculture/domain/CenterdataTFarmPesticideInformation.java
  19. 0 3
      src/main/java/com/sooka/sponest/data/digitalagriculture/service/impl/CenterdataTFarmPesticideInformationServiceImpl.java
  20. 13 220
      src/main/java/com/sooka/sponest/data/digitalresource/domain/CenterdataTResourcesIllegalConstruction.java
  21. 5 0
      src/main/java/com/sooka/sponest/data/digitalresource/service/impl/CenterdataTResourcesIllegalConstructionServiceImpl.java
  22. 1 1
      src/main/java/com/sooka/sponest/data/digitalwater/mapper/WaterConservancyViewMapper.java
  23. 1 1
      src/main/java/com/sooka/sponest/data/digitalwater/service/IWaterViewService.java
  24. 2 3
      src/main/java/com/sooka/sponest/data/digitalwater/service/impl/WaterViewServiceImpl.java
  25. 2 15
      src/main/java/com/sooka/sponest/data/system/attach/controller/CenterdataTAttachController.java
  26. 0 85
      src/main/java/com/sooka/sponest/data/system/attach/domain/AppDataTAttach.java
  27. 3 8
      src/main/java/com/sooka/sponest/data/system/attach/mapper/CenterdataTAttachMapper.java
  28. 3 3
      src/main/java/com/sooka/sponest/data/system/attach/service/ICenterdataTAttachService.java
  29. 6 7
      src/main/java/com/sooka/sponest/data/system/attach/service/impl/CenterdataTAttachServiceImpl.java
  30. 36 22
      src/main/resources/mapper/digitalenvironment/EnvironmentViewMapper.xml
  31. 33 20
      src/main/resources/mapper/digitalfirecontrol/CenterdataTFirecontrolPersonMapper.xml
  32. 43 27
      src/main/resources/mapper/digitalforest/ForestViewMapper.xml
  33. 32 18
      src/main/resources/mapper/digitalwater/WaterConservancyViewMapper.xml
  34. 12 19
      src/main/resources/mapper/system/attach/CenterdataTAttachMapper.xml

+ 791 - 0
data-ui/src/views/components/supermap-2.5d-multiple.vue

@@ -0,0 +1,791 @@
+<template>
+  <div id="cesiumContainer" style="width: 100%; height: 100%;background: none;">
+  </div>
+</template>
+
+<script>
+  import {
+    iconList,
+    getDeviceList
+  } from '@/api/components/supermap.js'
+  import {
+    getConfigKey
+  } from '@/api/system/config'
+  import Cookies from 'js-cookie'
+
+  export default {
+    name: 'supermap-2.5d',
+    data() {
+      return {
+        chooseMode: [
+          Cesium.DrawMode.Line,
+          Cesium.DrawMode.Polygon,
+        ],
+        markerList: [],
+        bindPopupHtml: null,
+        mapshow: false,
+        superMapRootUrl: null,
+        layerList: [],
+        viewer: null,
+        scene: null,
+        handler: null,
+        pick: null,
+        back_position: null,
+        type: null,
+        content: null,
+        mvtMap0: null,
+        shuixi_name: null,
+        mvtMap1: null,
+        mvtMap2: null,
+        mvtMap3: null,
+        road_name: null,
+        layer_xiangzhenjie_name: null,
+        markerboxEntity: [],//地图落点实体
+        connectBoxEntity: null,//地图线实体
+        graphicsBoxEntity: null,//地图面实体
+        markerboxEntityRadius: [],//地图落点实体
+        connectBoxEntityTwo: null,//地图线实体
+        /*************************原地图属性*********************/
+        isEditableLayers: false, //绘图控件
+
+        /*************************原地图属性*********************/
+        aac: null,
+        queryParams: {
+          name: null,
+          mapData: null,
+          mapName: null
+        },
+      }
+    },
+    watch: {},
+    created() {
+    },
+    mounted() {
+      // this.superMapInfo();
+    },
+    props: {
+      putSmUserID_layer: null,
+    },
+    methods: {
+      superMapInfo(type, obj,NB) {
+        getConfigKey('superMap.iServer').then(response => {
+          this.superMapRootUrl = response.msg;
+          this.onload(type, obj,NB);
+        })
+      },
+      //清除所有
+      clearAll() {
+        this.viewer.entities.removeAll()
+      },
+      //移除之前添加的点
+      clearMRadius() {
+        if (this.markerboxEntityRadius != null && this.markerboxEntityRadius.length > 0) {
+          for (let i = 0; i < this.markerboxEntityRadius.length; i++) {
+            this.viewer.entities.remove(this.markerboxEntityRadius[i])
+          }
+          this.markerboxEntityRadius = []
+        }
+      },
+      //移除之前添加的线
+      clearTwoC() {
+        if (this.connectBoxEntityTwo != null) {
+          this.viewer.entities.remove(this.connectBoxEntityTwo)
+          this.connectBoxEntityTwo = null
+        }
+      },
+      /**
+       * 地图落点-覆盖范围
+       */
+      setMarkersRadius(makerList) {
+        let that = this
+        that.handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas)
+        for (let i in makerList) {
+          let longitude = makerList[i].lng;
+          let latitude = makerList[i].lat;
+          let marker = that.viewer.entities.add({
+            name: "",
+            position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
+            billboard: {
+              image: iconList[makerList[i].icon],
+              width: 48,
+              height: 48,
+              heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+              disableDepthTestDistance: Number.POSITIVE_INFINITY
+            },
+            description: makerList[i].bindPopupHtml,
+            click: makerList[i].click,
+            parameter: makerList[i].parameter
+          })
+          that.markerboxEntityRadius.push(marker)
+          //绘制摄像头的圈(覆盖范围)
+          let markerRadius = that.viewer.entities.add({
+            position: Cesium.Cartesian3.fromDegrees(makerList[i].lng, makerList[i].lat, 2),
+            ellipse: {
+              semiMinorAxis: makerList[i].radius,
+              semiMajorAxis: makerList[i].radius,
+              height: 0.0,
+              material: Cesium.Color.DODGERBLUE.withAlpha(0.4),
+              outline: true,
+              outlineColor: Cesium.Color.DEEPSKYBLUE.withAlpha(1),
+              outlineWidth: 1,
+            },
+          });
+          that.markerboxEntityRadius.push(markerRadius)
+        }
+        that.viewer.scene.globe.depthTestAgainstTerrain = false
+        that.createLeftClickDescription()
+        that.createRightClickDescription()
+      },
+      /**
+       * 地图画线(贴地)
+       */
+      setConnectTwoList(connectList, color, withAlpha) {
+        let that = this
+        //Cesium.Color.fromCssColorString('#67ADDF')   16进制颜色设置
+        let material = Cesium.Color.fromCssColorString(color).withAlpha(withAlpha);
+        that.connectBoxEntityTwo = that.viewer.entities.add({
+          Type: 'Polyline',
+          polyline: {
+            positions: Cesium.Cartesian3.fromDegreesArray(connectList),
+            clampToGround: true,//贴地 true,不贴地  false
+            width: 5,
+            material: material
+          }
+        })
+      },
+      //移除之前添加的点
+      clearM() {
+        if (this.markerboxEntity != null && this.markerboxEntity.length > 0) {
+          for (let i = 0; i < this.markerboxEntity.length; i++) {
+            this.viewer.entities.remove(this.markerboxEntity[i])
+          }
+          this.markerboxEntity = []
+        }
+      },
+      clearAllByQin(val) {
+
+        this.viewer.entities.removeAll();
+        this.entityHandler(val-2)
+      },
+      //移除之前添加的线
+      clearC() {
+        if (this.connectBoxEntity != null) {
+          this.viewer.entities.remove(this.connectBoxEntity)
+          this.connectBoxEntity = null
+        }
+      },
+      //移除之前添加的面
+      clearG() {
+        if (this.graphicsBoxEntity != null) {
+          this.viewer.entities.remove(this.graphicsBoxEntity)
+          this.graphicsBoxEntity = null
+        }
+      },
+      reload(list) {
+        this.removeAll();
+        this.layerList = list;
+        for (let i = 0; i < this.layerList.length; i++) {
+          if (this.layerList[i] == "lindi") {
+            this.loadLindi();
+          } else if (this.layerList[i] == "shuixi") {
+            this.loadShuixi();
+          } else if (this.layerList[i] == "road") {
+            this.loadRoad();
+          } else if (this.layerList[i] == "nongtian") {
+            this.loadNongtian();
+          }
+        }
+      },
+      loadShuixi() {//水系
+        let that = this;
+        if (that.mvtMap0 != null) {
+          that.mvtMap0.show = true;
+          that.shuixi_name.then(function (layers) {
+            let textlayer = that.viewer.scene.layers.find('ShuiXi@SiPing#1');//文字图层
+            textlayer.visible = true;
+          });
+        }
+      },
+      loadLindi() {//林地
+        if (this.mvtMap1 != null) {
+          this.mvtMap1.show = true;
+        }
+      },
+      loadNongtian() {//农田
+        if (this.mvtMap2 != null) {
+          this.mvtMap2.show = true;
+        }
+      },
+      loadRoad() {//路网
+        let that = this;
+        if (that.mvtMap3 != null) {
+          that.mvtMap3.show = true;
+          that.road_name.then(function (layers) {
+            let provinceRoad_textLayer = that.viewer.scene.layers.find('ProvinceRoad_L@SiPing#1');//文字图层
+            let countyRoad_textLayer = that.viewer.scene.layers.find('CountyRoad_L@SiPing#1');//文字图层
+            let stateRoad_textLayer = that.viewer.scene.layers.find('StateRoad_L@SiPing#1');//文字图层
+            provinceRoad_textLayer.visible = true;
+            countyRoad_textLayer.visible = true;
+            stateRoad_textLayer.visible = true;
+          });
+        }
+      },
+      removeAll() {
+        let that = this;
+        // 移除方法,暂存:this.viewer.scene.removeVectorTilesMap(this.mvtMap3.name);
+        if (that.mvtMap0 != null) {
+          that.mvtMap0.show = false;
+          //that
+          that.shuixi_name.then(function (layers) {
+            let textlayer = that.viewer.scene.layers.find('ShuiXi@SiPing#1');//文字图层
+            textlayer.visible = false;
+          });
+        }
+        if (that.mvtMap1 != null) {
+          that.mvtMap1.show = false
+        }
+        if (that.mvtMap2 != null) {
+          that.mvtMap2.show = false
+        }
+        if (that.mvtMap3 != null) {
+          that.mvtMap3.show = false
+
+          //NAME隐藏
+          that.road_name.then(function (layers) {
+            let provinceRoad_textLayer = that.viewer.scene.layers.find('ProvinceRoad_L@SiPing#1');//文字图层
+            let countyRoad_textLayer = that.viewer.scene.layers.find('CountyRoad_L@SiPing#1');//文字图层
+            let stateRoad_textLayer = that.viewer.scene.layers.find('StateRoad_L@SiPing#1');//文字图层
+            provinceRoad_textLayer.visible = false;
+            countyRoad_textLayer.visible = false;
+            stateRoad_textLayer.visible = false;
+          });
+        }
+      },
+      onload(type, obj,NB) {
+        let that = this;
+        //1.添加地形数据
+        that.viewer = new Cesium.Viewer('cesiumContainer', {
+          //创建地形服务提供者的实例,url为SuperMap iServer发布的TIN地形服务
+          terrainProvider: new Cesium.CesiumTerrainProvider({
+            url: that.superMapRootUrl + "/3D-sipingchangjing/rest/realspace/datas/dem@spyx4326",
+            //isSct : false,//地形服务源自SuperMap iServer发布时需设置isSct为true
+            invisibility: true
+          }),
+          infoBox: false,
+          navigation: false
+        }, {
+          contextOptions: {
+            msaaLevel: 4,
+            requestWebgl2: true
+          },
+          orderIndependentTranslucency: false
+        });
+        let scene = that.viewer.scene;
+        that.viewer.cesiumWidget.creditContainer.style.display = "none" // 去掉超图logo水印
+
+        //2.添加SuperMap iServer发布的影像服务
+        let layer = that.viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+          url: that.superMapRootUrl + "/3D-sipingchangjing/rest/realspace/datas/siping_2m@spyx4326",
+        }));
+
+        //3.添加SuperMap 建筑场景
+        let aaaa = that.superMapRootUrl + "/3D-local3DCache-Data3/rest/realspace";
+        scene.open(aaaa);
+
+        //飞行值坐标点,每3秒推进一级
+        //heading-代表镜头左右方向,正值为右,负值为左
+        //pitch-代表镜头上下方向,正值为上,负值为下.
+        //roll-代表镜头左右倾斜,正值,向右倾斜,负值向左倾斜
+        setTimeout(function () {
+          that.viewer.camera.flyTo({
+            destination: Cesium.Cartesian3.fromDegrees(124.49980650138238, 43.428263986216815, 950000),
+            orientation: {
+              // heading :  Cesium.Math.toRadians(346.4202942851978),
+              // pitch : Cesium.Math.toRadians(-56.74026687972041),
+              // roll : Cesium.Math.toRadians(0)
+            }
+          });
+
+        }, 3000);
+        setTimeout(function () {
+          that.viewer.camera.flyTo({
+            destination: Cesium.Cartesian3.fromDegrees(124.49980650138238, 43.428263986216815, 650000),
+            orientation: {
+              // heading :  Cesium.Math.toRadians(346.4202942851978),
+              // pitch : Cesium.Math.toRadians(-56.74026687972041),
+              // roll : Cesium.Math.toRadians(0)
+            }
+          });
+
+        }, 3000);
+        setTimeout(function () {
+          that.viewer.camera.flyTo({
+            destination: Cesium.Cartesian3.fromDegrees(124.49980650138238, 43.428263986216815, 350000),
+            orientation: {
+              // heading :  Cesium.Math.toRadians(346.4202942851978),
+              // pitch : Cesium.Math.toRadians(-56.74026687972041),
+              // roll : Cesium.Math.toRadians(0)
+            }
+          });
+
+        }, 3000);
+
+        //开始加载专题图等数据,8秒后开始执行
+        setTimeout(function () {
+          //3.水系
+          let shuixi = that.superMapRootUrl + "/map-mvt-shuixiMian/restjsr/v1/vectortile/maps/shuixi_Mian";
+          that.mvtMap0 = scene.addVectorTilesMap({
+            url: shuixi,
+            canvasWidth: 512,
+            name: 'mvt_map0',
+            viewer: that.viewer
+          });
+          that.mvtMap0.selectedColor = new Cesium.Color(6, 169, 254, 0.5);
+          that.mvtMap0.show = false;
+
+          //4.林地
+          let lindi = that.superMapRootUrl + "/map-mvt-lindi/restjsr/v1/vectortile/maps/lindi";
+          that.mvtMap1 = scene.addVectorTilesMap({
+            url: lindi,
+            canvasWidth: 512,
+            name: 'mvt_map1',
+            viewer: that.viewer
+          });
+          that.mvtMap1.selectedColor = new Cesium.Color(6, 254, 181, 0.5);
+          that.mvtMap1.show = false;
+
+          //5.农田
+          let nongtian = that.superMapRootUrl + "/map-mvt-nongtian/restjsr/v1/vectortile/maps/nongtian";
+          that.mvtMap2 = scene.addVectorTilesMap({
+            url: nongtian,
+            canvasWidth: 512,
+            name: 'mvt_map2',
+            viewer: that.viewer
+          });
+          that.mvtMap2.selectedColor = new Cesium.Color(250, 236, 246, 1.0);
+          that.mvtMap2.show = false;
+
+          //6.路网
+          let road = that.superMapRootUrl + "/map-mvt-roadXian/restjsr/v1/vectortile/maps/road_Xian";
+          that.mvtMap3 = scene.addVectorTilesMap({
+            url: road,
+            canvasWidth: 512,
+            name: 'mvt_map3',
+            viewer: that.viewer
+          });
+          that.mvtMap3.show = false;
+
+          //7.添加路网NAME
+          let road_name_url = that.superMapRootUrl + '/3D-road_Name_S/rest/realspace';
+          that.road_name = scene.open(road_name_url);
+
+          that.road_name.then(function (layers) {
+            let provinceRoad_textLayer = scene.layers.find('ProvinceRoad_L@SiPing#1');//文字图层
+            let countyRoad_textLayer = scene.layers.find('CountyRoad_L@SiPing#1');//文字图层
+            let stateRoad_textLayer = scene.layers.find('StateRoad_L@SiPing#1');//文字图层
+            //加载后隐藏
+            provinceRoad_textLayer.visible = false;
+            countyRoad_textLayer.visible = false;
+            stateRoad_textLayer.visible = false;
+            //关闭避让
+            provinceRoad_textLayer.isOverlapDisplayed = true;
+            countyRoad_textLayer.isOverlapDisplayed = true;
+            stateRoad_textLayer.isOverlapDisplayed = true;
+          });
+          // 8.添加水系NAME
+          let shuixi_name_url = that.superMapRootUrl + '/3D-shuixi_Name/rest/realspace';
+          that.shuixi_name = scene.open(shuixi_name_url);
+          that.shuixi_name.then(function (layers) {
+            let textlayer = scene.layers.find('ShuiXi@SiPing#1');//文字图层
+            //加载后隐藏
+            textlayer.visible = false;
+            //关闭避让
+            textlayer.isOverlapDisplayed = true;
+          });
+
+          //9.添加县界和乡镇界
+          let layer_xianjie = that.viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+            url: that.superMapRootUrl + "/map-SIPING/rest/maps/XianJie_XiangZhenJie",
+          }));
+
+          //10.添加区县乡镇村名称
+          let layer_xiangzhenjie_name = that.superMapRootUrl + '/3D-Name_he/rest/realspace';
+          scene.open(layer_xiangzhenjie_name);
+          that.road_name.then(function (layers) {
+            let xianJie_textLayer = scene.layers.find('XianJie@SiPing#1');//区县文字图层
+            let xiangZhenJie_textLayer = scene.layers.find('XiangZhenJie@SiPing#2');//乡镇文字图层
+            let cun_textLayer = scene.layers.find('Cun@SiPing#1');//村文字图层
+            //关闭避让
+            xianJie_textLayer.isOverlapDisplayed = true;
+            xiangZhenJie_textLayer.isOverlapDisplayed = true;
+            cun_textLayer.isOverlapDisplayed = true;
+          });
+
+          // //9.添加乡镇界
+          // let layer_xiangzhenjie = that.viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+          //   url : that.superMapRootUrl+"/map-SIPING/rest/maps/XiangZhenJie",
+          // }));
+          //
+          // //10.添加县界
+          // let layer_xianjie = that.viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+          //   url : that.superMapRootUrl+"/map-SIPING/rest/maps/XianJie",
+          // }));
+
+          // //11.添加县界名称 此处要先添加县界名称 否则县界名会不显示
+          // let layer_xianjie_name = that.superMapRootUrl+'/3D-XianJie_Name/rest/realspace';
+          // scene.open(layer_xianjie_name);
+          //
+          // //12.添加乡镇界名称
+          // let layer_xiangzhenjie_name = that.superMapRootUrl+'/3D-XiangZhenJie_Name/rest/realspace';
+          // scene.open(layer_xiangzhenjie_name);
+
+        }, 3000);
+        if (NB!='NB') {
+          if (type == 1) {//拾取点位
+            that.getLeftClickDescription(obj);
+          }
+          if (type == 2) {//标线
+            that.entityHandler(0);
+            that.setConnectList(obj.graphicsList, obj.color, obj.withAlpha);
+          }
+          if (type == 3) {//标面
+            that.entityHandler(1);
+            that.setGraphicsList1(obj.graphicsList, obj.color, obj.withAlpha);
+          }
+        }
+        if (NB=='NB' && type == 2){
+          // console.log(obj)
+          that.entityHandler(0);
+          // that.setConnectList(obj.graphicsList, obj.color, obj.withAlpha);
+          for (let i = 0; i < obj.length; i++) {
+            let arrayBlue = [];
+            let arrayRed = [];
+            // if (Array.isArray(obj[i].params)){
+              for (let j = 0; j < obj[i].params.length; j++) {
+                if (obj[i].id===666){
+                  arrayBlue.push(obj[i].params[j].lng);
+                  arrayBlue.push(obj[i].params[j].lat);
+                }
+                else {
+                  arrayRed.push(obj[i].params[j].lng);
+                  arrayRed.push(obj[i].params[j].lat);
+                }
+              }
+              that.setConnectTwoList(
+                Array.isArray(arrayRed) && arrayRed.length > 0 ? arrayRed : [],
+                "rgba(232,14,14,0)",
+                0.8
+              );
+            that.setConnectTwoList(
+              Array.isArray(arrayBlue) && arrayBlue.length > 0 ? arrayBlue : [],
+              "rgba(14,25,231,0)",
+              0.8
+            );
+            // }
+          }
+        }
+        that.viewer.selectedEntityChanged.addEventListener(function (entity) {
+          if (entity != undefined && Reflect.has(entity, 'layerID')) {
+            that.putSmUserID_layer(entity);
+          }
+        });
+      },
+      entityHandler(chooseDrawMode) {
+        let that = this;
+        that.markerList = [];
+        that.handler = new Cesium.DrawHandler(that.viewer, that.chooseMode[chooseDrawMode]);
+        that.handler.activeEvt.addEventListener(function (isActive) {
+          if (isActive == true) {
+            that.viewer.enableCursorStyle = false;
+            that.viewer._element.style.cursor = '';
+          } else {
+            that.viewer.enableCursorStyle = true;
+          }
+        });
+        that.viewer.scene.globe.depthTestAgainstTerrain = false
+        that.handler.activate();
+        var newhandler = new Cesium.ScreenSpaceEventHandler(that.viewer.scene.canvas);
+        newhandler.setInputAction(function (event) {
+          // 屏幕坐标转世界坐标——关键点
+          var ellipsoid = that.viewer.scene.globe.ellipsoid;
+          var cartesian = that.viewer.camera.pickEllipsoid(event.position, ellipsoid);
+          //将笛卡尔坐标转换为地理坐标
+          var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+          //将弧度转为度的十进制度表示
+          var lon = Cesium.Math.toDegrees(cartographic.longitude);
+          var lat = Cesium.Math.toDegrees(cartographic.latitude);
+          let draw = {lng: 0, lat: 0};
+          draw.lng = lon;
+          draw.lat = lat;
+          if (!that.markerList.includes(draw)) {
+            that.markerList.push(draw);
+            that.$emit("showLatLng", {markerList: that.markerList});
+          }
+        }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
+      },
+      getLeftClickDescription(obj) {
+        let that = this
+        that.handler = new Cesium.ScreenSpaceEventHandler(that.viewer.scene.canvas);
+        if (obj.longitude) {
+          //在点击位置添加对应点
+          that.viewer.entities.add({
+            name: '',
+            position: Cesium.Cartesian3.fromDegrees(obj.longitude, obj.latitude),
+            billboard: {
+              image: iconList['marker'],
+              width: 48,
+              height: 48,
+              disableDepthTestDistance: Number.POSITIVE_INFINITY
+            },
+          })
+        }
+        //设置鼠标左键单击回调事件
+        that.handler.setInputAction(function (e) {
+          //首先移除之前添加的点
+          that.viewer.entities.removeAll();
+          //获取点击位置笛卡尔坐标
+          let position = that.viewer.scene.pickPosition(e.position);
+          //将笛卡尔坐标转化为经纬度坐标
+          let cartographic = Cesium.Cartographic.fromCartesian(position);
+          let longitude = Cesium.Math.toDegrees(cartographic.longitude);
+          let latitude = Cesium.Math.toDegrees(cartographic.latitude);
+          that.$emit("showLatLng", {latitude: latitude, longitude: longitude})
+          //在点击位置添加对应点
+          that.viewer.entities.add({
+            name: '',
+            position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
+            billboard: {
+              image: iconList['marker'],
+              width: 48,
+              height: 48,
+              heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+              disableDepthTestDistance: Number.POSITIVE_INFINITY
+            },
+          })
+          that.markerboxEntity.push(marker)
+          that.viewer.scene.globe.depthTestAgainstTerrain = false
+        }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+      },
+      /**
+       * 地图落点
+       */
+      setMarkers(makerList) {
+        let that = this
+        that.handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas)
+        for (let i in makerList) {
+          let longitude = makerList[i].lng;
+          let latitude = makerList[i].lat;
+          let marker = that.viewer.entities.add({
+            name: "",
+            position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
+            billboard: {
+              image: iconList[makerList[i].icon],
+              width: 48,
+              height: 48,
+              heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+              disableDepthTestDistance: Number.POSITIVE_INFINITY
+            },
+            description: makerList[i].bindPopupHtml,
+            click: makerList[i].click,
+            parameter: makerList[i].parameter
+          })
+          that.markerboxEntity.push(marker)
+        }
+        that.viewer.scene.globe.depthTestAgainstTerrain = false
+        that.createLeftClickDescription()
+        that.createRightClickDescription()
+      },
+      /**
+       *鼠标左击事件是原来的气泡
+       */
+      createLeftClickDescription() {
+        let that = this;
+        that.handler.setInputAction(function (movement) {
+          that.pick = that.viewer.scene.pick(movement.position);
+          if (that.pick && that.pick) {
+            let id = Cesium.defaultValue(that.viewer.scene.pick(movement.position).id, that.viewer.scene.pick(
+              movement.position).primitive.id);
+
+            let html = id._description;
+            if (html != undefined && html._value != null && html._value != '') {
+              that.bindPopupHtml = html
+              that.mapshow = true
+            } else {
+              that.mapshow = false
+            }
+          } else {
+            that.mapshow = false
+          }
+        }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+      },
+      /**
+       *鼠标右击事件是原来的点击
+       */
+      createRightClickDescription() {
+        let that = this;
+        that.handler.setInputAction(function (movement) {
+          that.mapshow = false
+          // 监听鼠标的当前位置坐标,然后根据当前坐标去动态更新气泡窗口div的显示位置;
+          that.pick = that.viewer.scene.pick(movement.position);
+          if (that.pick && that.pick) {
+            let id = Cesium.defaultValue(that.viewer.scene.pick(movement.position).id, that.viewer.scene.pick(movement.position).primitive.id);
+            let clickName = id._click;
+            that.$emit(clickName, id._parameter)
+          }
+        }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
+      },
+      /**
+       * 落点定位
+       */
+      dropLocation(lat, lng) {
+        this.viewer.camera.flyTo({
+          destination: Cesium.Cartesian3.fromDegrees(lng, lat, 3000),
+        });
+      },
+      /**
+       * 地图画线(贴地)
+       */
+
+      setGraphicsList1(graphicsList, color, withAlpha) {
+        let that = this;
+        that.viewer.entities.removeAll(); // 移除地图标点
+        let material = Cesium.Color.fromCssColorString(color).withAlpha(withAlpha);
+        for (let i = 0; i < graphicsList.length; i++) {
+          let positions = Cesium.Cartesian3.fromDegreesArray(graphicsList[i].latLng);
+          let name = graphicsList[i].name.toString();
+          let center = Cesium.BoundingSphere.fromPoints(positions).center;
+          let namePosition = Cesium.Cartographic.fromCartesian(center);
+          namePosition.height = 0; // 将名称高度设置为0,使其贴地显示
+
+          that.graphicsBoxEntity = that.viewer.entities.add({
+            polygon: {
+              hierarchy: positions,
+              clampToGround: true,
+              width: 5,
+              material: material
+            }
+          });
+
+          that.viewer.entities.add({
+            position: center,
+            label: {
+              text: name ,
+              font: 'Bold 12px sans-serif',
+              fillColor: Cesium.Color.BLACK,
+              outlineColor: Cesium.Color.WHITE,
+              outlineWidth: 2,
+              pixelOffset: new Cesium.Cartesian2(0, 0),
+              heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+              disableDepthTestDistance: Number.POSITIVE_INFINITY
+            }
+          });
+        }
+      },
+      // setTimeout(() => {
+      //   if(graphicsList!=null&&Array.isArray(graphicsList)&&graphicsList.length>0){
+      //     that.viewer.camera.flyTo({
+      //       destination: Cesium.Cartesian3.fromDegrees(graphicsLists[0],graphicsLists[1],6500),
+      //       complete: function () {
+      //         // 飞行结束后设置相机的高度
+      //         var newHeight = 6500;
+      //         var destination = that.viewer.camera.position.clone();
+      //         destination.z = newHeight;
+      //       }
+      //     });
+      //   }
+      // }, 3000);
+      /**
+       * 地图图形(贴地)
+       */
+      setGraphicsList(graphicsList, color, withAlpha) {
+        let that = this
+        //Cesium.Color.fromCssColorString('#67ADDF')   16进制颜色设置
+        console.log(graphicsList)
+        let material = Cesium.Color.fromCssColorString(color).withAlpha(withAlpha);
+        for (let i = 0; i < graphicsList.length; i++) {
+          that.graphicsBoxEntity = that.viewer.entities.add({
+            polygon: {
+              hierarchy: Cesium.Cartesian3.fromDegreesArray(graphicsList[i].latLng),
+              clampToGround: true,//贴地 true,不贴地  false
+              width: 5,
+              material: material
+            }
+          })
+        }
+        // setTimeout(() => {
+        //   if(graphicsList!=null&&Array.isArray(graphicsList)&&graphicsList.length>0){
+        //     that.viewer.camera.flyTo({
+        //       destination: Cesium.Cartesian3.fromDegrees(graphicsList[0],graphicsList[1],6500),
+        //       complete: function () {
+        //         // 飞行结束后设置相机的高度
+        //         var newHeight = 6500;
+        //         var destination = that.viewer.camera.position.clone();
+        //         destination.z = newHeight;
+        //       }
+        //     });
+        //   }
+        // }, 3000);
+      }
+    },
+  }
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+  .map-tit {
+    position: absolute;
+    top: 90px;
+    left: 50%;
+    transform: translatex(-50%);
+    border: 1px solid #15519b;
+    z-index: 9999;
+    background: linear-gradient(rgba(4, 23, 62, 0.6), rgba(0, 28, 70, 0.6));
+    min-width: 300px;
+
+    .top-tit {
+      width: 100%;
+      height: 28px;
+      line-height: 28px;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
+      background: #15519b80;
+      padding: 0px 10px;
+      align-items: center;
+
+      i {
+        color: #10ccff;
+        font-size: 18px;
+        text-shadow: 0px 0px 5px #23b3b3;;
+      }
+
+      span img {
+        display: block;
+        width: 12px;
+        height: 12px;
+        color: #fff;
+        cursor: pointer;
+      }
+    }
+
+    .map-txt {
+      padding: 10px 15px;
+      color: #fff;
+      line-height: 20px;
+      font-size: 12px;
+
+      .d-l-con {
+      }
+    }
+  }
+
+  .fade-enter-active,
+  .fade-leave-active {
+    transition: 1s;
+  }
+
+  .fade-enter,
+  .fade-leave-to {
+    opacity: 0;
+    transform: translateY(-10rem);
+  }
+</style>

+ 82 - 85
data-ui/src/views/components/supermap-2.5d.vue

@@ -4,17 +4,11 @@
 </template>
 
 <script>
-  import {
-    iconList,
-    getDeviceList
-  } from '@/api/components/supermap.js'
-  import {
-    getConfigKey
-  } from '@/api/system/config'
-  import Cookies from 'js-cookie'
-
-  export default {
-    name: 'supermap-2.5d',
+import {iconList} from '@/api/components/supermap.js'
+import {getConfigKey} from '@/api/system/config'
+
+export default {
+    name: 'supermap-camera-2.5d',
     data() {
       return {
         chooseMode: [
@@ -75,7 +69,11 @@
       },
       //清除所有
       clearAll() {
-        this.viewer.entities.removeAll()
+        this.viewer.entities.removeAll();
+      },
+      clearAllByQin(val) {
+        this.viewer.entities.removeAll();
+        this.entityHandler(val-2)
       },
       //移除之前添加的点
       clearMRadius() {
@@ -162,11 +160,6 @@
           this.markerboxEntity = []
         }
       },
-      clearAllByQin(val) {
-
-        this.viewer.entities.removeAll();
-        this.entityHandler(val-2)
-      },
       //移除之前添加的线
       clearC() {
         if (this.connectBoxEntity != null) {
@@ -645,55 +638,61 @@
       /**
        * 地图画线(贴地)
        */
-
+      setConnectList(connectList, color, withAlpha) {
+        let that = this
+        //Cesium.Color.fromCssColorString('#67ADDF')   16进制颜色设置
+        let material = Cesium.Color.fromCssColorString(color).withAlpha(withAlpha);
+        that.connectBoxEntity = that.viewer.entities.add({
+          Type: 'Polyline',
+          polyline: {
+            positions: Cesium.Cartesian3.fromDegreesArray(connectList),
+            clampToGround: true,//贴地 true,不贴地  false
+            width: 5,
+            material: material
+          }
+        })
+        setTimeout(() => {
+          if(connectList!=null&&Array.isArray(connectList)&&connectList.length>0){
+            that.viewer.camera.flyTo({
+              destination: Cesium.Cartesian3.fromDegrees(connectList[0],connectList[1],6500),
+              complete: function () {
+                // 飞行结束后设置相机的高度
+                var newHeight = 6500;
+                var destination = that.viewer.camera.position.clone();
+                destination.z = newHeight;
+              }
+            });
+          }
+        }, 3000);
+      },
       setGraphicsList1(graphicsList, color, withAlpha) {
-        let that = this;
-        that.viewer.entities.removeAll(); // 移除地图标点
+        let that = this
+        //Cesium.Color.fromCssColorString('#67ADDF')   16进制颜色设置
+
         let material = Cesium.Color.fromCssColorString(color).withAlpha(withAlpha);
-        for (let i = 0; i < graphicsList.length; i++) {
-          let positions = Cesium.Cartesian3.fromDegreesArray(graphicsList[i].latLng);
-          let name = graphicsList[i].name.toString();
-          let center = Cesium.BoundingSphere.fromPoints(positions).center;
-          let namePosition = Cesium.Cartographic.fromCartesian(center);
-          namePosition.height = 0; // 将名称高度设置为0,使其贴地显示
-
-          that.graphicsBoxEntity = that.viewer.entities.add({
-            polygon: {
-              hierarchy: positions,
-              clampToGround: true,
-              width: 5,
-              material: material
-            }
-          });
+        that.graphicsBoxEntity = that.viewer.entities.add({
+          polygon: {
+            hierarchy: Cesium.Cartesian3.fromDegreesArray(graphicsList),
+            clampToGround: true,//贴地 true,不贴地  false
+            width: 5,
+            material: material
+          }
+        });
+        setTimeout(() => {
+          if(graphicsList!=null&&Array.isArray(graphicsList)&&graphicsList.length>0){
+            that.viewer.camera.flyTo({
+              destination: Cesium.Cartesian3.fromDegrees(graphicsList[0],graphicsList[1],6500),
+              complete: function () {
+                // 飞行结束后设置相机的高度
+                var newHeight = 6500;
+                var destination = that.viewer.camera.position.clone();
+                destination.z = newHeight;
+              }
+            });
+          }
+        }, 3000);
 
-          that.viewer.entities.add({
-            position: center,
-            label: {
-              text: name ,
-              font: 'Bold 12px sans-serif',
-              fillColor: Cesium.Color.BLACK,
-              outlineColor: Cesium.Color.WHITE,
-              outlineWidth: 2,
-              pixelOffset: new Cesium.Cartesian2(0, 0),
-              heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-              disableDepthTestDistance: Number.POSITIVE_INFINITY
-            }
-          });
-        }
       },
-      // setTimeout(() => {
-      //   if(graphicsList!=null&&Array.isArray(graphicsList)&&graphicsList.length>0){
-      //     that.viewer.camera.flyTo({
-      //       destination: Cesium.Cartesian3.fromDegrees(graphicsLists[0],graphicsLists[1],6500),
-      //       complete: function () {
-      //         // 飞行结束后设置相机的高度
-      //         var newHeight = 6500;
-      //         var destination = that.viewer.camera.position.clone();
-      //         destination.z = newHeight;
-      //       }
-      //     });
-      //   }
-      // }, 3000);
       /**
        * 地图图形(贴地)
        */
@@ -702,29 +701,27 @@
         //Cesium.Color.fromCssColorString('#67ADDF')   16进制颜色设置
 
         let material = Cesium.Color.fromCssColorString(color).withAlpha(withAlpha);
-        for (let i = 0; i < graphicsList.length; i++) {
-          that.graphicsBoxEntity = that.viewer.entities.add({
-            polygon: {
-              hierarchy: Cesium.Cartesian3.fromDegreesArray(graphicsList[i]),
-              clampToGround: true,//贴地 true,不贴地  false
-              width: 5,
-              material: material
-            }
-          })
-        }
-        // setTimeout(() => {
-        //   if(graphicsList!=null&&Array.isArray(graphicsList)&&graphicsList.length>0){
-        //     that.viewer.camera.flyTo({
-        //       destination: Cesium.Cartesian3.fromDegrees(graphicsList[0],graphicsList[1],6500),
-        //       complete: function () {
-        //         // 飞行结束后设置相机的高度
-        //         var newHeight = 6500;
-        //         var destination = that.viewer.camera.position.clone();
-        //         destination.z = newHeight;
-        //       }
-        //     });
-        //   }
-        // }, 3000);
+        that.graphicsBoxEntity = that.viewer.entities.add({
+          polygon: {
+            hierarchy: Cesium.Cartesian3.fromDegreesArray(graphicsList),
+            clampToGround: true,//贴地 true,不贴地  false
+            width: 5,
+            material: material
+          }
+        })
+        setTimeout(() => {
+          if(graphicsList!=null&&Array.isArray(graphicsList)&&graphicsList.length>0){
+            that.viewer.camera.flyTo({
+              destination: Cesium.Cartesian3.fromDegrees(graphicsList[0],graphicsList[1],6500),
+              complete: function () {
+                // 飞行结束后设置相机的高度
+                var newHeight = 6500;
+                var destination = that.viewer.camera.position.clone();
+                destination.z = newHeight;
+              }
+            });
+          }
+        }, 3000);
       }
     },
   }

+ 45 - 25
data-ui/src/views/data/common/ISuperMapAreaMarker.vue

@@ -15,28 +15,36 @@
     <el-dialog title="区域坐标" :visible.sync="showLongitudeq" @close='close' width="80%">
       <div style="width: 100%; display: flex;">
         <div style="width: 20%; float: left;">
-          <el-table ref="table" v-loading="loading" :data="tableData" style="width: 100%; max-height: 100%;overflow-y: auto;" v-if="sign===3" @selection-change="handleSelectionChange">
+          <el-table ref="table" v-loading="loading" :data="tableData" height="100%"  v-if="sign===3" @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="55" align="center"/>
-            <el-table-column prop="flagType" label="区域序号" width="180"></el-table-column>
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
-            <template slot-scope="scope">
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-              >删除
-              </el-button>
-            </template>
-          </el-table-column>
-        </el-table>
+            <el-table-column prop="name" label="区域名称" width="180"></el-table-column>
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-edit"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['farm:farmland:edit']"
+                >修改
+                </el-button>
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDelete(scope.row)"
+                >删除
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
         </div>
-      <div style="width: 80%; float: left;">
-      <Supermap ref="areaSupermap" style="width: 100%;height:75vh"
-                :mapDiv="uuid" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']"
-                :isSideBySide="false" :showAreaLatLng="showAreaLatLng"></Supermap>
 
-      </div>
+        <div style="width: 80%; float: left;">
+          <Supermap ref="areaSupermap" style="width: 100%;height:75vh"
+                    :mapDiv="uuid" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']"
+                    :isSideBySide="false" :showAreaLatLng="showAreaLatLng"></Supermap>
+        </div>
       </div>
       <el-button type="primary" @click="closeDialog">确定</el-button>
       <el-button @click="clearAway">清除</el-button>
@@ -107,8 +115,8 @@ import {
 } from '@/api/data/digitalresources/info'
 import request from '@/utils/request'
 const uuidv4 = require("uuid/v4")
-import supermap from '@/views/components/supermap-2.5d';
-import Supermap from './supermap';
+import supermap from '@/views/components/supermap-2.5d-multiple';
+import Supermap from '@/views/data/common/supermap';
 import { delFarmland, getFarmland, updateFarmland } from '@/api/data/digitalresources/farmland'
 export default {
   name: "ISuperMapArearAndCameras",
@@ -172,6 +180,7 @@ export default {
       this.$modal.confirm('是否确认删除选中的数据项?').then(function () {
         return delRegionalFlagByFlagType(row.eventId,row.flagType);
       }).then(() => {
+        this.clearAway();
         this.getRegionalFlag();
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {
@@ -192,7 +201,8 @@ export default {
     },
     clearAway(){
       this.$refs.table.clearSelection();
-      this.$refs.supermap.clearAllByQin(this.sign)
+      if (this.showLongitudeq == true) this.$refs.areaSupermap.clearAll();
+      if (this.visible == true)this.$refs.supermap.clearAllByQin(this.sign)
       this.obj.xiantude = null;
     },
     initP(sign, form,eventId) {
@@ -267,8 +277,19 @@ export default {
         this.$refs.supermap.entityHandler(1);
         this.$refs.supermap.setGraphicsList1(selection, "rgba(250,4,4,0)", 0.8);
       }
+
       if (this.sign === 3 && this.showLongitudeq === true) {
-        this.$refs.supermap.setGraphicsList(selection, "#1a1919");
+        this.$refs.areaSupermap.clearAll();
+        for (let i = 0; i < selection.length; i++) {
+          let graphicsList = [];
+
+          for (let j = 0; j < selection[i].latLng.length; j+=2) {
+            graphicsList.push({lng:selection[i].latLng[j],lat:selection[i].latLng[j+1]});
+          }
+          this.$refs.areaSupermap.setGraphicsList(graphicsList, "#1a1919",selection[i].name);
+        }
+        // this.$refs.areaSupermap.setGraphicsList([{lat:"124",lng:"42"},{lat:"24",lng:"142"},{lat:"11",lng:"42"},{lat:"2",lng:"1"},{lat:"124",lng:"42"}], "#1a1919");
+        // this.$refs.areaSupermap.setGraphicsList([{lat:"122.552490234375",lng:"45.78276229037425"},{lat:"131.275634765625",lng:"45.716885087220255"},{lat:"127.96875",lng:"42.53282026811079"},{lat:"122.67333984375",lng:"43.19159229965069"}], "#1a1919");
       }
     },
     submitForm(){
@@ -282,13 +303,12 @@ export default {
             } else {
               this.$emit('send', this.obj);
             }
-
             this.visibleName = false;
             this.clearAway();
             // this.visible = false;
             this.showLongitude = false;
             this.showLongitudex = false;
-            this.showLongitudeq = false;
+            // this.showLongitudeq = false;
           }
       });
     },

+ 1 - 1
data-ui/src/views/data/common/ISuperMapTemp.vue

@@ -35,7 +35,7 @@
   import {getConfigKey} from "@/api/system/config";
 
   const uuidv4 = require("uuid/v4")
-  import supermap from '@/views/components/supermap-2.5d';
+  import supermap from '@/views/components/supermap-2.5d-multiple';
   import Supermap from './supermap';
 
 

+ 44 - 5
data-ui/src/views/data/common/supermap.vue

@@ -256,6 +256,16 @@
           this.graphicsLayer.clearLayers();
         }
       },
+      //清除所有
+      clearAll() {
+        if (this.map) {
+          this.map.eachLayer(function (layer) {
+            if (layer instanceof window.L.Marker || layer instanceof window.L.Polygon) {
+              this.map.removeLayer(layer);
+            }
+          }, this);
+        }
+      },
       clearP: async function () {//清理点击事件落点
         if (this.latLngGroup != undefined && this.latLngGroup != false) {
           this.latLngGroup.clearLayers()
@@ -715,16 +725,45 @@
         _that.connectLayer = window.L.featureGroup().addTo(this.map);
         _that.connectLayer.addLayer(polyline);
       },
-      setGraphicsList: function (graphicsList, color) {//地图图形
+      // setGraphicsList: function (graphicsList, color) {//地图图形
+      //   const _that = this;
+      //   let points = [];
+      //   for (let i = 0; i < graphicsList.length; i++) {
+      //     points.push([graphicsList[i].lat, graphicsList[i].lng]);//创建点
+      //   }
+      //   let polygon = window.L.polygon(points, {color: color});
+      //   polygon.addTo(this.map);
+      //   _that.graphicsLayer = window.L.featureGroup().addTo(this.map);
+      //   _that.graphicsLayer.addLayer(polygon);
+      // },
+      setGraphicsList: function (graphicsList, color,name) {//地图图形
         const _that = this;
         let points = [];
+        let polygons = new Map(); // 使用 Map 记录 Polygon 和对应的 Popup
         for (let i = 0; i < graphicsList.length; i++) {
           points.push([graphicsList[i].lat, graphicsList[i].lng]);//创建点
         }
-        let polygon = window.L.polygon(points, {color: color});
-        polygon.addTo(this.map);
-        _that.graphicsLayer = window.L.featureGroup().addTo(this.map);
-        _that.graphicsLayer.addLayer(polygon);
+        if (name){
+          let polygon = window.L.polygon(points, {color: color}); // 创建 Polygon
+          let center = polygon.getBounds().getCenter();
+          let namePopup = window.L.popup().setLatLng([center.lat, center.lng])
+            .setContent(name); // 创建对应的 Popup
+          namePopup.addTo(this.map);
+          polygon.bindPopup(namePopup); // 将 Popup 绑定到 Polygon
+          polygon.addTo(this.map);
+          _that.graphicsLayer = window.L.featureGroup().addTo(this.map);
+          _that.graphicsLayer.addLayer(polygon);
+
+          polygons.set(polygon, namePopup); // 将 Polygon 和 Popup 记录在 Map 中
+          // 在需要移除时,可以通过 polygons.get(polygon).remove() 移除对应的 Popup
+        }else {
+            let polygon = window.L.polygon(points, {color: color});
+            polygon.addTo(this.map);
+            _that.graphicsLayer = window.L.featureGroup().addTo(this.map);
+            _that.graphicsLayer.addLayer(polygon);
+        }
+
+
       },
       dropLocation: function (lat, lng) {//落点定位
         this.controlLevel(10)

+ 1 - 1
data-ui/src/views/data/digitalagriculture/enterprise/index.vue

@@ -232,7 +232,7 @@
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 1 - 1
data-ui/src/views/data/digitalagriculture/excrementdispose/index.vue

@@ -178,7 +178,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 1 - 1
data-ui/src/views/data/digitalagriculture/filingsLivestock/index.vue

@@ -253,7 +253,7 @@
       </el-row >
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 1 - 1
data-ui/src/views/data/digitalagriculture/greenhousefilm/index.vue

@@ -259,7 +259,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 1 - 15
data-ui/src/views/data/digitalagriculture/information/index.vue

@@ -116,12 +116,6 @@
         <el-form-item label="实际使用量(吨)" prop="realityUsage">
           <el-input v-model="form.realityUsage" placeholder="请输入实际使用量(吨)" maxlength="15"/>
         </el-form-item>
-        <el-col :span="24">
-          <el-form-item label="展示图片" prop="attachPaths">
-            <DataImageUpload ref="ImageUpload" :fileType="['png', 'jpg', 'jpeg']" :value="form.attachPaths"
-                         @input="getUrl"></DataImageUpload>
-          </el-form-item>
-        </el-col>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -145,12 +139,11 @@
   import { treeselect } from "@/api/system/dept";
   import Treeselect from '@riophae/vue-treeselect'
   import '@riophae/vue-treeselect/dist/vue-treeselect.css'
-  import DataImageUpload from "@/components/ImageUpload/dataUpload.vue";
 
   export default {
     name: "Information",
     dicts: ['sys_dept_type'],
-    components: {DataImageUpload, Treeselect, Deptselector},
+    components: { Treeselect, Deptselector},
     data() {
       return {
         // 部门名称
@@ -206,13 +199,6 @@
       this.getTreeselect();
     },
     methods: {
-      /** 上传 */
-      getUrl(url) {
-        //获取图片全路径  例:http://{{ ip }}:{{ port }}/group1/M00/00/07/wKgKEGVxMCiAZbvVAAJE9SGvagw915.jpg
-        this.form.attachPaths = url
-        //获取图片路径  例:group1/M00/00/07/wKgKEGVxL6eACFv2AAJE9SGvagw622.jpg
-        // this.form.attachPaths = this.$refs.ImageUpload.dialogName
-      },
       /** 查询部门下拉树结构 */
       getTreeselect() {
         treeselect().then(response => {

+ 1 - 1
data-ui/src/views/data/digitalagriculture/livestock/index.vue

@@ -226,7 +226,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 1 - 1
data-ui/src/views/data/digitalagriculture/modification/index.vue

@@ -175,7 +175,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 38 - 23
data-ui/src/views/data/digitalforest/afforestationtask/index.vue

@@ -246,19 +246,19 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="经度" prop="longitude" @dblclick.native="showMap">
+            <el-form-item label="经度" prop="longitude" @dblclick.native="showMap1">
               <el-input v-model="form.longitude" placeholder="鼠标双击选择经纬度" :disabled="disabled"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="纬度" prop="latitude" @dblclick.native="showMap">
+            <el-form-item label="纬度" prop="latitude" @dblclick.native="showMap1">
               <el-input v-model="form.latitude" placeholder="鼠标双击选择经纬度" :disabled="disabled"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="区域" prop="points" @dblclick.native="showMapTwo">
+            <el-form-item label="区域" prop="points" @dblclick.native="showMap">
               <el-input v-model="form.points" placeholder="鼠标双击选择区域" :disabled="disabled" disabled/>
             </el-form-item>
           </el-col>
@@ -289,19 +289,6 @@
       <el-button type="primary" @click="showLongitude=false">确定</el-button>
     </el-dialog>
 
-    <!-- 添加区域标记 -->
-    <el-dialog :title="titleLongitudeTwo" :visible.sync="showLongitudetwo" width="1000px">
-      区域坐标
-      <!-- <el-input v-model="form.points"></el-input>-->
-      <supermap ref="fireAreaSupermap" v-if="showLongitudetwo" style="width: 100%;height:74vh"
-                :mapDiv="'fireAreaSuperMap'" :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"
-                :showAreaLatLng="showAreaLatLng"></supermap>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="showLongitudetwo=false">确定</el-button>
-      </div>
-    </el-dialog>
-
-
     <!--查看-->
     <el-dialog :title="title" :visible.sync="openSeeStatus" width="800px" class="form-style">
       <div class="app-container">
@@ -448,6 +435,8 @@
         <el-button @click="cancelSee">取 消</el-button>
       </div>
     </el-dialog>
+    <ISuperMap ref="ISuperMap1" v-if="ISuperMapvisible1" @send="send1"/>
+
     <ISuperMap ref="ISuperMap" v-if="ISuperMapvisible" @send="send"/>
   </div>
 </template>
@@ -473,14 +462,15 @@
     components: {ISuperMap, deptselector,Treeselect,treeDept,supermap},
     data() {
       return {
-        sign: 1,
+        sign1: 1,//类型是点位
+        sign: 3,//类型是区域
+        ISuperMapvisible1: false,
         ISuperMapvisible: false,
         disabled: false,
         // 遮罩层
         loading: true,
         // 信息弹出层上的坐标弹层
         showLongitude: false,
-        showLongitudetwo: false,
         regionalFlagOpen: false,
         titleLongitude: '经纬度',
         titleLongitudeTwo: '',
@@ -615,6 +605,30 @@
       }
     },
     methods: {
+      showMap1() {
+        this.ISuperMapvisible1 = true;
+        this.$nextTick(() => {
+          this.$refs.ISuperMap1.init(this.sign1, {
+            id: this.form.id,
+            longitude: this.form.longitude,
+            latitude: this.form.latitude,
+            xiantude: this.form.longitude//this.form.longitude换成每个页面对应线或者面对应的字段
+          })
+        })
+      },
+      send1(val) {
+        if (val===true){
+          this.ISuperMapvisible1 = false;
+          return;
+        }
+        if (this.sign1 === 1) {
+          this.form.longitude = val.longitude;
+          this.form.latitude = val.latitude;
+        }
+        if (this.sign1 === 2 || this.sign1 === 3) this.form.longitude = val.xiantude;//this.form.longitude 换成对应的线或区域的字段
+        this.ISuperMapvisible1 = false
+      },
+
       showMap() {
         this.ISuperMapvisible = true;
         this.$nextTick(() => {
@@ -622,7 +636,7 @@
             id: this.form.id,
             longitude: this.form.longitude,
             latitude: this.form.latitude,
-            xiantude: this.form.longitude//this.form.longitude换成每个页面对应线或者面对应的字段
+            xiantude: this.form.points//this.form.longitude换成每个页面对应线或者面对应的字段
           })
         })
       },
@@ -635,9 +649,12 @@
           this.form.longitude = val.longitude;
           this.form.latitude = val.latitude;
         }
-        if (this.sign === 2 || this.sign === 3) this.form.longitude = val.xiantude;//this.form.longitude 换成对应的线或区域的字段
+        if (this.sign === 2 || this.sign === 3){
+          this.form.points = val.xiantude;//this.form.longitude 换成对应的线或区域的字段
+        }
         this.ISuperMapvisible = false
       },
+
       showAreaLatLng: function (latlng) {
         this.form.points = JSON.stringify(latlng);
       },
@@ -673,9 +690,7 @@
         this.form.latitude = lat;
         this.form.longitude = lng;
       },
-      showMapTwo() {
-        this.showLongitudetwo = true;
-      },
+
       /** 查询植树造林任务管理列表 */
       getList() {
         this.loading = true;

+ 21 - 11
data-ui/src/views/data/digitalresources/construction/index.vue

@@ -191,17 +191,24 @@
               :value="dict.id"
             ></el-option>
           </el-select>
-        </el-form-item></el-col>
+        </el-form-item>
+        </el-col>
         <!--        <el-form-item label="备注" prop="remark" label-width="120px">
                   <el-input v-model="form.remark" placeholder="请输入备注" maxlength="255" />
                 </el-form-item>-->
 
-          <el-col :span="24">
-            <el-form-item label="图片" prop="attachId" label-width="120px">
-              <ImageUpload ref="ImageUpload" :limit="1" :fileType="['png', 'jpg', 'jpeg']" :value="form.attachId"
-                           @input="getUrl"></ImageUpload>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="24">-->
+<!--            <el-form-item label="图片" prop="attachId" label-width="120px">-->
+<!--              <ImageUpload ref="ImageUpload" :limit="1" :fileType="['png', 'jpg', 'jpeg']" :value="form.attachId"-->
+<!--                           @input="getUrl"></ImageUpload>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+        <el-col :span="24">
+          <el-form-item label="图片" prop="attachPaths">
+            <DataImageUpload ref="ImageUpload" :fileType="['png', 'jpg', 'jpeg']" :value="form.attachPaths"
+                             @input="getUrl"></DataImageUpload>
+          </el-form-item>
+        </el-col>
 
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -229,12 +236,13 @@ import {selectCenterMonitorlList} from "@/api/data/digitalforest/animal/animal";
 import ISuperMap from "@/views/data/common/ISuperMap";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {treeselect} from "@/api/system/dept";
+import DataImageUpload from "@/components/ImageUpload/dataUpload.vue";
 export default {
   components: {
     deptselector,
     Treeselect,
     supermap,
-    ISuperMap
+    ISuperMap, DataImageUpload
   },
   dicts: ['centerdata_construction_type'],
   name: "Construction",
@@ -348,11 +356,13 @@ export default {
         this.deptOptions = response.data
       })
     },
-
     getUrl(url) {
-      this.form.dialogImageUrl = url;
-      this.form.attachId = url;
+      this.form.attachPaths = url
     },
+    // getUrl(url) {
+    //   this.form.dialogImageUrl = url;
+    //   this.form.attachId = url;
+    // },
     setDataDeptId(e) {
       this.form.deptId = e.deptId
       this.form.deptName = e.deptName

+ 1 - 1
data-ui/src/views/data/digitaltraffic/level/IForm.vue

@@ -93,7 +93,7 @@
   import {getLevel} from "../../../../api/data/digitalresources/level";
 
   const uuidv4 = require("uuid/v4")
-  import supermap from "@/views/components/supermap-2.5d"; //超图
+  import supermap from "@/views/components/supermap-2.5d-multiple"; //超图
   import ITabs from './ITabs.vue'
   import Treeselect from "@riophae/vue-treeselect";
   import "@riophae/vue-treeselect/dist/vue-treeselect.css";

+ 1 - 1
data-ui/src/views/data/digitalwater/battlefield/index.vue

@@ -231,7 +231,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="展示图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths">
               <DataImageUpload ref="ImageUpload" :file-type="['png','jpg','jpeg']" :value="form.attachPaths" @input="getUrl"/>
             </el-form-item>
           </el-col>

+ 1 - 0
data-ui/src/views/data/generalbusiness/importarea/index.vue

@@ -466,6 +466,7 @@
       },
 
       send(val) {
+        console.log(val)
         if (val===true){
           this.regionalFlagOpen = false;
           return;

+ 0 - 13
src/main/java/com/sooka/sponest/data/digitalagriculture/domain/CenterdataTFarmPesticideInformation.java

@@ -68,17 +68,4 @@ public class CenterdataTFarmPesticideInformation extends BaseBusinessEntity {
     @ApiModelProperty(value = "实际使用量", required = false)
     @Excel(name = "实际使用量" , suffix = "吨")
     private String realityUsage;
-
-    /**
-     * 图片上传路径
-     */
-    @ApiModelProperty(value = "图片上传路径", required = false)
-    private String attachPaths;
-
-    /**
-     * 图片来源
-     */
-    @ApiModelProperty(value = "图片来源", required = false)
-    private String busSource;
-
 }

+ 0 - 3
src/main/java/com/sooka/sponest/data/digitalagriculture/service/impl/CenterdataTFarmPesticideInformationServiceImpl.java

@@ -48,7 +48,6 @@ public class CenterdataTFarmPesticideInformationServiceImpl extends BaseServiceI
     @Override
     public CenterdataTFarmPesticideInformation selectCenterdataTFarmPesticideInformationById(String id) {
         CenterdataTFarmPesticideInformation centerdataTFarmPesticideInformation = centerdataTFarmPesticideInformationMapper.selectCenterdataTFarmPesticideInformationById(id);
-        centerdataTFarmPesticideInformation.setAttachPaths(DataAttachUtil.getDataAttachUpload(id));
         return centerdataTFarmPesticideInformation;
     }
 
@@ -64,7 +63,6 @@ public class CenterdataTFarmPesticideInformationServiceImpl extends BaseServiceI
         centerdataTFarmPesticideInformation.setCreateBy(SecurityUtils.getUserId().toString());
         centerdataTFarmPesticideInformation.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTFarmPesticideInformation.setCreateTime(DateUtils.getNowDate());
-        DataAttachUtil.dataAttachUpload(centerdataTFarmPesticideInformation.getId(),centerdataTFarmPesticideInformation.getAttachPaths(),"farm", centerdataTFarmPesticideInformation.getBusSource());
         return centerdataTFarmPesticideInformationMapper.insertCenterdataTFarmPesticideInformation(centerdataTFarmPesticideInformation);
     }
 
@@ -79,7 +77,6 @@ public class CenterdataTFarmPesticideInformationServiceImpl extends BaseServiceI
         centerdataTFarmPesticideInformation.setUpdateBy(SecurityUtils.getLoginUser().getUserid());
         centerdataTFarmPesticideInformation.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTFarmPesticideInformation.setUpdateTime(DateUtils.getNowDate());
-        DataAttachUtil.dataAttachUpload(centerdataTFarmPesticideInformation.getId(),centerdataTFarmPesticideInformation.getAttachPaths(),"farm", centerdataTFarmPesticideInformation.getBusSource());
         return centerdataTFarmPesticideInformationMapper.updateCenterdataTFarmPesticideInformation(centerdataTFarmPesticideInformation);
     }
 

+ 13 - 220
src/main/java/com/sooka/sponest/data/digitalresource/domain/CenterdataTResourcesIllegalConstruction.java

@@ -4,6 +4,7 @@ import com.ruoyi.common.core.annotation.Excel;
 import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import javax.validation.constraints.NotBlank;
@@ -17,6 +18,7 @@ import java.util.List;
  * @date 2023-02-21
  */
 @ApiModel(description = "违建信息对象")
+@Data
 public class CenterdataTResourcesIllegalConstruction extends BaseBusinessEntity {
 
     private static final long serialVersionUID = 1L;
@@ -148,239 +150,30 @@ public class CenterdataTResourcesIllegalConstruction extends BaseBusinessEntity
     @NotBlank(message = "所属部门不能为空")
     private String deptName;
 
-    public String getAttachId() {
-        return attachId;
-    }
+    /**
+     * 图片上传路径
+     */
+    @ApiModelProperty(value = "图片上传路径", required = false)
+    private String attachPaths;
+
+    /**
+     * 图片来源
+     */
+    @ApiModelProperty(value = "图片来源", required = false)
+    private String busSource;
 
-    public void setAttachId(String attachId) {
-        this.attachId = attachId;
-    }
 
     private String attachId;
 
 
     private List<String> deviceList;
 
-    public List<String> getDeviceList() {
-        return deviceList;
-    }
-
-    public void setDeviceList(List<String> deviceList) {
-        this.deviceList = deviceList;
-    }
-
-    public String getDialogImageUrl() {
-        return dialogImageUrl;
-    }
-
-    public void setDialogImageUrl(String dialogImageUrl) {
-        this.dialogImageUrl = dialogImageUrl;
-    }
-
     /**
      * 数据状态
      */
     private String dialogImageUrl;
     private String dataStatus;
 
-    public String getConstructionTypeLabel() {
-        return constructionTypeLabel;
-    }
-
-    public void setConstructionTypeLabel(String constructionTypeLabel) {
-        this.constructionTypeLabel = constructionTypeLabel;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
     private String remark;
 
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setConstructionType(String constructionType) {
-        this.constructionType = constructionType;
-    }
-
-    public String getConstructionType() {
-        return constructionType;
-    }
-
-    public void setLongitude(String longitude) {
-        this.longitude = longitude;
-    }
-
-    public String getLongitude() {
-        return longitude;
-    }
-
-    public void setLatitude(String latitude) {
-        this.latitude = latitude;
-    }
-
-    public String getLatitude() {
-        return latitude;
-    }
-
-    public void setArea(String area) {
-        this.area = area;
-    }
-
-    public String getArea() {
-        return area;
-    }
-
-    public void setPhone(String phone) {
-        this.phone = phone;
-    }
-
-    public String getPhone() {
-        return phone;
-    }
-
-    public void setPerson(String person) {
-        this.person = person;
-    }
-
-    public String getPerson() {
-        return person;
-    }
-
-    public void setDeptId(Long deptId) {
-        this.deptId = deptId;
-    }
-
-    public Long getDeptId() {
-        return deptId;
-    }
-
-    public void setDeptName(String deptName) {
-        this.deptName = deptName;
-    }
-
-    public String getDeptName() {
-        return deptName;
-    }
-
-
-    public void setDataStatus(String dataStatus) {
-        this.dataStatus = dataStatus;
-    }
-
-    public String getDataStatus() {
-        return dataStatus;
-    }
-
-    public String getPhone2() {
-        return phone2;
-    }
-
-    public void setPhone2(String phone2) {
-        this.phone2 = phone2;
-    }
-
-    public String getPhone3() {
-        return phone3;
-    }
-
-    public void setPhone3(String phone3) {
-        this.phone3 = phone3;
-    }
-
-    public String getPhone4() {
-        return phone4;
-    }
-
-    public void setPhone4(String phone4) {
-        this.phone4 = phone4;
-    }
-
-    public String getPhone5() {
-        return phone5;
-    }
-
-    public void setPhone5(String phone5) {
-        this.phone5 = phone5;
-    }
-
-    public String getPerson2() {
-        return person2;
-    }
-
-    public void setPerson2(String person2) {
-        this.person2 = person2;
-    }
-
-    public String getPerson3() {
-        return person3;
-    }
-
-    public void setPerson3(String person3) {
-        this.person3 = person3;
-    }
-
-    public String getPerson4() {
-        return person4;
-    }
-
-    public void setPerson4(String person4) {
-        this.person4 = person4;
-    }
-
-    public String getPerson5() {
-        return person5;
-    }
-
-    public void setPerson5(String person5) {
-        this.person5 = person5;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this)
-                .append("id", id)
-                .append("name", name)
-                .append("constructionType", constructionType)
-                .append("constructionTypeLabel", constructionTypeLabel)
-                .append("longitude", longitude)
-                .append("latitude", latitude)
-                .append("area", area)
-                .append("phone", phone)
-                .append("phone2", phone2)
-                .append("phone3", phone3)
-                .append("phone4", phone4)
-                .append("phone5", phone5)
-                .append("person", person)
-                .append("person2", person2)
-                .append("person3", person3)
-                .append("person4", person4)
-                .append("person5", person5)
-                .append("deptId", deptId)
-                .append("deptName", deptName)
-                .append("attachId", attachId)
-                .append("deviceList", deviceList)
-                .append("dialogImageUrl", dialogImageUrl)
-                .append("dataStatus", dataStatus)
-                .append("remark", remark)
-                .toString();
-    }
 }

+ 5 - 0
src/main/java/com/sooka/sponest/data/digitalresource/service/impl/CenterdataTResourcesIllegalConstructionServiceImpl.java

@@ -1,5 +1,6 @@
 package com.sooka.sponest.data.digitalresource.service.impl;
 
+import com.ruoyi.common.core.constant.DocumentNameConstants;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.SpringUtils;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -15,6 +16,7 @@ import com.sooka.sponest.data.digitalresource.service.ICenterdataTResourcesIlleg
 import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicOutletSewage;
 import com.sooka.sponest.data.system.equipment.domain.CenterdataTEquipmentCamera;
 import com.sooka.sponest.data.system.equipment.service.ICenterdataTEquipmentCameraService;
+import com.sooka.sponest.data.utils.DataAttachUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -65,6 +67,7 @@ public class CenterdataTResourcesIllegalConstructionServiceImpl extends BaseServ
         }
         centerdataTResourcesIllegalConstruction.setDeviceList(centerdataTEquipmentCameraService.selectCenterdataTEquipmentCameraByBusinessId(id));
         centerdataTResourcesIllegalConstruction.setConstructionTypeLabel(DictUtils.getDictDataByValue("centerdata_construction_type",centerdataTResourcesIllegalConstruction.getConstructionType()));
+        centerdataTResourcesIllegalConstruction.setAttachPaths(DataAttachUtil.getDataAttachUpload(id));
         return centerdataTResourcesIllegalConstruction;
     }
 
@@ -90,6 +93,7 @@ public class CenterdataTResourcesIllegalConstructionServiceImpl extends BaseServ
                 centerdataTEquipmentCameraService.insertCenterdataTEquipmentCamera(camera);
             });
         }
+        DataAttachUtil.dataAttachUpload(centerdataTResourcesIllegalConstruction.getId(),centerdataTResourcesIllegalConstruction.getAttachPaths(), DocumentNameConstants.RESOURCES_ILLEGAL_CONSTRUCTION, centerdataTResourcesIllegalConstruction.getBusSource());
         return centerdataTResourcesIllegalConstructionMapper.insertCenterdataTResourcesIllegalConstruction(centerdataTResourcesIllegalConstruction);
     }
 
@@ -115,6 +119,7 @@ public class CenterdataTResourcesIllegalConstructionServiceImpl extends BaseServ
                 centerdataTEquipmentCameraService.insertCenterdataTEquipmentCamera(camera);
             });
         }
+        DataAttachUtil.dataAttachUpload(centerdataTResourcesIllegalConstruction.getId(),centerdataTResourcesIllegalConstruction.getAttachPaths(), DocumentNameConstants.RESOURCES_ILLEGAL_CONSTRUCTION, centerdataTResourcesIllegalConstruction.getBusSource());
         return centerdataTResourcesIllegalConstructionMapper.updateCenterdataTResourcesIllegalConstruction(centerdataTResourcesIllegalConstruction);
     }
 

+ 1 - 1
src/main/java/com/sooka/sponest/data/digitalwater/mapper/WaterConservancyViewMapper.java

@@ -20,7 +20,7 @@ public interface WaterConservancyViewMapper {
 
     List<Map<String, Object>> getGridList(WaterConservancyViewBO waterConservancyViewBO);
 
-    List<RegionalFlag> getLandList(WaterConservancyViewBO waterConservancyViewBO);
+    List<Map<String, Object>> getLandList(WaterConservancyViewBO waterConservancyViewBO);
 
     List<Map<String, Object>> getFarmLandList(WaterConservancyViewBO waterConservancyViewBO);
 

+ 1 - 1
src/main/java/com/sooka/sponest/data/digitalwater/service/IWaterViewService.java

@@ -29,7 +29,7 @@ public interface IWaterViewService extends IBaseService {
 
     List<Map<String, Object>> getGridList(WaterConservancyViewBO waterConservancyViewBO);
 
-    List<LatLngAndFlagType> getLandList(WaterConservancyViewBO waterConservancyViewBO);
+    List<Map<String, Object>> getLandList(WaterConservancyViewBO waterConservancyViewBO);
 
     List<Map<String, Object>> getFarmList(WaterConservancyViewBO waterConservancyViewBO);
 

+ 2 - 3
src/main/java/com/sooka/sponest/data/digitalwater/service/impl/WaterViewServiceImpl.java

@@ -149,10 +149,9 @@ public class WaterViewServiceImpl extends BaseServiceImpl implements IWaterViewS
 
     @DataScopeMutiDept(deptAlias = "d")
     @Override
-    public List<LatLngAndFlagType> getLandList(WaterConservancyViewBO waterConservancyViewBO) {
+    public List<Map<String, Object>> getLandList(WaterConservancyViewBO waterConservancyViewBO) {
         setSookaDataBase(waterConservancyViewBO);
-        List<RegionalFlag> list = waterConservancyViewMapper.getLandList(waterConservancyViewBO);
-        return RegionalFlagUtil.getRegionalFlag(list,waterConservancyViewBO.getId());
+        return waterConservancyViewMapper.getLandList(waterConservancyViewBO);
     }
 
     @DataScopeMutiDept(deptAlias = "d")

+ 2 - 15
src/main/java/com/sooka/sponest/data/system/attach/controller/CenterdataTAttachController.java

@@ -3,7 +3,6 @@ package com.sooka.sponest.data.system.attach.controller;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.domain.AjaxResult;
-import com.sooka.sponest.data.system.attach.domain.AppDataTAttach;
 import com.sooka.sponest.data.system.attach.domain.CenterdataTAttach;
 import com.sooka.sponest.data.system.attach.mapper.CenterdataTAttachMapper;
 import com.sooka.sponest.data.system.attach.service.ICenterdataTAttachService;
@@ -119,25 +118,13 @@ public class CenterdataTAttachController extends BaseController {
         return toAjax(centerdataTAttachService.insertCenterdataTAttach(centerdataTAttach));
     }
 
-
     @GetMapping("urlAttch/{busId}")
-    public R<List<AppDataTAttach>> urlAttch(@PathVariable String busId) {
+    public R<List<CenterdataTAttach>> urlAttch(@PathVariable String busId) {
         return R.ok(centerdataTAttachMapper.urlAttch(busId));
     }
 
     @GetMapping("urlAttchMpF/{busId}")
-    public R<List<AppDataTAttach>> urlAttchMpF(@PathVariable String busId) {
+    public R<List<CenterdataTAttach>> urlAttchMpF(@PathVariable String busId) {
         return R.ok(centerdataTAttachMapper.urlAttchMpF(busId));
     }
-
-
-    @GetMapping("attachBFireLogById/{id}")
-    public R<List<AppDataTAttach>> attachBFireLogById(@PathVariable String id) {
-        return R.ok(centerdataTAttachMapper.attachBFireLogById(id));
-    }
-
-    @GetMapping("attachBFireLogByIdMp/{id}")
-    public R<List<AppDataTAttach>> attachBFireLogByIdMp(@PathVariable String id) {
-        return R.ok(centerdataTAttachMapper.attachBFireLogByIdMp(id));
-    }
 }

+ 0 - 85
src/main/java/com/sooka/sponest/data/system/attach/domain/AppDataTAttach.java

@@ -1,85 +0,0 @@
- package com.sooka.sponest.data.system.attach.domain;
-
- import com.ruoyi.common.core.annotation.Excel;
- import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
- import org.apache.commons.lang3.builder.ToStringBuilder;
- import org.apache.commons.lang3.builder.ToStringStyle;
-
- /**
-  * 附件对象 centerdata_t_attach
-  *
-  * @author ruoyi
-  * @date 2022-06-11
-  */
- public class AppDataTAttach extends BaseBusinessEntity
- {
-     private static final long serialVersionUID = 1L;
-
-     /** 业务ID */
-     @Excel(name = "业务ID")
-     private String busId;
-
-     /** 路径 */
-     @Excel(name = "路径")
-     private String attachPath;
-
-     private String busSource;
-
-     /** 业务类型(索引) */
-     @Excel(name = "业务类型", readConverterExp = "索=引")
-     private String busIndx;
-     private String fileName;
-
-     public String getFileName() {
-         return fileName;
-     }
-
-     public void setFileName(String fileName) {
-         this.fileName = fileName;
-     }
-
-     public void setBusId(String busId)
-     {
-         this.busId = busId;
-     }
-
-     public String getBusId()
-     {
-         return busId;
-     }
-     public void setAttachPath(String attachPath)
-     {
-         this.attachPath = attachPath;
-     }
-
-     public String getAttachPath()
-     {
-         return attachPath;
-     }
-     public void setBusIndx(String busIndx)
-     {
-         this.busIndx = busIndx;
-     }
-
-     public String getBusIndx()
-     {
-         return busIndx;
-     }
-
-     public String getBusSource() {
-         return busSource;
-     }
-
-     public void setBusSource(String busSource) {
-         this.busSource = busSource;
-     }
-
-     @Override
-     public String toString() {
-         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-             .append("busId", getBusId())
-             .append("attachPath", getAttachPath())
-             .append("busIndx", getBusIndx())
-             .toString();
-     }
- }

+ 3 - 8
src/main/java/com/sooka/sponest/data/system/attach/mapper/CenterdataTAttachMapper.java

@@ -1,6 +1,5 @@
 package com.sooka.sponest.data.system.attach.mapper;
 
-import com.sooka.sponest.data.system.attach.domain.AppDataTAttach;
 import com.sooka.sponest.data.system.attach.domain.CenterdataTAttach;
 import org.apache.ibatis.annotations.Param;
 
@@ -67,13 +66,9 @@ public interface CenterdataTAttachMapper {
 
     List<CenterdataTAttach> listCenterdataTAttachByBusId(String busId);
 
-    List<AppDataTAttach> urlAttch(String busId);
+    List<CenterdataTAttach> urlAttch(String busId);
 
-    List<AppDataTAttach> urlAttchMpF(String busId);
-
-    List<AppDataTAttach> attachBFireLogById(String id);
-
-    List<AppDataTAttach> attachBFireLogByIdMp(String id);
+    List<CenterdataTAttach> urlAttchMpF(String busId);
 
     int insertEventFileLog(CenterdataTAttach res);
 
@@ -81,7 +76,7 @@ public interface CenterdataTAttachMapper {
 
     List<Map<String, Object>> selectFailUpattah();
 
-    int deleteListCenterdataTAttach(@Param("busId") String busId,@Param("list") List<CenterdataTAttach> list);
+    int deleteListCenterdataTAttach(@Param("busId") String busId, @Param("list") List<CenterdataTAttach> list);
 
     List<String> selectDataAttachPathByBusId(String busId);
 }

+ 3 - 3
src/main/java/com/sooka/sponest/data/system/attach/service/ICenterdataTAttachService.java

@@ -65,9 +65,9 @@ public interface ICenterdataTAttachService {
 
     List<Map<String, Object>> selectFailUpattah();
 
-    void updateEventAttachSchedule(Map<String, Object> paramMap,SysFile sysFile) throws Exception;
+    void updateEventAttachSchedule(Map<String, Object> paramMap, SysFile sysFile) throws Exception;
 
-    int deleteListCenterdataTAttach (String busId, List<CenterdataTAttach> list);
+    int deleteListCenterdataTAttach(String busId, List<CenterdataTAttach> list);
 
-    List<String> selectDataAttachPathByBusId (String busId);
+    List<String> selectDataAttachPathByBusId(String busId);
 }

+ 6 - 7
src/main/java/com/sooka/sponest/data/system/attach/service/impl/CenterdataTAttachServiceImpl.java

@@ -135,17 +135,17 @@ public class CenterdataTAttachServiceImpl extends BaseServiceImpl implements ICe
 
     @Transactional
     @Override
-    public void updateEventAttachSchedule(Map<String, Object> paramMap,SysFile sysFile) throws Exception{
-        CenterdataTAttach centerdataTAttach=new CenterdataTAttach();
-        centerdataTAttach.setFileName(MapUtils.getString(paramMap,"url"));
+    public void updateEventAttachSchedule(Map<String, Object> paramMap, SysFile sysFile) throws Exception {
+        CenterdataTAttach centerdataTAttach = new CenterdataTAttach();
+        centerdataTAttach.setFileName(MapUtils.getString(paramMap, "url"));
         centerdataTAttach.setAttachPath(sysFile.getUrl());
         centerdataTAttach.setBusSource("PC");
-        centerdataTAttach.setBusId(MapUtils.getString(paramMap,"busId"));
-       centerdataTAttachMapper.updateEventAttach(centerdataTAttach);
+        centerdataTAttach.setBusId(MapUtils.getString(paramMap, "busId"));
+        centerdataTAttachMapper.updateEventAttach(centerdataTAttach);
         setSookaDataBase(centerdataTAttach);
         centerdataTAttach.setFileName(JSON.toJSONString(centerdataTAttach));
         centerdataTAttach.setCreateTime(DateUtils.getNowDate());
-       centerdataTAttachMapper.insertEventFileLog(centerdataTAttach);
+        centerdataTAttachMapper.insertEventFileLog(centerdataTAttach);
     }
 
     @Override
@@ -172,5 +172,4 @@ public class CenterdataTAttachServiceImpl extends BaseServiceImpl implements ICe
     public List<String> selectDataAttachPathByBusId(String busId) {
         return centerdataTAttachMapper.selectDataAttachPathByBusId(busId);
     }
-
 }

+ 36 - 22
src/main/resources/mapper/digitalenvironment/EnvironmentViewMapper.xml

@@ -33,29 +33,43 @@
 
 	<select id="getEnvironmentLeader" parameterType="EnvironmentLeaderVO" resultType="EnvironmentLeaderBO">
 		SELECT
-		a.name as nickName,
-		u.user_id as userId,
-		a.phone phone,
-		d.dept_name deptName,
-		a.environment_job environmentJob,
-		b.dict_label environmentLabel
+			t.nickName,
+			t.userId,
+			t.phone,
+			t.environmentJob,
+			t.environmentLabel,
+			REPLACE ( group_concat( dept_name ORDER BY find_in_set( d.dept_id, t.ancestors ) ), ',', '' ) deptName
 		FROM
-		centerdata_t_environment_person a
-		LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
-		LEFT JOIN ${database_system}.sys_user u ON a.user_id = u.user_id
-		left join ${database_system}.sys_dict_data b on a.environment_job = b.dict_value
-		WHERE
-		1 = 1
-		<if test="environmentJob != null and environmentJob != ''">
-			and a.environment_job=#{environmentJob}
-		</if>
-		<if test="name != null and name != ''">
-			and a.name like concat('%', #{name}, '%')
-		</if>
-		<choose>
-			<when test="deptId != null and deptId != ''">and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )</when>
-			<otherwise>${params.dataScope}</otherwise>
-		</choose>
+		(
+			SELECT
+				a.NAME AS nickName,
+				u.user_id AS userId,
+				a.phone phone,
+				d.dept_name deptName,
+				a.environment_job environmentJob,
+				b.dict_label environmentLabel,
+				SUBSTR( CONCAT( d.ancestors, ',', a.dept_id ), 7 ) ancestors
+			FROM
+			centerdata_t_environment_person a
+			LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+			LEFT JOIN ${database_system}.sys_user u ON a.user_id = u.user_id
+			LEFT JOIN ${database_system}.sys_dict_data b ON a.environment_job = b.dict_value
+			WHERE
+			1 = 1
+			<if test="environmentJob != null and environmentJob != ''">
+				and a.environment_job=#{environmentJob}
+			</if>
+			<if test="name != null and name != ''">
+				and a.name like concat('%', #{name}, '%')
+			</if>
+			<choose>
+				<when test="deptId != null and deptId != ''">and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )</when>
+				<otherwise>${params.dataScope}</otherwise>
+			</choose>
+		) t
+		LEFT JOIN ${database_system}.sys_dept d ON find_in_set( d.dept_id, t.ancestors )
+		GROUP BY
+		t.nickName
 	</select>
 
 	<select id="selectEnvironmentUerId"

+ 33 - 20
src/main/resources/mapper/digitalfirecontrol/CenterdataTFirecontrolPersonMapper.xml

@@ -218,26 +218,39 @@
 
     <select id="getResourcesLeader" parameterMap="pm_VisuForestLeader" resultMap="rm_VisuForestLeader">
         SELECT
-        a.name as nickName,
-        u.user_id as userId,
-        a.firecontrol_job firecontrolJob,
-        b.dict_label firecontrolLabel
+            t.nickName,
+            t.userId,
+            t.firecontrolJob,
+            t.firecontrolLabel,
+            REPLACE ( group_concat( dept_name ORDER BY find_in_set( d.dept_id, t.ancestors ) ), ',', '' ) deptName
         FROM
-        ${database_data}.centerdata_t_firecontrol_person a
-        LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
-        LEFT JOIN ${database_system}.sys_user u ON a.user_id = u.user_id
-        left join ${database_system}.sys_dict_data b on a.firecontrol_job = b.dict_value
-        WHERE
-        1 = 1
-        <if test="linJob != null and linJob != ''">
-            and a.firecontrol_job=#{linJob}
-        </if>
-        <if test="name != null and name != ''">
-            and a.name LIKE CONCAT('%',#{name}, '%')
-        </if>
-        <choose>
-            <when test="deptId != null and deptId != ''">and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )</when>
-            <otherwise>${params.dataScope}</otherwise>
-        </choose>
+        (
+            SELECT
+                a.NAME AS nickName,
+                u.user_id AS userId,
+                a.firecontrol_job firecontrolJob,
+                b.dict_label firecontrolLabel,
+                SUBSTR( CONCAT( d.ancestors, ',', a.dept_id ), 7 ) ancestors
+            FROM
+            centerdata_t_firecontrol_person a
+            LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+            LEFT JOIN ${database_system}.sys_user u ON a.user_id = u.user_id
+            LEFT JOIN ${database_system}.sys_dict_data b ON a.firecontrol_job = b.dict_value
+            WHERE
+            1 = 1
+            <if test="linJob != null and linJob != ''">
+                and a.firecontrol_job=#{linJob}
+            </if>
+            <if test="name != null and name != ''">
+                and a.name LIKE CONCAT('%',#{name}, '%')
+            </if>
+            <choose>
+                <when test="deptId != null and deptId != ''">and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )</when>
+                <otherwise>${params.dataScope}</otherwise>
+            </choose>
+        ) t
+        LEFT JOIN ${database_system}.sys_dept d ON find_in_set( d.dept_id, t.ancestors )
+        GROUP BY
+        t.nickName
     </select>
 </mapper>

+ 43 - 27
src/main/resources/mapper/digitalforest/ForestViewMapper.xml

@@ -80,33 +80,49 @@
 
     <select id="getForestLeader" parameterType="ForestLeaderVO" resultType="ForestLeaderBO">
         SELECT
-        a.lin_name as nickName,
-        u.user_id as userId,
-        d.dept_name as deptName,
-        u.phonenumber as phonenumber,
-        a.lin_phone as linPhone,
-        a.lin_job linJob,
-        b.dict_label linLabel
+            t.nickName,
+            t.userId,
+            t.phonenumber,
+            t.linPhone,
+            t.linJob,
+            t.linLabel,
+            REPLACE(group_concat( dept_name ORDER BY find_in_set( d.dept_id, t.ancestors ) ),',','') deptName
         FROM
-        centerdata_t_forest_linleader a
-        LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
-        LEFT JOIN ${database_system}.sys_user u ON a.user_id = u.user_id
-        left join ${database_system}.sys_dict_data b on a.lin_job = b.dict_value
-        WHERE
-        1 = 1
-        <if test="linJob != null and linJob != ''">
-            and a.lin_job=#{linJob}
-        </if>
-        <if test="name != null and name != ''">
-            and a.lin_name like concat('%', #{name}, '%')
-        </if>
-        <choose>
-            <when test="deptId != null  and deptId != ''">
-                and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )
-            </when>
-            <otherwise>
-                ${params.dataScope}
-            </otherwise>
-        </choose>
+        (
+            SELECT
+                a.lin_name AS nickName,
+                u.user_id AS userId,
+                d.dept_name AS deptName,
+                u.phonenumber AS phonenumber,
+                a.lin_phone AS linPhone,
+                a.lin_job linJob,
+                b.dict_label linLabel,
+                SUBSTR(CONCAT( d.ancestors, ',', a.dept_id ),7) ancestors,
+                a.dept_id deptId
+            FROM
+            centerdata_t_forest_linleader a
+            LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+            LEFT JOIN ${database_system}.sys_user u ON a.user_id = u.user_id
+            LEFT JOIN ${database_system}.sys_dict_data b ON a.lin_job = b.dict_value
+            WHERE
+            1 = 1
+            <if test="linJob != null and linJob != ''">
+                and a.lin_job=#{linJob}
+            </if>
+            <if test="name != null and name != ''">
+                and a.lin_name like concat('%', #{name}, '%')
+            </if>
+            <choose>
+                <when test="deptId != null  and deptId != ''">
+                    and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )
+                </when>
+                <otherwise>
+                    ${params.dataScope}
+                </otherwise>
+            </choose>
+        ) t
+        LEFT JOIN ${database_system}.sys_dept d ON find_in_set( d.dept_id, t.ancestors )
+        GROUP BY
+        t.nickName
     </select>
 </mapper>

+ 32 - 18
src/main/resources/mapper/digitalwater/WaterConservancyViewMapper.xml

@@ -94,24 +94,38 @@
 
     <select id="getRyListByJob" parameterType="WaterConservancyViewBO" resultType="map">
         SELECT
-            DISTINCT a.user_id userId,
-            a.`name` AS name,
-            d.dept_name AS deptName,
-            a.phone AS phone,
-            a.post post,
-            b.dict_label postName
+            t.userId,
+            t.name,
+            t.phone,
+            t.post,
+            t.postName,
+            REPLACE ( group_concat( dept_name ORDER BY find_in_set( d.dept_id, t.ancestors ) ), ',', '' ) deptName
         FROM
+        (
+            SELECT
+                DISTINCT a.user_id userId,
+                a.`name` AS name,
+                d.dept_name AS deptName,
+                a.phone AS phone,
+                a.post post,
+                b.dict_label postName,
+                SUBSTR( CONCAT( d.ancestors, ',', a.dept_id ), 7 ) ancestors
+            FROM
             centerdata_t_hydraulic_river_length a
             LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
-            left join ${database_system}.sys_dict_data b on a.post = b.dict_value
-        WHERE
-            a.type = #{leadType}
-        <if test="dictType != null  and dictType != ''">AND a.post = #{dictType}</if>
-        <if test="name != null  and name != ''">AND a.name like concat('%', #{name}, '%')</if>
-        <choose>
-            <when test="deptId != null and deptId != ''">and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )</when>
-            <otherwise>${params.dataScope}</otherwise>
-        </choose>
+            LEFT JOIN ${database_system}.sys_dict_data b ON a.post = b.dict_value
+            WHERE
+                a.type = #{leadType}
+                <if test="dictType != null  and dictType != ''">AND a.post = #{dictType}</if>
+                <if test="name != null  and name != ''">AND a.name like concat('%', #{name}, '%')</if>
+                <choose>
+                    <when test="deptId != null and deptId != ''">and FIND_IN_SET( #{deptId}, CONCAT(d.ancestors,',',d.dept_id) )</when>
+                    <otherwise>${params.dataScope}</otherwise>
+                </choose>
+        ) t
+        LEFT JOIN ${database_system}.sys_dept d ON find_in_set( d.dept_id, t.ancestors )
+        GROUP BY
+        t.name
     </select>
 
     <select id="getTianList" parameterType="WaterConservancyViewBO" resultType="map">
@@ -147,7 +161,7 @@
             a.id IN (#{gridId}) and a.type = #{leadType} ${params.dataScope}
     </select>
 
-    <select id="getLandList" parameterType="WaterConservancyViewBO" resultType="com.sooka.sponest.data.system.areamarking.domain.RegionalFlag">
+    <select id="getLandList" parameterType="WaterConservancyViewBO" resultType="map">
        SELECT
             a.id,
             a.`name`
@@ -170,8 +184,8 @@
     <select id="getFlagList" parameterType="WaterConservancyViewBO" resultType="com.sooka.sponest.data.system.areamarking.domain.RegionalFlag">
        SELECT
             flag_type flagType,
-            longitude lng,
-            latitude lat
+            longitude longitude,
+            latitude latitude
         FROM
             centerdata_t_regional_flag
         WHERE

+ 12 - 19
src/main/resources/mapper/system/attach/CenterdataTAttachMapper.xml

@@ -100,25 +100,17 @@
         delete from centerdata_t_attach where bus_id = #{busId}
     </delete>
 
-    <select id="urlAttch" parameterType="java.lang.String"
-            resultType="com.sooka.sponest.data.system.attach.domain.AppDataTAttach">
-        select attach_path as attachPath,file_name as fileName,bus_source as busSource from centerdata_t_attach where bus_id = #{busId} and attach_path
-        not like concat('%', 'mp4', '%')
+    <select id="urlAttch" parameterType="java.lang.String" resultType="CenterdataTAttach">
+        select attach_path attachPath,file_name fileName,bus_source busSource
+        from centerdata_t_attach
+        where bus_id = #{busId} and attach_path not like concat('%', 'mp4', '%')
+        order by create_time,attach_sorts
     </select>
 
-    <select id="urlAttchMpF" parameterType="java.lang.String"
-            resultType="com.sooka.sponest.data.system.attach.domain.AppDataTAttach">
-        select attach_path as attachPath,file_name as fileName,bus_source as busSource from centerdata_t_attach where bus_id = #{busId} and  attach_path like concat('%', 'mp4', '%')
-    </select>
-
-    <select id="attachBFireLogById" parameterType="java.lang.String"
-            resultType="com.sooka.sponest.data.system.attach.domain.AppDataTAttach">
-        select attach_path as  attachPath,file_name as fileName ,bus_source as busSource from  centerdata_t_attach where bus_id = #{id} and attach_path  not like concat('%', 'mp4', '%')
-    </select>
-
-    <select id="attachBFireLogByIdMp" parameterType="java.lang.String"
-            resultType="com.sooka.sponest.data.system.attach.domain.AppDataTAttach">
-        select attach_path as  attachPath,file_name as fileName ,bus_source as busSource from  centerdata_t_attach where bus_id = #{id} and attach_path   like concat('%', 'mp4', '%')
+    <select id="urlAttchMpF" parameterType="java.lang.String" resultType="CenterdataTAttach">
+        select attach_path attachPath,file_name fileName,bus_source busSource
+        from centerdata_t_attach
+        where bus_id = #{busId} and attach_path like concat('%', 'mp4', '%')
     </select>
 
     <insert id="insertEventFileLog" parameterType="CenterdataTAttach">
@@ -158,7 +150,8 @@
             )
         </foreach>
     </insert>
-    <select id="selectFailUpattah"  resultType="map">
+
+    <select id="selectFailUpattah" resultType="map">
         SELECT
         ch.bus_id busId,
         ch.attach_path url,
@@ -187,7 +180,7 @@
         order by a.create_time
     </select>
 
-    <delete id="deleteListCenterdataTAttach"  parameterType="CenterdataTAttach">
+    <delete id="deleteListCenterdataTAttach" parameterType="CenterdataTAttach">
         delete from centerdata_t_attach where bus_id = #{busId} and attach_path in
         <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
             #{item.attachPath}