|
|
@@ -70,17 +70,18 @@
|
|
|
<result column="valid_flag" property="validFlag"/>
|
|
|
</resultMap>
|
|
|
|
|
|
- <insert id="add" parameterType="com.siwei.apply.domain.cadastre.Zdjbxx">
|
|
|
+
|
|
|
+ <insert id="add" parameterType="com.siwei.apply.domain.cadastre.Zdjbxx" useGeneratedKeys="true" keyProperty="bsm" keyColumn="bsm">
|
|
|
INSERT INTO vector.zdjbxx (
|
|
|
- bsm, ysdm, bdcdyh, ybzddm, zddm, xmbh, dzjgh, glh, zdtzm, dclxtzm,
|
|
|
+ ysdm, bdcdyh, ybzddm, zddm, xmbh, dzjgh, glh, zdtzm, dclxtzm,
|
|
|
zl, zdmj, mjdw, yt, ghytmc, ydyhfl, dj, jg, jgdw, qllx, qlxz, qlsdfs,
|
|
|
rjl, jzmd, jzxg, zdszd, zdszn, zdszx, zdszb, tfh, djh, dah, dkdm, bz,
|
|
|
zt, djzt, qlrsjsyrlxm, gmjjhyfldm, xmmc, zdmjzyy, tdsjyt, tdsjytmc,
|
|
|
blc, zjzjdmj, zjzmj, jgrq, qsdcjs, gygyqk, sm, dcy, dcrq, bdcchjs,
|
|
|
- cly, clrq, shyj, shr, shrq, dcdwjg, tdzspfwh, tdgywjh, jsydghxkzh,
|
|
|
+ cly, clrq, shyj, shr, shrq, dcdwjg, tdzspfwh, tdgywjh, jsydghxkzh,bdcdyb,
|
|
|
geom, valid_flag
|
|
|
) VALUES (
|
|
|
- #{bsm}, #{ysdm}, #{bdcdyh}, #{ybzddm}, #{zddm}, #{xmbh}, #{dzjgh}, #{glh},
|
|
|
+ #{ysdm}, #{bdcdyh}, #{ybzddm}, #{zddm}, #{xmbh}, #{dzjgh}, #{glh},
|
|
|
#{zdtzm}, #{dclxtzm}, #{zl}, #{zdmj}, #{mjdw}, #{yt}, #{ghytmc}, #{ydyhfl},
|
|
|
#{dj}, #{jg}, #{jgdw}, #{qllx}, #{qlxz}, #{qlsdfs}, #{rjl}, #{jzmd},
|
|
|
#{jzxg}, #{zdszd}, #{zdszn}, #{zdszx}, #{zdszb}, #{tfh}, #{djh}, #{dah},
|
|
|
@@ -88,7 +89,7 @@
|
|
|
#{zdmjzyy}, #{tdsjyt}, #{tdsjytmc}, #{blc}, #{zjzjdmj}, #{zjzmj},
|
|
|
#{jgrq}, #{qsdcjs}, #{gygyqk}, #{sm}, #{dcy}, #{dcrq}, #{bdcchjs},
|
|
|
#{cly}, #{clrq}, #{shyj}, #{shr}, #{shrq}, #{dcdwjg}, #{tdzspfwh},
|
|
|
- #{tdgywjh}, #{jsydghxkzh}, #{geom}, #{validFlag}
|
|
|
+ #{tdgywjh}, #{jsydghxkzh},#{bdcdyb}, public.st_transform(public.st_geomfromewkt(#{geom}), 4326), #{validFlag}
|
|
|
)
|
|
|
</insert>
|
|
|
|
|
|
@@ -207,6 +208,20 @@
|
|
|
WHERE bsm = #{bsm}
|
|
|
</update>
|
|
|
|
|
|
+
|
|
|
+ <update id="updateZtByBsmList" parameterType="List">
|
|
|
+ UPDATE vector.zdjbxx
|
|
|
+ <set>
|
|
|
+ zt = '0'
|
|
|
+ </set>
|
|
|
+ WHERE bsm IN
|
|
|
+ <foreach collection="idList" item="bsm" open="(" separator="," close=")">
|
|
|
+ #{bsm}
|
|
|
+ </foreach>
|
|
|
+ and valid_flag = 0 and zt in ('1','2')
|
|
|
+ </update>
|
|
|
+
|
|
|
+
|
|
|
<delete id="batchDelete">
|
|
|
DELETE FROM vector.zdjbxx
|
|
|
WHERE bsm IN
|
|
|
@@ -345,4 +360,80 @@
|
|
|
ORDER BY LEFT(zd.yt, 2), zd.qlxz
|
|
|
</select>
|
|
|
|
|
|
+ <select id="selectByContainsWkt" resultMap="BaseResultMap">
|
|
|
+ SELECT
|
|
|
+ bsm, ysdm, bdcdyh, ybzddm, zddm, xmbh, dzjgh, glh, zdtzm, dclxtzm,
|
|
|
+ zl, zdmj, mjdw, yt, ghytmc, ydyhfl, dj, jg, jgdw, qllx, qlxz, qlsdfs,
|
|
|
+ rjl, jzmd, jzxg, zdszd, zdszn, zdszx, zdszb, tfh, djh, dah, dkdm, bz,
|
|
|
+ zt, djzt, qlrsjsyrlxm, gmjjhyfldm, xmmc, zdmjzyy, tdsjyt, tdsjytmc,
|
|
|
+ blc, zjzjdmj, zjzmj, jgrq, qsdcjs, gygyqk, sm, dcy, dcrq, bdcchjs,
|
|
|
+ cly, clrq, shyj, shr, shrq, dcdwjg, tdzspfwh, tdgywjh, jsydghxkzh,
|
|
|
+ ST_AsEWKT(geom) as geom, valid_flag
|
|
|
+ FROM vector.zdjbxx
|
|
|
+ WHERE st_contains(ST_Buffer(#{ewkt}::geography,0.1 )::geometry,geom)
|
|
|
+ <if test="rightType != null and rightType != ''">
|
|
|
+ and sm = #{rightType}
|
|
|
+ </if>
|
|
|
+ AND valid_flag = 0 AND zt IN ('1', '2')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 通过出传入的{wktList} string 类型的数据,然后展开为新表,进行一次交集查询 -->
|
|
|
+ <select id="queryByIntersectList" resultType="com.siwei.apply.domain.cadastre.Zdjbxx">
|
|
|
+ SELECT * FROM vector.zdjbxx gd
|
|
|
+ WHERE EXISTS (
|
|
|
+ SELECT 1 FROM unnest(#{wktList}::text[]) t(wkt)
|
|
|
+ WHERE public.ST_Intersects(gd.geom, public.ST_GeomFromEWKT(t.wkt))
|
|
|
+ ) AND valid_flag = 0 AND zt IN ('1', '2')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="selectIntersectByGeom" resultType="com.siwei.apply.domain.cadastre.Zdjbxx">
|
|
|
+ SELECT * FROM vector.zdjbxx
|
|
|
+ WHERE public.ST_Intersects(geom, public.ST_GeomFromEWKT(#{ewkt}))
|
|
|
+ AND valid_flag = 0 AND zt IN ('1', '2')
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 通过出传入的{wktList} Object 类型的数据,通过jsonb进行解析,然后展开成新表进行一次性命中查询 -->
|
|
|
+ <select id="queryMatchSubGeom2" resultType="java.util.Map">
|
|
|
+ SELECT
|
|
|
+ gd.bsm,
|
|
|
+ gd.bdcdyh,
|
|
|
+ gd.ybzddm,
|
|
|
+ gd.zddm,
|
|
|
+ -- 取出子图形内各个业务字段
|
|
|
+ sub ->> 'geom' AS sub_wkt,
|
|
|
+ sub ->> 'tbbh' AS tbbh,
|
|
|
+ sub ->> 'fileRowNo' AS fileRowNo,
|
|
|
+ sub ->> 'sourceArea' AS source_area,
|
|
|
+ -- 可继续取其他属性 sub ->> 'xxx'
|
|
|
+ public.ST_Area(public.ST_GeomFromEWKT(sub ->> 'geom')) AS db_calc_area
|
|
|
+ FROM vector.zdjbxx gd
|
|
|
+ -- 将Java List《!Map-->转为jsonb数组,然后展开
|
|
|
+ CROSS JOIN jsonb_array_elements(#{wktArray}::jsonb) AS t(sub)
|
|
|
+ WHERE
|
|
|
+ public.ST_Contains(
|
|
|
+ gd.geom,
|
|
|
+ public.ST_GeomFromEWKT(sub ->> 'geom')
|
|
|
+ )
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <select id="selectByInvertContainsWkt" resultMap="BaseResultMap">
|
|
|
+ SELECT
|
|
|
+ bsm, ysdm, bdcdyh, ybzddm, zddm, xmbh, dzjgh, glh, zdtzm, dclxtzm,
|
|
|
+ zl, zdmj, mjdw, yt, ghytmc, ydyhfl, dj, jg, jgdw, qllx, qlxz, qlsdfs,
|
|
|
+ rjl, jzmd, jzxg, zdszd, zdszn, zdszx, zdszb, tfh, djh, dah, dkdm, bz,
|
|
|
+ zt, djzt, qlrsjsyrlxm, gmjjhyfldm, xmmc, zdmjzyy, tdsjyt, tdsjytmc,
|
|
|
+ blc, zjzjdmj, zjzmj, jgrq, qsdcjs, gygyqk, sm, dcy, dcrq, bdcchjs,
|
|
|
+ cly, clrq, shyj, shr, shrq, dcdwjg, tdzspfwh, tdgywjh, jsydghxkzh,
|
|
|
+ ST_AsEWKT(geom) as geom, valid_flag
|
|
|
+ FROM vector.zdjbxx
|
|
|
+ WHERE st_contains(ST_Buffer(geom::geography, 0.1)::geometry,st_geomfromewkt(#{ewkt}))
|
|
|
+ <if test="rightType != null and rightType != ''">
|
|
|
+ and sm = #{rightType}
|
|
|
+ </if>
|
|
|
+ AND valid_flag = 0 AND zt IN ('1', '2')
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
</mapper>
|