gushoubang hace 9 meses
padre
commit
0d3fb52be6

+ 3 - 1
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/AlgorithmMapper.java

@@ -17,5 +17,7 @@ public interface AlgorithmMapper {
      *                  '{"初步结果":"vector.初步结果", "选址结果":"vector.选址结果", "选址方式":"多地块4"}');
      */
     @Slave
-    void blockMerge(@Param("jsonArg") String jsonArg, @Param("systemArg") String systemArg);
+    void blockMerge(@Param("tableName") String tableName,
+                    @Param("jsonArg") String jsonArg,
+                    @Param("systemArg") String systemArg);
 }

+ 5 - 5
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/FzssServiceImpl.java

@@ -212,7 +212,7 @@ public class FzssServiceImpl implements IFzssService {
         if (fzxzDTO.getUseMultiple()) {
             // 允许多地块
             int multDistanc = fzxzDTO.getMultipleDistance();
-            Map<String,Object> paramArg = new HashMap<>();
+            Map<String, Object> paramArg = new HashMap<>();
             paramArg.put("类型", "智能选址");
             paramArg.put("版本", 1.0);
             paramArg.put("小地块最多合并块数", 3);
@@ -222,14 +222,14 @@ public class FzssServiceImpl implements IFzssService {
 
             Map<String, Object> systemArg = new HashMap<>();
             systemArg.put("初步结果", rawTable);
-            String resTableName=StringUtils.getTemporaryTableName();
+            String resTableName = StringUtils.getTemporaryTableName();
             systemArg.put("选址结果", resTableName);
             systemArg.put("选址方式", "多地块3");
 
-            String paramJson=JsonUtils.toJson(paramArg);
-            String systemJson=JsonUtils.toJson(systemArg);
+            String paramJson = JsonUtils.toJson(paramArg);
+            String systemJson = JsonUtils.toJson(systemArg);
 
-            algorithmMapper.blockMerge(paramJson, systemJson);
+            algorithmMapper.blockMerge(resTableName, paramJson, systemJson);
             // TODO 添加面积筛选
         } else {
             // 不允许多地块,删除面积不符合要求的地块

+ 3 - 0
onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/AlgorithmMapper.xml

@@ -4,6 +4,9 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.onemap.analyse.mapper.vector.AlgorithmMapper">
     <select id="blockMerge">
+        CREATE TABLE if not exists ${tableName} (
+                                                       idarray int4[] not null, area float8, feature VARCHAR ,weight float, geom public.geometry null
+        );
         select big_area_block(#{jsonArg}, #{systemArg})
     </select>
 </mapper>