于紫祥_1901
2020-10-21 21ff37f83f27364720bb890cce4b6aa7ffc40562
src/main/resources/mapper/DeviceMapper.xml
@@ -385,9 +385,9 @@
            case when h.json->"$.e18[0]"=0 then 0.1 else h.json->"$.e18[0]" end
            as windSpeed, h.json->"$.e23[0]" as windDir,
            h.json->"$.e17[0]" as tVoc
            from ${table} h ,`device` as d
            from ${table} as h ,`device` as d
            where d.mac=h.mac and h.time=#{time}
                  and d.mac in (select d.mac from device , monitor_point as m where d.monitor_point_id=m.id and m.id=#{id})
         and d.mac in (select d.mac from device , monitor_point as m where d.monitor_point_id=m.id and m.id=#{id})
    </select>
    <select id="getDevicesStateByRegion" resultType="map">
@@ -484,7 +484,8 @@
   </select>
    <select id="selectDevicesAll" parameterType="java.util.Map" resultType="com.moral.entity.Device">
        SELECT dev.id,dev.mac,dev.device_version_id deviceVersionId from device dev
        SELECT dev.name,dev.address,dev.id,dev.state,dev.mac,dev.longitude,dev.latitude,dev.device_version_id
        deviceVersionId from device dev
        left join monitor_point mpt on dev.monitor_point_id = mpt.id
        <where>
            <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
@@ -514,14 +515,50 @@
)
   </select>
   <select id="getDeviceListByMonitorPointIds" resultType="com.moral.entity.Device">
      select * from device where monitor_point_id in
      <foreach  item="item" collection="list" index="index"  open="(" separator="," close=")">#{item}</foreach>
   </select>
    <select id="getMacsByMonitorPointIds" resultType="java.lang.String">
        select mac from device where monitor_point_id in
        <foreach item="item" collection="list" index="index" open="(" separator="," close=")">#{item}</foreach>
        and is_delete=0
    </select>
   <select id="selectAllFieldByMac" resultType="java.util.Map">
    <select id="selectAllFieldByMac" resultType="java.util.Map">
         SELECT *
         FROM device
         WHERE mac = #{mac}
   </select>
    <select id="getDeviceByCode" resultType="java.util.List" resultMap="BaseResultMap">
        select d.* from monitor_point as m,device as d where m.id=d.monitor_point_id
        and m.id
        in
        (SELECT m.id where state!=4
        <if test="areaCode != null">
            and area_code = #{areaCode}
        </if>
        <if test="townCode != null">
            and town_code = #{townCode}
        </if>
        )
    </select>
    <select id="byMacGetDeviceAndWind" resultType="com.moral.entity.DeviceAndWind">
         select d.longitude as longitude,d.latitude as latitude,
            case when h.json->"$.e18[0]"=0 then 0.1 else h.json->"$.e18[0]" end
            as windSpeed, h.json->"$.e23[0]" as windDir,
            h.json->"$.e17[0]" as tVoc
            from ${table} as h ,`device` as d
            where d.mac=h.mac and h.time=#{time}
         and d.mac=#{mac}
    </select>
    <select id="getDeviceByCodeAndId" resultType="com.moral.entity.Device" resultMap="BaseResultMap">
        select * from device where monitor_point_id in(
                    SELECT mpt.id
                    FROM monitor_point mpt,organization org
                    where mpt.organization_id=org.id
                    and org.id=#{id}
                    )
    </select>
    <select id="byMacGetOrgId" resultType="java.lang.String">
            SELECT organization_id FROM `monitor_point` as mt ,device as d where d.monitor_point_id=mt.id and mac=#{mac}
    </select>
</mapper>