Эх сурвалжийг харах

添加城镇开发边界外的数据

gushoubang 4 сар өмнө
parent
commit
772db33534

+ 4 - 1
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/vector/TableDataMapper.java

@@ -21,7 +21,10 @@ public interface TableDataMapper {
 
 
     List<Map<String, Object>> getGeomGroupSummary(GeomGroupSummaryVo geomGroupSummaryVo);
     List<Map<String, Object>> getGeomGroupSummary(GeomGroupSummaryVo geomGroupSummaryVo);
 
 
-    void delByLandType(@Param("temporaryTable") String temporaryTable, @Param("rawTable") String rawTable, @Param("landTypeCode") String landTypeCode);
+    void delByLandType(@Param("temporaryTable") String temporaryTable,
+                       @Param("rawTable") String rawTable,
+                       @Param("landTypeCode") String landTypeCode,
+                       @Param("bsmColumn") String bsmColumn);
 
 
     void delByAreaOr(@Param("tableName") String tableName, @Param("minArea") float minArea, @Param("maxArea") float maxArea);
     void delByAreaOr(@Param("tableName") String tableName, @Param("minArea") float minArea, @Param("maxArea") float maxArea);
 
 

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

@@ -24,7 +24,7 @@ public interface ITableDateService {
 
 
     List<Map<String, Object>> getGeomGroupSummary(GeomGroupSummaryVo geomGroupSummaryVo);
     List<Map<String, Object>> getGeomGroupSummary(GeomGroupSummaryVo geomGroupSummaryVo);
 
 
-    void delByLandType(String temporaryTable, String rawTable, String landTypeCode);
+    void delByLandType(String temporaryTable, String rawTable, String landTypeCode,String bsmColumn);
 
 
     void delByAreaOr(String temporaryTable, float minArea, float maxArea);
     void delByAreaOr(String temporaryTable, float minArea, float maxArea);
 
 

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

@@ -205,7 +205,9 @@ public class FzssServiceImpl implements IFzssService {
         //  3.用地类型(性质)筛选
         //  3.用地类型(性质)筛选
         if (fzxzDTO.getUseLandType()) {
         if (fzxzDTO.getUseLandType()) {
             // 与用地性质保持一致,删除不符合用地性质的数据
             // 与用地性质保持一致,删除不符合用地性质的数据
-            tableDateService.delByLandType(temporaryTable, fzxzDTO.getSjy(), fzxzDTO.getYdxz_bsm());
+            String bsmColumn = "kzxxgyddm";
+            if (!fzxzDTO.isInCzkfbj()) bsmColumn = "YDLXDM";
+            tableDateService.delByLandType(temporaryTable, fzxzDTO.getSjy(), fzxzDTO.getYdxz_bsm(), bsmColumn);
             integer = tableDateService.getTableCount(temporaryTable);
             integer = tableDateService.getTableCount(temporaryTable);
             if (integer == 0) {
             if (integer == 0) {
                 iLogService.saveLog(taskId, "辅助选址", "计算完成,未找到符合用地性质条件数据", "info");
                 iLogService.saveLog(taskId, "辅助选址", "计算完成,未找到符合用地性质条件数据", "info");
@@ -584,45 +586,86 @@ public class FzssServiceImpl implements IFzssService {
             String rawTableName = selectionInfo.getSjy();
             String rawTableName = selectionInfo.getSjy();
             String rawItemIds = selectionRes.getDkid();
             String rawItemIds = selectionRes.getDkid();
             List<String> columns = new ArrayList<>();
             List<String> columns = new ArrayList<>();
-            columns.add("dkbm");
-            columns.add("kzxxgydmc");
-            columns.add("jzxgd");
-
-            List<String> rawItemIdList = Arrays.asList(rawItemIds.split(","));
-            // TODO 查询多地块信息
-            List<Map<String, Object>> rawTables = ghdkaMapper.getInfoListByColumn(rawTableName, rawItemIdList, columns);
-
-            // 构建地块返回结果
-            Map<String, Object> dkMap = new HashMap<>();
-            float originValue = 999;
-            for (Map<String, Object> rawTable : rawTables) {
-                String dkbm = (String) rawTable.get("dkbm");
-                dkbm = dkbm == null ? "无" : dkbm;
-                if (dkMap.containsKey("dkbm")) {
-                    dkMap.put("dkbm", dkMap.get("dkbm") + "," + dkbm);// 地块编码
-                } else {
-                    dkMap.put("dkbm", dkbm);// 地块编码
-                }
-                if (dkMap.containsKey("kzxxgydmc")) {
-                    dkMap.put("kzxxgydmc", dkMap.get("kzxxgydmc") + "," + rawTable.get("kzxxgydmc"));// 地块类型
-                } else {
-                    dkMap.put("kzxxgydmc", rawTable.get("kzxxgydmc"));// 地块类型
+
+            if (rawTableName.equals(TB_GHDK)) {//规划地块
+                columns.add("dkbm");// 地块编码
+                columns.add("kzxxgydmc");//用地类型名称
+                columns.add("jzxgd");//建筑限高上限
+
+                List<String> rawItemIdList = Arrays.asList(rawItemIds.split(","));
+                List<Map<String, Object>> rawTables = ghdkaMapper.getInfoListByColumn(rawTableName, rawItemIdList, columns);
+
+                // 构建地块返回结果
+                Map<String, Object> dkMap = new HashMap<>();
+                float originValue = 999;
+                for (Map<String, Object> rawTable : rawTables) {
+                    String dkbm = (String) rawTable.get("dkbm");
+                    dkbm = dkbm == null ? "无" : dkbm;
+                    if (dkMap.containsKey("dkbm")) {
+                        dkMap.put("dkbm", dkMap.get("dkbm") + "," + dkbm);// 地块编码
+                    } else {
+                        dkMap.put("dkbm", dkbm);// 地块编码
+                    }
+                    if (dkMap.containsKey("kzxxgydmc")) {
+                        dkMap.put("kzxxgydmc", dkMap.get("kzxxgydmc") + "," + rawTable.get("kzxxgydmc"));// 地块类型
+                    } else {
+                        dkMap.put("kzxxgydmc", rawTable.get("kzxxgydmc"));// 地块类型
+                    }
+                    if (dkMap.containsKey("jzxgd")) {
+                        if (rawTable.get("jzxgd") != null) {
+                            originValue = (float) rawTable.get("jzxgd") < originValue ? (float) rawTable.get("jzxgd") : originValue;
+                        }
+                    }
                 }
                 }
-                if (dkMap.containsKey("jzxgd")) {
-                    if (rawTable.get("jzxgd") != null) {
-                        originValue = (float) rawTable.get("jzxgd") < originValue ? (float) rawTable.get("jzxgd") : originValue;
+
+                dkMap.put("jzxgd", originValue == 999 ? 0 : originValue);// 限高
+                dkMap.put("landPrice", NumberUtil.double2TwoDecimal(selectionRes.getLandPrice()));// 地价
+                dkMap.put("geom", selectionRes.getGeom());
+                dkMap.put("id", selectionRes.getBsm());
+                dkMap.put("area", NumberUtil.double2TwoDecimal(UnitsUtil.m2ToMu(selectionRes.getArea())));// 面积
+                dkMap.put("landIds", rawItemIdList);
+
+                dkMaps.add(dkMap);
+            } else {//村庄规划地块
+                columns.add("XZQMC");//行政区名称
+                columns.add("YDLXMC");//用地类型名称
+//                columns.add("jzxgd");//建筑限高上限
+
+                List<String> rawItemIdList = Arrays.asList(rawItemIds.split(","));
+                List<Map<String, Object>> rawTables = ghdkaMapper.getInfoListByColumn(rawTableName, rawItemIdList, columns);
+
+                // 构建地块返回结果
+                Map<String, Object> dkMap = new HashMap<>();
+                float originValue = 999;
+                for (Map<String, Object> rawTable : rawTables) {
+                    String dkbm = (String) rawTable.get("XZQMC");
+                    dkbm = dkbm == null ? "无" : dkbm;
+                    if (dkMap.containsKey("dkbm")) {
+                        dkMap.put("dkbm", dkMap.get("dkbm") + "," + dkbm);// 地块编码
+                    } else {
+                        dkMap.put("dkbm", dkbm);// 地块编码
                     }
                     }
+                    if (dkMap.containsKey("kzxxgydmc")) {
+                        dkMap.put("kzxxgydmc", dkMap.get("kzxxgydmc") + "," + rawTable.get("YDLXMC"));// 地块类型
+                    } else {
+                        dkMap.put("kzxxgydmc", rawTable.get("kzxxgydmc"));// 地块类型
+                    }
+//                    if (dkMap.containsKey("jzxgd")) {
+//                        if (rawTable.get("jzxgd") != null) {
+//                            originValue = (float) rawTable.get("jzxgd") < originValue ? (float) rawTable.get("jzxgd") : originValue;
+//                        }
+//                    }
                 }
                 }
-            }
 
 
-            dkMap.put("jzxgd", originValue == 999 ? 0 : originValue);// 限高
-            dkMap.put("landPrice", NumberUtil.double2TwoDecimal(selectionRes.getLandPrice()));// 地价
-            dkMap.put("geom", selectionRes.getGeom());
-            dkMap.put("id", selectionRes.getBsm());
-            dkMap.put("area", NumberUtil.double2TwoDecimal(UnitsUtil.m2ToMu(selectionRes.getArea())));// 面积
-            dkMap.put("landIds", rawItemIdList);
+                dkMap.put("jzxgd", originValue == 999 ? 0 : originValue);// 限高
+                dkMap.put("landPrice", NumberUtil.double2TwoDecimal(selectionRes.getLandPrice()));// 地价
+                dkMap.put("geom", selectionRes.getGeom());
+                dkMap.put("id", selectionRes.getBsm());
+                dkMap.put("area", NumberUtil.double2TwoDecimal(UnitsUtil.m2ToMu(selectionRes.getArea())));// 面积
+                dkMap.put("landIds", rawItemIdList);
 
 
-            dkMaps.add(dkMap);
+                dkMaps.add(dkMap);
+            }
         }
         }
         result.setDks(dkMaps);
         result.setDks(dkMaps);
 
 

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

@@ -117,7 +117,7 @@ public class TableDateServiceImpl implements ITableDateService {
     }
     }
 
 
     @Override
     @Override
-    public void delByLandType(String temporaryTable, String rawTable, String landTypeCode) {
-        tableDataMapper.delByLandType(temporaryTable, rawTable, landTypeCode);
+    public void delByLandType(String temporaryTable, String rawTable, String landTypeCode,String delByLandType) {
+        tableDataMapper.delByLandType(temporaryTable, rawTable, landTypeCode,delByLandType);
     }
     }
 }
 }

+ 1 - 1
onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/GhdkaMapper.xml

@@ -97,7 +97,7 @@
     <select id="getInfoListByColumn" parameterType="map" resultType="map">
     <select id="getInfoListByColumn" parameterType="map" resultType="map">
         SELECT
         SELECT
         <foreach collection="columnList" item="column" separator=",">
         <foreach collection="columnList" item="column" separator=",">
-            ${column}
+            "${column}"
         </foreach>
         </foreach>
         FROM "${tableName}"
         FROM "${tableName}"
         WHERE id::varchar IN
         WHERE id::varchar IN

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

@@ -178,7 +178,7 @@
         WHERE NOT EXISTS (SELECT 1
         WHERE NOT EXISTS (SELECT 1
                           FROM "${rawTable}" raw
                           FROM "${rawTable}" raw
                           WHERE raw.id = temp.id
                           WHERE raw.id = temp.id
-                            AND (raw.kzxxgyddm like '${landTypeCode}%' or raw.kzxxgyddm like '%/${landTypeCode}%'))
+                            AND (raw."${bsmColumn}" like '${landTypeCode}%' or raw."${bsmColumn}" like '%/${landTypeCode}%'))
     </delete>
     </delete>
 
 
     <delete id="delByAreaOr">
     <delete id="delByAreaOr">