xufenglei
2018-12-12 c3a445185ee6e016718402ab3e807450b498c901
src/main/resources/mapper/DeviceMapper.xml
@@ -238,6 +238,9 @@
            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>
@@ -252,14 +255,15 @@
      select
      dev.*,
      mpt.name as monitor_point_name,
      pro.name as profession_name
      pro.name as profession_name,
      dvn.version as device_version_value
      from device dev
      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 profession  pro on pro.id = dev.profession_id
      where dev.mac = #{mac,jdbcType=VARCHAR}
      limit 0,1
   </select>
   <select id="getDeviceCountByRegion" resultType="java.lang.Integer">
      SELECT
         COUNT( * ) 
@@ -294,7 +298,6 @@
         AND d.profession_id = #{professionId}
         </if>
   </select>
   <select id="getDevicesByProfession" resultType="com.moral.entity.Device">
      SELECT
         * 
@@ -332,4 +335,56 @@
         AND d.profession_id = #{professionId}
         </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.*
      FROM
         device d,
         monitor_point mp
      WHERE
         d.monitor_point_id = mp.id
         AND d.is_delete = 0
         AND mp.is_delete = 0
         AND mp.organization_id = #{organizationId}
   </select>
   <select id="getDevicesStateByRegion" resultType="map">
      SELECT
         d.id deviceId,d.mac,d.state,d.name deviceName,
         mp.id,mp.name
      FROM
         device d ,
         monitor_point mp
      <where>
         d.monitor_point_id = mp.id
         AND d.is_delete = 0
         AND mp.is_delete = 0
         AND mp.${regionType}_code = #{regionCode}
      <if test="orgIds != null and orgIds.size &gt; 0">
         AND mp.organization_id IN
         <foreach  collection="orgIds" open="(" separator="," close=")" item="listItem">
            #{listItem}
         </foreach>
      </if>
      </where>
   </select>
</mapper>