瀏覽代碼

更改算法

LAPTOP-BJJ3IV5R\SIWEI 1 年之前
父節點
當前提交
32569119dc

+ 6 - 6
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/AnalyseService.java

@@ -1,18 +1,12 @@
 package com.onemap.system.api;
 
 import com.onemap.common.core.constant.ServiceNameConstants;
-import com.onemap.common.core.domain.R;
 import com.onemap.common.core.web.domain.RequestResult;
 import com.onemap.system.api.domain.*;
 import com.onemap.system.api.factory.AnalyseFallbackFactory;
-import com.onemap.system.api.factory.RemoteAuthFallbackFactory;
-import com.onemap.system.api.factory.RemoteLogFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-import java.util.Map;
-
 /**
  * 分析服务
  */
@@ -22,6 +16,9 @@ public interface AnalyseService {
     @PostMapping("/analyse/db/intersects/table_wkt")
     public RequestResult intersectsTableWkt(@RequestBody IntersectsTableWktVo intersectsTableWktVo);
 
+    @PostMapping("/analyse/db/distance/table_wkt")
+    public RequestResult distanceTableWkt(@RequestBody DistanceTableWktVo distanceTableWktVo);
+
     @PostMapping("/create/db/intersection/table_wkt")
     public RequestResult intersectionTableWkt(@RequestBody IntersectionTableWktVo intersectionTableWktVo);
 
@@ -30,4 +27,7 @@ public interface AnalyseService {
 
     @PostMapping("/table/date/target_table")
     public RequestResult targetTable(@RequestBody TargetTableVo targetTableVo);
+
+    @PostMapping("/table/date/raw_table_length")
+    public RequestResult rawTableLength(@RequestBody RawTableLengthVo rawTableLengthVo);
 }

+ 52 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/DistanceTableWktVo.java

@@ -0,0 +1,52 @@
+package com.onemap.system.api.domain;
+
+import java.util.List;
+
+public class DistanceTableWktVo {
+    String tableName;
+    List<String> tableIds;
+    String ewkt;
+    Integer distance;
+    // 1:>,2>=,3<,4<=
+    Integer distanceType;
+
+    public String getTableName() {
+        return tableName;
+    }
+
+    public void setTableName(String tableName) {
+        this.tableName = tableName;
+    }
+
+    public List<String> getTableIds() {
+        return tableIds;
+    }
+
+    public void setTableIds(List<String> tableIds) {
+        this.tableIds = tableIds;
+    }
+
+    public String getEwkt() {
+        return ewkt;
+    }
+
+    public void setEwkt(String ewkt) {
+        this.ewkt = ewkt;
+    }
+
+    public Integer getDistance() {
+        return distance;
+    }
+
+    public void setDistance(Integer distance) {
+        this.distance = distance;
+    }
+
+    public Integer getDistanceType() {
+        return distanceType;
+    }
+
+    public void setDistanceType(Integer distanceType) {
+        this.distanceType = distanceType;
+    }
+}

+ 34 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/DistanceTablesVo.java

@@ -0,0 +1,34 @@
+package com.onemap.system.api.domain;
+
+import java.util.List;
+
+public class DistanceTablesVo extends TableABBean {
+    List<String> tableIdsB;
+    Integer distance;
+    // 1:>,2>=,3<,4<=
+    Integer distanceType;
+
+    public List<String> getTableIdsB() {
+        return tableIdsB;
+    }
+
+    public void setTableIdsB(List<String> tableIdsB) {
+        this.tableIdsB = tableIdsB;
+    }
+
+    public Integer getDistance() {
+        return distance;
+    }
+
+    public void setDistance(Integer distance) {
+        this.distance = distance;
+    }
+
+    public Integer getDistanceType() {
+        return distanceType;
+    }
+
+    public void setDistanceType(Integer distanceType) {
+        this.distanceType = distanceType;
+    }
+}

+ 54 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/RawTableLengthVo.java

@@ -0,0 +1,54 @@
+package com.onemap.system.api.domain;
+
+import java.util.List;
+
+/**
+ * 获取原始表的信息
+ */
+public class RawTableLengthVo {
+    private String rawTableName; // 原始表名
+    private List<String> ids;  // id
+    private List<String> columns; // 列名
+    private Boolean siweiLength; // 是否需要计算面积
+    private String ewkt;
+
+    public String getRawTableName() {
+        return rawTableName;
+    }
+
+    public void setRawTableName(String rawTableName) {
+        this.rawTableName = rawTableName;
+    }
+
+    public List<String> getIds() {
+        return ids;
+    }
+
+    public void setIds(List<String> ids) {
+        this.ids = ids;
+    }
+
+    public List<String> getColumns() {
+        return columns;
+    }
+
+    public void setColumns(List<String> columns) {
+        this.columns = columns;
+    }
+
+    public Boolean getSiweiLength() {
+        return siweiLength;
+    }
+
+    public void setSiweiLength(Boolean siweiLength) {
+        this.siweiLength = siweiLength;
+    }
+
+    public String getEwkt() {
+        return ewkt;
+    }
+
+    public void setEwkt(String ewkt) {
+        this.ewkt = ewkt;
+    }
+}

+ 2 - 2
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/RawTableVo.java

@@ -57,7 +57,7 @@ public class RawTableVo {
         return isGeography;
     }
 
-    public void setsIsGeography(Boolean isGeography) {
-        isGeography = isGeography;
+    public void setIsGeography(Boolean isGeography) {
+        this.isGeography = isGeography;
     }
 }

+ 23 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/TableABBean.java

@@ -0,0 +1,23 @@
+package com.onemap.system.api.domain;
+
+
+public class TableABBean {
+    String tableNameA;
+    String tableNameB;
+
+    public String getTableNameA() {
+        return tableNameA;
+    }
+
+    public void setTableNameA(String tableNameA) {
+        this.tableNameA = tableNameA;
+    }
+
+    public String getTableNameB() {
+        return tableNameB;
+    }
+
+    public void setTableNameB(String tableNameB) {
+        this.tableNameB = tableNameB;
+    }
+}

+ 11 - 4
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/factory/AnalyseFallbackFactory.java

@@ -2,10 +2,7 @@ package com.onemap.system.api.factory;
 
 import com.onemap.common.core.web.domain.RequestResult;
 import com.onemap.system.api.AnalyseService;
-import com.onemap.system.api.domain.IntersectionTableWktVo;
-import com.onemap.system.api.domain.IntersectsTableWktVo;
-import com.onemap.system.api.domain.RawTableVo;
-import com.onemap.system.api.domain.TargetTableVo;
+import com.onemap.system.api.domain.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
@@ -25,6 +22,11 @@ public class AnalyseFallbackFactory implements FallbackFactory<AnalyseService> {
                 return RequestResult.error("内部错误");
             }
 
+            @Override
+            public RequestResult distanceTableWkt(DistanceTableWktVo distanceTableWktVo) {
+                return RequestResult.error("内部错误");
+            }
+
             @Override
             public RequestResult intersectionTableWkt(IntersectionTableWktVo intersectionTableWktVo) {
                 return RequestResult.error("内部错误");
@@ -39,6 +41,11 @@ public class AnalyseFallbackFactory implements FallbackFactory<AnalyseService> {
             public RequestResult targetTable(@RequestBody TargetTableVo targetTableVo) {
                 return RequestResult.error("内部错误");
             }
+
+            @Override
+            public RequestResult rawTableLength(@RequestBody RawTableLengthVo rawTableLengthVo) {
+                return RequestResult.error("内部错误");
+            }
         };
     }
 }

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

@@ -19,7 +19,7 @@
             , public.st_area(
             <choose>
                 <when test="srid!=null">
-                    st_taransform(geom,srid)
+                    public.st_transform(geom,#{srid})
                 </when>
                 <otherwise>
                     geom
@@ -43,16 +43,16 @@
     </select>
     <select id="getRawTableLength" 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>
+        public.st_asewkt(geom) AS geom
+        <if test="columns != null and columns!='' ">
+            <foreach item="column" collection="columns">
+                <choose>
+                    <when test="column != 'geom'">
+                        ,${column}
+                    </when>
+                </choose>
+            </foreach>
+        </if>
         <if test="siweiLength == true">
             , public.st_distance(
             public.st_geomfromewkt(#{ewkt})::public.geography,geom::public.geography
@@ -88,7 +88,7 @@
             , public.st_area(
             <choose>
                 <when test="srid!=null">
-                    st_taransform(b.geom,srid)
+                    public.st_transform(b.geom,#{srid})
                 </when>
                 <otherwise>
                     b.geom

+ 23 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/fzss/HgxfxScxTableMapper.xml

@@ -0,0 +1,23 @@
+<?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.apply.mapper.fzss.HgxfxScxTableMapper">
+
+    <select id="selectListByBsm" resultType="com.onemap.apply.domain.config.fzss.HgxfxScxTableDTO">
+        select t.bsm,
+               t.bsmmc,
+               t1.table_name     sjy,
+               t.sjy_srid     as sjySrid,
+               t.analyse_srid as analyseSrid,
+               t.xssx,
+               t.status,
+               t.analyse_tjzd as analyseTjzd
+        from t_fzss_hgxfx_scx_table t
+                 LEFT JOIN t_table t1 on t1.id = t.sjy
+        where t.status = '0'
+          and t.bsm = #{bsm}
+        order by t.xssx asc
+    </select>
+
+</mapper>