1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
| <?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
| <mapper namespace="org.sxkj.fw.area.mapper.FwAreaDivideExtMapper">
|
| <!-- 通用查询映射结果 -->
| <resultMap id="fwAreaDivideExtResultMap" type="org.sxkj.fw.area.vo.FwAreaDivideExtVO">
| <result column="id" property="id"/>
| <result column="area_divide_id" property="areaDivideId"/>
| <result column="area_type_key" property="areaTypeKey"/>
| <result column="area_type_value" property="areaTypeValue"/>
| <result column="geom" property="geom"/>
| <result column="area_code" property="areaCode"/>
| </resultMap>
|
| <select id="getByAreaDivideId" resultMap="fwAreaDivideExtResultMap">
| select
| id,
| area_divide_id,
| area_type_key,
| area_type_value,
| case
| when geom is null then null
| when ST_SRID(geom) is null
| or ST_SRID(geom) = 0 then ST_AsText(geom)
| else concat(ST_AsText(ST_SwapXY(geom)), ' | ', ST_SRID(geom))
| end as geom,
| area_code,
| create_user,
| create_dept,
| create_time,
| update_user,
| update_time,
| status,
| is_deleted
| from ja_fw_area_divide_ext where is_deleted = 0 and area_divide_id = #{areaDivideId}
| </select>
|
|
| <select id="selectFwAreaDivideExtPage" resultMap="fwAreaDivideExtResultMap">
| select * from ja_fw_area_divide_ext where is_deleted = 0
| </select>
|
| <select id="exportFwAreaDivideExt" resultType="org.sxkj.fw.area.excel.FwAreaDivideExtExcel">
| SELECT * FROM ja_fw_area_divide_ext ${ew.customSqlSegment}
| </select>
|
| <insert id="insertBatchWithGeom">
| insert into ja_fw_area_divide_ext (
| area_divide_id,
| area_type_key,
| area_type_value,
| geom,
| area_code,
| create_user,
| create_dept,
| create_time,
| update_user,
| update_time,
| status,
| is_deleted
| ) values
| <foreach collection="list" item="item" separator=",">
| (
| #{item.areaDivideId},
| #{item.areaTypeKey},
| #{item.areaTypeValue},
| <choose>
| <when test="item.geom != null and item.geom != ''">
| case
| when instr(#{item.geom}, '|') > 0 then ST_SRID(
| ST_GeomFromText(trim(substring_index(#{item.geom}, '|', 1))),
| cast(trim(substring_index(#{item.geom}, '|', -1)) as unsigned)
| )
| else ST_GeomFromText(trim(#{item.geom}))
| end
| </when>
| <otherwise>null</otherwise>
| </choose>,
| #{item.areaCode},
| #{item.createUser},
| #{item.createDept},
| #{item.createTime},
| #{item.updateUser},
| #{item.updateTime},
| IFNULL(#{item.status}, '0'),
| IFNULL(#{item.isDeleted}, 0)
| )
| </foreach>
| </insert>
|
| </mapper>
|
|