fengxiang
2018-06-25 9742e7a70ac6e74d114e68ce1bc8f46670b55453
src/main/resources/mapper/MonitorPointMapper.xml
@@ -13,11 +13,14 @@
    <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" />
@@ -58,7 +61,7 @@
      address, is_delete, description
   </sql>
   <sql id="Relation_Province_City_Area_List">
      are.area_name, cti.city_name, pro.province_name
      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
@@ -73,6 +76,8 @@
      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">
@@ -100,10 +105,8 @@
         AND mp.city_code = c.city_code
      </if>
   </select>
   <select id="selectWithStateByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
      SELECT mpt.*,MAX(dev.state) as state from monitor_point mpt
      LEFT JOIN device dev on dev.monitor_point_id = mpt.id
   <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)">
            mpt.organization_id = #{orgId,jdbcType=VARCHAR}
@@ -113,25 +116,19 @@
            AND mpt.longitude > #{mapBounds.Le,jdbcType=NUMERIC}
            AND mpt.latitude  < #{mapBounds.Fe,jdbcType=NUMERIC}
            AND mpt.latitude  > #{mapBounds.Ke,jdbcType=NUMERIC}
          and state<4
         GROUP BY mpt.`id`
            ]]>
      </where>
      UNION
      SELECT mpt.*,MAX(dev.state) as state from monitor_point mpt
      LEFT JOIN device dev on dev.monitor_point_id = mpt.id
      <where>
         <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
            mpt.organization_id = #{orgId,jdbcType=VARCHAR}
         <if test="isDelete != null">
         AND   mpt.is_delete = #{isDelete,jdbcType=VARCHAR}
         </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}
          and state>3
         GROUP BY mpt.`id`
            ]]>
      </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>