Procházet zdrojové kódy

原始数据查询返回

gushoubang před 9 měsíci
rodič
revize
cb1b5bf833
13 změnil soubory, kde provedl 211 přidání a 7 odebrání
  1. 51 0
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/controller/analyse/GetTableDateController.java
  2. 16 0
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/domain/vo/RawTableVo.java
  3. 11 0
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/domain/vo/TargetTableVo.java
  4. 1 2
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/AnalyseUtilsDBMapper.java
  5. 1 1
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/CreateUtilsDBMapper.java
  6. 15 0
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/TableDataMapper.java
  7. 16 0
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/ITableDateService.java
  8. 1 1
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/AnalyseUtilsDBServiceImpl.java
  9. 1 1
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/CreateUtilsDBServiceImpl.java
  10. 29 0
      onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/TableDateServiceImpl.java
  11. 1 1
      onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/AnalyseUtilsDBMapper.xml
  12. 1 1
      onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/CreateUtilsDBMapper.xml
  13. 67 0
      onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/TableDateMapper.xml

+ 51 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/controller/analyse/GetTableDateController.java

@@ -0,0 +1,51 @@
+package com.onemap.analyse.controller.analyse;
+
+import com.onemap.analyse.domain.vo.RawTableVo;
+import com.onemap.analyse.domain.vo.TargetTableVo;
+import com.onemap.analyse.service.ITableDateService;
+import com.onemap.common.core.web.domain.RequestResult;
+import com.onemap.common.datasource.annotation.Slave;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 获取表格数据
+ */
+@RestController
+@RequestMapping("/table/date")
+public class GetTableDateController {
+    @Resource
+    ITableDateService tableDateService;
+
+    /**
+     * 原始表格的数据
+     *
+     * @param rawTableVo
+     * @return
+     */
+    @PostMapping("/raw_table")
+    @Slave
+    public RequestResult rawTable(@RequestBody RawTableVo rawTableVo) {
+        List<Map<String, Object>> mapInfos = tableDateService.getRawTable(rawTableVo);
+        return RequestResult.success(mapInfos);
+    }
+
+    /**
+     * 生成表格的数据
+     *
+     * @param targetTableVo
+     * @return
+     */
+    @PostMapping("/target_table")
+    @Slave
+    public RequestResult targetTable(@RequestBody TargetTableVo targetTableVo) {
+        List<Map<String, Object>> mapInfos = tableDateService.getTargetTable(targetTableVo);
+        return RequestResult.success(mapInfos);
+    }
+}

+ 16 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/domain/vo/RawTableVo.java

@@ -0,0 +1,16 @@
+package com.onemap.analyse.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 获取原始表的信息
+ */
+@Data
+public class RawTableVo {
+    private String rawTableName; // 原始表名
+    private List<Integer> ids;  // id
+    private List<String> columns; // 列名
+    private Boolean siweiArea; // 是否需要计算面积
+}

+ 11 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/domain/vo/TargetTableVo.java

@@ -0,0 +1,11 @@
+package com.onemap.analyse.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 通过生成的空间表获取原始表的数据
+ */
+@Data
+public class TargetTableVo extends RawTableVo {
+    private String targetTableName;
+}

+ 1 - 2
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/AnalyseUtilsDBMapper.java → onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/AnalyseUtilsDBMapper.java

@@ -1,10 +1,9 @@
-package com.onemap.analyse.mapper;
+package com.onemap.analyse.mapper.vector;
 
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Map;
 
 @Mapper
 public interface AnalyseUtilsDBMapper {

+ 1 - 1
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/CreateUtilsDBMapper.java → onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/CreateUtilsDBMapper.java

@@ -1,4 +1,4 @@
-package com.onemap.analyse.mapper;
+package com.onemap.analyse.mapper.vector;
 
 import org.apache.ibatis.annotations.Param;
 

+ 15 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/TableDataMapper.java

@@ -0,0 +1,15 @@
+package com.onemap.analyse.mapper.vector;
+
+import com.onemap.analyse.domain.vo.RawTableVo;
+import com.onemap.analyse.domain.vo.TargetTableVo;
+import com.onemap.common.datasource.annotation.Slave;
+
+import java.util.List;
+import java.util.Map;
+
+@Slave
+public interface TableDataMapper {
+    List<Map<String, Object>> getRawTable(RawTableVo rawTableVo);
+
+    List<Map<String, Object>> getTargetTable(TargetTableVo targetTableVo);
+}

+ 16 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/ITableDateService.java

@@ -0,0 +1,16 @@
+package com.onemap.analyse.service;
+
+import com.onemap.analyse.domain.vo.RawTableVo;
+import com.onemap.analyse.domain.vo.TargetTableVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 数据查询
+ */
+public interface ITableDateService {
+    List<Map<String, Object>> getRawTable(RawTableVo rawTableVo);
+
+    List<Map<String, Object>> getTargetTable(TargetTableVo targetTableVo);
+}

+ 1 - 1
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/AnalyseUtilsDBServiceImpl.java

@@ -1,6 +1,6 @@
 package com.onemap.analyse.service.impl;
 
-import com.onemap.analyse.mapper.AnalyseUtilsDBMapper;
+import com.onemap.analyse.mapper.vector.AnalyseUtilsDBMapper;
 import com.onemap.analyse.service.AnalyseUtilsDBService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+ 1 - 1
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/CreateUtilsDBServiceImpl.java

@@ -1,6 +1,6 @@
 package com.onemap.analyse.service.impl;
 
-import com.onemap.analyse.mapper.CreateUtilsDBMapper;
+import com.onemap.analyse.mapper.vector.CreateUtilsDBMapper;
 import com.onemap.analyse.service.CreateUtilsDBService;
 import org.springframework.stereotype.Service;
 

+ 29 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/TableDateServiceImpl.java

@@ -0,0 +1,29 @@
+package com.onemap.analyse.service.impl;
+
+import com.onemap.analyse.domain.vo.RawTableVo;
+import com.onemap.analyse.domain.vo.TargetTableVo;
+import com.onemap.analyse.mapper.vector.TableDataMapper;
+import com.onemap.analyse.service.ITableDateService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class TableDateServiceImpl implements ITableDateService {
+    @Resource
+    private TableDataMapper tableDataMapper;
+
+    @Override
+    public List<Map<String, Object>> getRawTable(RawTableVo rawTableVo) {
+        List<Map<String, Object>> list = tableDataMapper.getRawTable(rawTableVo);
+        return list;
+    }
+
+    @Override
+    public List<Map<String, Object>> getTargetTable(TargetTableVo targetTableVo) {
+        List<Map<String, Object>> list = tableDataMapper.getTargetTable(targetTableVo);
+        return list;
+    }
+}

+ 1 - 1
onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/raster/AnalyseUtilsDBMapper.xml → onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/AnalyseUtilsDBMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.onemap.analyse.mapper.AnalyseUtilsDBMapper">
+<mapper namespace="com.onemap.analyse.mapper.vector.AnalyseUtilsDBMapper">
 
     <select id="intersectsTableWkt" resultType="Integer">
         SELECT id

+ 1 - 1
onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/raster/CreateUtilsDBMapper.xml → onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/CreateUtilsDBMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.onemap.analyse.mapper.CreateUtilsDBMapper">
+<mapper namespace="com.onemap.analyse.mapper.vector.CreateUtilsDBMapper">
     <insert id="bufferTable">
         CREATE TABLE "${newTableName}" AS
         SELECT id,public.ST_Buffer(geom, #{radius}) AS geom

+ 67 - 0
onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/TableDateMapper.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.onemap.analyse.mapper.vector.TableDataMapper">
+
+    <select id="getRawTable" resultType="Map">
+        SELECT
+        <foreach item="column" collection="columns" separator=",">
+            <choose>
+                <when test="column == 'geom'">
+                    public.st_asewkt(${column}) AS geom
+                </when>
+                <otherwise>
+                    ${column}
+                </otherwise>
+            </choose>
+        </foreach>
+        <choose>
+            <when test="siweiArea == true">
+                , public.st_area(geom::public.geography) AS siweiArea
+            </when>
+        </choose>
+        FROM
+        "${rawTableName}"
+        WHERE
+        id IN
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
+    <select id="getTargetTable" resultType="Map">
+        DROP TABLE IF EXISTS "${temporaryTable}";
+
+        CREATE TABLE "${temporaryTable}" AS SELECT
+        public.ST_Union ( b.geom ) AS geomRes
+        FROM
+        "${tableNameA}" a,
+        "${tableNameB}" b
+        WHERE
+        public.st_intersects ( a.geom, b.geom )
+        <if test="tableIdsA != null and tableIdsA.size() > 0">
+            AND a.id IN
+            <foreach collection="tableIdsA" item="tableId" open="(" close=")" separator=",">
+                #{tableId}
+            </foreach>
+        </if>
+        ;
+
+        CREATE TABLE "${newTableName}" AS
+        SELECT a.id,public.ST_Difference ( a.geom, b.geomRes ) AS geom
+        FROM
+        "${tableNameA}" a,
+        "${temporaryTable}" b
+        WHERE 1=1
+        <if test="tableIdsA != null and tableIdsA.size() > 0">
+            AND a.id IN
+            <foreach collection="tableIdsA" item="tableId" open="(" close=")" separator=",">
+                #{tableId}
+            </foreach>
+        </if>
+        ;
+
+        DROP TABLE IF EXISTS "${temporaryTable}";
+    </select>
+</mapper>