xufenglei
2019-07-22 06425536454fa2bc15fc2aaf1c59d7d78571fc80
src/main/resources/mapper/DeviceMapper.xml
@@ -1,39 +1,58 @@
<?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.DeviceMapper">
  <resultMap id="BaseResultMap" type="com.moral.entity.Device">
    <id column="id" jdbcType="INTEGER" property="id" />
    <result column="name" jdbcType="VARCHAR" property="name" />
    <result column="address" jdbcType="VARCHAR" property="address" />
    <result column="longitude" jdbcType="REAL" property="longitude" />
    <result column="latitude" jdbcType="REAL" property="latitude" />
    <result column="mac" jdbcType="VARCHAR" property="mac" />
    <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" />
    <result column="state" jdbcType="CHAR" property="state" />
    <result column="is_delete" jdbcType="CHAR" property="isDelete" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="install_time" jdbcType="TIMESTAMP" property="installTime" />
    <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" />
    <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" />
   <result column="profession_id" jdbcType="INTEGER" property="professionId" />
     <association property="operateUser" javaType="com.moral.entity.OperateUser">
        <result column="operate_user_id" property="id" jdbcType="INTEGER" />
        <result column="operate_user_name" property="name" jdbcType="VARCHAR" />
     </association>
     <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion">
        <result column="device_version_id" property="id" jdbcType="INTEGER" />
        <result column="device_version_value" property="version" jdbcType="INTEGER" />
        <result column="device_version_name" property="name" jdbcType="VARCHAR" />
     </association>
     <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint">
        <result column="monitor_point_id" property="id" jdbcType="INTEGER" />
        <result column="monitor_point_name" property="name" jdbcType="VARCHAR" />
     </association>
     <association property="profession" javaType="com.moral.entity.Profession">
        <result column="profession_id" property="id" jdbcType="INTEGER" />
        <result column="profession_name" property="name" jdbcType="VARCHAR" />
     </association>
  </resultMap>
   <resultMap id="ResultMap" type="com.moral.entity.Device">
      <id column="id" jdbcType="INTEGER" property="id" />
      <result column="name" jdbcType="VARCHAR" property="name" />
      <result column="address" jdbcType="VARCHAR" property="address" />
      <result column="longitude" jdbcType="DOUBLE" property="longitude" />
      <result column="latitude" jdbcType="DOUBLE" property="latitude" />
      <result column="mac" jdbcType="VARCHAR" property="mac" />
      <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" />
      <result column="state" jdbcType="CHAR" property="state" />
      <result column="is_delete" jdbcType="CHAR" property="isDelete" />
      <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
      <result column="install_time" jdbcType="TIMESTAMP" property="installTime" />
      <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" />
      <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" />
      <result column="profession_id" jdbcType="INTEGER" property="professionId" />
   </resultMap>
   <resultMap id="BaseResultMap" type="com.moral.entity.Device" extends="ResultMap">
      <association property="operateUser" javaType="com.moral.entity.OperateUser">
         <result column="operate_user_id" property="id" jdbcType="INTEGER" />
         <result column="operate_user_name" property="name" jdbcType="VARCHAR" />
      </association>
      <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion">
         <result column="device_version_id" property="id" jdbcType="INTEGER" />
         <result column="device_version_value" property="version" jdbcType="INTEGER" />
         <result column="device_version_name" property="name" jdbcType="VARCHAR" />
      </association>
      <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint">
         <result column="monitor_point_id" property="id" jdbcType="INTEGER" />
         <result column="monitor_point_name" property="name" jdbcType="VARCHAR" />
         <result column="province_code" property="provinceCode" jdbcType="VARCHAR" />
      </association>
      <association property="profession" javaType="com.moral.entity.Profession">
         <result column="profession_id" property="id" jdbcType="INTEGER" />
         <result column="profession_name" property="name" jdbcType="VARCHAR" />
      </association>
   </resultMap>
   <resultMap id="PropertyResultMap" type="com.moral.entity.Device" extends="BaseResultMap">
      <association property="deviceProperty" javaType="com.moral.entity.DeviceProperty">
         <result column="id" property="id" jdbcType="INTEGER" />
         <result column="device_tech" property="deviceTech" jdbcType="TINYINT" />
         <result column="device_cat" property="deviceCat" jdbcType="TINYINT" />
         <result column="device_source" property="deviceSource" jdbcType="VARCHAR" />
         <result column="ext_c" property="extC" jdbcType="VARCHAR" />
         <result column="ext_d" property="extD" jdbcType="VARCHAR" />
      </association>
   </resultMap>
   <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap">
      <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection>
   </resultMap>
   <sql id="Example_Where_Clause">
      <where>
         <foreach collection="oredCriteria" item="criteria" separator="or">
@@ -238,12 +257,12 @@
            AND dev.latitude  < #{mapBounds.Fe,jdbcType=NUMERIC}
            AND dev.latitude  > #{mapBounds.Ke,jdbcType=NUMERIC}
            ]]>
           <if test="regionCode != null">
           AND mpt.${regionType}_code = #{regionCode}
           </if>
         AND dev.is_delete =0
      </where>
   </select>
   <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap">
      <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection>
   </resultMap>
   <!-- resultMap引用 -->
   <select id="selectOrganizationIds" resultType="java.lang.Integer">
      call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER});
@@ -333,23 +352,6 @@
         </if>
   </select>
   <resultMap id="ResultMap" type="com.moral.entity.Device">
      <id column="id" jdbcType="INTEGER" property="id" />
      <result column="name" jdbcType="VARCHAR" property="name" />
      <result column="address" jdbcType="VARCHAR" property="address" />
      <result column="longitude" jdbcType="DOUBLE" property="longitude" />
      <result column="latitude" jdbcType="DOUBLE" property="latitude" />
      <result column="mac" jdbcType="VARCHAR" property="mac" />
      <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" />
      <result column="state" jdbcType="CHAR" property="state" />
      <result column="is_delete" jdbcType="CHAR" property="isDelete" />
      <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
      <result column="install_time" jdbcType="TIMESTAMP" property="installTime" />
      <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" />
      <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" />
      <result column="profession_id" jdbcType="INTEGER" property="professionId" />
   </resultMap>
   <select id="getDevicesByOrganizationId" resultMap="ResultMap">
      SELECT
         d.* 
@@ -384,4 +386,36 @@
      </if>
      </where>
   </select>
   <select id="getDeviceList" resultMap="PropertyResultMap">
      select
         dev.*,
         ouser.name as operate_user_name,
         dvn.name as device_version_name,
         mpt.name as monitor_point_name,
         mpt.province_code,
         dp.device_tech,
         dp.device_cat,
         dp.device_source,
         dp.ext_c,
         dp.ext_d
      from device dev
      left join operate_user ouser on dev.operate_user_id = ouser.id
      left join device_version dvn on dev.device_version_id = dvn.id
      left join monitor_point mpt on dev.monitor_point_id = mpt.id
      left join device_property dp on dev.id = dp.id
      where dev.id in (
         select id from device
         <if test="_parameter != null">
            <include refid="Example_Where_Clause" />
         </if>
         <if test="orderByClause != null">
            order by ${orderByClause}
         </if>
      )
   </select>
   <select id="getLimitDataByDevice" resultType="String">
      SELECT limit_val FROM view_device_density WHERE mac = #{mac}
   </select>
</mapper>