综合查询页面

This commit is contained in:
2025-09-05 20:31:30 +08:00
parent aa37e2a881
commit 2344cc458c
7 changed files with 423 additions and 85 deletions

View File

@ -158,7 +158,74 @@
</choose>
</sql>
<select id="getPointDataListByMinutes" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
<select id="getBatteryPointDataByMinutes" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
SELECT DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:00') AS valueDate,
site_id as siteId,
device_id as deviceId,
cluster_device_id as parentDeviceId,
${tableField} as pointValue
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
<include refid="commonFilter"/>
GROUP BY valueDate, site_id, device_id,cluster_device_id,pointValue
ORDER BY site_id,device_id,cluster_device_id, valueDate ASC
</select>
<select id="getBatteryPointDataByHours" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
SELECT DATE_FORMAT(t.create_time, '%Y-%m-%d %H:00') AS valueDate,
t.site_id as siteId,
t.device_id as deviceId,
t.${tableField} as pointValue,
t.cluster_device_id as parentDeviceId,
t.create_time AS last_update_time
FROM ${tableName} t
INNER JOIN ( SELECT site_id, device_id, cluster_device_id,
DATE_FORMAT(create_time, '%Y-%m-%d %H:00') AS hour_group,
MAX(create_time) AS max_time
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
<include refid="commonFilter"/>
GROUP BY site_id, device_id,cluster_device_id, hour_group
) tmp ON t.site_id = tmp.site_id
AND t.device_id = tmp.device_id
AND t.cluster_device_id = tmp.cluster_device_id
AND DATE_FORMAT(t.create_time, '%Y-%m-%d %H:00') = tmp.hour_group
AND t.create_time = tmp.max_time
where ${tableField} is not null
ORDER BY t.site_id, t.device_id, t.cluster_device_id, valueDate ASC
</select>
<select id="getBatteryPointDataByDays" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
SELECT DATE_FORMAT(t.create_time, '%Y-%m-%d') AS valueDate,
t.site_id as siteId,
t.device_id as deviceId,
t.cluster_device_id as parentDeviceId,
t.${tableField} as pointValue,
t.create_time AS last_update_time
FROM ${tableName} t
INNER JOIN ( SELECT site_id, device_id, cluster_device_id,
DATE_FORMAT(create_time, '%Y-%m-%d') AS day_group,
MAX(create_time) AS max_time
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
<include refid="commonFilter"/>
GROUP BY site_id, device_id, cluster_device_id, day_group
) tmp ON t.site_id = tmp.site_id
AND t.device_id = tmp.device_id
AND t.cluster_device_id = tmp.cluster_device_id
AND DATE_FORMAT(t.create_time, '%Y-%m-%d') = tmp.day_group
AND t.create_time = tmp.max_time
WHERE t.${tableField} is not null
ORDER BY t.site_id, t.device_id, t.cluster_device_id, valueDate ASC
</select>
<select id="getCommonPointDataByMinutes" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
SELECT DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:00') AS valueDate,
site_id as siteId,
device_id as deviceId,
@ -167,12 +234,15 @@
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
<include refid="commonFilter"/>
GROUP BY valueDate, site_id, device_id,pointValue
ORDER BY site_id, valueDate ASC
AND site_id IN
<foreach collection="siteIds" item="siteId" open="(" close=")" separator=",">
#{siteId}
</foreach>
GROUP BY valueDate, site_id, device_id,pointValue
ORDER BY site_id,device_id, valueDate ASC
</select>
<select id="getPointDataListByHours" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
<select id="getCommonPointDataByHours" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
SELECT DATE_FORMAT(t.create_time, '%Y-%m-%d %H:00') AS valueDate,
t.site_id as siteId,
t.device_id as deviceId,
@ -181,12 +251,15 @@
FROM ${tableName} t
INNER JOIN ( SELECT site_id, device_id, DATE_FORMAT(create_time, '%Y-%m-%d %H:00') AS hour_group,
MAX(create_time) AS max_time
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt; #{endDate}
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
<include refid="commonFilter"/>
GROUP BY site_id, device_id, hour_group
AND site_id IN
<foreach collection="siteIds" item="siteId" open="(" close=")" separator=",">
#{siteId}
</foreach>
GROUP BY site_id, device_id, hour_group
) tmp ON t.site_id = tmp.site_id
AND t.device_id = tmp.device_id
AND DATE_FORMAT(t.create_time, '%Y-%m-%d %H:00') = tmp.hour_group
@ -195,7 +268,7 @@
ORDER BY t.site_id, t.device_id, valueDate ASC
</select>
<select id="getPointDataListByDays" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
<select id="getCommonPointDataByDays" resultType="com.xzzn.ems.domain.vo.GeneralQueryDataVo">
SELECT DATE_FORMAT(t.create_time, '%Y-%m-%d') AS valueDate,
t.site_id as siteId,
t.device_id as deviceId,
@ -203,12 +276,15 @@
t.create_time AS last_update_time
FROM ${tableName} t
INNER JOIN ( SELECT site_id, device_id, DATE_FORMAT(create_time, '%Y-%m-%d') AS day_group,
MAX(create_time) AS max_time
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
<include refid="commonFilter"/>
MAX(create_time) AS max_time
FROM ${tableName}
WHERE create_time &gt;= #{startDate}
AND create_time &lt;= #{endDate}
AND ${tableField} is not null
AND site_id IN
<foreach collection="siteIds" item="siteId" open="(" close=")" separator=",">
#{siteId}
</foreach>
GROUP BY site_id, device_id, day_group
) tmp ON t.site_id = tmp.site_id
AND t.device_id = tmp.device_id