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.*,
@@ -116,22 +128,38 @@
   </select>
   <select id="getDeviceVersionIdByMonitorPoint" resultType="map">
      SELECT
      device_version_id deviceVersionId
         device_version_id deviceVersionId
      FROM
      device
         device
      WHERE
      monitor_point_id = #{monitorPoint}
         monitor_point_id = #{monitorPoint}
      GROUP BY
      device_version_id
         device_version_id
   </select>
   <select id="getDeviceVersionIdByAreaCode" resultType="int">
      SELECT DISTINCT
         d.device_version_id
      FROM
         monitor_point mp,
         device d
      WHERE
         mp.area_code = #{areaCode}
         AND d.monitor_point_id = mp.id
      <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>
   </select>
   <select id="getDeviceMacByMonitorPointAndDeviceVersion" resultType="string">
      SELECT
      mac
         mac
      FROM
      device
         device
      WHERE
      monitor_point_id = #{monitorPointId}
      AND device_version_id = #{deviceVersionId}
         monitor_point_id = #{monitorPointId}
         AND device_version_id = #{deviceVersionId}
   </select>
   <select id="selectByOrgIdAndDevName" resultMap="BaseResultMap">
      SELECT dev.*,dve.version as device_version_value from device dev
@@ -158,8 +186,9 @@
      </where>
   </select>
   <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
      SELECT dev.* from device dev
      SELECT dev.*,dve.version as device_version_value from device dev
      left join monitor_point  mpt on dev.monitor_point_id = mpt.id
        left join device_version dve on dev.device_version_id = dve.id
      <where>
         <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
            mpt.organization_id = #{orgId,jdbcType=VARCHAR}
@@ -176,13 +205,41 @@
      <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection>
   </resultMap>
   <!-- resultMap引用 -->
   <select id="selectOrganizationIds" resultType="INTEGER">
      call proc_organization_id_select(#{id,jdbcType=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>