fix graf v sql
This commit is contained in:
@@ -120,18 +120,23 @@ async def get_current_plan(
|
|||||||
run_id = run_row["id"]
|
run_id = run_row["id"]
|
||||||
int_rows = await conn.fetch(
|
int_rows = await conn.fetch(
|
||||||
"""
|
"""
|
||||||
WITH latest_fc AS (
|
WITH fc_slot AS (
|
||||||
SELECT id
|
SELECT
|
||||||
FROM ems.forecast_pv_run
|
interval_start,
|
||||||
WHERE site_id = $2 AND status = 'ok'
|
COALESCE(SUM(power_w), 0)::BIGINT AS pv_forecast_total_w
|
||||||
ORDER BY created_at DESC
|
FROM (
|
||||||
LIMIT 1
|
SELECT DISTINCT ON (fpi.interval_start, fpr.pv_array_id)
|
||||||
),
|
fpi.interval_start,
|
||||||
fc_slot AS (
|
fpi.power_w
|
||||||
SELECT fpi.interval_start, COALESCE(SUM(fpi.power_w), 0)::BIGINT AS pv_forecast_total_w
|
|
||||||
FROM ems.forecast_pv_interval fpi
|
FROM ems.forecast_pv_interval fpi
|
||||||
WHERE fpi.run_id = (SELECT id FROM latest_fc)
|
JOIN ems.forecast_pv_run fpr ON fpr.id = fpi.run_id
|
||||||
GROUP BY fpi.interval_start
|
JOIN ems.asset_pv_array apa
|
||||||
|
ON apa.id = fpr.pv_array_id AND apa.site_id = fpr.site_id
|
||||||
|
WHERE fpr.site_id = $2
|
||||||
|
AND fpr.status = 'ok'
|
||||||
|
ORDER BY fpi.interval_start, fpr.pv_array_id, fpr.created_at DESC
|
||||||
|
) latest_per_array
|
||||||
|
GROUP BY interval_start
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
pi.*,
|
pi.*,
|
||||||
|
|||||||
Reference in New Issue
Block a user