平台修改意见20251120-点位图表的日数据采用箱线图展示

This commit is contained in:
zq
2025-12-09 14:28:52 +08:00
parent b7aaf85a3f
commit 5f1e621da2
5 changed files with 325 additions and 5 deletions

View File

@ -273,6 +273,30 @@
ORDER BY t.site_id, t.device_id, t.cluster_device_id, valueDate ASC
</select>
<select id="getBatteryPointDataForBoxPlot" 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
FROM ${tableName} t
INNER JOIN ( SELECT site_id, device_id, cluster_device_id,
DATE_FORMAT(create_time, '%Y-%m-%d') AS day_group
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
WHERE t.${tableField} is not null
GROUP BY t.site_id, t.device_id, t.cluster_device_id, pointValue, valueDate
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,
@ -351,6 +375,33 @@
ORDER BY t.site_id, t.device_id, valueDate ASC
</select>
<select id="getCommonPointDataForBoxPlot" 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.${tableField} as pointValue
FROM ${tableName} t
INNER JOIN ( SELECT site_id, device_id, DATE_FORMAT(create_time, '%Y-%m-%d') AS day_group
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>
<if test="deviceId != null and deviceId != ''">
and device_id = #{deviceId}
</if>
GROUP BY site_id, device_id, day_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') = tmp.day_group
WHERE t.${tableField} is not null
GROUP BY t.site_id, t.device_id, pointValue, valueDate
ORDER BY t.site_id, t.device_id, valueDate ASC
</select>
<select id="getSingleSiteDevicePoints" resultType="com.xzzn.ems.domain.vo.PointQueryResponse">
select t.point_name as pointName,
t.data_point as dataPoint,