101 lines
4.7 KiB
SQL
101 lines
4.7 KiB
SQL
-- ============================================================
|
||
-- Distribuční tarify a HDO
|
||
-- ============================================================
|
||
|
||
CREATE TABLE ems.distribution_tariff (
|
||
id SERIAL PRIMARY KEY,
|
||
distributor TEXT NOT NULL, -- 'EGD', 'CEZ', 'PRE'
|
||
code TEXT NOT NULL, -- 'D02d', 'C25d', 'custom_fve'
|
||
name TEXT NOT NULL,
|
||
has_dual_rate BOOLEAN NOT NULL DEFAULT true, -- NT/VT nebo jednotarif
|
||
vat_rate NUMERIC(5,4) NOT NULL DEFAULT 0.21,
|
||
notes TEXT,
|
||
UNIQUE (distributor, code)
|
||
);
|
||
|
||
COMMENT ON TABLE ems.distribution_tariff IS
|
||
'Číselník distribučních tarifů. Jeden záznam = jeden tarif jednoho distributora.
|
||
has_dual_rate=true znamená NT/VT dvojsazba, false = jednotarif.';
|
||
|
||
-- ============================================================
|
||
|
||
CREATE TABLE ems.distribution_tariff_rate (
|
||
id SERIAL PRIMARY KEY,
|
||
tariff_id INT NOT NULL REFERENCES ems.distribution_tariff(id),
|
||
rate_type TEXT NOT NULL, -- 'NT', 'VT', 'single'
|
||
price_czk_kwh NUMERIC(10,6) NOT NULL, -- variabilní složka bez DPH
|
||
valid_from DATE NOT NULL,
|
||
valid_to DATE, -- NULL = platí dosud
|
||
notes TEXT,
|
||
UNIQUE (tariff_id, rate_type, valid_from)
|
||
);
|
||
|
||
COMMENT ON TABLE ems.distribution_tariff_rate IS
|
||
'Sazby distribučního tarifu Kč/kWh bez DPH. Verzováno přes valid_from/valid_to.
|
||
Při roční změně tarifů: nastav valid_to na starém záznamu a přidej nový.
|
||
price_czk_kwh = pouze variabilní distribuce, BEZ systémových služeb a OTE.';
|
||
|
||
COMMENT ON COLUMN ems.distribution_tariff_rate.price_czk_kwh IS
|
||
'Variabilní distribuční složka Kč/kWh bez DPH.
|
||
Nezahrnuje: systémové služby ČEPS, poplatek OTE, silovou elektřinu (spot).
|
||
Tyto ostatní fixní složky jsou v site_market_config jako system_services_czk_kwh.';
|
||
|
||
-- ============================================================
|
||
|
||
CREATE TABLE ems.hdo_code (
|
||
id SERIAL PRIMARY KEY,
|
||
distributor TEXT NOT NULL, -- 'EGD', 'CEZ', 'PRE'
|
||
code TEXT NOT NULL, -- 'B1', 'C3', 'custom_fve_home01'
|
||
description TEXT,
|
||
valid_from DATE NOT NULL,
|
||
valid_to DATE, -- NULL = platí dosud
|
||
notes TEXT,
|
||
UNIQUE (distributor, code, valid_from)
|
||
);
|
||
|
||
COMMENT ON TABLE ems.hdo_code IS
|
||
'Číselník HDO kódů per distributor. Při roční změně přidat nový záznam
|
||
s novým valid_from – starý zůstane v historii pro audit.
|
||
Kód "custom_fve_home01" pro FVE instalace bez standardního HDO kódu.';
|
||
|
||
-- ============================================================
|
||
|
||
CREATE TABLE ems.hdo_code_window (
|
||
id SERIAL PRIMARY KEY,
|
||
hdo_code_id INT NOT NULL REFERENCES ems.hdo_code(id),
|
||
day_type TEXT NOT NULL DEFAULT 'all',
|
||
-- 'all' = každý den, 'workday' = Po-Pá, 'weekend' = So-Ne
|
||
rate_type TEXT NOT NULL DEFAULT 'VT', -- 'VT' nebo 'NT'
|
||
window_from TIME NOT NULL, -- začátek okna (inclusive)
|
||
window_to TIME NOT NULL -- konec okna (exclusive)
|
||
);
|
||
|
||
COMMENT ON TABLE ems.hdo_code_window IS
|
||
'NT/VT časová okna pro HDO kód. Více řádků = více oken za den.
|
||
Logika: pokud aktuální čas spadá do VT okna → rate_type=VT, jinak NT.
|
||
day_type=all znamená stejná okna každý den (workday i weekend).
|
||
Příklad home-01: VT 09:00-10:00, 12:00-13:00, 16:00-17:00, 20:00-21:00.';
|
||
|
||
-- ============================================================
|
||
-- Rozšíření site_market_config
|
||
-- ============================================================
|
||
|
||
ALTER TABLE ems.site_market_config
|
||
ADD COLUMN IF NOT EXISTS tariff_id INT REFERENCES ems.distribution_tariff(id),
|
||
ADD COLUMN IF NOT EXISTS hdo_code_id INT REFERENCES ems.hdo_code(id),
|
||
ADD COLUMN IF NOT EXISTS system_services_czk_kwh NUMERIC(10,6) DEFAULT 0,
|
||
ADD COLUMN IF NOT EXISTS ote_fee_czk_kwh NUMERIC(10,6) DEFAULT 0;
|
||
|
||
COMMENT ON COLUMN ems.site_market_config.tariff_id IS
|
||
'Distribuční tarif přiřazený k této lokalitě. FK na distribution_tariff.';
|
||
COMMENT ON COLUMN ems.site_market_config.hdo_code_id IS
|
||
'HDO kód přiřazený k této lokalitě. Určuje NT/VT časová okna.
|
||
Při změně HDO předpisu stačí přidat nový hdo_code záznam a aktualizovat FK.';
|
||
COMMENT ON COLUMN ems.site_market_config.system_services_czk_kwh IS
|
||
'Součet systémových poplatků Kč/kWh bez DPH:
|
||
systémové služby ČEPS + poplatek OTE + příspěvek na OZE.
|
||
Orientační hodnota EG.D 2025: ~0.40 Kč/kWh. Doplnit ze smlouvy/faktury.';
|
||
COMMENT ON COLUMN ems.site_market_config.ote_fee_czk_kwh IS
|
||
'Poplatek OTE za použití trhu Kč/kWh bez DPH.
|
||
Orientačně ~0.001 Kč/kWh. Lze zahrnout do system_services_czk_kwh.';
|