xufenglei
2018-04-18 b52c1e137107abbaee8cdea45964def25c952a7f
src/main/resources/mapper/DeviceMapper.xml
@@ -116,22 +116,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 +174,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}
@@ -177,7 +194,7 @@
   </resultMap>
   <!-- resultMap引用 -->
   <select id="selectOrganizationIds" resultType="INTEGER">
      call proc_organization_id_select(#{id,jdbcType=INTEGER});
      call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER});
   </select>
   <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap">
      select
@@ -185,4 +202,30 @@
      from device
      where mac = #{mac,jdbcType=VARCHAR}
   </select>
   <select id="getDeviceCountByRegion" resultType="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>