Просмотр исходного кода

同步控规数据逻辑新增sfyg判断逻辑

songxy 1 год назад
Родитель
Сommit
249d8b1fac

+ 7 - 0
BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/dao/BjkgMapper.java

@@ -24,11 +24,18 @@ public interface BjkgMapper extends BaseMapper<BjKgDO> {
     default int insertOrUpdate(List<BjKgDO> lists){
         this.delete(null);  //清空表
         for(BjKgDO bjKgDO: lists){
+            if(selectIntersectionAreaRatio(bjKgDO.getShape()) > 0){
+                bjKgDO.setSfyg("1");
+            }else{
+                bjKgDO.setSfyg("0");
+            }
             insertShape(bjKgDO);
         }
         return lists.size();
     }
 
+    Integer selectIntersectionAreaRatio(@Param("shape") Object shape);
+
     Integer insertShape(@Param("entity") BjKgDO entity);
 
     List<BjKgDO> selectListAll();

+ 3 - 0
BJYSYBZ_S/src/main/resources/mapper/BjkgMapper.xml

@@ -83,6 +83,9 @@
         #{entity.shapeArea}
       )
     </insert>
+    <select id="selectIntersectionAreaRatio" resultType="int">
+      SELECT COUNT(1) AS num FROM sde.gdxminfo_bj a WHERE (public.ST_Area(public.ST_Intersection(#{shape}, a.shape), false) / public.ST_Area(a.shape, false)) >= 0.5
+    </select>
     <select id="selectListAll" resultType="com.zjugis.ysgzybz.domain.entity.BjKgDO">
       SELECT dlbm, mj, dymc FROM sde.ybz_bj_kg
     </select>