From 20c713f6db9e7490371d11b3e5c98a2cb04b78fa Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 20 Oct 2023 17:34:29 +0800
Subject: [PATCH] 补充提交
---
screen-api/src/main/resources/mapper/DeviceMapper.xml | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 151 insertions(+), 2 deletions(-)
diff --git a/screen-api/src/main/resources/mapper/DeviceMapper.xml b/screen-api/src/main/resources/mapper/DeviceMapper.xml
index 04fd460..abda196 100644
--- a/screen-api/src/main/resources/mapper/DeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -39,8 +39,157 @@
<foreach collection="macs" item="mac" index="index" open="(" close=")" separator=",">
#{mac}
</foreach>
- AND `time` <![CDATA[>=]]> #{start}
- AND `time` <![CDATA[<]]> #{end}
+ AND DATE_FORMAT(`time`,'%Y-%m-%d %H') <![CDATA[>=]]> #{start}
+ AND DATE_FORMAT(`time`,'%Y-%m-%d %H') <![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>
+ <select id="deviceMacs" resultType="java.lang.String">
+ select mac from device where organization_id = #{organizationId} order by id desc
+
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0