jinpengyong
2023-12-13 0ac36f61bfbb42c4867afda00e8528ecec60ef74
screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -208,4 +208,33 @@
        </if>
          and mac LIKE "%"#{mac}"%" AND is_delete = 0
    </select>
    <select id="getHeatMap" resultType="java.util.Map">
        SELECT
        d.latitude as lat,
        d.longitude as lng,
        d.mac as mac,
        d.name as name,
        (hd.value ->> '$.a34002' )+0 as count,
        hd.time
        FROM
        device as d
        inner JOIN organization o on o.id = d.organization_id and o.is_delete = 0
        <if test="organizationIds != null and organizationIds.size !=0">
            and organization_id in
            <foreach collection="organizationIds" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        <if test="tableName !=null">
            left join history_hourly${tableName} hd on hd.time = #{start}  and d.mac = hd.mac
        </if>
        <if test="tableName ==null ">
            left join history_daily hd on hd.time = #{start}   and d.mac = hd.mac
        </if>
        WHERE
         d.is_delete = 0
        order by hd.mac
    </select>
</mapper>