数据20250904优化

This commit is contained in:
2025-09-12 04:40:47 +08:00
parent ab6771d33d
commit bfdbc4f42c
14 changed files with 162 additions and 68 deletions

View File

@ -143,16 +143,25 @@
</insert>
<select id="getAllSiteChargeData" resultType="map">
SELECT SUM(t.total_charge_data) AS totalChargedCap,
SUM(t.total_discharge_data) AS totalDischargedCap
SELECT
SUM(t.total_charge_data) AS totalChargedCap,
SUM(t.total_discharge_data) AS totalDischargedCap
FROM ems_daily_charge_data t
LEFT JOIN ems_site_setting ss ON t.site_id = ss.site_id
WHERE t.date_time = #{nowData}
LEFT JOIN ems_site_setting ss ON t.site_id = ss.site_id
INNER JOIN (
SELECT site_id,MAX(date_time) AS latest_date FROM ems_daily_charge_data
WHERE date_time &lt;= #{nowData}
<if test="siteId != null">
and t.site_id = #{siteId}
and site_id = #{siteId}
</if>
AND t.total_charge_data IS NOT NULL
AND t.total_discharge_data IS NOT NULL
AND total_charge_data IS NOT NULL
AND total_discharge_data IS NOT NULL
GROUP BY site_id
) AS latest ON t.date_time = latest.latest_date
and t.site_id = latest.site_id
<if test="siteId != null">
where t.site_id = #{siteId}
</if>
</select>
<select id="getSingleSiteChargeData" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
@ -168,11 +177,34 @@
<select id="getTotalChargeDataByDay" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
SELECT t.date_time AS ammeterDate,
t.total_charge_Data as chargedCap,
t.total_discharge_Data as disChargedCap
SUM(t.charge_data) as chargedCap,
SUM(t.discharge_data) as disChargedCap
FROM ems_daily_charge_data t
WHERE t.site_id = #{siteId}
AND t.date_time BETWEEN #{startDate} AND #{endDate}
group BY ammeterDate
order by ammeterDate
</select>
<select id="getTotalChargeDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
SELECT
DATE_FORMAT(t.date_time, '%Y-%m') AS ammeterMonth,
SUM(t.charge_data) AS chargedCap,
SUM(t.discharge_data) AS disChargedCap
FROM ems_daily_charge_data t
WHERE t.site_id = #{siteId}
AND t.date_time BETWEEN #{startDate} AND #{endDate}
GROUP BY ammeterMonth
ORDER BY ammeterMonth
</select>
<select id="getAllSiteChargeDataByMonth" resultType="com.xzzn.ems.domain.vo.ElectricIndexList">
SELECT
DATE_FORMAT(t.date_time, '%Y-%m') AS dateMonth,
SUM(t.charge_data) AS chargeEnergy,
SUM(t.discharge_data) AS disChargeEnergy
FROM ems_daily_charge_data t
GROUP BY dateMonth
ORDER BY dateMonth
</select>
</mapper>