fengxiang
2018-05-08 5f549c4d7bb36ff4dc012fed9ee1e049dbf899a8
src/main/resources/mapper/DeviceMapper.xml
@@ -62,6 +62,18 @@
    id, name, address, longitude, latitude, mac, operate_user_id, state, is_delete, create_time, 
    install_time, monitor_point_id, device_version_id
  </sql>
   <select id="countByTimes"   resultType="java.util.Map">
      select DATE_FORMAT(create_time,#{format}) as time, COUNT(*) as count from device
      where create_time >= #{start}
      and create_time
      <![CDATA[
      <=
      ]]> #{end}
      and is_delete <![CDATA[
      <>
      ]]> 1
      GROUP BY DATE_FORMAT(create_time,#{format}) ;
   </select>
  <select id="selectWithRelationData" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap">
    select
   dev.*,
@@ -193,13 +205,41 @@
      <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection>
   </resultMap>
   <!-- resultMap引用 -->
   <select id="selectOrganizationIds" resultType="INTEGER">
   <select id="selectOrganizationIds" resultType="java.lang.Integer">
      call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER});
   </select>
   <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap">
      select
      id,device_version_id,mac,monitor_point_id
      from device
      where mac = #{mac,jdbcType=VARCHAR}
      dev.*,
      mpt.name as monitor_point_name
      from device dev
        left join monitor_point  mpt on dev.monitor_point_id = mpt.id
      where dev.mac = #{mac,jdbcType=VARCHAR}
   </select>
   <select id="getDeviceCountByRegion" resultType="java.lang.Integer">
      SELECT
         COUNT( * )
      FROM
         device d
      WHERE
         d.is_delete = 0
         AND d.monitor_point_id IN (
            SELECT
               mp.id
            FROM
               monitor_point mp
            WHERE
               mp.is_delete = 0
               <if test="provinceCode != null">
               AND mp.province_code = #{provinceCode}
               </if>
               <if test="cityCode != null">
               AND mp.city_code = #{cityCode}
               </if>
               <if test="areaCode != null">
               AND mp.area_code = #{areaCode}
               </if>
         )
   </select>
</mapper>