فهرست منبع

查询切割后的地块

gushoubang 9 ماه پیش
والد
کامیت
8836759069

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

@@ -447,30 +447,33 @@ public class FzssServiceImpl implements IFzssService {
         // 查询地块信息
         String resourceTable = "";
         List<Integer> dkIds = new ArrayList<>();
+        Map<Integer,FzxzResDTO> dkResMap=new HashMap<>();
         for (FzxzResDTO fzxzResDTO : fzxzResDTOS) {
             resourceTable = fzxzResDTO.getSjyb();
             dkIds.add(fzxzResDTO.getDkid());
+            dkResMap.put(fzxzResDTO.getDkid(),fzxzResDTO);
         }
 
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("sjy", resourceTable);
         paramMap.put("idList", dkIds);
         List<Map<String, Object>> dkSelectMap = ghdkaMapper.getInfo(paramMap);
-        Map<Integer, Map<String, Object>> dksMap = new HashMap<>();
+        Map<Integer, Map<String, Object>> dkRawMap = new HashMap<>();
         for (Map<String, Object> map : dkSelectMap) {
-            dksMap.put((Integer) map.get("id"), map);
+            dkRawMap.put((Integer) map.get("id"), map);
         }
 
         List<Map<String, Object>> dkMaps = new ArrayList<>();
         for (FzxzResDTO fzxzResDTO : fzxzResDTOS) {
             Map<String, Object> dkMap = new HashMap<>();
-            if (dksMap.containsKey(fzxzResDTO.getDkid())) {
-                Map<String, Object> dkInfoMap = dksMap.get(fzxzResDTO.getDkid());
-                dkMap.put("area", dkInfoMap.get("ydmj"));// 面积
+            if (dkRawMap.containsKey(fzxzResDTO.getDkid())) {
+                Integer dkId=fzxzResDTO.getDkid();
+                Map<String, Object> dkInfoMap = dkRawMap.get(fzxzResDTO.getDkid());
                 dkMap.put("dkbm", dkInfoMap.get("dkbm"));// 地块编码
                 dkMap.put("kzxxgydmc", dkInfoMap.get("kzxxgydmc"));// 地块类型
                 dkMap.put("landPrice", fzxzResDTO.getLandPrice());// 地价
-                dkMap.put("geom", dkInfoMap.get("ewkt"));
+                dkMap.put("geom",dkResMap.get(dkId).getGeom());
+                dkMap.put("area", dkResMap.get(dkId).getArea());// 面积
             }
             dkMaps.add(dkMap);
         }