liutao 1 週間 前
コミット
29ad4cf891

+ 0 - 5
YHYZT/server/src/main/java/com/zjugis/yzt/beans/entity/Pewg.java

@@ -98,11 +98,6 @@ public class Pewg {
      */
     private String nczsj;
 
-    /**
-     * 剩余面积(SQL中忽略该字段)
-     */
-    @TableField(exist = false)
-    private BigDecimal area;
 
     private String shape;
 } 

+ 7 - 0
YHYZT/server/src/main/java/com/zjugis/yzt/controller/PewgController.java

@@ -127,6 +127,13 @@ public class PewgController extends BaseRestController {
         }
         PewgVO vo = new PewgVO();
         BeanUtils.copyProperties(pewg, vo);
+        // 通过数据库st_area(shape)函数获取面积
+        if (pewg.getObjectid() != null) {
+            Double area = pewgService.getAreaById(pewg.getObjectid());
+            if (area != null) {
+                vo.setArea(new java.math.BigDecimal(area));
+            }
+        }
         return vo;
     }
 } 

+ 7 - 0
YHYZT/server/src/main/java/com/zjugis/yzt/dao/PewgMapper.java

@@ -3,6 +3,7 @@ package com.zjugis.yzt.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zjugis.yzt.beans.entity.Pewg;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
 @Mapper
@@ -15,4 +16,10 @@ public interface PewgMapper extends BaseMapper<Pewg> {
      */
     @Update("UPDATE pewg SET shape = st_geometry(#{shape}, #{wkid}) WHERE objectid = #{id}")
     int updateShapeById(Integer id, String shape, int wkid);
+
+    /**
+     * 根据objectid查询shape的面积(平方米)
+     */
+    @Select("SELECT st_area(shape) FROM sde.pewg WHERE objectid = #{objectid}")
+    Double selectAreaById(Integer objectid);
 } 

+ 5 - 0
YHYZT/server/src/main/java/com/zjugis/yzt/service/PewgService.java

@@ -8,4 +8,9 @@ public interface PewgService extends IService<Pewg> {
      * 根据pcbh将st_nzydk中"是否农民建房"为"否"的数据批量插入pewg表,并更新shape
      */
     void importFromNzydkByPcbh(String pcbh);
+
+    /**
+     * 根据objectid获取shape面积(平方米)
+     */
+    Double getAreaById(Integer objectid);
 } 

+ 5 - 1
YHYZT/server/src/main/java/com/zjugis/yzt/service/impl/PewgServiceImpl.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zjugis.yzt.beans.entity.Pewg;
 import com.zjugis.yzt.dao.PewgMapper;
 import com.zjugis.yzt.service.PewgService;
-import com.zjugis.yzt.utils.geocomm.GisUtils;
 import org.springframework.stereotype.Service;
 import com.zjugis.yzt.beans.entity.StNzydk;
 import com.zjugis.yzt.dao.StNzydkMapper;
@@ -82,4 +81,9 @@ public class PewgServiceImpl extends ServiceImpl<PewgMapper, Pewg> implements Pe
             }
         }
     }
+
+    @Override
+    public Double getAreaById(Integer objectid) {
+        return pewgMapper.selectAreaById(objectid);
+    }
 }