From b548f17e642210ac5301db8493b5b5fe28dfab65 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 13 Aug 2018 14:43:56 +0800 Subject: [PATCH] 地图更新 --- src/main/resources/mapper/MonitorPointMapper.xml | 154 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 141 insertions(+), 13 deletions(-) diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml index 33258a0..8ece846 100644 --- a/src/main/resources/mapper/MonitorPointMapper.xml +++ b/src/main/resources/mapper/MonitorPointMapper.xml @@ -1,14 +1,142 @@ -<?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="com.moral.mapper.MonitorPointMapper" > - <select id="getMonitorPointsByAreaName" resultType="com.moral.entity.MonitorPoint"> - SELECT - mp.* - FROM - monitor_point mp, - area a - WHERE - mp.area_code = a.area_code - AND a.area_name = #{areaName} - </select> +<?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="com.moral.mapper.MonitorPointMapper"> + <resultMap id="BaseResultMap" type="com.moral.entity.MonitorPoint"> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="longitude" jdbcType="REAL" property="longitude" /> + <result column="latitude" jdbcType="REAL" property="latitude" /> + <result column="province_code" jdbcType="INTEGER" property="provinceCode" /> + <result column="city_code" jdbcType="INTEGER" property="cityCode" /> + <result column="area_code" jdbcType="INTEGER" property="areaCode" /> + <result column="organization_id" jdbcType="INTEGER" property="organizationId" /> + <result column="address" jdbcType="VARCHAR" property="address" /> + <result column="is_delete" jdbcType="CHAR" property="isDelete" /> + <result column="description" jdbcType="VARCHAR" property="description" /> + <result column="state" jdbcType="INTEGER" property="state" /> + <!-- ������������������������������ --> + <association property="areaNames" javaType="com.moral.entity.AreaNames"> + <result column="province_name" property="provinceName" jdbcType="VARCHAR" /> + <result column="city_name" property="cityName" jdbcType="VARCHAR" /> + <result column="area_name" property="areaName" jdbcType="VARCHAR" /> + <result column="town_name" property="townName" jdbcType="VARCHAR" /> + <result column="village_name" property="villageName" jdbcType="VARCHAR" /> + </association> + <association property="organization" javaType="com.moral.entity.Organization"> + <result column="organization_id" property="id" jdbcType="INTEGER" /> + <result column="organization_name" property="name" jdbcType="VARCHAR" /> + </association> + </resultMap> + <sql id="Example_Where_Clause"> + <where> + <foreach collection="oredCriteria" item="criteria" separator="or"> + <if test="criteria.valid"> + <trim prefix="(" prefixOverrides="and" suffix=")"> + <foreach collection="criteria.criteria" item="criterion"> + <choose> + <when test="criterion.noValue"> + and ${criterion.condition} + </when> + <when test="criterion.singleValue"> + and ${criterion.condition} #{criterion.value} + </when> + <when test="criterion.betweenValue"> + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + </when> + <when test="criterion.listValue"> + and ${criterion.condition} + <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> + #{listItem} + </foreach> + </when> + </choose> + </foreach> + </trim> + </if> + </foreach> + </where> + </sql> + <sql id="Base_Column_List"> + id, name, longitude, latitude, province_code, city_code, area_code, organization_id, + address, is_delete, description + </sql> + <sql id="Relation_Province_City_Area_List"> + are.area_name, cti.city_name, pro.province_name, t.town_name, v.village_name + </sql> + <select id="selectWithAreaNameByExample" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap"> + select + <if test="distinct"> + distinct + </if> + mpt.* , + org.name as organization_name , + <include refid="Relation_Province_City_Area_List" /> + from monitor_point mpt + left join area are on mpt.area_code = are.area_code + left join city cti on mpt.city_code = cti.city_code + left join province pro on mpt.province_code = pro.province_code + left join organization org on mpt.organization_id = org.id + left join town t on mpt.town_code = t.town_code + left join village v on mpt.village_code = v.village_code + where mpt.id in ( + select id from monitor_point + <if test="_parameter != null"> + <include refid="Example_Where_Clause" /> + </if> + <if test="orderByClause != null"> + order by ${orderByClause} + </if> + ) + </select> + <select id="getMonitorPointsByAreaName" resultType="com.moral.entity.MonitorPoint"> + SELECT + mp.* + FROM + monitor_point mp, + area a + <if test="cityName != null"> + ,city c + </if> + WHERE + mp.area_code = a.area_code + AND a.area_name = #{areaName} + <if test="cityName != null"> + AND c.city_name = #{cityName} + AND mp.city_code = c.city_code + </if> + </select> + <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap"> + SELECT mpt.* from monitor_point mpt + <where> + <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> + ( + 1 > 1 + <if test="orgIds!=null and orgIds.size() > 0"> + or mpt.organization_id in + <foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=","> + #{tempOrgId,jdbcType=INTEGER} + </foreach> + </if> + ) + </if> + <![CDATA[ + AND mpt.longitude < #{mapBounds.Ge,jdbcType=NUMERIC} + AND mpt.longitude > #{mapBounds.Le,jdbcType=NUMERIC} + AND mpt.latitude < #{mapBounds.Fe,jdbcType=NUMERIC} + AND mpt.latitude > #{mapBounds.Ke,jdbcType=NUMERIC} + ]]> + <if test="isDelete != null"> + AND mpt.is_delete = #{isDelete,jdbcType=VARCHAR} + </if> + </where> + </select> + <select id="selectOrganizationIds" parameterType="integer" resultType="integer"> + call proc_organizationIds_GetByMonitorPointId(#{id,jdbcType=NUMERIC}) + </select> + <select id="selectVersionsById" parameterType="integer" resultType="integer"> + select version from device_version dve + right join device dev on dve.id = dev.device_version_id + right join monitor_point mpt on mpt.id = dev.monitor_point_id + where mpt.id = #{id} ORDER BY version DESC + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0