|
@@ -11,25 +11,40 @@
|
|
|
|
|
|
<select id="getIdByFilter" parameterType="com.onemap.analyse.domain.query.GhdkaFilter"
|
|
|
resultType="java.lang.Integer">
|
|
|
- SELECT id
|
|
|
- FROM "GHDKA" as dk,"#{fzxzXzyzDTO.yzbsm}" as tbName
|
|
|
- where
|
|
|
- id in
|
|
|
+ SELECT dk.id
|
|
|
+ FROM "${sjy}" as dk
|
|
|
+ WHERE
|
|
|
+ dk.id in
|
|
|
<foreach collection="idList" item="id" open="(" separator="," close=")">
|
|
|
#{id}
|
|
|
</foreach>
|
|
|
- and
|
|
|
<if test="fzxzXzyzDTO.spatial_type == 'contain'">
|
|
|
- st_contains ( tbName.geom, dk.geom )
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM "${fzxzXzyzDTO.yzbsm}" as tbName
|
|
|
+ WHERE PUBLIC.st_contains(dk.geom, tbName.geom)
|
|
|
+ )
|
|
|
</if>
|
|
|
<if test="fzxzXzyzDTO.spatial_type == 'n_contain'">
|
|
|
- not st_contains ( tbName.geom, dk.geom )
|
|
|
+ AND NOT EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM "${fzxzXzyzDTO.yzbsm}" as tbName
|
|
|
+ WHERE PUBLIC.st_contains(dk.geom, tbName.geom)
|
|
|
+ )
|
|
|
</if>
|
|
|
<if test="fzxzXzyzDTO.spatial_type == 'identity'">
|
|
|
- st_intersects ( tbName.geom, dk.geom )
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM "${fzxzXzyzDTO.yzbsm}" as tbName
|
|
|
+ WHERE public.st_intersects (dk.geom, tbName.geom)
|
|
|
+ )
|
|
|
</if>
|
|
|
<if test="fzxzXzyzDTO.spatial_type == 'n_identity'">
|
|
|
- not st_intersects ( tbName.geom, dk.geom )
|
|
|
+ AND NOT EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM "${fzxzXzyzDTO.yzbsm}" as tbName
|
|
|
+ WHERE public.st_intersects (dk.geom, tbName.geom)
|
|
|
+ )
|
|
|
</if>
|
|
|
</select>
|
|
|
</mapper>
|