<?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.FwPoliceStationMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="fwPoliceStationResultMap" type="org.sxkj.fw.area.entity.FwPoliceStationEntity">
|
<result column="id" property="id"/>
|
<result column="station_name" property="stationName"/>
|
<result column="address" property="address"/>
|
<result column="longitude" property="longitude"/>
|
<result column="latitude" property="latitude"/>
|
<result column="contact_person" property="contactPerson"/>
|
<result column="contact_phone" property="contactPhone"/>
|
<result column="area_code" property="areaCode"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_dept" property="createDept"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="status" property="status"/>
|
<result column="is_deleted" property="isDeleted"/>
|
</resultMap>
|
|
|
<select id="selectFwPoliceStationPage" resultMap="fwPoliceStationResultMap">
|
select * from ja_fw_police_station
|
<where>
|
is_deleted = 0
|
<if test="param2.id != null and param2.id != ''">
|
and id = #{param2.id}
|
</if>
|
<if test="param2.stationName != null and param2.stationName != ''">
|
and station_name like concat('%', #{param2.stationName}, '%')
|
</if>
|
<if test="param2.address != null and param2.address != ''">
|
and address like concat('%', #{param2.address}, '%')
|
</if>
|
<if test="param2.longitude != null and param2.longitude != ''">
|
and longitude = #{param2.longitude}
|
</if>
|
<if test="param2.latitude != null and param2.latitude != ''">
|
and latitude = #{param2.latitude}
|
</if>
|
<if test="param2.contactPerson != null and param2.contactPerson != ''">
|
and contact_person like concat('%', #{param2.contactPerson}, '%')
|
</if>
|
<if test="param2.contactPhone != null and param2.contactPhone != ''">
|
and contact_phone = #{param2.contactPhone}
|
</if>
|
<if test="param2.areaCode != null and param2.areaCode != ''">
|
and area_code = #{param2.areaCode}
|
</if>
|
<if test="param2.createUser != null and param2.createUser != ''">
|
and create_user = #{param2.createUser}
|
</if>
|
<if test="param2.createDept != null and param2.createDept != ''">
|
and create_dept = #{param2.createDept}
|
</if>
|
<if test="param2.createTime != null and param2.createTime != ''">
|
and create_time = #{param2.createTime}
|
</if>
|
<if test="param2.updateUser != null and param2.updateUser != ''">
|
and update_user = #{param2.updateUser}
|
</if>
|
<if test="param2.updateTime != null and param2.updateTime != ''">
|
and update_time = #{param2.updateTime}
|
</if>
|
<if test="param2.status != null and param2.status != ''">
|
and status = #{param2.status}
|
</if>
|
</where>
|
</select>
|
|
<select id="selectFwPoliceStationList" resultMap="fwPoliceStationResultMap">
|
select * from ja_fw_police_station
|
<where>
|
is_deleted = 0
|
<if test="stationName != null and stationName != ''">
|
and station_name like concat('%', #{stationName}, '%')
|
</if>
|
</where>
|
</select>
|
|
|
<select id="exportFwPoliceStation" resultType="org.sxkj.fw.area.excel.FwPoliceStationExcel">
|
SELECT * FROM ja_fw_police_station ${ew.customSqlSegment}
|
</select>
|
|
<!-- 根据多边形区域查询派出所 -->
|
<!--
|
历史遗留问题:数据库表中 longitude 字段实际存储的是纬度值,latitude 字段实际存储的是经度值
|
解决方案:
|
1. POLYGON:用户输入是标准格式(经度 纬度),不做坐标交换
|
2. POINT:数据库字段存反,构建时交换为 POINT(latitude, longitude)
|
-->
|
<select id="selectByPolygons" resultMap="fwPoliceStationResultMap">
|
SELECT * FROM ja_fw_police_station
|
WHERE is_deleted = 0
|
AND longitude IS NOT NULL
|
AND latitude IS NOT NULL
|
AND (
|
<foreach collection="polygons" item="polygon" separator=" OR ">
|
ST_Contains(
|
ST_SRID(ST_GeomFromText(#{polygon}), 4326),
|
ST_GeomFromText(CONCAT('POINT(', latitude, ' ', longitude, ')'), 4326)
|
)
|
</foreach>
|
)
|
</select>
|
|
</mapper>
|