Procházet zdrojové kódy

提供图斑查询项目信息

chenendian před 6 měsíci
rodič
revize
08c6a3288e

+ 38 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/NodeLandController.java

@@ -1,13 +1,15 @@
 package com.siwei.apply.controller;
 
+import com.siwei.apply.domain.Project;
 import com.siwei.apply.service.NodeLandService;
+import com.siwei.apply.service.ProjectService;
 import com.siwei.common.core.domain.R;
 import com.siwei.common.core.web.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
@@ -20,6 +22,9 @@ public class NodeLandController extends BaseController {
     @Autowired
     private NodeLandService nodeLandService;
 
+    @Autowired
+    private ProjectService projectService;
+
     /**
      * 根据nodeId和geomDbId创建节点地块关联记录
      *
@@ -110,4 +115,35 @@ public class NodeLandController extends BaseController {
             return R.fail("删除节点地块关联记录异常:" + e.getMessage());
         }
     }
+
+
+    @GetMapping("/projectGeomInfo")
+    public R<Map<String, String>> getProjectGeomInfo(@RequestParam String projectId,
+                                                               @RequestParam String nodeId, @RequestParam String geomId) {
+        try {
+            if (projectId == null || projectId.trim().isEmpty()) {
+                return R.fail(502,"projectId不能为空");
+            }
+            if (geomId == null || geomId.trim().isEmpty()) {
+                return R.fail(502,"geomId不能为空");
+            }
+            Map<String, String> projectGeomInfo = new LinkedHashMap<>();
+            Project project =  projectService.get(projectId);
+            Map<String, String> geomInfo = nodeLandService.selectGeomById(geomId);
+            projectGeomInfo.put("projectId", project.getId());
+            projectGeomInfo.put("name", project.getName());
+            projectGeomInfo.put("code", project.getCode());
+            projectGeomInfo.put("immobileCode", project.getId());
+            projectGeomInfo.put("businessCode", project.getId());
+            projectGeomInfo.put("area", String.format("%.1f", geomInfo.get("geom_area")));
+            return R.ok(projectGeomInfo);
+        } catch (Exception e) {
+            logger.error("根据项目与节点表名查询地块几何信息异常", e);
+            return R.fail("查询异常:" + e.getMessage());
+        }
+    }
+
+
+
+
 }

+ 1 - 4
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/NodeLandMapper.java

@@ -50,14 +50,11 @@ public interface NodeLandMapper {
     String selectNodeIdsByProjectIdAndNodeTableName(@Param("projectId") String projectId,
                                                     @Param("nodeTableName") String nodeTableName);
 
-
     NodeLand selectByNodeId(@Param("nodeId")String nodeId);
 
-
-    List<Map<String, String>> selectTGeomDbDetailsByNodeId(@Param("nodeId")String nodeId);
+    List<Map<String, String>> selectTGeomDbDetailsByNodeId(@Param("nodeId")String nodeId, @Param("geomId")String geomId);
 
     Map<String, String> selectGeomContainsNode(@Param("detailsId")String detailsId);
 
 
-
 }

+ 3 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/NodeLandService.java

@@ -51,6 +51,9 @@ public interface NodeLandService {
 
     Map<String,String> selectGeomContainsNode(String geomDetailsId);
 
+    Map<String, String> selectGeomById(String geomDetailsId) ;
+
+
 
 
 

+ 11 - 1
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/NodeLandImpl.java

@@ -189,7 +189,7 @@ public class NodeLandImpl implements NodeLandService {
     @Override
     public List<Map<String,String>> selectTGeomDbDetailsByNodeId(String nodeId) {
         // 获取地块 空间数据ID
-        return nodeLandMapper.selectTGeomDbDetailsByNodeId(nodeId);
+        return nodeLandMapper.selectTGeomDbDetailsByNodeId(nodeId,null);
     }
 
 
@@ -198,5 +198,15 @@ public class NodeLandImpl implements NodeLandService {
         return nodeLandMapper.selectGeomContainsNode(geomDetailsId);
     }
 
+    @Override
+    public Map<String, String> selectGeomById(String geomDetailsId) {
+        List<Map<String, String>>  list =  nodeLandMapper.selectTGeomDbDetailsByNodeId(null,geomDetailsId);
+        if(CollectionUtils.isNotEmpty(list)){
+            return list.get(0);
+        }
+        return null;
+    }
+
+
 
 }

+ 11 - 1
siwei-modules/siwei-apply/src/main/resources/mapper/NodeLandMapper.xml

@@ -97,7 +97,15 @@
         select  details.id, public.st_asewkt(details.geom) AS  geom, details.upload_id, details.geom_json, details.sort, details.geom_area
         from t_geom_db_details  details
                  INNER JOIN   t_node_land node    on  node.geom_db_id=details.upload_id
-        WHERE node.node_id =#{nodeId}
+        <where>
+            1=1
+            <if test="nodeId != null">
+               AND node.node_id =#{nodeId}
+            </if>
+            <if test="geomId != null">
+                AND details.id =#{geomId}
+            </if>
+        </where>
     </select>
 
     <select id="selectGeomContainsNode" parameterType="String" resultType="map">
@@ -110,4 +118,6 @@
     </select>
 
 
+
+
 </mapper>