소스 검색

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

songxy 1 년 전
부모
커밋
249d8b1fac
2개의 변경된 파일10개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/dao/BjkgMapper.java
  2. 3 0
      BJYSYBZ_S/src/main/resources/mapper/BjkgMapper.xml

+ 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>