dalsi
Some checks failed
CI and deploy / migration-check (push) Failing after 23s
CI and deploy / deploy (push) Has been skipped

This commit is contained in:
Dusan Vojacek
2026-05-29 23:34:16 +02:00
parent 308c24f029
commit d3e9caf0fb
5 changed files with 154 additions and 11 deletions

View File

@@ -874,7 +874,7 @@ begin
end if;
end loop;
-- v43: levný grid před prvním sell<0, když tentýž den večer (≥17h) dává arbitráž buy→sell.
-- v43: levný grid před prvním sell<0 jen na dnech BEZ sell<0 (normální arbitráž odpoledne→večer).
update _ems_plan_slot_wk wk
set allow_charge = true,
allow_grid_charge = true,
@@ -899,12 +899,25 @@ begin
and wk.buy_price >= 0
and wk.buy_price + v_degrad_czk_kwh < ep.evening_peak_sell
and extract(hour from wk.interval_start at time zone 'Europe/Prague')
< v_evening_peak_start_hour
and (
v_first_neg_sell_ord is null
or wk.slot_ord < v_first_neg_sell_ord
between 11 and 16
and not exists (
select 1
from _ems_plan_slot_wk wn
where wn.sell_price < 0
and (wn.interval_start at time zone 'Europe/Prague')::date = ep.plan_date
);
-- v44: neg den — žádné grid nabíjení před 1. sell<0 (místo pro FVE; ne 3 Kč místo 0,5 Kč v okně).
if v_first_neg_sell_ord is not null and v_first_neg_prague_date is not null then
update _ems_plan_slot_wk wk
set allow_charge = false,
allow_grid_charge = false,
grid_charge_suppressed_reason = 'neg_day_no_grid_before_neg_sell'
where wk.slot_ord < v_first_neg_sell_ord
and (wk.interval_start at time zone 'Europe/Prague')::date = v_first_neg_prague_date
and wk.allow_grid_charge;
end if;
-- Ranní pásmo před prvním sell<0 (511 Prague): lokální peak, ne půlnoc celého dne.
if v_first_neg_sell_ord is not null
and v_first_neg_prague_date is not null