|  |  | 
 |  |  |         AND `time` <![CDATA[<]]> #{end} | 
 |  |  |         ORDER BY `time` | 
 |  |  |     </select> | 
 |  |  |     <select id="deviceList" resultType="java.util.Map"> | 
 |  |  |         SELECT | 
 |  |  |             t.latitude as latitude, | 
 |  |  |             t.longitude as longitude, | 
 |  |  |             t.mac as mac, | 
 |  |  |             t.state,(hf.value ->> #{type} )+0 as ${sensorCode} | 
 |  |  |         FROM | 
 |  |  |             device t | 
 |  |  |         inner JOIN monitor_point p on p.id = t.monitor_point_id and p.is_delete = 0 | 
 |  |  |                 and p.organization_id in ( | 
 |  |  |                     SELECT id FROM ( | 
 |  |  |                     SELECT id, parent_id, name FROM organization  WHERE id = #{organizationId} | 
 |  |  |                     UNION ALL | 
 |  |  |                     SELECT i.id, i.parent_id, i.name | 
 |  |  |                     FROM organization  i | 
 |  |  |                     INNER JOIN ( | 
 |  |  |                     SELECT * FROM ( | 
 |  |  |                     SELECT id, parent_id, name FROM organization  WHERE id = #{organizationId} | 
 |  |  |                     UNION ALL | 
 |  |  |                     SELECT id, parent_id, name FROM organization WHERE parent_id = #{organizationId} | 
 |  |  |                     ) t1 | 
 |  |  |                     ) t2 ON i.parent_id = t2.id | 
 |  |  |                     where i.is_delete = 0 | 
 |  |  |                     ) t3 | 
 |  |  |                     ) | 
 |  |  |         <if test="region != null"> | 
 |  |  |             and p.${region} = #{regionCode} | 
 |  |  |         </if> | 
 |  |  |         <if test="endHourlyTime !=null and endHourlyTime != ''"> | 
 |  |  |             left join history_hourly_${times} hf on hf.time =#{endHourlyTime}  and t.mac = hf.mac | 
 |  |  |         </if> | 
 |  |  |         <if test="endHourlyTime ==null"> | 
 |  |  |             left join history_five_minutely_${times} hf on hf.time = (select max(time) from history_five_minutely_${times} LIMIT 1 | 
 |  |  |             ) and t.mac = hf.mac | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         WHERE | 
 |  |  |             t.state <![CDATA[ <> ]]> '0'  and t.is_delete = 0 | 
 |  |  |         order by t.id desc | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="deviceIdList" resultType="java.lang.Integer"> | 
 |  |  |         SELECT | 
 |  |  |             t.id | 
 |  |  |         FROM | 
 |  |  |             device t | 
 |  |  |                 INNER JOIN monitor_point p ON p.id = t.monitor_point_id | 
 |  |  |                 AND p.is_delete = 0 | 
 |  |  |                 AND p.organization_id IN ( | 
 |  |  |                     SELECT | 
 |  |  |                         id | 
 |  |  |                     FROM | 
 |  |  |                         ( | 
 |  |  |                             SELECT | 
 |  |  |                                 id, | 
 |  |  |                                 parent_id, | 
 |  |  |                                 NAME | 
 |  |  |                             FROM | 
 |  |  |                                 organization | 
 |  |  |                             WHERE | 
 |  |  |                                 id = #{organizationId} UNION ALL | 
 |  |  |                             SELECT | 
 |  |  |                                 i.id, | 
 |  |  |                                 i.parent_id, | 
 |  |  |                                 i.NAME | 
 |  |  |                             FROM | 
 |  |  |                                 organization i | 
 |  |  |                                     INNER JOIN ( | 
 |  |  |                                     SELECT | 
 |  |  |                                         * | 
 |  |  |                                     FROM | 
 |  |  |                                         ( | 
 |  |  |                                             SELECT | 
 |  |  |                                                 id, | 
 |  |  |                                                 parent_id, | 
 |  |  |                                                 NAME | 
 |  |  |                                             FROM | 
 |  |  |                                                 organization | 
 |  |  |                                             WHERE | 
 |  |  |                                                 id = #{organizationId} UNION ALL | 
 |  |  |                                             SELECT | 
 |  |  |                                                 id, | 
 |  |  |                                                 parent_id, | 
 |  |  |                                                 NAME | 
 |  |  |                                             FROM | 
 |  |  |                                                 organization | 
 |  |  |                                             WHERE | 
 |  |  |                                                 parent_id = #{organizationId} | 
 |  |  |                                         ) t1 | 
 |  |  |                                 ) t2 ON i.parent_id = t2.id | 
 |  |  |                             WHERE | 
 |  |  |                                 i.is_delete = 0 | 
 |  |  |                         ) t3 | 
 |  |  |                 ) | 
 |  |  |         WHERE | 
 |  |  |             t.is_delete = 0 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="deviceOrgIdList" resultType="java.lang.Integer"> | 
 |  |  |         SELECT | 
 |  |  |             id | 
 |  |  |         FROM | 
 |  |  |             ( | 
 |  |  |                 SELECT | 
 |  |  |                     id, | 
 |  |  |                     parent_id, | 
 |  |  |                     NAME | 
 |  |  |                 FROM | 
 |  |  |                     organization | 
 |  |  |                 WHERE | 
 |  |  |                     id = #{organizationId} UNION ALL | 
 |  |  |                 SELECT | 
 |  |  |                     i.id, | 
 |  |  |                     i.parent_id, | 
 |  |  |                     i.NAME | 
 |  |  |                 FROM | 
 |  |  |                     organization i | 
 |  |  |                         INNER JOIN ( | 
 |  |  |                         SELECT | 
 |  |  |                             * | 
 |  |  |                         FROM | 
 |  |  |                             ( | 
 |  |  |                                 SELECT | 
 |  |  |                                     id, | 
 |  |  |                                     parent_id, | 
 |  |  |                                     NAME | 
 |  |  |                                 FROM | 
 |  |  |                                     organization | 
 |  |  |                                 WHERE | 
 |  |  |                                     id = #{organizationId} UNION ALL | 
 |  |  |                                 SELECT | 
 |  |  |                                     id, | 
 |  |  |                                     parent_id, | 
 |  |  |                                     NAME | 
 |  |  |                                 FROM | 
 |  |  |                                     organization | 
 |  |  |                                 WHERE | 
 |  |  |                                     parent_id = #{organizationId} | 
 |  |  |                             ) t1 | 
 |  |  |                     ) t2 ON i.parent_id = t2.id | 
 |  |  |                 WHERE | 
 |  |  |                     i.is_delete = 0 | 
 |  |  |             ) t3 | 
 |  |  |     </select> | 
 |  |  | </mapper> |