cjl
2025-01-06 27e6bc3df3e39e0d0b147b155a89ad6837ea972b
screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -237,4 +237,64 @@
         d.is_delete = 0
        order by d.mac
    </select>
    <select id="getHeatMapV1" resultType="com.moral.api.pojo.dto.dataDisplay.HeatMapDTO">
        SELECT
        d.mac as mac,
        d.latitude as lat,
        d.longitude as lng,
        d.name as name,
        (hd.value ->> #{type} ) as count,
        hd.time,
        dm.group_id AS groupId
        FROM
        device as d
        inner JOIN organization o on o.id = d.organization_id and o.is_delete = 0
        <if test="monitorId !=null and monitorId !=''">
            and monitor_point_id =#{monitorId}
        </if>
        <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>
        left JOIN device_map_hierarchy as dm on d.id = dm.device_id
        <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 d.mac
    </select>
    <select id="getPage" resultType="com.moral.api.vo.OnlineRateVo">
        select d.name,d.state,d.mac from device as d where organization_id=#{organizationId}
    </select>
    <select id="getLists" resultType="com.moral.api.vo.OnlineRateVo">
        select d.name,d.state,d.mac from device as d where  is_delete=0
        <if test="macs != null and macs.size !=0">
            and mac in
            <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=",">
                #{mac}
            </foreach>
        </if>
        <if test="state !=null and state == 0" >
            and  state=#{state}
        </if>
        <if test="state !=null and state != 0">
            and  state<![CDATA[>=]]>#{state}
        </if>
    </select>
    <select id="getListVo" resultType="com.moral.api.pojo.vo.device.DeviceVO">
        select * from device  where monitor_point_id=#{monitorPointId} and is_delete=0
    </select>
</mapper>